yep, more dotfiles
1flake-lib: pkgs:
2
3let
4 keys = import ./secrets/keys.nix;
5in
6{
7 nixosConfigurations = with flake-lib.nixos; {
8 # Desktops
9 "neo-wiro-laptop" = createSystem pkgs [
10 (system "neo-wiro-laptop" "laptop")
11 (managedDiskLayout "luks-btrfs" { device = "nvme0n1"; swapSize = 12; })
12 (user "milomoisson" { description = "Milo Moisson"; profile = "desktop"; keys = keys.users; })
13 ];
14
15 "archaic-wiro-laptop" = createSystem pkgs [
16 (system "archaic-wiro-laptop" "laptop")
17 (user "milomoisson" { description = "Milo Moisson"; profile = "desktop"; keys = keys.users; })
18 ];
19
20 # Servers
21 "weird-row-server" = createSystem pkgs [
22 (host "weird-row-server")
23 (managedDiskLayout "ext4-hetzner" { device = "sda"; swapSize = 2; })
24 # TODO: should we keep a real user there?
25 (user "milomoisson" { description = "Milo Moisson"; profile = "server"; keys = keys.users; })
26 ];
27 };
28
29 # I bundle my Home Manager config via the NixOS modules which create system generations and give free rollbacks.
30 # However, in non-NixOS contexts, you can still use Home Manager to manage dotfiles using this template.
31 homeConfigurations = with flake-lib.home-manager; {
32 "epita" = createHome pkgs [
33 (home "milo.moisson" "/home/milo.moisson" "lightweight")
34 ];
35 };
36
37 darwinConfigurations = with flake-lib.darwin; {
38 "apple-wiro-laptop" = createSystem pkgs [
39 (system "apple-wiro-laptop" "macintosh")
40 (user "milomoisson" { description = "Milo Moisson"; profile = "macintosh"; keys = keys.users; })
41 ];
42 };
43}