diff options
Diffstat (limited to 'accounts/gkleen@skadhi')
| -rw-r--r-- | accounts/gkleen@skadhi/default.nix | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/accounts/gkleen@skadhi/default.nix b/accounts/gkleen@skadhi/default.nix index 97faf86c..4c0c4028 100644 --- a/accounts/gkleen@skadhi/default.nix +++ b/accounts/gkleen@skadhi/default.nix | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | { flake, userName, config, lib, ... }: | 1 | { flake, flakeInputs, userName, config, lib, ... }: |
| 2 | let | 2 | let |
| 3 | user = config.users.users.${userName}; | 3 | user = config.users.users.${userName}; |
| 4 | in { | 4 | in { |
| @@ -9,7 +9,7 @@ in { | |||
| 9 | config = { | 9 | config = { |
| 10 | users.users.gkleen.group = "gkleen"; | 10 | users.users.gkleen.group = "gkleen"; |
| 11 | users.groups.gkleen = {}; | 11 | users.groups.gkleen = {}; |
| 12 | systemd.tmpfiles.settings.home-directories.${user.home} = lib.mkForce { | 12 | systemd.tmpfiles.settings.home-directories."/persistent/${user.home}" = lib.mkForce { |
| 13 | v = { | 13 | v = { |
| 14 | mode = user.homeMode; | 14 | mode = user.homeMode; |
| 15 | user = user.name; | 15 | user = user.name; |
| @@ -17,8 +17,39 @@ in { | |||
| 17 | }; | 17 | }; |
| 18 | }; | 18 | }; |
| 19 | 19 | ||
| 20 | home-manager.users.${userName} = { | 20 | home-manager.users.${userName} = let sysConfig = config; in { config, ... }: { |
| 21 | imports = [ | ||
| 22 | flakeInputs.nix-index-database.homeModules.nix-index | ||
| 23 | ]; | ||
| 24 | |||
| 21 | home.stateVersion = "26.05"; | 25 | home.stateVersion = "26.05"; |
| 26 | |||
| 27 | home.persistence."/persistent" = { | ||
| 28 | directories = [ | ||
| 29 | "Downloads" "documents" "screenshots" "media" | ||
| 30 | ]; | ||
| 31 | }; | ||
| 32 | |||
| 33 | programs.zsh.dirHashes = let | ||
| 34 | flakeHashes = lib.mapAttrs' (n: v: lib.nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; | ||
| 35 | inputNames = { | ||
| 36 | self = "nixos"; | ||
| 37 | }; | ||
| 38 | in flakeHashes // { | ||
| 39 | docs = "$HOME/documents"; | ||
| 40 | dl = "$HOME/Downloads"; | ||
| 41 | scrot = "$HOME/screenshots"; | ||
| 42 | media = "$HOME/media"; | ||
| 43 | }; | ||
| 44 | programs.starship.settings = { | ||
| 45 | directory.substitutions = lib.mapAttrs' (name: value: let | ||
| 46 | value' = builtins.unsafeDiscardStringContext value; | ||
| 47 | value'' = if lib.hasPrefix "$HOME/" value' then "~" + lib.removePrefix "$HOME" value' else value'; | ||
| 48 | in lib.nameValuePair value'' "~${name}" | ||
| 49 | ) config.programs.zsh.dirHashes; | ||
| 50 | }; | ||
| 51 | |||
| 52 | programs.nix-index.enable = true; | ||
| 22 | }; | 53 | }; |
| 23 | }; | 54 | }; |
| 24 | } | 55 | } |
