1{
2 config,
3 inputs,
4 tlib,
5 terra,
6 ...
7}:
8{
9 home-manager.useGlobalPkgs = true;
10 home-manager.useUserPackages = true;
11 home-manager.sharedModules = [
12 "${inputs.self}/users/modules/settings"
13 {
14 home = {
15 inherit (config.environment) shellAliases sessionVariables;
16 stateVersion = config.system.stateVersion;
17 };
18 xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text;
19 xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source;
20 # xdg.configFile."nix/netrc".source = config.environment.etc."nix/netrc".source;
21 }
22 (
23 {
24 config,
25 pkgs,
26 lib,
27 ...
28 }:
29 {
30 home.packages = [
31 (pkgs.writeShellScriptBin "apply-hm-env" ''
32 ${lib.optionalString (config.home.sessionPath != [ ]) ''
33 export PATH=${builtins.concatStringsSep ":" config.home.sessionPath}:$PATH
34 ''}
35 ${builtins.concatStringsSep "\n" (
36 lib.mapAttrsToList (k: v: ''
37 export ${k}="${builtins.toString v}"
38 '') config.home.sessionVariables
39 )}
40 ${config.home.sessionVariablesExtra}
41 exec "$@"
42 '')
43 ];
44 }
45 )
46 ];
47 home-manager.extraSpecialArgs = {
48 inherit terra inputs tlib;
49 nixosConfig = config;
50 };
51}