summaryrefslogtreecommitdiff
path: root/modules/nixos/common/nix.nix
blob: efebe97e3e921b93d2b658a8c84cffae585c3763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
  config,
  inputs,
  lib,
  ...
}:
with lib; let
  cfg = config.nixfiles.modules.common.nix;
in {
  options.nixfiles.modules.common.nix.allowedUnfreePackages = mkOption {
    description = "A list of allowed unfree packages.";
    type = with types; listOf str;
    default = [];
  };

  config = {
    nix.settings.trusted-users = ["@wheel"];

    nixpkgs = {
      config.allowUnfreePredicate = p: elem (getName p) cfg.allowedUnfreePackages;

      overlays = with inputs; [
        agenix.overlays.default
        nix-minecraft.overlay
        pollymc.overlay
        xmonad-ng.overlays.default
      ];
    };

    system.stateVersion = with builtins;
      head (split "\n" (readFile "${inputs.nixpkgs}/.version"));

    environment = {
      sessionVariables.NIX_SHELL_PRESERVE_PROMPT = "1";
      localBinInPath = true;
      defaultPackages = [];
    };
  };
}