refactor: centralize unfree package allowlists
Move all allowUnfreePredicate declarations to global configs to prevent the "last definition wins" merging issue. Unfree packages are now managed in two central locations: - NixOS system packages: nixos/common/global/default.nix - Home Manager packages: home-manager/sajenim/global/default.nix
This commit is contained in:
parent
34b4705d46
commit
591346600f
5 changed files with 27 additions and 21 deletions
|
|
@ -37,14 +37,6 @@
|
||||||
])
|
])
|
||||||
]); # https://github.com/theCapypara/nix-jetbrains-plugins
|
]); # https://github.com/theCapypara/nix-jetbrains-plugins
|
||||||
|
|
||||||
# Allow unfree packages for proprietary software
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"claude-code"
|
|
||||||
"idea-ultimate"
|
|
||||||
"idea-ultimate-with-plugins"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Copy our configuration files to home directory
|
# Copy our configuration files to home directory
|
||||||
home.file = {
|
home.file = {
|
||||||
".ideavimrc".source = ./ideavimrc;
|
".ideavimrc".source = ./ideavimrc;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{outputs, ...}: {
|
{outputs, lib, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
@ -11,6 +11,19 @@
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = false;
|
allowUnfree = false;
|
||||||
|
# Centralized unfree package allowlist.
|
||||||
|
# Note: nixpkgs.config.allowUnfreePredicate doesn't merge across modules - only the
|
||||||
|
# last definition wins. To maintain explicit control over unfree packages, we list
|
||||||
|
# all allowed packages here rather than scattering predicates across feature modules.
|
||||||
|
allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
# Editors
|
||||||
|
"claude-code"
|
||||||
|
"idea-ultimate"
|
||||||
|
"idea-ultimate-with-plugins"
|
||||||
|
# Desktop
|
||||||
|
"discord"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{outputs, ...}: {
|
{outputs, lib, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./age.nix
|
./age.nix
|
||||||
./env.nix
|
./env.nix
|
||||||
|
|
@ -15,6 +15,18 @@
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = false;
|
allowUnfree = false;
|
||||||
|
# Centralized unfree package allowlist for NixOS system configuration.
|
||||||
|
# Note: nixpkgs.config.allowUnfreePredicate doesn't merge across modules - only the
|
||||||
|
# last definition wins. To maintain explicit control over unfree packages, we list
|
||||||
|
# all allowed packages here rather than scattering predicates across system modules.
|
||||||
|
allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
# Gaming
|
||||||
|
"steam"
|
||||||
|
"steam-unwrapped"
|
||||||
|
# Services
|
||||||
|
"minecraft-server"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,4 @@
|
||||||
"d /home/sajenim/.local 0755 sajenim users -"
|
"d /home/sajenim/.local 0755 sajenim users -"
|
||||||
"d /home/sajenim/.local/share 0755 sajenim users -"
|
"d /home/sajenim/.local/share 0755 sajenim users -"
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"steam"
|
|
||||||
"steam-unwrapped"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,9 +116,4 @@ in {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allow unfree packages.
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
||||||
"minecraft-server"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue