diff --git a/flake.nix b/flake.nix index a487e122..08d5898c 100644 --- a/flake.nix +++ b/flake.nix @@ -152,22 +152,6 @@ # BOOOOOOOOOOOOO! Somebody give me a tomato! services.xserver.excludePackages = with pkgs; [ xterm ]; - # Parallel downloads! PARALLEL DOWNLOADS! It's like Pacman 6.0 all over - # again. - nix.package = pkgs.nixUnstable; - - # I want to capture the usual flakes to its exact version so we're - # making them available to our system. This will also prevent the - # annoying downloads since it always get the latest revision. - nix.registry = - lib.mapAttrs' - (name: flake: - let - name' = if (name == "self") then "config" else name; - in - lib.nameValuePair name' { inherit flake; }) - inputs; - # Set several paths for the traditional channels. nix.nixPath = lib.mapAttrsToList @@ -181,33 +165,6 @@ "/nix/var/nix/profiles/per-user/root/channels" ]; - nix.settings = { - # Set several binary caches. - substituters = [ - "https://nix-community.cachix.org" - "https://foo-dogsquared.cachix.org" - ]; - trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "foo-dogsquared.cachix.org-1:/2fmqn/gLGvCs5EDeQmqwtus02TUmGy0ZlAEXqRE70E=" - ]; - - # Sane config for the package manager. - # TODO: Remove this after nix-command and flakes has been considered stable. - # - # Since we're using flakes to make this possible, we need it. Plus, the - # UX of Nix CLI is becoming closer to Guix's which is a nice bonus. - experimental-features = [ "nix-command" "flakes" "repl-flake" ]; - auto-optimise-store = lib.mkDefault true; - }; - - # Stallman-senpai will be disappointed. - nixpkgs.config.allowUnfree = true; - - # Extend nixpkgs with our overlays except for the NixOS-focused modules - # here. - nixpkgs.overlays = overlays; - # Please clean your temporary crap. boot.tmp.cleanOnBoot = lib.mkDefault true; @@ -287,6 +244,52 @@ json.enable = true; manpages.enable = true; }; + + nixSettingsSharedConfig = { config, lib, pkgs, ... }: { + # I want to capture the usual flakes to its exact version so we're + # making them available to our system. This will also prevent the + # annoying downloads since it always get the latest revision. + nix.registry = + lib.mapAttrs' + (name: flake: + let + name' = if (name == "self") then "config" else name; + in + lib.nameValuePair name' { inherit flake; }) + inputs; + + # Parallel downloads! PARALLEL DOWNLOADS! It's like Pacman 6.0 all over + # again. + nix.package = pkgs.nixUnstable; + + # Set the configurations for the package manager. + nix.settings = { + # Set several binary caches. + substituters = [ + "https://nix-community.cachix.org" + "https://foo-dogsquared.cachix.org" + ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "foo-dogsquared.cachix.org-1:/2fmqn/gLGvCs5EDeQmqwtus02TUmGy0ZlAEXqRE70E=" + ]; + + # Sane config for the package manager. + # TODO: Remove this after nix-command and flakes has been considered + # stable. + # + # Since we're using flakes to make this possible, we need it. Plus, the + # UX of Nix CLI is becoming closer to Guix's which is a nice bonus. + experimental-features = [ "nix-command" "flakes" "repl-flake" ]; + auto-optimise-store = lib.mkDefault true; + }; + + # Stallman-senpai will be disappointed. + nixpkgs.config.allowUnfree = true; + + # Extend nixpkgs with our overlays except for the NixOS-focused modules + # here. + nixpkgs.overlays = overlays; }; in { @@ -316,6 +319,7 @@ }) hostSharedConfig + nixSettingsSharedConfig path ]; in @@ -364,6 +368,7 @@ targets.genericLinux.enable = true; }) userSharedConfig + nixSettingsSharedConfig path ]; in