Update nixpkgs and home-manager
This commit is contained in:
		@@ -1,8 +1,8 @@
 | 
			
		||||
{ lib, hmFlakes, inputs, pkgs', config, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (builtins) head tail mapAttrs attrValues;
 | 
			
		||||
  inherit (lib) flatten optional mkOption mkDefault mkOptionType;
 | 
			
		||||
  inherit (lib.my) homeStateVersion mkOpt' commonOpts inlineModule' applyAssertions;
 | 
			
		||||
  inherit (lib) flatten optional optionalAttrs mkOption mkDefault mkOptionType mkIf;
 | 
			
		||||
  inherit (lib.my) homeStateVersion' homeStateVersion mkOpt' commonOpts inlineModule' applyAssertions;
 | 
			
		||||
 | 
			
		||||
  cfg = config.home-manager;
 | 
			
		||||
 | 
			
		||||
@@ -10,12 +10,14 @@ let
 | 
			
		||||
    config',
 | 
			
		||||
    defs,
 | 
			
		||||
  }:
 | 
			
		||||
  let
 | 
			
		||||
    # TODO: Remove this backwards compatibility when 22.11 becomes stable
 | 
			
		||||
    # https://github.com/nix-community/home-manager/blob/master/docs/release-notes/rl-2211.adoc
 | 
			
		||||
    newCfgFn = (homeStateVersion' config'.home-manager) == "22.11";
 | 
			
		||||
    modArg = if newCfgFn then "modules" else "extraModules";
 | 
			
		||||
  in
 | 
			
		||||
  # homeManagerConfiguration doesn't allow us to set lib directly (inherits from passed pkgs)
 | 
			
		||||
  hmFlakes.${config'.home-manager}.lib.homeManagerConfiguration {
 | 
			
		||||
    inherit (config') system homeDirectory username;
 | 
			
		||||
    # Pull the first def as `configuration` and add any others to `extraModules` (they should end up in the same list
 | 
			
		||||
    # of modules to evaluate anyway)
 | 
			
		||||
    configuration = head defs;
 | 
			
		||||
  hmFlakes.${config'.home-manager}.lib.homeManagerConfiguration ({
 | 
			
		||||
    # Passing pkgs here doesn't set the global pkgs, just where it'll be imported from (and where the global lib is
 | 
			
		||||
    # derived from). We want home-manager to import pkgs itself so it'll apply config and overlays modularly. Any config
 | 
			
		||||
    # and overlays previously applied will be passed on by `homeManagerConfiguration` though. In fact, because of weird
 | 
			
		||||
@@ -23,7 +25,7 @@ let
 | 
			
		||||
    # TODO: Check if this is fixed in future.
 | 
			
		||||
    pkgs = pkgs'.${config'.nixpkgs}.${config'.system} // { config = { }; };
 | 
			
		||||
    extraSpecialArgs = { inherit inputs; };
 | 
			
		||||
    extraModules = (attrValues cfg.modules) ++ [
 | 
			
		||||
    "${modArg}" = (attrValues cfg.modules) ++ [
 | 
			
		||||
      {
 | 
			
		||||
        warnings = flatten [
 | 
			
		||||
          (optional (config'.nixpkgs != config'.home-manager)
 | 
			
		||||
@@ -35,10 +37,20 @@ let
 | 
			
		||||
        _module.args = {
 | 
			
		||||
          pkgs' = mapAttrs (_: p: p.${config'.system}) pkgs';
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        home = mkIf newCfgFn {
 | 
			
		||||
          inherit (config') homeDirectory username;
 | 
			
		||||
        };
 | 
			
		||||
      }
 | 
			
		||||
      (homeStateVersion config'.home-manager)
 | 
			
		||||
    ] ++ (tail defs);
 | 
			
		||||
  };
 | 
			
		||||
    ] ++ (if newCfgFn then defs else tail defs);
 | 
			
		||||
  } // (optionalAttrs (!newCfgFn) {
 | 
			
		||||
    inherit (config') system homeDirectory username;
 | 
			
		||||
 | 
			
		||||
    # Pull the first def as `configuration` and add any others to `extraModules` for the old style config (they should
 | 
			
		||||
    # end up in the same list of modules to evaluate anyway)
 | 
			
		||||
    configuration = head defs;
 | 
			
		||||
  }));
 | 
			
		||||
 | 
			
		||||
  homeOpts = with lib.types; { ... }@args:
 | 
			
		||||
  let
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user