Nix Flakes configuration for MacOS, NixOS and WSL
at main 37 lines 869 B view raw
1{ self, ... }: { 2 config.flake.factory.user = { username, isAdmin }: { 3 nixosModules.${username} = { lib, ... }: 4 let home = "/home/${username}"; in { 5 imports = [ self.nixosModules.hjem ]; 6 7 users.users.${username} = { 8 isNormalUser = true; 9 home = home; 10 extraGroups = lib.optionals isAdmin [ "wheel" ]; 11 }; 12 13 hjem.users.${username} = { 14 enable = true; 15 directory = home; 16 user = username; 17 }; 18 }; 19 20 darwinModules.${username} = { lib, ... }: 21 let home = "/Users/${username}"; in { 22 imports = [ self.darwinModules.hjem ]; 23 24 users.users.${username} = { 25 home = home; 26 }; 27 28 system.primaryUser = lib.mkIf isAdmin "${username}"; 29 30 hjem.users.${username} = { 31 enable = true; 32 directory = home; 33 user = username; 34 }; 35 }; 36 }; 37}