Как добавить сервис в NixOS?
часть файла configuration.nix:
environment.systemPackages = with pkgs; [
tgt
];
systemd.services = {
tgtd = {
enable = true;
};
};
при запуске службы командой systemctl start tgtd появляется ошибка:
nixos systemd[1]: tgtd.service: Service has no ExecStart=, ExecStop=, or SuccessAction=. Refusing.
Я понимаю, что можно прописать все эти настройки, но они лежат готовые в файле /nix/store/хэш/etc/systemd/system/tgtd.service. Вот так выглядят:
[Unit]
Description=iSCSI target framework daemon
Documentation=man: tgtd(8)
After=network.target
# On systems without virtual consoles, don't start any getty. Note
# that serial gettys are covered by [email protected], not this
# unit.
ConditionPathExists=/etc/tgt/targets.conf
[Service]
Type=forking
Environment=TGTD_CONFIG=/etc/tgt/targets.conf
ExecStart=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgtd
ExecStartPost=/nix/store/vr96j3cxj75xsczl8pzrgsv1k57hcxyp-coreutils-8.31/bin/sleep 5
ExecStartPost=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgtadm --op update --mode sys --name State -v offline
ExecStartPost=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgtadm --op update --mode sys --name State -v ready
ExecStartPost=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgt-admin -e -c ${TGTD_CONFIG}
ExecReload=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgt-admin --update ALL -f -c ${TGTD_CONFIG}
ExecStop=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgtadm --op update --mode sys --name State -v offline
ExecStop=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgt-admin --offline ALL
ExecStop=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgt-admin --update ALL -c /dev/null -f
ExecStop=/nix/store/dkyyq75mz2cf7zcqjvydvgg5965lggh7-tgt-1.0.79/bin/tgtadm --op delete --mode system
# Exit code: 107 tgtd not running
[Install]
WantedBy=multi-user.target
Можно ли явно указать путь до этих настроек?