diff options
author | Tim Keller <tjk@tjkeller.xyz> | 2025-08-30 12:31:28 -0500 |
---|---|---|
committer | Tim Keller <tjk@tjkeller.xyz> | 2025-08-30 12:31:28 -0500 |
commit | 9da942ba47d34210e86a1a709e802eda5c3b95db (patch) | |
tree | f7434c4b4c9b8e5271220c11f9b802815c3519c7 /flake.nix | |
parent | c3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0 (diff) | |
download | nixos-9da942ba47d34210e86a1a709e802eda5c3b95db.tar.xz nixos-9da942ba47d34210e86a1a709e802eda5c3b95db.zip |
refactor users activation. refactor home manager config to match nixos conf and move tjkeller archetypes to users/timmy. update many of the exising home manager configs to be nicer and better organized. profile archetypes now include homeconfigs which can be enabled per user, and are setup using a new mkProfileArchetype function.
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 36 |
1 files changed, 10 insertions, 26 deletions
@@ -18,49 +18,33 @@ rec { }; }; - outputs = { nixpkgs, home-manager, arkenfox, ... }@inputs : + outputs = { nixpkgs, ... }@inputs : let system = "x86_64-linux"; - #pkgs = nixpkgs.legacyPackages.${system}; - userDetails = { - username = "timmy"; - email = "tjk@tjkeller.xyz"; - fullname = "Tim Keller"; - home = "/home/${userDetails.username}"; - userDirs = with userDetails; { - desktop = "${home}"; - download = "${home}/dls"; - documents = "${home}/docs"; - pictures = "${home}/pics"; - }; - sshPublicKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDnsnAWcz46OVi1MWSxpOIUtUvwalijDwvW+oEvNjzep" ]; - }; - homeStateVersion = "24.05"; # Lowest of systems is fine + extLib = nixpkgs.lib.extend (final: prev: import ./lib); mkNixosConfiguration = hostname: nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; inherit hostname; - inherit userDetails; + lib = extLib; }; modules = [ ./hosts/${hostname}/configuration.nix - ./nixos + ./hosts/${hostname}/hardware-configuration.nix ./archetypes + ./nixos ./pkgs - home-manager.nixosModules.home-manager { + ./users + inputs.sops-nix.nixosModules.sops + inputs.home-manager.nixosModules.home-manager { home-manager = { backupFileExtension = "backup"; # In case file is overwritten useGlobalPkgs = true; useUserPackages = true; - users.${userDetails.username} = import ./home-manager; - extraSpecialArgs = { - inherit userDetails; - inherit homeStateVersion; - }; sharedModules = [ - arkenfox.hmModules.arkenfox - ./hosts/${hostname}/home.nix + inputs.arkenfox.hmModules.arkenfox + ./home-manager ]; }; } |