47 lines
1.4 KiB
Nix
47 lines
1.4 KiB
Nix
# Changed from https://github.com/nix-community/home-manager/blob/master/modules/services/nextcloud-client.nix
|
|
# I use this instead of the HM module as the autostart wasn't working there
|
|
|
|
{ config, lib, mylib, pkgs, ... }:
|
|
|
|
with lib;
|
|
with mylib.modules;
|
|
|
|
let
|
|
cfg = config.modules.nextcloud;
|
|
in {
|
|
options.modules.nextcloud = {
|
|
enable = mkEnableOpt "Nextcloud Client";
|
|
autostart = mkBoolOpt false "Autostart the Nextcloud client (systemd)";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
assertions = [
|
|
{
|
|
assertion = !config.services.nextcloud-client.enable;
|
|
message = "Can't enable both HM nextcloud and my nextcloud module!";
|
|
}
|
|
];
|
|
|
|
# I want to have nextcloud-client in the path when the module is enabled
|
|
home.packages = with pkgs; [ nextcloud-client ];
|
|
|
|
systemd.user.services = (mkIf cfg.autostart) {
|
|
autostart-nextcloud-client = {
|
|
Unit = {
|
|
Description = "Nextcloud Client";
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
# was graphical-session-pre.target originally in HM
|
|
After = [ "graphical-session.target" "network-online.target" ];
|
|
};
|
|
|
|
Service = {
|
|
Environment = "PATH=${config.home.profileDirectory}/bin";
|
|
ExecStart = "${pkgs.nextcloud-client}/bin/nextcloud --background";
|
|
};
|
|
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
};
|
|
};
|
|
};
|
|
} |