diff options
Diffstat (limited to 'modules/flakes.nix')
-rw-r--r-- | modules/flakes.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/flakes.nix b/modules/flakes.nix new file mode 100644 index 0000000..4297fda --- /dev/null +++ b/modules/flakes.nix @@ -0,0 +1,36 @@ +{ config, inputs, pkgs, lib, ... }: + +with lib; +let + base = "/etc/nixpkgs/channels"; + nixpkgsPath = "${base}/nixpkgs"; + nixpkgsSmallPath = "${base}/nixpkgsSmall"; + nixpkgs2111Path = "${base}/nixpkgs2111"; +in +{ + options.nix.flakes.enable = mkEnableOption "nix flakes"; + + config = lib.mkIf config.nix.flakes.enable { + nix = { + package = pkgs.nixUnstable; + experimentalFeatures = "nix-command flakes"; + + registry.nixpkgs.flake = inputs.unstable; + registry.nixpkgsSmall.flake = inputs.unstable-small; + registry.nixpkgs2111.flake = inputs.nixpkgs-2111; + + nixPath = [ + "nixpkgs=${nixpkgsPath}" + "nixpkgsSmall=${nixpkgsSmallPath}" + "nixpkgs2111=${nixpkgs2111Path}" + "/nix/var/nix/profiles/per-user/root/channels" + ]; + }; + + systemd.tmpfiles.rules = [ + "L+ ${nixpkgsPath} - - - - ${inputs.unstable}" + "L+ ${nixpkgsSmallPath} - - - - ${inputs.unstable-small}" + "L+ ${nixpkgs2111Path} - - - - ${inputs.nixpkgs-2111}" + ]; + }; +} |