diff options
| author | seth <[email protected]> | 2024-10-27 02:39:07 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-10-27 02:39:07 -0400 |
| commit | 9415ea9c61f8f416c133e7c7b55e5e29a9815db0 (patch) | |
| tree | 02721543b10cbc1628585e9ad3606845a82bad6d /users/seth/default.nix | |
| parent | e5d9afd7e0bc94f040132277c24361a2de6f3b5b (diff) | |
seth: cleanup `base` submodule
Diffstat (limited to 'users/seth/default.nix')
| -rw-r--r-- | users/seth/default.nix | 65 |
1 files changed, 45 insertions, 20 deletions
diff --git a/users/seth/default.nix b/users/seth/default.nix index c71dab9..2afbbce 100644 --- a/users/seth/default.nix +++ b/users/seth/default.nix @@ -1,9 +1,16 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.seth; in { options.seth = { + enable = lib.mkEnableOption "Seth's home configuration"; + shellAliases.enable = lib.mkEnableOption "shell aliases" // { default = config.seth.enable; defaultText = lib.literalExpression "config.seth.enable"; @@ -13,32 +20,50 @@ in default = config.seth.enable; defaultText = lib.literalExpression "config.seth.enable"; }; + + standalone.enable = lib.mkEnableOption "standalone configuration mode"; }; imports = [ - ./base ./desktop ./programs ./services ./tweaks ]; - config = lib.mkMerge [ - (lib.mkIf cfg.shellAliases.enable { - home.shellAliases = { - diff = "diff --color=auto"; - g = "git"; - gs = "g status"; - }; - }) - - (lib.mkIf cfg.shellVariables.enable { - home.sessionVariables = { - EDITOR = "nvim"; - VISUAL = config.home.sessionVariables.EDITOR; - CARGO_HOME = "${config.xdg.dataHome}/cargo"; - LESSHISTFILE = "${config.xdg.stateHome}/less/history"; - }; - }) - ]; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { home.stateVersion = "23.11"; } + + (lib.mkIf cfg.shellAliases.enable { + home.shellAliases = { + diff = "diff --color=auto"; + g = "git"; + gs = "g status"; + }; + }) + + (lib.mkIf cfg.shellVariables.enable { + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = config.home.sessionVariables.EDITOR; + CARGO_HOME = "${config.xdg.dataHome}/cargo"; + LESSHISTFILE = "${config.xdg.stateHome}/less/history"; + }; + }) + + (lib.mkIf cfg.standalone.enable { + # This won't be set in standalone configurations + _module.args.osConfig = { }; + + # Make sure we can switch & update + programs.home-manager.enable = true; + + home = { + username = "seth"; + homeDirectory = (if pkgs.stdenv.isDarwin then "/Users" else "/home") + "/${config.home.username}"; + }; + }) + ] + ); } |
