summaryrefslogtreecommitdiff
path: root/users/seth/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/seth/default.nix')
-rw-r--r--users/seth/default.nix65
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}";
+ };
+ })
+ ]
+ );
}