+1
common/services.nix
+1
common/services.nix
+19
flake.nix
+19
flake.nix
···
20
microvm.url = "github:astro/microvm.nix";
21
microvm.inputs.nixpkgs.follows = "nixpkgs";
22
23
catppuccin.url = "github:catppuccin/nix";
24
home-manager = {
25
url = "github:nix-community/home-manager";
···
113
agenix.nixosModules.default
114
115
{ imports = builtins.attrValues nixosModules; }
116
];
117
};
118
};
···
20
microvm.url = "github:astro/microvm.nix";
21
microvm.inputs.nixpkgs.follows = "nixpkgs";
22
23
+
disko.url = "github:nix-community/disko/v1.11.0";
24
+
25
catppuccin.url = "github:catppuccin/nix";
26
home-manager = {
27
url = "github:nix-community/home-manager";
···
115
agenix.nixosModules.default
116
117
{ imports = builtins.attrValues nixosModules; }
118
+
];
119
+
};
120
+
121
+
baal = nixpkgs.lib.nixosSystem {
122
+
system = "aarch64-linux";
123
+
specialArgs = {
124
+
inherit inputs;
125
+
system = "aarch64-linux";
126
+
};
127
+
modules = [
128
+
./hosts/baal
129
+
130
+
agenix.nixosModules.default
131
+
disko.nixosModules.disko
132
+
133
+
{ imports = builtins.attrValues nixosModules; }
134
+
135
];
136
};
137
};
+42
hosts/baal/default.nix
+42
hosts/baal/default.nix
···
···
1
+
{ config, lib, pkgs, modulesPath, inputs, ... }:
2
+
{
3
+
imports = [
4
+
./hardware.nix
5
+
./secrets.nix
6
+
7
+
../../common/system.nix
8
+
../../common/users.nix
9
+
../../common/services.nix
10
+
11
+
../../host-secrets.nix
12
+
];
13
+
14
+
boot = {
15
+
loader = {
16
+
systemd-boot.enable = true;
17
+
efi = {
18
+
canTouchEfiVariables = true;
19
+
efiSysMountPoint = "/boot";
20
+
};
21
+
};
22
+
initrd.systemd.enable = true;
23
+
};
24
+
25
+
system.stateVersion = "24.11";
26
+
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
27
+
28
+
systemd.targets.multi-user.enable = true;
29
+
30
+
networking = {
31
+
hostName = "baal";
32
+
hostId = "aaaaaaaa";
33
+
networkmanager.enable = true;
34
+
};
35
+
36
+
virtualisation.docker = {
37
+
enable = true;
38
+
enableOnBoot = true;
39
+
};
40
+
41
+
documentation.enable = false;
42
+
}
+55
hosts/baal/hardware.nix
+55
hosts/baal/hardware.nix
···
···
1
+
# Do not modify this file! It was generated by ‘nixos-generate-config’
2
+
# and may be overwritten by future invocations. Please make changes
3
+
# to /etc/nixos/configuration.nix instead.
4
+
{ config, lib, pkgs, modulesPath, ... }:
5
+
6
+
{
7
+
imports =
8
+
[ (modulesPath + "/profiles/qemu-guest.nix")
9
+
];
10
+
11
+
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" ];
12
+
boot.initrd.kernelModules = [ ];
13
+
boot.kernelModules = [ ];
14
+
boot.extraModulePackages = [ ];
15
+
16
+
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
17
+
# (the default) this is the recommended approach. When using systemd-networkd it's
18
+
# still possible to use this option, but it's recommended to use it in conjunction
19
+
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
20
+
networking.useDHCP = lib.mkDefault true;
21
+
# networking.interfaces.enp0s6.useDHCP = lib.mkDefault true;
22
+
23
+
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
24
+
25
+
disko.devices = {
26
+
disk = {
27
+
main = {
28
+
type = "disk";
29
+
device = "/dev/sda";
30
+
content = {
31
+
type = "gpt";
32
+
partitions = {
33
+
boot = {
34
+
size = "512M";
35
+
type = "EF00";
36
+
content = {
37
+
type = "filesystem";
38
+
format = "vfat";
39
+
mountpoint = "/boot";
40
+
};
41
+
};
42
+
root = {
43
+
size = "100%";
44
+
content = {
45
+
type = "filesystem";
46
+
format = "ext4";
47
+
mountpoint = "/";
48
+
};
49
+
};
50
+
};
51
+
};
52
+
};
53
+
};
54
+
};
55
+
}