nixos/*: use $out instead of $bin with buildGoPackage

This commit is contained in:
zowoq 2020-04-28 11:50:34 +10:00
parent 3f17518490
commit c59c4e3589
23 changed files with 41 additions and 45 deletions

View file

@ -5,8 +5,8 @@ let
cfg = config.programs.singularity; cfg = config.programs.singularity;
singularity = pkgs.singularity.overrideAttrs (attrs : { singularity = pkgs.singularity.overrideAttrs (attrs : {
installPhase = attrs.installPhase + '' installPhase = attrs.installPhase + ''
mv $bin/libexec/singularity/bin/starter-suid $bin/libexec/singularity/bin/starter-suid.orig mv $out/libexec/singularity/bin/starter-suid $out/libexec/singularity/bin/starter-suid.orig
ln -s /run/wrappers/bin/singularity-suid $bin/libexec/singularity/bin/starter-suid ln -s /run/wrappers/bin/singularity-suid $out/libexec/singularity/bin/starter-suid
''; '';
}); });
in { in {

View file

@ -127,7 +127,7 @@ in
serviceConfig = { serviceConfig = {
StateDirectory = "gitlab-runner"; StateDirectory = "gitlab-runner";
ExecReload= "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload= "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStart = ''${cfg.package.bin}/bin/gitlab-runner run \ ExecStart = ''${cfg.package}/bin/gitlab-runner run \
--working-directory ${cfg.workDir} \ --working-directory ${cfg.workDir} \
--config /etc/gitlab-runner/config.toml \ --config /etc/gitlab-runner/config.toml \
--service gitlab-runner \ --service gitlab-runner \

View file

@ -75,7 +75,7 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package.bin}/bin/confd"; ExecStart = "${cfg.package}/bin/confd";
}; };
}; };

View file

@ -178,7 +178,7 @@ in {
serviceConfig = { serviceConfig = {
Type = "notify"; Type = "notify";
ExecStart = "${pkgs.etcd.bin}/bin/etcd"; ExecStart = "${pkgs.etcd}/bin/etcd";
User = "etcd"; User = "etcd";
LimitNOFILE = 40000; LimitNOFILE = 40000;
}; };

View file

@ -335,7 +335,7 @@ in
description = "gitea"; description = "gitea";
after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service"; after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ gitea.bin pkgs.gitAndTools.git ]; path = [ gitea pkgs.gitAndTools.git ];
preStart = let preStart = let
runConfig = "${cfg.stateDir}/custom/conf/app.ini"; runConfig = "${cfg.stateDir}/custom/conf/app.ini";
@ -347,11 +347,11 @@ in
cp -f ${configFile} ${runConfig} cp -f ${configFile} ${runConfig}
if [ ! -e ${secretKey} ]; then if [ ! -e ${secretKey} ]; then
${gitea.bin}/bin/gitea generate secret SECRET_KEY > ${secretKey} ${gitea}/bin/gitea generate secret SECRET_KEY > ${secretKey}
fi fi
if [ ! -e ${jwtSecret} ]; then if [ ! -e ${jwtSecret} ]; then
${gitea.bin}/bin/gitea generate secret LFS_JWT_SECRET > ${jwtSecret} ${gitea}/bin/gitea generate secret LFS_JWT_SECRET > ${jwtSecret}
fi fi
KEY="$(head -n1 ${secretKey})" KEY="$(head -n1 ${secretKey})"
@ -374,7 +374,7 @@ in
HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 6 -type f -wholename "*git/hooks/*") HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 6 -type f -wholename "*git/hooks/*")
if [ "$HOOKS" ] if [ "$HOOKS" ]
then then
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea.bin}/bin/gitea,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS
@ -383,7 +383,7 @@ in
# update command option in authorized_keys # update command option in authorized_keys
if [ -r ${cfg.stateDir}/.ssh/authorized_keys ] if [ -r ${cfg.stateDir}/.ssh/authorized_keys ]
then then
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea.bin}/bin/gitea,g' ${cfg.stateDir}/.ssh/authorized_keys sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' ${cfg.stateDir}/.ssh/authorized_keys
fi fi
''; '';
@ -392,7 +392,7 @@ in
User = cfg.user; User = cfg.user;
Group = "gitea"; Group = "gitea";
WorkingDirectory = cfg.stateDir; WorkingDirectory = cfg.stateDir;
ExecStart = "${gitea.bin}/bin/gitea web"; ExecStart = "${gitea}/bin/gitea web";
Restart = "always"; Restart = "always";
# Filesystem # Filesystem
@ -450,7 +450,7 @@ in
description = "gitea dump"; description = "gitea dump";
after = [ "gitea.service" ]; after = [ "gitea.service" ];
wantedBy = [ "default.target" ]; wantedBy = [ "default.target" ];
path = [ gitea.bin ]; path = [ gitea ];
environment = { environment = {
USER = cfg.user; USER = cfg.user;
@ -461,7 +461,7 @@ in
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
User = cfg.user; User = cfg.user;
ExecStart = "${gitea.bin}/bin/gitea dump"; ExecStart = "${gitea}/bin/gitea dump";
WorkingDirectory = cfg.stateDir; WorkingDirectory = cfg.stateDir;
}; };
}; };

View file

@ -200,7 +200,7 @@ in
description = "Gogs (Go Git Service)"; description = "Gogs (Go Git Service)";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.gogs.bin ]; path = [ pkgs.gogs ];
preStart = let preStart = let
runConfig = "${cfg.stateDir}/custom/conf/app.ini"; runConfig = "${cfg.stateDir}/custom/conf/app.ini";
@ -230,7 +230,7 @@ in
HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 4 -type f -wholename "*git/hooks/*") HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 4 -type f -wholename "*git/hooks/*")
if [ "$HOOKS" ] if [ "$HOOKS" ]
then then
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gogs,${pkgs.gogs.bin}/bin/gogs,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gogs,${pkgs.gogs}/bin/gogs,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS
sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS
@ -242,7 +242,7 @@ in
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
WorkingDirectory = cfg.stateDir; WorkingDirectory = cfg.stateDir;
ExecStart = "${pkgs.gogs.bin}/bin/gogs web"; ExecStart = "${pkgs.gogs}/bin/gogs web";
Restart = "always"; Restart = "always";
}; };

View file

@ -55,7 +55,7 @@ in
Restart = "on-failure"; Restart = "on-failure";
WorkingDirectory = stateDir; WorkingDirectory = stateDir;
PrivateTmp = true; PrivateTmp = true;
ExecStart = "${pkgs.leaps.bin}/bin/leaps -path ${toString cfg.path} -address ${cfg.address}:${toString cfg.port}"; ExecStart = "${pkgs.leaps}/bin/leaps -path ${toString cfg.path} -address ${cfg.address}:${toString cfg.port}";
}; };
}; };
}; };

View file

@ -35,7 +35,7 @@ in {
path = [ fake-lsb-release ]; path = [ fake-lsb-release ];
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package.bin}/bin/agent"; ExecStart = "${cfg.package}/bin/agent";
KillMode = "process"; KillMode = "process";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "15min"; RestartSec = "15min";
@ -43,4 +43,3 @@ in {
}; };
}; };
} }

View file

@ -148,7 +148,7 @@ in {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
ExecStart = '' ExecStart = ''
${cfg.package.bin}/bin/bosun -c ${configFile} ${cfg.package}/bin/bosun -c ${configFile}
''; '';
}; };
}; };

View file

@ -59,7 +59,7 @@ in {
"-templates ${cfg.templateDir}" "-templates ${cfg.templateDir}"
]; ];
in { in {
ExecStart = "${pkgs.grafana_reporter.bin}/bin/grafana-reporter ${args}"; ExecStart = "${pkgs.grafana_reporter}/bin/grafana-reporter ${args}";
}; };
}; };
}; };

View file

@ -535,7 +535,7 @@ in {
${optionalString cfg.provision.enable '' ${optionalString cfg.provision.enable ''
export GF_PATHS_PROVISIONING=${provisionConfDir}; export GF_PATHS_PROVISIONING=${provisionConfDir};
''} ''}
exec ${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir} exec ${cfg.package}/bin/grafana-server -homepath ${cfg.dataDir}
''; '';
serviceConfig = { serviceConfig = {
WorkingDirectory = cfg.dataDir; WorkingDirectory = cfg.dataDir;

View file

@ -58,7 +58,7 @@ in
in { in {
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \ ${pkgs.prometheus-snmp-exporter}/bin/snmp_exporter \
--config.file=${escapeShellArg configFile} \ --config.file=${escapeShellArg configFile} \
--log.format=${escapeShellArg cfg.logFormat} \ --log.format=${escapeShellArg cfg.logFormat} \
--log.level=${cfg.logLevel} \ --log.level=${cfg.logLevel} \

View file

@ -118,7 +118,7 @@ in {
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
ExecStart = "${cfg.package.bin}/bin/scollector -conf=${conf} ${lib.concatStringsSep " " cfg.extraOpts}"; ExecStart = "${cfg.package}/bin/scollector -conf=${conf} ${lib.concatStringsSep " " cfg.extraOpts}";
}; };
}; };

View file

@ -179,15 +179,15 @@ in
(filterAttrs (n: _: hasPrefix "consul.d/" n) config.environment.etc); (filterAttrs (n: _: hasPrefix "consul.d/" n) config.environment.etc);
serviceConfig = { serviceConfig = {
ExecStart = "@${cfg.package.bin}/bin/consul consul agent -config-dir /etc/consul.d" ExecStart = "@${cfg.package}/bin/consul consul agent -config-dir /etc/consul.d"
+ concatMapStrings (n: " -config-file ${n}") configFiles; + concatMapStrings (n: " -config-file ${n}") configFiles;
ExecReload = "${cfg.package.bin}/bin/consul reload"; ExecReload = "${cfg.package}/bin/consul reload";
PermissionsStartOnly = true; PermissionsStartOnly = true;
User = if cfg.dropPrivileges then "consul" else null; User = if cfg.dropPrivileges then "consul" else null;
Restart = "on-failure"; Restart = "on-failure";
TimeoutStartSec = "infinity"; TimeoutStartSec = "infinity";
} // (optionalAttrs (cfg.leaveOnStop) { } // (optionalAttrs (cfg.leaveOnStop) {
ExecStop = "${cfg.package.bin}/bin/consul leave"; ExecStop = "${cfg.package}/bin/consul leave";
}); });
path = with pkgs; [ iproute gnugrep gawk consul ]; path = with pkgs; [ iproute gnugrep gawk consul ];
@ -238,7 +238,7 @@ in
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${cfg.alerts.package.bin}/bin/consul-alerts start \ ${cfg.alerts.package}/bin/consul-alerts start \
--alert-addr=${cfg.alerts.listenAddr} \ --alert-addr=${cfg.alerts.listenAddr} \
--consul-addr=${cfg.alerts.consulAddr} \ --consul-addr=${cfg.alerts.consulAddr} \
${optionalString cfg.alerts.watchChecks "--watch-checks"} \ ${optionalString cfg.alerts.watchChecks "--watch-checks"} \

View file

@ -19,8 +19,8 @@ in {
package = mkOption { package = mkOption {
description = "Package to use for flannel"; description = "Package to use for flannel";
type = types.package; type = types.package;
default = pkgs.flannel.bin; default = pkgs.flannel;
defaultText = "pkgs.flannel.bin"; defaultText = "pkgs.flannel";
}; };
publicIp = mkOption { publicIp = mkOption {
@ -167,7 +167,7 @@ in {
touch /run/flannel/docker touch /run/flannel/docker
'' + optionalString (cfg.storageBackend == "etcd") '' '' + optionalString (cfg.storageBackend == "etcd") ''
echo "setting network configuration" echo "setting network configuration"
until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}' until ${pkgs.etcdctl}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}'
do do
echo "setting network configuration, retry" echo "setting network configuration, retry"
sleep 1 sleep 1

View file

@ -83,7 +83,7 @@ in {
SKYDNS_NAMESERVERS = concatStringsSep "," cfg.nameservers; SKYDNS_NAMESERVERS = concatStringsSep "," cfg.nameservers;
}; };
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package.bin}/bin/skydns"; ExecStart = "${cfg.package}/bin/skydns";
}; };
}; };

View file

@ -43,12 +43,12 @@ in {
description = "Provide EC2 instance credentials to machines outside of EC2"; description = "Provide EC2 instance credentials to machines outside of EC2";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
requires = [ "network-link-dummy0.service" "network-addresses-dummy0.service" ]; requires = [ "network-link-dummy0.service" "network-addresses-dummy0.service" ];
preStart = '' preStart = ''
/run/current-system/sw/bin/rm -fv /run/hologram.sock /run/current-system/sw/bin/rm -fv /run/hologram.sock
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.hologram.bin}/bin/hologram-agent -debug -conf ${cfgFile} -port ${cfg.httpPort}"; ExecStart = "${pkgs.hologram}/bin/hologram-agent -debug -conf ${cfgFile} -port ${cfg.httpPort}";
}; };
}; };

View file

@ -123,7 +123,7 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.hologram.bin}/bin/hologram-server --debug --conf ${cfgFile}"; ExecStart = "${pkgs.hologram}/bin/hologram-server --debug --conf ${cfgFile}";
}; };
}; };
}; };

View file

@ -577,7 +577,7 @@ in
serviceConfig = { serviceConfig = {
User = "oauth2_proxy"; User = "oauth2_proxy";
Restart = "always"; Restart = "always";
ExecStart = "${cfg.package.bin}/bin/oauth2_proxy ${configString}"; ExecStart = "${cfg.package}/bin/oauth2_proxy ${configString}";
EnvironmentFile = mkIf (cfg.keyFile != null) cfg.keyFile; EnvironmentFile = mkIf (cfg.keyFile != null) cfg.keyFile;
}; };
}; };

View file

@ -224,7 +224,7 @@ in
serviceConfig = { serviceConfig = {
User = "nobody"; User = "nobody";
Group = "nogroup"; Group = "nogroup";
ExecStart = "${pkgs.matterircd.bin}/bin/matterircd ${concatStringsSep " " cfg.matterircd.parameters}"; ExecStart = "${pkgs.matterircd}/bin/matterircd ${concatStringsSep " " cfg.matterircd.parameters}";
WorkingDirectory = "/tmp"; WorkingDirectory = "/tmp";
PrivateTmp = true; PrivateTmp = true;
Restart = "always"; Restart = "always";

View file

@ -38,9 +38,8 @@ in {
if [ ! -z "$ECS_DATADIR" ]; then if [ ! -z "$ECS_DATADIR" ]; then
mkdir -p "$ECS_DATADIR" mkdir -p "$ECS_DATADIR"
fi fi
${cfg.package.bin}/bin/agent ${cfg.package}/bin/agent
''; '';
}; };
}; };
} }

View file

@ -108,7 +108,7 @@ in
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "@${cfg.package.bin}/bin/lxd lxd --group lxd"; ExecStart = "@${cfg.package}/bin/lxd lxd --group lxd";
Type = "simple"; Type = "simple";
KillMode = "process"; # when stopping, leave the containers alone KillMode = "process"; # when stopping, leave the containers alone
LimitMEMLOCK = "infinity"; LimitMEMLOCK = "infinity";

View file

@ -6,13 +6,11 @@ let
# Provides a fake "docker" binary mapping to podman # Provides a fake "docker" binary mapping to podman
dockerCompat = pkgs.runCommandNoCC "${pkgs.podman.pname}-docker-compat-${pkgs.podman.version}" { dockerCompat = pkgs.runCommandNoCC "${pkgs.podman.pname}-docker-compat-${pkgs.podman.version}" {
outputs = [ "out" "bin" "man" ]; outputs = [ "out" "man" ];
inherit (pkgs.podman) meta; inherit (pkgs.podman) meta;
} '' } ''
mkdir $out mkdir -p $out/bin
ln -s ${pkgs.podman}/bin/podman $out/bin/docker
mkdir -p $bin/bin
ln -s ${pkgs.podman.bin}/bin/podman $bin/bin/docker
mkdir -p $man/share/man/man1 mkdir -p $man/share/man/man1
for f in ${pkgs.podman.man}/share/man/man1/*; do for f in ${pkgs.podman.man}/share/man/man1/*; do