【发布时间】:2022-08-06 15:42:00
【问题描述】:
尝试安装 Flexget。在 Options 网站上,它显示有 config 定义 here
它是如何工作的?它说类型是types.lines。尝试写入一些随机文本,但未创建配置文件并且守护程序无法启动。
编辑:
所以这是我在configuration.nix 中的配置:
services.flexget = {
enable = true;
config = \"asdas\\n asdas\";
};
当我运行sudo nixos-rebuild switch 时,会发生以下情况:
building Nix...
building the system configuration...
NOT restarting the following changed units: systemd-fsck@dev-disk-by\\x2dlabel-FuHua.service, systemd-fsck@dev-disk-by\\x2duuid-25A4\\x2d32EA.service
activating the configuration...
setting up /etc...
reloading user units for shalva...
setting up tmpfiles
reloading the following units: dbus.service
the following new units were started: flexget-runner.timer, flexget.service
warning: the following units failed: flexget-runner.service
× flexget-runner.service - FlexGet Runner
Loaded: loaded (/etc/systemd/system/flexget-runner.service; linked; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-04-28 10:34:20 UTC; 129ms ago
TriggeredBy: ● flexget-runner.timer
Process: 92136 ExecStart=/nix/store/1pdq67nfjw2mad5s679dfgm5h98bm4xm-flexget-3.1.153/bin/flexget -c /var/lib/deluge/flexget.yml execute (code=exited, status=217/USER)
Main PID: 92136 (code=exited, status=217/USER)
IP: 0B in, 0B out
CPU: 799us
Apr 28 10:34:20 Lenovo-7200 systemd[1]: Started FlexGet Runner.
Apr 28 10:34:20 Lenovo-7200 systemd[92136]: flexget-runner.service: Failed to determine user credentials: No such process
Apr 28 10:34:20 Lenovo-7200 systemd[92136]: flexget-runner.service: Failed at step USER spawning /nix/store/1pdq67nfjw2mad5s679dfgm5h98bm4xm-flexget-3.1.153/bin/flexget: No such process
Apr 28 10:34:20 Lenovo-7200 systemd[1]: flexget-runner.service: Main process exited, code=exited, status=217/USER
Apr 28 10:34:20 Lenovo-7200 systemd[1]: flexget-runner.service: Failed with result \'exit-code\'.
warning: error(s) occurred while switching to the new configuration
我认为问题出在/nix/store/1pdq67nfjw2mad5s679dfgm5h98bm4xm-flexget-3.1.153/bin/flexget -c /var/lib/deluge/flexget.yml。因为没有创建配置文件。这是它的输出:
shalva in Lenovo-7200 in ~ took 16s
❯ /nix/store/1pdq67nfjw2mad5s679dfgm5h98bm4xm-flexget-3.1.153/bin/flexget -c /var/lib/deluge/flexget.yml
Could not instantiate manager: Config `/var/lib/deluge/flexget.yml` does not appear to be a file.
我的期望是config = \"asdas\\n asdas\"; 至少应该在/var/lib/deluge/flexget.yml 创建配置文件,对吧?我知道它仍然会失败,因为它不是有效的配置,但至少应该创建它......
-
您能否提供更多详细信息,例如配置的相关部分和服务中的任何日志?为了确定,请原谅我:您是否将
services.flexget.enable选项设置为true? -
您好,感谢您的回复,我已经更新了问题。是的,我有
enable = true; -
根据source file responsible for this option,配置文件确实是在
\"${services.flexget.homeDir}/flexget.yml\"创建的。默认情况下,services.flexget.homeDir是/var/lib/deluge,因此应该在正确的位置创建文件。请检查您没有覆盖services.flexget.homeDir。我认为您甚至可以使用nixos-option检查它的最终值是多少(您必须安装它,默认情况下它不捆绑)。