diff options
Diffstat (limited to 'modules/shared')
| -rw-r--r-- | modules/shared/default.nix | 12 | ||||
| -rw-r--r-- | modules/shared/nix.nix | 3 | ||||
| -rw-r--r-- | modules/shared/suites/default.nix | 5 | ||||
| -rw-r--r-- | modules/shared/suites/personal.nix | 15 | ||||
| -rw-r--r-- | modules/shared/users/default.nix | 11 | ||||
| -rw-r--r-- | modules/shared/users/seth.nix | 35 |
6 files changed, 76 insertions, 5 deletions
diff --git a/modules/shared/default.nix b/modules/shared/default.nix index d6ec316..edd1f34 100644 --- a/modules/shared/default.nix +++ b/modules/shared/default.nix @@ -1,9 +1,15 @@ { lib, - self, + inputs, ... -}: { - imports = [./nix.nix]; +}: let + inherit (inputs) self; +in { + imports = [ + ./nix.nix + ./suites + ./users + ]; system.configurationRevision = self.rev or self.dirtyRev or "dirty-unknown"; diff --git a/modules/shared/nix.nix b/modules/shared/nix.nix index 60959f9..770e7e4 100644 --- a/modules/shared/nix.nix +++ b/modules/shared/nix.nix @@ -3,7 +3,6 @@ lib, pkgs, inputs, - self, ... }: { nix = { @@ -29,7 +28,7 @@ }; nixpkgs = { - overlays = [self.overlays.default]; + overlays = [inputs.self.overlays.default]; config.allowUnfree = lib.mkDefault true; }; } diff --git a/modules/shared/suites/default.nix b/modules/shared/suites/default.nix new file mode 100644 index 0000000..b4bd1b5 --- /dev/null +++ b/modules/shared/suites/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./personal.nix + ]; +} diff --git a/modules/shared/suites/personal.nix b/modules/shared/suites/personal.nix new file mode 100644 index 0000000..3c5146a --- /dev/null +++ b/modules/shared/suites/personal.nix @@ -0,0 +1,15 @@ +{ + config, + lib, + ... +}: let + cfg = config.suites.personal; +in { + options.suites.personal = { + enable = lib.mkEnableOption "Personal configuration set"; + }; + + config = lib.mkIf cfg.enable { + users.seth.enable = true; + }; +} diff --git a/modules/shared/users/default.nix b/modules/shared/users/default.nix new file mode 100644 index 0000000..6e1a3f6 --- /dev/null +++ b/modules/shared/users/default.nix @@ -0,0 +1,11 @@ +{inputs, ...}: { + imports = [ + ./seth.nix + ]; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = {inherit inputs;}; + }; +} diff --git a/modules/shared/users/seth.nix b/modules/shared/users/seth.nix new file mode 100644 index 0000000..0c98fc9 --- /dev/null +++ b/modules/shared/users/seth.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.users.seth; +in { + options.users.seth = { + enable = lib.mkEnableOption "Seth's configuration & home"; + }; + + config = lib.mkIf cfg.enable { + users.users.seth = + { + shell = pkgs.fish; + home = lib.mkDefault ( + if pkgs.stdenv.isDarwin + then "/Users/seth" + else "/home/seth" + ); + } + // lib.optionalAttrs pkgs.stdenv.isLinux { + extraGroups = ["wheel"]; + isNormalUser = true; + hashedPasswordFile = lib.mkDefault config.age.secrets.sethPassword.path; + }; + + programs.fish.enable = lib.mkDefault true; + + home-manager.users.seth = { + imports = [../../../users/seth]; + }; + }; +} |
