Home

dotnix @main - refs - log -
-
https://git.jolheiser.com/dotnix.git
My nix dotfiles
tree log patch
feat: split hm from system Signed-off-by: jolheiser <john.olheiser@gmail.com>
Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEgqEQpE3xoo1QwJO/uFOtpdp7v3oFAmYOBK8ACgkQuFOtpdp7 v3qo9Q//UXAuGy7B5tqf5AgMUSdoEUOLjCYn9FoaKYou64RcqI31F2m+pGlofuKy bTN1/tKp1y9nKhgqPDiCxJj3vYuzmEl7+DFwErsmH0CSrnUbcTWKMDstSJpeU3YV ZP3JZDtZlXpLWzsXxkHk5O+dG/G/oOmGeJFC+meLThV4h1XYDuEY6d20cpwmrnku 0PDFdPeSMKqV6seqiBBd8i9iCn7nIYAlj/FLZ1Wa65aQ/QQHDGYG1Xr6+/JEVNfo lTNTIveMFFmi0VK3vR4dB4jcs42M2o/BkPlXv0/IWhLJKykfEAKc7tIt4SITxt7N cqF4EumSl1d4dCAiMZFqkd8WMU4T5vbONP+r1gj7RC0/TR017RnznGjQcYWR46eE yXrND8S0ZwOJx5xxMbh0oup+IF2wDxT1zqwgCeOWeoY2pSs1XBsSl6OcJwv0HKlh a8s8ShQgz2CHZvZFl2xQ+jdY30aXmz5e/sklC4qF54xVIbJxCxdoOjgApq8AEWR1 ZYZG70ZWHxh2DkJ/uphbQJyXlLg/0e6LxJt1pxna4b9KZ0MVA84aNGswyafov+E1 tS6mjwzB389afpWkr9MLvkTnbgWvUuyotxc6hIGPQF8qaYZJ/e8lG6X9TI/WcGRZ 8PcDRd+r8jVPvEZQHXZq/YHmvOfDSkYmzcJHxabS7LWFdpQjdAA= =jEDg -----END PGP SIGNATURE-----
jolheiser <john.olheiser@gmail.com>
1 year ago
3 changed files, 72 additions(+), 42 deletions(-)
flake.nixjustfilemachines/earlgrey/hardware.nix
M flake.nixflake.nix
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
diff --git a/flake.nix b/flake.nix
index 50b132e138ceaad1dcc8fe9e812193860cabb3e4..b978fb079b5ea6c2517f9fc7b78e3b54221a9f5e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -124,28 +124,22 @@         templ = inputs.templ.packages.${prev.system}.templ;
       })
       inputs.golink.overlay
     ];
+    pkgs = import nixpkgs {
+      inherit overlays;
+      system = "x86_64-linux";
+      config.allowUnfree = true;
+    };
     userSecret = path: {
       file = path;
       owner = username;
     };
-    commonConfig = {gui ? true}: {config, ...}: {
+    commonConfig = {config, ...}: {
       config = {
         nixpkgs.overlays = overlays;
         # TODO Remove when apps are updated
         nixpkgs.config.permittedInsecurePackages = [
           "electron-25.9.0"
         ];
-        home-manager = {
-          useGlobalPkgs = true;
-          useUserPackages = true;
-          users.${username}.imports =
-            if gui
-            then [./apps/gui]
-            else [./apps/nogui];
-          extraSpecialArgs = {
-            flakePath = "/home/${username}/.config/nixpkgs";
-          };
-        };
         age.secrets = {
           ssh-config = userSecret ./secrets/shared/ssh-config.age;
           ssh-config-work = userSecret ./secrets/shared/ssh-config-work.age;
@@ -166,9 +160,8 @@         };
       };
     };
     workModules = [
-      home-manager.nixosModules.home-manager
       agenix.nixosModules.default
-      (commonConfig {})
+      commonConfig
       ({pkgs, ...}: {
         config = {
           nixpkgs.overlays = [
@@ -176,10 +169,6 @@             (_: _: {
               py39 = import nixpkgs-py39 {inherit (pkgs) system;};
             })
           ];
-          home-manager.users.${username}.programs = {
-            git.package = pkgs.gitSVN;
-            firefox.profiles.default.bookmarks = [(import ./apps/gui/firefox/work.nix)];
-          };
           age.secrets = {
             netrc = {
               file = ./secrets/work/netrc.age;
@@ -204,6 +193,40 @@     ];
     username = "jolheiser";
   in
     {
+      homeConfigurations = let
+        commonModules = [
+          {
+            home = {
+              inherit username;
+              homeDirectory = "/home/${username}";
+            };
+          }
+          ./apps/gui
+        ];
+      in {
+        "jolheiser" = home-manager.lib.homeManagerConfiguration {
+          inherit pkgs;
+          modules = commonModules;
+        };
+        "work" = home-manager.lib.homeManagerConfiguration {
+          inherit pkgs;
+          modules =
+            commonModules
+            ++ [
+              {
+                nixpkgs.overlays = [
+                  (_: _: {
+                    py39 = import nixpkgs-py39 {inherit (pkgs) system;};
+                  })
+                ];
+                programs = {
+                  git.package = pkgs.gitSVN;
+                  firefox.profiles.default.bookmarks = [(import ./apps/gui/firefox/work.nix)];
+                };
+              }
+            ];
+        };
+      };
       nixosConfigurations = {
         "chai" = nixpkgs.lib.nixosSystem {
           system = "x86_64-linux";
@@ -233,29 +256,26 @@         };
         "matcha" = nixpkgs.lib.nixosSystem {
           system = "x86_64-linux";
           modules = [
-            home-manager.nixosModules.home-manager
             agenix.nixosModules.default
             ./machines/matcha
-            (commonConfig {})
+            commonConfig
           ];
         };
         "genmaicha" = nixpkgs.lib.nixosSystem {
           system = "x86_64-linux";
           modules = [
-            home-manager.nixosModules.home-manager
             nixos-hardware.nixosModules.framework-13-7040-amd
             agenix.nixosModules.default
             ./machines/genmaicha
-            (commonConfig {})
+            commonConfig
           ];
         };
         "sencha" = nixpkgs.lib.nixosSystem {
           system = "x86_64-linux";
           modules = [
-            home-manager.nixosModules.home-manager
             agenix.nixosModules.default
             ./machines/sencha
-            (commonConfig {})
+            commonConfig
           ];
         };
       };
M justfilejustfile
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
diff --git a/justfile b/justfile
index 0cfb0855951c9e4507091c294bf017497c8ecf3b..1638805a0c9e2b8f3fc235f898a6a3fb99203f3d 100644
--- a/justfile
+++ b/justfile
@@ -11,6 +11,12 @@ # Rebuild the current machine
 switch *args:
 	@just rebuild switch {{args}}
 
+hm:
+	@home-manager switch --flake .
+
+work:
+	@home-manager switch --flake '.#work'
+
 # Rebuild the current machine for next boot
 boot *args:
 	@just rebuild boot {{args}}
M machines/earlgrey/hardware.nixmachines/earlgrey/hardware.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
diff --git a/machines/earlgrey/hardware.nix b/machines/earlgrey/hardware.nix
index aac7688fdbbfc1dda2869cfac580272f6bb01135..956ce789db191da3100a3258600b3c4e6630c7ef 100644
--- a/machines/earlgrey/hardware.nix
+++ b/machines/earlgrey/hardware.nix
@@ -1,31 +1,35 @@
 # Do not modify this file!  It was generated by ‘nixos-generate-config’
 # and may be overwritten by future invocations.  Please make changes
 # to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
 {
-  imports =
-    [ (modulesPath + "/installer/scan/not-detected.nix") ../common/cifs.nix
-    ];
+  config,
+  lib,
+  modulesPath,
+  ...
+}: {
+  imports = [
+    (modulesPath + "/installer/scan/not-detected.nix")
+    ../common/cifs.nix
+  ];
 
-  boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
-  boot.initrd.kernelModules = [ ];
-  boot.kernelModules = [ "kvm-amd" ];
-  boot.extraModulePackages = [ ];
+  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
+  boot.initrd.kernelModules = [];
+  boot.kernelModules = ["kvm-amd"];
+  boot.extraModulePackages = [];
 
-  fileSystems."/" =
-    { device = "/dev/disk/by-uuid/e2274508-9989-4f6b-9bcf-a0d246f292f9";
-      fsType = "ext4";
-    };
+  fileSystems."/" = {
+    device = "/dev/disk/by-uuid/e2274508-9989-4f6b-9bcf-a0d246f292f9";
+    fsType = "ext4";
+  };
 
   boot.initrd.luks.devices."luks-1121cd25-7c4c-47ee-b04a-2cab0cd251ea".device = "/dev/disk/by-uuid/1121cd25-7c4c-47ee-b04a-2cab0cd251ea";
 
-  fileSystems."/boot" =
-    { device = "/dev/disk/by-uuid/86CA-6DF6";
-      fsType = "vfat";
-    };
+  fileSystems."/boot" = {
+    device = "/dev/disk/by-uuid/86CA-6DF6";
+    fsType = "vfat";
+  };
 
-  swapDevices = [ ];
+  swapDevices = [];
 
   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
   # (the default) this is the recommended approach. When using systemd-networkd it's