diff options
author | Linnnus <[email protected]> | 2023-09-10 19:39:43 +0200 |
---|---|---|
committer | Linnnus <[email protected]> | 2023-09-10 19:39:43 +0200 |
commit | 66a247f37b43736c7cdc8ad07dba7cb9133ae745 (patch) | |
tree | 446532de3330b270fb7c8c809b6f6d1c0f504383 | |
parent | 1c5de21b1f5ad12c2f21a988cc36ee97fcbe4bbe (diff) |
Use overlays system-wide
-rw-r--r-- | flake.nix | 5 | ||||
-rw-r--r-- | home/default.nix | 4 | ||||
-rw-r--r-- | hosts/common.nix | 9 | ||||
-rw-r--r-- | pkgs/overlay.nix | 1 | ||||
-rw-r--r-- | pkgs/overlays.nix | 7 |
5 files changed, 19 insertions, 7 deletions
@@ -13,9 +13,10 @@ }; }; - outputs = { nixpkgs, home-manager, nix-darwin, ... }@inputs: + outputs = { self, nixpkgs, home-manager, nix-darwin, ... }@inputs: let args = { + inherit self; flakeInputs = inputs; metadata = nixpkgs.lib.importTOML ./metadata.toml; }; @@ -31,7 +32,6 @@ ./hosts/muhammed/configuration.nix ./hosts/common.nix ./home - { nixpkgs.overlays = [ (import ./pkgs/overlay.nix) ]; } # FIXME: Get the following to work without nix-darwin bithcing about unused NixOS options. # ./lib # ./modules @@ -49,7 +49,6 @@ ./hosts/ahmed/configuration.nix ./hosts/common.nix ./home - { nixpkgs.overlays = [ (import ./pkgs/overlay.nix) ]; } ./lib ./modules ./services diff --git a/home/default.nix b/home/default.nix index f0aa53b..d10062b 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,4 @@ -{ flakeInputs, metadata, ... }: +{ self, flakeInputs, metadata, ... }: { # Use the flake input pkgs so Home Manager configuration can share overlays @@ -7,7 +7,7 @@ # Pass special arguments from flake.nix further down the chain. I really hate # this split module system. - home-manager.extraSpecialArgs = { inherit flakeInputs metadata; }; + home-manager.extraSpecialArgs = { inherit self flakeInputs metadata; }; # OKAY FUCK THIS SHIT. THERE IS ONE USER. IT IS ME. LINUS. I WILL ADD # MULTIUSER SUPPORT IF IT EVER BECOMES A REQUIREMENT. diff --git a/hosts/common.nix b/hosts/common.nix index 87c6b27..84d0354 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -1,11 +1,18 @@ # Shared configuraion regardless of hosts. -{ pkgs, ... }: +{ pkgs, options, self, ... }: { # Enable de facto stable features. nix.settings.experimental-features = [ "nix-command" "flakes" ]; + # Use overlays from this repo for building system configuration as well as + # system-wide. + # + # See: https://nixos.wiki/wiki/Overlays#Using_nixpkgs.overlays_from_configuration.nix_as_.3Cnixpkgs-overlays.3E_in_your_NIX_PATH + nixpkgs.overlays = (import ../pkgs/overlays.nix); + nix.nixPath = options.nix.nixPath.default ++ [ "nixpkgs-overlays=${self}/pkgs/overlays.nix" ]; + # Set ZSH as the shell. # https://nixos.wiki/wiki/Command_Shell#Changing_default_shelltrue programs.zsh.enable = true; diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix deleted file mode 100644 index 9e0a6c4..0000000 --- a/pkgs/overlay.nix +++ /dev/null @@ -1 +0,0 @@ -self: super: (import ./default.nix) super diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix new file mode 100644 index 0000000..cbe2222 --- /dev/null +++ b/pkgs/overlays.nix @@ -0,0 +1,7 @@ +# Returns a list of overlays such that this file can be used for the value of +# nixpkgs-overlays in NIX_PATH. +# +# See: hosts/common.nix +# See: https://nixos.org/manual/nixpkgs/stable/#sec-overlays-lookup + +[ (self: super: (import ./default.nix) super) ] |