kaas
This commit is contained in:
parent
2248891dea
commit
d68ce07602
3 changed files with 57 additions and 30 deletions
|
@ -14,10 +14,10 @@
|
||||||
services = {
|
services = {
|
||||||
auth.enable = true;
|
auth.enable = true;
|
||||||
media.enable = true;
|
media.enable = true;
|
||||||
# nextcloud.enable = true;
|
nextcloud.enable = true;
|
||||||
|
|
||||||
games = {
|
games = {
|
||||||
minecraft.enable = true;
|
# minecraft.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,15 @@ in
|
||||||
enable = mkEnableOption "Media tools";
|
enable = mkEnableOption "Media tools";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = let
|
||||||
|
extras = fetchTarball {
|
||||||
|
url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz";
|
||||||
|
sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs";
|
||||||
|
};
|
||||||
|
in [
|
||||||
|
"${extras}/nextcloud-extras.nix"
|
||||||
|
];
|
||||||
|
|
||||||
config = mkIf config.modules.services.media.enable {
|
config = mkIf config.modules.services.media.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
podman-tui
|
podman-tui
|
||||||
|
@ -36,6 +45,7 @@ in
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d '${directory}/series' 0700 ${user} ${group} - -"
|
"d '${directory}/series' 0700 ${user} ${group} - -"
|
||||||
"d '${directory}/movies' 0700 ${user} ${group} - -"
|
"d '${directory}/movies' 0700 ${user} ${group} - -"
|
||||||
|
"d '${directory}/music' 0700 ${user} ${group} - -"
|
||||||
"d '${directory}/qbittorrent' 0700 ${user} ${group} - -"
|
"d '${directory}/qbittorrent' 0700 ${user} ${group} - -"
|
||||||
"d '${directory}/sabnzbd' 0700 ${user} ${group} - -"
|
"d '${directory}/sabnzbd' 0700 ${user} ${group} - -"
|
||||||
"d '${directory}/reiverr/config' 0700 ${user} ${group} - -"
|
"d '${directory}/reiverr/config' 0700 ${user} ${group} - -"
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
|
|
||||||
user = "nextcloud";
|
user = "nextcloud";
|
||||||
|
group = "nextcloud";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.modules.services.nextcloud = {
|
options.modules.services.nextcloud = {
|
||||||
|
@ -13,42 +14,58 @@ in
|
||||||
config = mkIf config.modules.services.nextcloud.enable {
|
config = mkIf config.modules.services.nextcloud.enable {
|
||||||
users = {
|
users = {
|
||||||
users.${user} = {
|
users.${user} = {
|
||||||
name = user;
|
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
home = "/home/${user}";
|
group = group;
|
||||||
group = user;
|
|
||||||
};
|
};
|
||||||
groups.${user} = {};
|
groups.${group} = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.${user}.home.file.".netrc".text = ''
|
home-manager.users.${user}.home = {
|
||||||
|
stateVersion = config.system.stateVersion;
|
||||||
|
|
||||||
|
file.".netrc".text = ''
|
||||||
login root
|
login root
|
||||||
password KaasIsAwesome!
|
password KaasIsAwesome!
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemd.user = {
|
|
||||||
services.nextcloud-autosync = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Automatic nextcloud sync";
|
|
||||||
After = "network-online.target";
|
|
||||||
};
|
};
|
||||||
WantedBy = [ "multi-user.target" ];
|
|
||||||
Service = {
|
services.nextcloud = {
|
||||||
Type = "simple";
|
enable = true;
|
||||||
ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /var/music /home/${user}/Music https://cloud.kruining.eu";
|
webserver = "caddy";
|
||||||
TimeoutStopSec = "180";
|
package = pkgs.nextcloud31;
|
||||||
KillMode = "process";
|
hostName = "localhost";
|
||||||
KillSignal = "SIGINT";
|
|
||||||
|
config = {
|
||||||
|
adminpassFile = "/var/lib/nextcloud/admin-pass";
|
||||||
|
dbtype = "sqlite";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
timers.nextcloud-autosync = {
|
# systemd.user = {
|
||||||
Unit.Description = "Automatic nextcloud sync";
|
# services.nextcloud-autosync = {
|
||||||
Timer.OnBootSec = "5min";
|
# Unit = {
|
||||||
Timer.OnUnitActiveSec = "60min";
|
# Description = "Automatic nextcloud sync";
|
||||||
Install.WantedBy = [ "multi-user.target" "timers.target" ];
|
# After = "network-online.target";
|
||||||
};
|
# };
|
||||||
};
|
# WantedBy = [ "multi-user.target" ];
|
||||||
|
# Service = {
|
||||||
|
# Type = "simple";
|
||||||
|
# ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /var/media/music https://cloud.kruining.eu";
|
||||||
|
# TimeoutStopSec = "180";
|
||||||
|
# KillMode = "process";
|
||||||
|
# KillSignal = "SIGINT";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
# timers.nextcloud-autosync = {
|
||||||
|
# Unit.Description = "Automatic nextcloud sync";
|
||||||
|
# Timer.OnBootSec = "5min";
|
||||||
|
# Timer.OnUnitActiveSec = "60min";
|
||||||
|
# Install.WantedBy = [ "multi-user.target" "timers.target" ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# startServices = true;
|
||||||
|
# };
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue