zaphyra's git: nixfiles

zaphyra's nixfiles

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 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
{
  npins,
  config,
  lib,
  pkgs,
  ...
}:

{

  options.common.configure.nix.enable = lib.mkEnableOption "sane nix defaults";

  imports =
    (lib.mkIf config.common.nix.enable [
      (import "${npins.lixModule}/module.nix" { lix = null; })
    ]).content;

  config = lib.mkIf config.common.configure.nix.enable (
    let
      NIXPKGS_PATH = lib.cleanSource npins.nixpkgs;
      NIXPKGS_UNSTABLE_PATH = lib.cleanSource npins.nixpkgsUnstable;

    in
    {
      nix = {
        package = pkgs.lix;
        nixPath = lib.mkForce [ "nixpkgs=${NIXPKGS_PATH}" ];
        channel.enable = lib.mkForce false;

        registry = {
          nixpkgs.to = {
            type = "path";
            path = NIXPKGS_PATH;
          };

          nixpkgsUnstable.to = {
            type = "path";
            path = NIXPKGS_UNSTABLE_PATH;
          };
        };

        settings = {
          nix-path = config.nix.nixPath;
          trusted-users = [ "@wheel" ];
          use-xdg-base-directories = true;
          experimental-features = [
            "flakes"
            "nix-command"
          ];
        };
      };

      environment.sessionVariables = {
        inherit NIXPKGS_PATH NIXPKGS_UNSTABLE_PATH;
      };
    }
  );

}