summaryrefslogtreecommitdiff
path: root/modules/shared
diff options
context:
space:
mode:
Diffstat (limited to 'modules/shared')
-rw-r--r--modules/shared/default.nix12
-rw-r--r--modules/shared/nix.nix3
-rw-r--r--modules/shared/suites/default.nix5
-rw-r--r--modules/shared/suites/personal.nix15
-rw-r--r--modules/shared/users/default.nix11
-rw-r--r--modules/shared/users/seth.nix35
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];
+ };
+ };
+}