add initial nextcloud module
This commit is contained in:
44
modules/nextcloud.nix
Normal file
44
modules/nextcloud.nix
Normal file
@ -0,0 +1,44 @@
|
||||
# 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.home.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" ];
|
||||
After = [ "graphical-session.target" ]; # was graphical-session-pre.target originally in HM
|
||||
};
|
||||
|
||||
Service = {
|
||||
Environment = "PATH=${config.home.profileDirectory}/bin";
|
||||
ExecStart = "${pkgs.nextcloud-client}/bin/nextcloud";
|
||||
};
|
||||
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user