diff --git a/flake.nix b/flake.nix index a925c8d..50c3a91 100644 --- a/flake.nix +++ b/flake.nix @@ -79,5 +79,7 @@ system = "aarch64-darwin"; } ]; + + overlays.default = import ./pkgs; }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index 10b428f..716bad9 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, self, ... }: let getModules = path: @@ -16,6 +16,7 @@ in imports = getModules ./.; nixpkgs.config.allowUnfree = true; + nixpkgs.overlays = [ self.overlays.default ]; snowhawk.user.enable = lib.mkDefault true; snowhawk.tmux.enable = lib.mkDefault true; diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index 468e19e..1f93d28 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -100,9 +100,6 @@ # backupFileExtension = "backup"; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - # programs.hyprland.enable = true; # environment.sessionVariables.NIXOS_OZONE_WL = "1"; diff --git a/hosts/snowhawk/configuration.nix b/hosts/snowhawk/configuration.nix index 76af9cf..779709c 100644 --- a/hosts/snowhawk/configuration.nix +++ b/hosts/snowhawk/configuration.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running `nixos-help`). -{ pkgs, inputs, lib, config, ... }: +{ pkgs, inputs, lib, config, self, ... }: { imports = [ @@ -98,7 +98,7 @@ security.polkit.enable = true; home-manager = { - extraSpecialArgs = { inherit inputs; }; + extraSpecialArgs = { inherit inputs self; }; users = { "ravenshade" = import ./home.nix; }; # backupFileExtension = "backup"; }; diff --git a/hosts/sprite/configuration.nix b/hosts/sprite/configuration.nix index 4f243e6..bb1e14f 100644 --- a/hosts/sprite/configuration.nix +++ b/hosts/sprite/configuration.nix @@ -102,9 +102,6 @@ # backupFileExtension = "backup"; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - # programs.hyprland.enable = true; # environment.sessionVariables.NIXOS_OZONE_WL = "1"; diff --git a/lib/builders.nix b/lib/builders.nix index a042706..1f77343 100644 --- a/lib/builders.nix +++ b/lib/builders.nix @@ -1,4 +1,4 @@ -{ nixpkgs, ... }@inputs: +{ nixpkgs, self, ... }@inputs: let lib = nixpkgs.lib.extend (import ../lib); @@ -15,7 +15,7 @@ rec { hostname (nixosSystem { inherit system; - specialArgs = { inherit inputs lib; }; + specialArgs = { inherit inputs lib self; }; modules = [ ../hosts/${hostname}/hardware-configuration.nix ../hosts/${hostname}/configuration.nix @@ -39,9 +39,9 @@ rec { nameValuePair "${user}${hostStr}" (homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."${system}"; + pkgs = nixpkgs.legacyPackages.${system}.extend self.overlays.default; extraSpecialArgs = { - inherit inputs; + inherit inputs self; lib = lib.extend inputs.home-manager.lib; }; diff --git a/modules/default.nix b/modules/default.nix index 7b712c5..2c8b77f 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -14,4 +14,5 @@ in snowhawk.audio.enable = lib.mkDefault true; snowhawk.env.enable = lib.mkDefault true; snowhawk.sops.enable = lib.mkDefault true; + snowhawk.nixpkgs.enable = lib.mkDefault true; } diff --git a/modules/env.nix b/modules/env.nix index 18f85ec..6234bf4 100644 --- a/modules/env.nix +++ b/modules/env.nix @@ -13,7 +13,5 @@ in experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; }; - - nixpkgs.config.allowUnfree = true; }; } diff --git a/modules/nixpkgs.nix b/modules/nixpkgs.nix new file mode 100644 index 0000000..ae9dab3 --- /dev/null +++ b/modules/nixpkgs.nix @@ -0,0 +1,17 @@ +{ lib, config, self, ... }: + +let + cfg = config.snowhawk.nixpkgs; +in +{ + options.snowhawk.nixpkgs = { + enable = lib.mkEnableOption "nixpkgs settings"; + }; + + config = lib.mkIf cfg.enable { + nixpkgs.config.allowUnfree = true; + + nixpkgs.overlays = [ self.overlays.default ]; + }; +} + diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..fdc9dd1 --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,4 @@ +final: prev: +{ + wrapWine = prev.lib.callPackage ./wrapWine.nix { }; +}