nixos: add preferLocalBuild=true; on derivations for config files
This commit is contained in:
parent
2a81eceeba
commit
a915b33315
|
@ -55,7 +55,9 @@ let
|
||||||
localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
|
localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
|
||||||
|
|
||||||
# The configuration to be included in /etc/font/
|
# The configuration to be included in /etc/font/
|
||||||
penultimateConf = pkgs.runCommand "font-penultimate-conf" {} ''
|
penultimateConf = pkgs.runCommand "font-penultimate-conf" {
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
support_folder=$out/etc/fonts/conf.d
|
support_folder=$out/etc/fonts/conf.d
|
||||||
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
|
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ let cfg = config.fonts.fontconfig.ultimate;
|
||||||
latestVersion = pkgs.fontconfig.configVersion;
|
latestVersion = pkgs.fontconfig.configVersion;
|
||||||
|
|
||||||
# The configuration to be included in /etc/font/
|
# The configuration to be included in /etc/font/
|
||||||
confPkg = pkgs.runCommand "font-ultimate-conf" {} ''
|
confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } ''
|
||||||
support_folder=$out/etc/fonts/conf.d
|
support_folder=$out/etc/fonts/conf.d
|
||||||
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
|
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ let cfg = config.fonts.fontconfig;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# fontconfig configuration package
|
# fontconfig configuration package
|
||||||
confPkg = pkgs.runCommand "fontconfig-conf" {} ''
|
confPkg = pkgs.runCommand "fontconfig-conf" { preferLocalBuild = true; } ''
|
||||||
support_folder=$out/etc/fonts
|
support_folder=$out/etc/fonts
|
||||||
latest_folder=$out/etc/fonts/${latestVersion}
|
latest_folder=$out/etc/fonts/${latestVersion}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
x11Fonts = pkgs.runCommand "X11-fonts" { } ''
|
x11Fonts = pkgs.runCommand "X11-fonts" { preferLocalBuild = true; } ''
|
||||||
mkdir -p "$out/share/X11-fonts"
|
mkdir -p "$out/share/X11-fonts"
|
||||||
find ${toString config.fonts.fonts} \
|
find ${toString config.fonts.fonts} \
|
||||||
\( -name fonts.dir -o -name '*.ttf' -o -name '*.otf' \) \
|
\( -name fonts.dir -o -name '*.ttf' -o -name '*.otf' \) \
|
||||||
|
|
|
@ -29,6 +29,7 @@ runCommand "uvcdynctrl-udev-rules-${version}"
|
||||||
];
|
];
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p "$out/lib/udev"
|
mkdir -p "$out/lib/udev"
|
||||||
|
|
|
@ -13,7 +13,7 @@ let
|
||||||
# user, as expected by nixos-rebuild/nixos-install. FIXME: merge
|
# user, as expected by nixos-rebuild/nixos-install. FIXME: merge
|
||||||
# with make-channel.nix.
|
# with make-channel.nix.
|
||||||
channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}"
|
channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}"
|
||||||
{ }
|
{ preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -prd ${nixpkgs.outPath} $out/nixos
|
cp -prd ${nixpkgs.outPath} $out/nixos
|
||||||
|
|
|
@ -25,7 +25,7 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
lessKey = pkgs.runCommand "lesskey"
|
lessKey = pkgs.runCommand "lesskey"
|
||||||
{ src = pkgs.writeText "lessconfig" configText; }
|
{ src = pkgs.writeText "lessconfig" configText; preferLocalBuild = true; }
|
||||||
"${pkgs.less}/bin/lesskey -o $out $src";
|
"${pkgs.less}/bin/lesskey -o $out $src";
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
|
@ -14,6 +14,7 @@ let
|
||||||
{ files =
|
{ files =
|
||||||
cfg.certificateFiles ++
|
cfg.certificateFiles ++
|
||||||
[ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ];
|
[ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ];
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
cat $files > $out
|
cat $files > $out
|
||||||
|
|
|
@ -215,7 +215,10 @@ in
|
||||||
environment.etc = singleton
|
environment.etc = singleton
|
||||||
{ source =
|
{ source =
|
||||||
pkgs.runCommand "sudoers"
|
pkgs.runCommand "sudoers"
|
||||||
{ src = pkgs.writeText "sudoers-in" cfg.configFile; }
|
{
|
||||||
|
src = pkgs.writeText "sudoers-in" cfg.configFile;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
}
|
||||||
# Make sure that the sudoers file is syntactically valid.
|
# Make sure that the sudoers file is syntactically valid.
|
||||||
# (currently disabled - NIXOS-66)
|
# (currently disabled - NIXOS-66)
|
||||||
"${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out";
|
"${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out";
|
||||||
|
|
|
@ -24,7 +24,7 @@ let
|
||||||
EOF
|
EOF
|
||||||
chmod 755 $out/${name}
|
chmod 755 $out/${name}
|
||||||
'';
|
'';
|
||||||
in pkgs.runCommand "buildkite-agent-hooks" {} ''
|
in pkgs.runCommand "buildkite-agent-hooks" { preferLocalBuild = true; } ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))}
|
${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))}
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -8,6 +8,7 @@ let
|
||||||
if (cfg.configFile == null) then
|
if (cfg.configFile == null) then
|
||||||
(pkgs.runCommand "config.toml" {
|
(pkgs.runCommand "config.toml" {
|
||||||
buildInputs = [ pkgs.remarshal ];
|
buildInputs = [ pkgs.remarshal ];
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
remarshal -if json -of toml \
|
remarshal -if json -of toml \
|
||||||
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
|
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
|
||||||
|
|
|
@ -18,7 +18,7 @@ let
|
||||||
</configuration>
|
</configuration>
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configDir = pkgs.runCommand "hbase-config-dir" {} ''
|
configDir = pkgs.runCommand "hbase-config-dir" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp ${cfg.package}/conf/* $out/
|
cp ${cfg.package}/conf/* $out/
|
||||||
rm $out/hbase-site.xml
|
rm $out/hbase-site.xml
|
||||||
|
|
|
@ -98,6 +98,7 @@ let
|
||||||
|
|
||||||
configFile = pkgs.runCommand "config.toml" {
|
configFile = pkgs.runCommand "config.toml" {
|
||||||
buildInputs = [ pkgs.remarshal ];
|
buildInputs = [ pkgs.remarshal ];
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
remarshal -if json -of toml \
|
remarshal -if json -of toml \
|
||||||
< ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \
|
< ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \
|
||||||
|
|
|
@ -21,7 +21,7 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
acpiConfDir = pkgs.runCommand "acpi-events" {}
|
acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
${
|
${
|
||||||
|
|
|
@ -17,6 +17,7 @@ tlp = pkgs.tlp.override {
|
||||||
confFile = pkgs.runCommand "tlp"
|
confFile = pkgs.runCommand "tlp"
|
||||||
{ config = cfg.extraConfig;
|
{ config = cfg.extraConfig;
|
||||||
passAsFile = [ "config" ];
|
passAsFile = [ "config" ];
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
cat ${tlp}/etc/default/tlp > $out
|
cat ${tlp}/etc/default/tlp > $out
|
||||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.logcheck;
|
cfg = config.services.logcheck;
|
||||||
|
|
||||||
defaultRules = pkgs.runCommand "logcheck-default-rules" {} ''
|
defaultRules = pkgs.runCommand "logcheck-default-rules" { preferLocalBuild = true; } ''
|
||||||
cp -prd ${pkgs.logcheck}/etc/logcheck $out
|
cp -prd ${pkgs.logcheck}/etc/logcheck $out
|
||||||
chmod u+w $out
|
chmod u+w $out
|
||||||
rm -r $out/logcheck.*
|
rm -r $out/logcheck.*
|
||||||
|
|
|
@ -27,7 +27,10 @@ let
|
||||||
|
|
||||||
logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings;
|
logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings;
|
||||||
|
|
||||||
logstashSettingsDir = pkgs.runCommand "logstash-settings" {inherit logstashSettingsYml;} ''
|
logstashSettingsDir = pkgs.runCommand "logstash-settings" {
|
||||||
|
inherit logstashSettingsYml;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
ln -s $logstashSettingsYml $out/logstash.yml
|
ln -s $logstashSettingsYml $out/logstash.yml
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -8,7 +8,7 @@ let
|
||||||
conf = pkgs.writeText "smtpd.conf" cfg.serverConfiguration;
|
conf = pkgs.writeText "smtpd.conf" cfg.serverConfiguration;
|
||||||
args = concatStringsSep " " cfg.extraServerArgs;
|
args = concatStringsSep " " cfg.extraServerArgs;
|
||||||
|
|
||||||
sendmail = pkgs.runCommand "opensmtpd-sendmail" {} ''
|
sendmail = pkgs.runCommand "opensmtpd-sendmail" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail
|
ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -110,7 +110,7 @@ in
|
||||||
config = mkIf cfg.enable (
|
config = mkIf cfg.enable (
|
||||||
let
|
let
|
||||||
manageGitoliteRc = cfg.extraGitoliteRc != "";
|
manageGitoliteRc = cfg.extraGitoliteRc != "";
|
||||||
rcDir = pkgs.runCommand "gitolite-rc" { } rcDirScript;
|
rcDir = pkgs.runCommand "gitolite-rc" { preferLocalBuild = true; } rcDirScript;
|
||||||
rcDirScript =
|
rcDirScript =
|
||||||
''
|
''
|
||||||
mkdir "$out"
|
mkdir "$out"
|
||||||
|
|
|
@ -33,7 +33,7 @@ let
|
||||||
sh = pkgs.runtimeShell;
|
sh = pkgs.runtimeShell;
|
||||||
binshDeps = pkgs.writeReferencesToFile sh;
|
binshDeps = pkgs.writeReferencesToFile sh;
|
||||||
in
|
in
|
||||||
pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } (''
|
pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (''
|
||||||
${optionalString (!isNix20) ''
|
${optionalString (!isNix20) ''
|
||||||
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
|
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
|
||||||
''}
|
''}
|
||||||
|
|
|
@ -109,7 +109,7 @@ let
|
||||||
nixos-taskserver = pkgs.pythonPackages.buildPythonApplication {
|
nixos-taskserver = pkgs.pythonPackages.buildPythonApplication {
|
||||||
name = "nixos-taskserver";
|
name = "nixos-taskserver";
|
||||||
|
|
||||||
src = pkgs.runCommand "nixos-taskserver-src" {} ''
|
src = pkgs.runCommand "nixos-taskserver-src" { preferLocalBuild = true; } ''
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
cat "${pkgs.substituteAll {
|
cat "${pkgs.substituteAll {
|
||||||
src = ./helper-tool.py;
|
src = ./helper-tool.py;
|
||||||
|
|
|
@ -45,7 +45,7 @@ let
|
||||||
|
|
||||||
eventToShellCmds = event: if builtins.hasAttr event cfg.hooks then (shellCmdsForEventScript event (builtins.getAttr event cfg.hooks)) else "";
|
eventToShellCmds = event: if builtins.hasAttr event cfg.hooks then (shellCmdsForEventScript event (builtins.getAttr event cfg.hooks)) else "";
|
||||||
|
|
||||||
scriptDir = pkgs.runCommand "apcupsd-scriptdir" {} (''
|
scriptDir = pkgs.runCommand "apcupsd-scriptdir" { preferLocalBuild = true; } (''
|
||||||
mkdir "$out"
|
mkdir "$out"
|
||||||
# Copy SCRIPTDIR from apcupsd package
|
# Copy SCRIPTDIR from apcupsd package
|
||||||
cp -r ${pkgs.apcupsd}/etc/apcupsd/* "$out"/
|
cp -r ${pkgs.apcupsd}/etc/apcupsd/* "$out"/
|
||||||
|
|
|
@ -9,8 +9,10 @@ let
|
||||||
dataDir = cfg.dataDir;
|
dataDir = cfg.dataDir;
|
||||||
staticDir = cfg.dataDir + "/static";
|
staticDir = cfg.dataDir + "/static";
|
||||||
|
|
||||||
graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings"
|
graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" {
|
||||||
{inherit graphiteLocalSettings;} ''
|
inherit graphiteLocalSettings;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
ln -s $graphiteLocalSettings $out/graphite_local_settings.py
|
ln -s $graphiteLocalSettings $out/graphite_local_settings.py
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -11,8 +11,10 @@ let
|
||||||
|
|
||||||
nagiosObjectDefs = cfg.objectDefs;
|
nagiosObjectDefs = cfg.objectDefs;
|
||||||
|
|
||||||
nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;}
|
nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {
|
||||||
"mkdir -p $out; ln -s $nagiosObjectDefs $out/";
|
inherit nagiosObjectDefs;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} "mkdir -p $out; ln -s $nagiosObjectDefs $out/";
|
||||||
|
|
||||||
nagiosCfgFile = pkgs.writeText "nagios.cfg"
|
nagiosCfgFile = pkgs.writeText "nagios.cfg"
|
||||||
''
|
''
|
||||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.netdata;
|
cfg = config.services.netdata;
|
||||||
|
|
||||||
wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} ''
|
wrappedPlugins = pkgs.runCommand "wrapped-plugins" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out/libexec/netdata/plugins.d
|
mkdir -p $out/libexec/netdata/plugins.d
|
||||||
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
|
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -19,7 +19,7 @@ let
|
||||||
|
|
||||||
# Pretty-print JSON to a file
|
# Pretty-print JSON to a file
|
||||||
writePrettyJSON = name: x:
|
writePrettyJSON = name: x:
|
||||||
pkgs.runCommand name { } ''
|
pkgs.runCommand name { preferLocalBuild = true; } ''
|
||||||
echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
|
echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.scollector;
|
cfg = config.services.scollector;
|
||||||
|
|
||||||
collectors = pkgs.runCommand "collectors" {}
|
collectors = pkgs.runCommand "collectors" { preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
${lib.concatStringsSep
|
${lib.concatStringsSep
|
||||||
|
|
|
@ -7,6 +7,7 @@ let
|
||||||
|
|
||||||
configFile = pkgs.runCommand "config.toml" {
|
configFile = pkgs.runCommand "config.toml" {
|
||||||
buildInputs = [ pkgs.remarshal ];
|
buildInputs = [ pkgs.remarshal ];
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
remarshal -if json -of toml \
|
remarshal -if json -of toml \
|
||||||
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.extraConfig)} \
|
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.extraConfig)} \
|
||||||
|
|
|
@ -4,7 +4,8 @@ let
|
||||||
|
|
||||||
cfg = config.services.uptime;
|
cfg = config.services.uptime;
|
||||||
|
|
||||||
configDir = pkgs.runCommand "config" {} (if cfg.configFile != null then ''
|
configDir = pkgs.runCommand "config" { preferLocalBuild = true; }
|
||||||
|
(if cfg.configFile != null then ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
ext=`echo ${cfg.configFile} | grep -o \\..*`
|
ext=`echo ${cfg.configFile} | grep -o \\..*`
|
||||||
ln -sv ${cfg.configFile} $out/default$ext
|
ln -sv ${cfg.configFile} $out/default$ext
|
||||||
|
|
|
@ -102,7 +102,10 @@ let
|
||||||
|
|
||||||
# wrappers to beegfs tools. Avoid typing path of config files
|
# wrappers to beegfs tools. Avoid typing path of config files
|
||||||
utilWrappers = mapAttrsToList ( name: cfg:
|
utilWrappers = mapAttrsToList ( name: cfg:
|
||||||
( pkgs.runCommand "beegfs-utils-${name}" { nativeBuildInputs = [ pkgs.makeWrapper ]; } ''
|
( pkgs.runCommand "beegfs-utils-${name}" {
|
||||||
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
|
||||||
makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \
|
makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \
|
||||||
|
|
|
@ -19,7 +19,7 @@ let
|
||||||
"/var/lib/ipfs/.ipfs";
|
"/var/lib/ipfs/.ipfs";
|
||||||
|
|
||||||
# Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment
|
# Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment
|
||||||
wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } ''
|
wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; preferLocalBuild = true; } ''
|
||||||
mkdir -p "$out/bin"
|
mkdir -p "$out/bin"
|
||||||
makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" \
|
makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" \
|
||||||
--set IPFS_PATH ${cfg.dataDir} \
|
--set IPFS_PATH ${cfg.dataDir} \
|
||||||
|
|
|
@ -15,7 +15,7 @@ let
|
||||||
|
|
||||||
clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB);
|
clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB);
|
||||||
|
|
||||||
afsConfig = pkgs.runCommand "afsconfig" {} ''
|
afsConfig = pkgs.runCommand "afsconfig" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
echo ${cfg.cellName} > $out/ThisCell
|
echo ${cfg.cellName} > $out/ThisCell
|
||||||
cat ${cellServDB} ${clientServDB} > $out/CellServDB
|
cat ${cellServDB} ${clientServDB} > $out/CellServDB
|
||||||
|
@ -198,7 +198,7 @@ in
|
||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
clientCellServDB = {
|
clientCellServDB = {
|
||||||
source = pkgs.runCommand "CellServDB" {} ''
|
source = pkgs.runCommand "CellServDB" { preferLocalBuild = true; } ''
|
||||||
cat ${cellServDB} ${clientServDB} > $out
|
cat ${cellServDB} ${clientServDB} > $out
|
||||||
'';
|
'';
|
||||||
target = "openafs/CellServDB";
|
target = "openafs/CellServDB";
|
||||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.dnscache;
|
cfg = config.services.dnscache;
|
||||||
|
|
||||||
dnscache-root = pkgs.runCommand "dnscache-root" {} ''
|
dnscache-root = pkgs.runCommand "dnscache-root" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out/{servers,ip}
|
mkdir -p $out/{servers,ip}
|
||||||
|
|
||||||
${concatMapStrings (ip: ''
|
${concatMapStrings (ip: ''
|
||||||
|
|
|
@ -41,7 +41,7 @@ let
|
||||||
"$out/config.${name}"
|
"$out/config.${name}"
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
pkgs.runCommand "hylafax-config-modems" {}
|
pkgs.runCommand "hylafax-config-modems" { preferLocalBuild = true; }
|
||||||
''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}'';
|
''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}'';
|
||||||
|
|
||||||
setupSpoolScript = pkgs.substituteAll {
|
setupSpoolScript = pkgs.substituteAll {
|
||||||
|
|
|
@ -25,7 +25,7 @@ let
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prayerCfg = pkgs.runCommand "prayer.cf" { } ''
|
prayerCfg = pkgs.runCommand "prayer.cf" { preferLocalBuild = true; } ''
|
||||||
# We have to remove the http_port 80, or it will start a server there
|
# We have to remove the http_port 80, or it will start a server there
|
||||||
cat ${prayer}/etc/prayer.cf | grep -v http_port > $out
|
cat ${prayer}/etc/prayer.cf | grep -v http_port > $out
|
||||||
cat ${prayerExtraCfg} >> $out
|
cat ${prayerExtraCfg} >> $out
|
||||||
|
|
|
@ -6,7 +6,7 @@ let
|
||||||
cfg = config.services.shout;
|
cfg = config.services.shout;
|
||||||
shoutHome = "/var/lib/shout";
|
shoutHome = "/var/lib/shout";
|
||||||
|
|
||||||
defaultConfig = pkgs.runCommand "config.js" {} ''
|
defaultConfig = pkgs.runCommand "config.js" { preferLocalBuild = true; } ''
|
||||||
EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD
|
EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD
|
||||||
mv config.js $out
|
mv config.js $out
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -4,7 +4,7 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.xrdp;
|
cfg = config.services.xrdp;
|
||||||
confDir = pkgs.runCommand "xrdp.conf" { } ''
|
confDir = pkgs.runCommand "xrdp.conf" { preferLocalBuild = true; } ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
|
|
||||||
cp ${cfg.package}/etc/xrdp/{km-*,xrdp,sesman,xrdp_keyboard}.ini $out
|
cp ${cfg.package}/etc/xrdp/{km-*,xrdp,sesman,xrdp_keyboard}.ini $out
|
||||||
|
|
|
@ -11,8 +11,9 @@ let
|
||||||
avahiEnabled = config.services.avahi.enable;
|
avahiEnabled = config.services.avahi.enable;
|
||||||
polkitEnabled = config.security.polkit.enable;
|
polkitEnabled = config.security.polkit.enable;
|
||||||
|
|
||||||
additionalBackends = pkgs.runCommand "additional-cups-backends" { }
|
additionalBackends = pkgs.runCommand "additional-cups-backends" {
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
if [ ! -e ${cups.out}/lib/cups/backend/smb ]; then
|
if [ ! -e ${cups.out}/lib/cups/backend/smb ]; then
|
||||||
mkdir -p $out/lib/cups/backend
|
mkdir -p $out/lib/cups/backend
|
||||||
|
|
|
@ -82,7 +82,7 @@ in {
|
||||||
X-RestartIfChanged=false
|
X-RestartIfChanged=false
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { }
|
systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service
|
ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service
|
||||||
|
|
|
@ -6,7 +6,7 @@ let
|
||||||
cfg = config.services.codimd;
|
cfg = config.services.codimd;
|
||||||
|
|
||||||
prettyJSON = conf:
|
prettyJSON = conf:
|
||||||
pkgs.runCommand "codimd-config.json" { } ''
|
pkgs.runCommand "codimd-config.json" { preferLocalBuild = true; } ''
|
||||||
echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq \
|
echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq \
|
||||||
'{production:del(.[]|nulls)|del(.[][]?|nulls)}' > $out
|
'{production:del(.[]|nulls)|del(.[][]?|nulls)}' > $out
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -217,7 +217,7 @@ let
|
||||||
) null ([ cfg ] ++ subservices);
|
) null ([ cfg ] ++ subservices);
|
||||||
|
|
||||||
documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else
|
documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else
|
||||||
pkgs.runCommand "empty" {} "mkdir -p $out";
|
pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out";
|
||||||
|
|
||||||
documentRootConf = ''
|
documentRootConf = ''
|
||||||
DocumentRoot "${documentRoot}"
|
DocumentRoot "${documentRoot}"
|
||||||
|
@ -426,6 +426,7 @@ let
|
||||||
phpIni = pkgs.runCommand "php.ini"
|
phpIni = pkgs.runCommand "php.ini"
|
||||||
{ options = concatStringsSep "\n"
|
{ options = concatStringsSep "\n"
|
||||||
([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices));
|
([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices));
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
cat ${php}/etc/php.ini > $out
|
cat ${php}/etc/php.ini > $out
|
||||||
|
|
|
@ -116,9 +116,10 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mediawikiScripts = pkgs.runCommand "mediawiki-${config.id}-scripts"
|
mediawikiScripts = pkgs.runCommand "mediawiki-${config.id}-scripts" {
|
||||||
{ buildInputs = [ pkgs.makeWrapper ]; }
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
for i in changePassword.php createAndPromote.php userOptions.php edit.php nukePage.php update.php; do
|
for i in changePassword.php createAndPromote.php userOptions.php edit.php nukePage.php update.php; do
|
||||||
makeWrapper ${php}/bin/php $out/bin/mediawiki-${config.id}-$(basename $i .php) \
|
makeWrapper ${php}/bin/php $out/bin/mediawiki-${config.id}-$(basename $i .php) \
|
||||||
|
|
|
@ -39,6 +39,7 @@ let
|
||||||
|
|
||||||
phpIni = pool: pkgs.runCommand "php.ini" {
|
phpIni = pool: pkgs.runCommand "php.ini" {
|
||||||
inherit (pool) phpPackage phpOptions;
|
inherit (pool) phpPackage phpOptions;
|
||||||
|
preferLocalBuild = true;
|
||||||
nixDefaults = ''
|
nixDefaults = ''
|
||||||
sendmail_path = "/run/wrappers/bin/sendmail -t -i"
|
sendmail_path = "/run/wrappers/bin/sendmail -t -i"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -8,6 +8,7 @@ let
|
||||||
if cfg.configFile == null then
|
if cfg.configFile == null then
|
||||||
pkgs.runCommand "config.toml" {
|
pkgs.runCommand "config.toml" {
|
||||||
buildInputs = [ pkgs.remarshal ];
|
buildInputs = [ pkgs.remarshal ];
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
remarshal -if json -of toml \
|
remarshal -if json -of toml \
|
||||||
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
|
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
|
||||||
|
|
|
@ -15,7 +15,7 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" {}
|
nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||||
cp -rf ${pkgs.gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
cp -rf ${pkgs.gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||||
|
|
|
@ -12,9 +12,10 @@ let
|
||||||
|
|
||||||
# We need a few things in the environment for the greeter to run with
|
# We need a few things in the environment for the greeter to run with
|
||||||
# fonts/icons.
|
# fonts/icons.
|
||||||
wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter"
|
wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" {
|
||||||
{ buildInputs = [ pkgs.makeWrapper ]; }
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
# This wrapper ensures that we actually get themes
|
# This wrapper ensures that we actually get themes
|
||||||
makeWrapper ${pkgs.lightdm-enso-os-greeter}/bin/pantheon-greeter \
|
makeWrapper ${pkgs.lightdm-enso-os-greeter}/bin/pantheon-greeter \
|
||||||
$out/greeter \
|
$out/greeter \
|
||||||
|
|
|
@ -18,9 +18,10 @@ let
|
||||||
# The default greeter provided with this expression is the GTK greeter.
|
# The default greeter provided with this expression is the GTK greeter.
|
||||||
# Again, we need a few things in the environment for the greeter to run with
|
# Again, we need a few things in the environment for the greeter to run with
|
||||||
# fonts/icons.
|
# fonts/icons.
|
||||||
wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter"
|
wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" {
|
||||||
{ buildInputs = [ pkgs.makeWrapper ]; }
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
# This wrapper ensures that we actually get themes
|
# This wrapper ensures that we actually get themes
|
||||||
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
|
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
|
||||||
$out/greeter \
|
$out/greeter \
|
||||||
|
|
|
@ -28,7 +28,7 @@ let
|
||||||
# Unpack the SLiM theme, or use the default.
|
# Unpack the SLiM theme, or use the default.
|
||||||
slimThemesDir =
|
slimThemesDir =
|
||||||
let
|
let
|
||||||
unpackedTheme = pkgs.runCommand "slim-theme" {}
|
unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; }
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cd $out
|
cd $out
|
||||||
|
|
|
@ -10,7 +10,7 @@ let
|
||||||
|
|
||||||
# Generate the cache file by running gdk-pixbuf-query-loaders for each
|
# Generate the cache file by running gdk-pixbuf-query-loaders for each
|
||||||
# package and concatenating the results.
|
# package and concatenating the results.
|
||||||
loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" {} ''
|
loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" { preferLocalBuild = true; } ''
|
||||||
(
|
(
|
||||||
for package in ${concatStringsSep " " effectivePackages}; do
|
for package in ${concatStringsSep " " effectivePackages}; do
|
||||||
module_dir="$package/${pkgs.gdk_pixbuf.moduleDir}"
|
module_dir="$package/${pkgs.gdk_pixbuf.moduleDir}"
|
||||||
|
|
|
@ -113,6 +113,7 @@ let
|
||||||
{ xfs = optionalString (cfg.useXFS != false)
|
{ xfs = optionalString (cfg.useXFS != false)
|
||||||
''FontPath "${toString cfg.useXFS}"'';
|
''FontPath "${toString cfg.useXFS}"'';
|
||||||
inherit (cfg) config;
|
inherit (cfg) config;
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
echo 'Section "Files"' >> $out
|
echo 'Section "Files"' >> $out
|
||||||
|
@ -705,6 +706,7 @@ in
|
||||||
system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" {
|
system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" {
|
||||||
inherit (cfg) xkbModel layout xkbVariant xkbOptions;
|
inherit (cfg) xkbModel layout xkbVariant xkbOptions;
|
||||||
nativeBuildInputs = [ pkgs.xkbvalidate ];
|
nativeBuildInputs = [ pkgs.xkbvalidate ];
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
validate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions"
|
validate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions"
|
||||||
touch "$out"
|
touch "$out"
|
||||||
|
|
|
@ -196,9 +196,10 @@ let
|
||||||
''; # */
|
''; # */
|
||||||
|
|
||||||
|
|
||||||
udevRules = pkgs.runCommand "udev-rules"
|
udevRules = pkgs.runCommand "udev-rules" {
|
||||||
{ allowedReferences = [ extraUtils ]; }
|
allowedReferences = [ extraUtils ];
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
|
||||||
echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules
|
echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules
|
||||||
|
@ -298,9 +299,10 @@ let
|
||||||
{ object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf;
|
{ object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf;
|
||||||
symlink = "/etc/mdadm.conf";
|
symlink = "/etc/mdadm.conf";
|
||||||
}
|
}
|
||||||
{ object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu"
|
{ object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" {
|
||||||
{ src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; }
|
src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
|
||||||
''
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
target=$out
|
target=$out
|
||||||
${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
|
${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -759,7 +759,10 @@ in
|
||||||
environment.etc = let
|
environment.etc = let
|
||||||
# generate contents for /etc/systemd/system-generators from
|
# generate contents for /etc/systemd/system-generators from
|
||||||
# systemd.generators and systemd.generator-packages
|
# systemd.generators and systemd.generator-packages
|
||||||
generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } ''
|
generators = pkgs.runCommand "system-generators" {
|
||||||
|
preferLocalBuild = true;
|
||||||
|
packages = cfg.generator-packages;
|
||||||
|
} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
for package in $packages
|
for package in $packages
|
||||||
do
|
do
|
||||||
|
|
|
@ -6,7 +6,7 @@ let
|
||||||
|
|
||||||
inInitrd = any (fs: fs == "vboxsf") config.boot.initrd.supportedFilesystems;
|
inInitrd = any (fs: fs == "vboxsf") config.boot.initrd.supportedFilesystems;
|
||||||
|
|
||||||
package = pkgs.runCommand "mount.vboxsf" {} ''
|
package = pkgs.runCommand "mount.vboxsf" { preferLocalBuild = true; } ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin
|
cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -15,6 +15,7 @@ let
|
||||||
optimizedKeymap = pkgs.runCommand "keymap" {
|
optimizedKeymap = pkgs.runCommand "keymap" {
|
||||||
nativeBuildInputs = [ pkgs.buildPackages.kbd ];
|
nativeBuildInputs = [ pkgs.buildPackages.kbd ];
|
||||||
LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**";
|
LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**";
|
||||||
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out
|
loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -995,7 +995,7 @@ in
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.etc."hostid" = mkIf (cfg.hostId != null)
|
environment.etc."hostid" = mkIf (cfg.hostId != null)
|
||||||
{ source = pkgs.runCommand "gen-hostid" {} ''
|
{ source = pkgs.runCommand "gen-hostid" { preferLocalBuild = true; } ''
|
||||||
hi="${cfg.hostId}"
|
hi="${cfg.hostId}"
|
||||||
${if pkgs.stdenv.isBigEndian then ''
|
${if pkgs.stdenv.isBigEndian then ''
|
||||||
echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
|
echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
|
||||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
exportReferencesGraph.closure = rootPaths;
|
exportReferencesGraph.closure = rootPaths;
|
||||||
|
|
||||||
|
preferLocalBuild = true;
|
||||||
|
|
||||||
PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin";
|
PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin";
|
||||||
|
|
||||||
builder = builtins.toFile "builder"
|
builder = builtins.toFile "builder"
|
||||||
|
|
Loading…
Reference in New Issue