mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 21:01:34 +01:00
Avoid repetition of variables and keywords
This commit is contained in:
parent
6e58af8f01
commit
50d87e37a4
8 changed files with 76 additions and 31 deletions
|
|
@ -5,12 +5,17 @@
|
|||
dataDir,
|
||||
...
|
||||
}:
|
||||
let
|
||||
serviceName = lib.last (lib.splitString "/" (builtins.toString ./.)); # Parent directory name
|
||||
userName = config.users.users.nextcloud.name;
|
||||
groupName = config.users.users.nextcloud.group;
|
||||
in
|
||||
{
|
||||
systemd.tmpfiles.rules = [ "d ${dataDir}/backup 700 nextcloud nextcloud -" ];
|
||||
systemd.tmpfiles.rules = [ "d ${dataDir}/backup 700 ${userName} ${groupName} -" ];
|
||||
|
||||
myConfig.resticBackup.nextcloud = {
|
||||
myConfig.resticBackup.${serviceName} = {
|
||||
enable = true;
|
||||
user = config.users.users.nextcloud.name;
|
||||
user = userName;
|
||||
healthchecks.enable = true;
|
||||
|
||||
extraConfig = {
|
||||
|
|
@ -31,12 +36,12 @@
|
|||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "nextcloud-restore";
|
||||
name = "${serviceName}-restore";
|
||||
text = ''
|
||||
sudo -u nextcloud ${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
||||
sudo -u nextcloud restic-nextcloud restore --target / latest
|
||||
sudo -u nextcloud pg_restore --clean --if-exists --dbname nextcloud ${dataDir}/backup/db.dump
|
||||
sudo -u nextcloud ${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
||||
sudo -u ${userName} ${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
||||
sudo -u ${userName} restic-${serviceName} restore --target / latest
|
||||
sudo -u ${userName} pg_restore --clean --if-exists --dbname nextcloud ${dataDir}/backup/db.dump
|
||||
sudo -u ${userName} ${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
serviceName = lib.last (lib.splitString "/" (builtins.toString ./.)); # Parent directory name
|
||||
subdomain = "cloud";
|
||||
in
|
||||
{
|
||||
containers.nextcloud.config =
|
||||
containers.${serviceName}.config =
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
|
|
@ -10,6 +12,10 @@ in
|
|||
dataDir,
|
||||
...
|
||||
}:
|
||||
let
|
||||
userName = config.users.users.nextcloud.name;
|
||||
groupName = config.users.users.nextcloud.group;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./email-server.nix
|
||||
|
|
@ -22,7 +28,7 @@ in
|
|||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${dataDir}/home 750 nextcloud nextcloud -"
|
||||
"d ${dataDir}/home 750 ${userName} ${groupName} -"
|
||||
"d ${dataDir}/postgresql 700 postgres postgres -"
|
||||
];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue