nix machine / user configurations
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}