summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-01-27 05:49:23 -0500
committerseth <[email protected]>2023-01-27 05:49:23 -0500
commit6b17d8ba34da944b3e22199e91cf4206891132d1 (patch)
tree8a0e0a9801cdb1ead266f94d3d0f21147e8bfa0c
parent6dd3d7415b0a9388b6fdbff6d39ba5ad8123283c (diff)
make standalone home-manager config
-rw-r--r--flake.nix28
-rw-r--r--users/seth/default.nix10
-rw-r--r--users/seth/home.nix (renamed from users/seth/config.nix)1
-rw-r--r--users/seth/options.nix4
-rw-r--r--util/default.nix4
-rw-r--r--util/user.nix23
6 files changed, 58 insertions, 12 deletions
diff --git a/flake.nix b/flake.nix
index ed9bff4..d73b3a8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
+ }
+ ];
+ };
+}