From 4f1513dfa4fc22240ab7dcbe1c60c14f827645a7 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 22 Sep 2022 18:05:34 -0700 Subject: ref(home-manager): don't use home-manager when building the host When rebuilding the host (through `nixos-rebuild switch --flake`) I don't want to rebuild also my home-manager configuration. I want these to be two different steps. I rebuild the home-manager configuration more frequently and it's a waste of time and CPU to rebuild the world every time. This is a pretty large refactoring: - move checks back into the flake: if I modify a check, the configuration for `pre-commits` is not regenerated, as the file with the checks is not monitored with `direnv` (I could probably configure it for it, but not now) - remove `home.nix` from the host level configuration - introduce a `mkHomeManagerConfiguration` function to manage the different user@host - fix a warning with the rust overlay --- nix/mkHomeManagerConfiguration.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 nix/mkHomeManagerConfiguration.nix (limited to 'nix/mkHomeManagerConfiguration.nix') diff --git a/nix/mkHomeManagerConfiguration.nix b/nix/mkHomeManagerConfiguration.nix new file mode 100644 index 0000000..bcf374a --- /dev/null +++ b/nix/mkHomeManagerConfiguration.nix @@ -0,0 +1,28 @@ +inputs@{ self, ... }: +{ system ? "x86_64-linux" +, username ? "fcuny" +, hostname +, stateVersion ? "22.05" +, extraModules ? [ ] +, +}: +inputs.home-manager.lib.homeManagerConfiguration { + inherit system; + inherit username; + inherit stateVersion; + + homeDirectory = "/home/${username}"; + + pkgs = import inputs.nixpkgs { + inherit system; + config.allowUnfree = true; + overlays = [ + inputs.emacs-overlay.overlay + inputs.nur.overlay + inputs.rust.overlays.default + (final: prev: { tools = import "${self}/tools" { pkgs = prev; }; }) + ]; + }; + configuration.imports = + [ "${self}/home" "${self}/hosts/${hostname}/home.nix" ]; +} -- cgit v1.2.3