From 6d390e7292384cfb24fc1e78be6fc838c8d09900 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Sat, 22 Jan 2022 20:36:47 +0100 Subject: [PATCH] Proper nix.extraConfig support. Must usptream that. --- general.nix | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/general.nix b/general.nix index 866d080..bba90cc 100644 --- a/general.nix +++ b/general.nix @@ -2,6 +2,18 @@ with lib; let cfg = config.aviallon.general; + nixConfigValue = value: + if value == true then "true" + else if value == false then "false" + else if isList value then (toString value) + else generators.mkValueStringDefault { } value; + + nixConfig = settings: (generators.toKeyValue { + listsAsDuplicateKeys = false; + mkKeyValue = generators.mkKeyValueDefault { + mkValueString = nixConfigValue; + } " = "; + } settings); in { options.aviallon.general = { @@ -84,9 +96,11 @@ in ]; nix.distributedBuilds = mkDefault false; - nix.extraOptions = '' - builders-use-substitutes = true - ''; + nix.package = (if (builtins.compareVersions pkgs.nix.version "2.4" >= 0) then pkgs.nix else pkgs.nix_2_4); + nix.extraOptions = nixConfig { + builders-use-substitutes = true; + experimental-features = [ "nix-command" "flakes" ]; + }; }; }