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