nichts/modules/system/nix/nixpkgs.mod.nix
Bloxx12 3a9e31cc88
nixpkgs: switch to read-only packages
Signed-off-by: Bloxx12 <charlie@charlieroot.dev>
Change-Id: I6a6a69641b8369b151024324d8d06f2acb790c15
2025-07-21 00:26:12 +02:00

62 lines
1.8 KiB
Nix

{
lib,
sources,
pkgs,
...
}:
let
inherit (lib.options) mkOption;
inherit (lib.types) str;
in
{
imports = [
# Going full schizo
"${sources.nixpkgs}/nixos/modules/misc/nixpkgs/read-only.nix"
];
options.nixpkgs.system = mkOption {
type = str;
default = pkgs.system;
readOnly = true;
};
config.nixpkgs.pkgs = (
import sources.nixpkgs {
hostPlatform = pkgs.stdenv.hostPlatform;
overlays = [ ];
config = {
# Configuration reference:
# <https://nixos.org/manual/nixpkgs/unstable/#chap-packageconfig>
# Disallow broken packages to be built.
allowBroken = false;
allowUnsupportedSystem = true;
# Warn when config contains an unrecognized attribute.
# This might be useful for getting a better configuration.
warnUndeclaredOptions = true;
# Allow unfree packages
allowUnfree = true;
# Permitted insecure packages in a system.
# Default to none, add more as necessary.
# Matrix also likes using deprecated libraries, which tend to go into this list.
# permittedInsecurePackages = [];
# Whether to set enableParallelBuilding to true by default while
# building nixpkgs packages. Changing the default causes a mass rebuild.
enableParallelBuildingByDefault = false;
# Whether to expose old attribute names for compatibility.
# This improves backwards compatibility,
# which I could not care less about in my configuration.
allowAliases = false;
# List of derivation warnings to display while rebuilding.
# See: <https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/check-meta.nix>
showDerivationWarnings = [ ];
};
}
);
}