diff --git a/system/nix/default.nix b/system/nix/default.nix index 797b821..8cf4f2a 100644 --- a/system/nix/default.nix +++ b/system/nix/default.nix @@ -1,22 +1,30 @@ -{ config, pkgs, unstable, ... }: +{ config, lib, pkgs, unstable, ... }: { - nix = { - settings = { - experimental-features = [ - "nix-command" - "flakes" - ]; - auto-optimise-store = true; - }; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; + options.nixpkgs.allowUnfreePackages = lib.mkOption { + type = with lib.types; listOf str; }; - _module.args.pkgsUnstable = import unstable { - inherit (pkgs.stdenv.hostPlatform) system; - inherit (config.nixpkgs) config; + config = { + nix = { + settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + auto-optimise-store = true; + }; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; + + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowUnfreePackages; + + _module.args.pkgsUnstable = import unstable { + inherit (pkgs.stdenv.hostPlatform) system; + inherit (config.nixpkgs) config; + }; }; }