{ description = "Home Manager for Nix"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, utils, ... }: { nixosModules = rec { home-manager = import ./nixos; default = home-manager; }; # deprecated in Nix 2.8 nixosModule = self.nixosModules.default; darwinModules = rec { home-manager = import ./nix-darwin; default = home-manager; }; # unofficial; deprecated in Nix 2.8 darwinModule = self.darwinModules.default; lib = { hm = import ./modules/lib { lib = nixpkgs.lib; }; homeManagerConfiguration = { modules ? [ ], pkgs, lib ? pkgs.lib , extraSpecialArgs ? { }, check ? true # Deprecated: , configuration ? null, extraModules ? null, stateVersion ? null , username ? null, homeDirectory ? null, system ? null }@args: let throwForRemovedArg = v: lib.throwIf (v != null) '' The 'homeManagerConfiguration' arguments - 'configuration', - 'username', - 'homeDirectory' - 'stateVersion', - 'extraModules', and - 'system' have been removed. Instead use the arguments 'pkgs' and 'modules'. See the 22.11 release notes for more. ''; throwForRemovedArgs = throwForRemovedArg configuration # \ throwForRemovedArg username # \ throwForRemovedArg homeDirectory # \ throwForRemovedArg stateVersion # \ throwForRemovedArg extraModules # \ throwForRemovedArg system; in throwForRemovedArgs (import ./modules { inherit pkgs lib check extraSpecialArgs; configuration = { ... }: { imports = modules; nixpkgs = { inherit (pkgs) config overlays; }; }; }); }; } // utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; docs = import ./docs { inherit pkgs; }; in { packages = rec { home-manager = pkgs.callPackage ./home-manager { }; docs-html = docs.manual.html; docs-manpages = docs.manPages; docs-json = docs.options.json; default = home-manager; }; # deprecated in Nix 2.7 defaultPackage = self.packages.${system}.default; }); }