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