Home Manager can be ran with
`nix run --no-write-lock-file github:nix-community/home-manager`.
This is useful for people who want to try out Home Manager or,
want to bootstrap their home-environment.
* flake: ensure passed pkgs with overlays and config is used
In the pkgsModule inside modules/modules.nix it will try to use the
<nixpkgs> from NIX_PATH if home.stateVersion is not set. This is not
available when using flakes so we need to require at least 20.09 and we
might as well default to that.
Also if you have added overlays and config to your pkgs it will be lost
so we need to transfer those as well.
This is an alternative to passing pkgs to extraSpecialArgs which will
break the usage of things like nixpkgs.config.packageOverrides.
* flake: add extraModules
If you want to add some extra home-manager modules, you have to mix them
with the configuration as such:
configuration = {
imports = [
emacs-config.homeManagerModules.emacsConfig
./home.nix
];
};
Instead of:
configuration = ./home.nix;
extraModules = [ emacs-config.homeManagerModules.emacsConfig ];
Which separates these two concerns.
No flake.lock is added because the only input (nixpkgs) will almost
always be overridden, and currently Home Manager's testing and
verification is not flake based.
PR #1455