35 lines
1 KiB
Nix
35 lines
1 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.sbruder.unfree;
|
|
in
|
|
{
|
|
# Options that affect multiple modules
|
|
options.sbruder = {
|
|
unfree = {
|
|
allowAssets = lib.mkOption {
|
|
default = true;
|
|
type = lib.types.bool;
|
|
description = "Allow restricted selection of unfree assets to be installed.";
|
|
};
|
|
allowSoftware = lib.mkOption {
|
|
default = false;
|
|
type = lib.types.bool;
|
|
description = "Allow restricted selection of unfree software to be installed.";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
nixpkgs.config.allowUnfreePredicate = (pkg: lib.elem (lib.getName pkg) (
|
|
lib.optionals cfg.allowAssets [
|
|
"corefonts"
|
|
"vista-fonts"
|
|
"wallpaper-unfree" # defined in users/simon/modules/sway.nix
|
|
] ++ lib.optionals cfg.allowSoftware [
|
|
"osu-lazer" # exception: is mostly free (just has one unfree dependency) and runs in container
|
|
"p7zip" # exception: rar source code is not free, but available; p7zip with `enableUnfree` includes it
|
|
]
|
|
));
|
|
};
|
|
}
|