diff options
| -rw-r--r-- | flake.nix | 28 | ||||
| -rw-r--r-- | users/seth/default.nix | 10 | ||||
| -rw-r--r-- | users/seth/home.nix (renamed from users/seth/config.nix) | 1 | ||||
| -rw-r--r-- | users/seth/options.nix | 4 | ||||
| -rw-r--r-- | util/default.nix | 4 | ||||
| -rw-r--r-- | util/user.nix | 23 |
6 files changed, 58 insertions, 12 deletions
@@ -9,29 +9,40 @@ }; outputs = inputs @ { - nixpkgs, - nixpkgsUnstable, + home-manager, lanzaboote, nixos-wsl, + nixpkgs, + nixpkgsUnstable, ... }: let - util = import ./util/host.nix inputs; + util = import ./util {inherit inputs home-manager;}; + inherit (util) host; + inherit (util) user; in { + homeConfigurations = { + seth = user.mkHMUser { + username = "seth"; + stateVersion = "23.05"; + channel = nixpkgsUnstable; + }; + }; + nixosConfigurations = { - glados = util.mkHost { + glados = host.mkHost { name = "glados"; modules = [ lanzaboote.nixosModules.lanzaboote ./hosts/glados + ./users/seth ]; + version = "23.05"; pkgs = nixpkgsUnstable; }; - glados-wsl = util.mkHost { + glados-wsl = host.mkHost { name = "glados-wsl"; modules = [ - ./hosts/glados-wsl - nixos-wsl.nixosModules.wsl ({lib, ...}: { environment.noXlibs = lib.mkForce false; @@ -44,6 +55,9 @@ interop.includePath = false; }; }) + + ./hosts/glados-wsl + ./users/seth ]; pkgs = nixpkgs; }; diff --git a/users/seth/default.nix b/users/seth/default.nix index 4c40386..cc19315 100644 --- a/users/seth/default.nix +++ b/users/seth/default.nix @@ -1,20 +1,24 @@ { config, pkgs, + home-manager, ... }: { - config.users.users.seth = { + users.users.seth = { extraGroups = ["wheel"]; isNormalUser = true; hashedPassword = "***REMOVED***"; shell = pkgs.zsh; }; - config.home-manager.users.seth = { + home-manager.users.seth = { imports = [ - ./config.nix + ./home.nix ]; home.stateVersion = config.system.stateVersion; + nixpkgs.config.allowUnfree = true; + programs.home-manager.enable = true; + systemd.user.startServices = true; }; } diff --git a/users/seth/config.nix b/users/seth/home.nix index 78a0ddd..81260a9 100644 --- a/users/seth/config.nix +++ b/users/seth/home.nix @@ -4,5 +4,6 @@ _: { ./programs ./shell ]; + seth.devel.enable = true; } diff --git a/users/seth/options.nix b/users/seth/options.nix index 9e7d460..dbaae98 100644 --- a/users/seth/options.nix +++ b/users/seth/options.nix @@ -1,6 +1,6 @@ {lib, ...}: { - options.seth = with lib.types; { - devel.enable = lib.mkOption { + options.seth = with lib; { + devel.enable = mkOption { type = types.bool; default = false; description = "install development packages for neovim lsp"; diff --git a/util/default.nix b/util/default.nix new file mode 100644 index 0000000..1191065 --- /dev/null +++ b/util/default.nix @@ -0,0 +1,4 @@ +{home-manager, ...}: { + host = import ./host.nix {inherit home-manager;}; + user = import ./user.nix {inherit home-manager;}; +} diff --git a/util/user.nix b/util/user.nix new file mode 100644 index 0000000..e69d46c --- /dev/null +++ b/util/user.nix @@ -0,0 +1,23 @@ +{home-manager, ...}: { + mkHMUser = { + username, + stateVersion ? "22.11", + system ? "x86_64-linux", + channel, + }: + home-manager.lib.homeManagerConfiguration { + pkgs = channel.legacyPackages.${system}; + modules = [ + ../users/${username}/home.nix + { + nixpkgs.config.allowUnfree = true; + systemd.user.startServices = true; + home = { + inherit username stateVersion; + homeDirectory = "/home/${username}"; + }; + programs.home-manager.enable = true; + } + ]; + }; +} |
