home-manager: Add nix.conf
This commit is contained in:
parent
7180d265c4
commit
a0901fecde
@ -15,6 +15,7 @@
|
||||
hostname = "h.nul.ie";
|
||||
sshOpts = [ "-4" "-p" "8022" ];
|
||||
};
|
||||
nix.config.cores = "16";
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
@ -9,6 +9,7 @@
|
||||
{
|
||||
my = {
|
||||
deploy.enable = false;
|
||||
nix.config.cores = "6";
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
@ -3,7 +3,7 @@ let
|
||||
inherit (builtins) listToAttrs mapAttrs readFile;
|
||||
inherit (lib)
|
||||
optionalString nameValuePair concatMapStrings concatStringsSep optionalAttrs versionAtLeast
|
||||
mkMerge mkIf mkDefault mkOption;
|
||||
mapAttrsToList mkMerge mkIf mkDefault mkOption;
|
||||
inherit (lib.hm) dag;
|
||||
inherit (lib.my) mkOpt' dummyOption;
|
||||
in
|
||||
@ -19,6 +19,11 @@ in
|
||||
shell = mkOpt' str null "User's shell (so NixOS or others can set it externally).";
|
||||
fishCompletionsFrequency = mkOpt' (nullOr str) "daily" "How often to generate fish completions from manpages.";
|
||||
|
||||
nix = {
|
||||
# TODO: Until https://github.com/nix-community/home-manager/issues/2324
|
||||
config = mkOpt' (attrsOf str) { } "nix.conf options";
|
||||
};
|
||||
|
||||
ssh = {
|
||||
authKeys = {
|
||||
literal = mkOpt' (listOf singleLineStr) [ ] "List of OpenSSH keys to allow";
|
||||
@ -47,6 +52,11 @@ in
|
||||
isStandalone = !(args ? osConfig);
|
||||
|
||||
shell = mkDefault "${config.programs.fish.package}/bin/fish";
|
||||
|
||||
nix.config = {
|
||||
experimental-features = mkDefault "nix-command flakes ca-derivations";
|
||||
max-jobs = mkDefault "auto";
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".ssh/authorized_keys" = with config.my.ssh.authKeys;
|
||||
@ -57,6 +67,10 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."nix/nix.conf" = mkIf (config.my.nix.config != { }) {
|
||||
text = (concatStringsSep "\n" (mapAttrsToList (k: v: "${k} = ${v}") config.my.nix.config)) + "\n";
|
||||
};
|
||||
|
||||
programs = {
|
||||
# Even when enabled this will only be actually installed in standalone mode
|
||||
# Note: `home-manager.path` is for telling home-manager is installed and setting it in NIX_PATH, which we should
|
||||
|
Loading…
Reference in New Issue
Block a user