mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
dc1e9d1bc6
This option contains a string suitable as value for the PATH environment variable in systemd services that run Qt 5 applications. Qt applications need this special treatment because they use PATH to locate plugins that sometimes are necessary for proper functioning. For now the option is not visible in the manual since the default value is expected to work in most, if not all, cases.
68 lines
1.7 KiB
Nix
68 lines
1.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
meta.maintainers = [ maintainers.rycee ];
|
|
|
|
options = {
|
|
services.syncthing = {
|
|
enable = mkEnableOption "Syncthing continuous file synchronization";
|
|
|
|
tray = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to enable QSyncthingTray service.";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkMerge [
|
|
(mkIf config.services.syncthing.enable {
|
|
systemd.user.services = {
|
|
syncthing = {
|
|
Unit = {
|
|
Description = "Syncthing - Open Source Continuous File Synchronization";
|
|
Documentation = "man:syncthing(1)";
|
|
After = [ "network.target" ];
|
|
};
|
|
|
|
Service = {
|
|
ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -no-restart -logflags=0";
|
|
Restart = "on-failure";
|
|
SuccessExitStatus = [ 3 4 ];
|
|
RestartForceExitStatus = [ 3 4 ];
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "default.target" ];
|
|
};
|
|
};
|
|
};
|
|
})
|
|
|
|
(mkIf config.services.syncthing.tray {
|
|
systemd.user.services = {
|
|
qsyncthingtray = {
|
|
Unit = {
|
|
Description = "QSyncthingTray";
|
|
After = [ "graphical-session-pre.target"
|
|
"polybar.service"
|
|
"taffybar.service"
|
|
"stalonetray.service" ];
|
|
PartOf = [ "graphical-session.target" ];
|
|
};
|
|
|
|
Service = {
|
|
Environment = "PATH=${config.qt.systemdServicePath}";
|
|
ExecStart = "${pkgs.qsyncthingtray}/bin/QSyncthingTray";
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "graphical-session.target" ];
|
|
};
|
|
};
|
|
};
|
|
})
|
|
];
|
|
}
|