1
Files
flake-nixinator/modules/nextcloud.nix
2022-08-10 18:21:30 +02:00

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" ];
};
};
};
}