mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2025-12-04 15:00:13 +01:00
Compare commits
4 commits
e7dcee07f8
...
e47fa1c302
| Author | SHA1 | Date | |
|---|---|---|---|
| e47fa1c302 | |||
| 9c9a665f68 | |||
| af5ed3080c | |||
| c09d9a5e9d |
3 changed files with 68 additions and 4 deletions
|
|
@ -2,11 +2,14 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
host,
|
||||||
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.services.forgejo;
|
cfg = config.services.forgejo;
|
||||||
srv = cfg.settings.server;
|
srv = cfg.settings.server;
|
||||||
|
baseRepo = "ssh://liv@dandelion:9123/spinners/rootvol/backups/${host}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
|
|
@ -21,6 +24,8 @@ in
|
||||||
# You need to specify this to remove the port from URLs in the web UI.
|
# You need to specify this to remove the port from URLs in the web UI.
|
||||||
ROOT_URL = "https://${srv.DOMAIN}/";
|
ROOT_URL = "https://${srv.DOMAIN}/";
|
||||||
HTTP_PORT = 3050;
|
HTTP_PORT = 3050;
|
||||||
|
DISABLE_SSH = false;
|
||||||
|
SSH_PORT = 2222;
|
||||||
};
|
};
|
||||||
# You can temporarily allow registration to create an admin user.
|
# You can temporarily allow registration to create an admin user.
|
||||||
service.DISABLE_REGISTRATION = true;
|
service.DISABLE_REGISTRATION = true;
|
||||||
|
|
@ -70,6 +75,31 @@ in
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
borgbackup.jobs."violet-forgejo" = {
|
||||||
|
paths = [ "/var/lib/forgejo" ];
|
||||||
|
repo = "${baseRepo}/var-forgejo";
|
||||||
|
encryption.mode = "none";
|
||||||
|
compression = "auto,zstd";
|
||||||
|
startAt = "daily";
|
||||||
|
preHook = ''
|
||||||
|
systemctl stop forgejo
|
||||||
|
'';
|
||||||
|
postHook = ''
|
||||||
|
systemctl start forgejo
|
||||||
|
if [ $exitStatus -eq 2 ]; then
|
||||||
|
${pkgs.ntfy-sh}/bin/ntfy send https://notify.liv.town/${host} "borgbackup: ${host} backup (forgejo) failed with errors"
|
||||||
|
else
|
||||||
|
${pkgs.ntfy-sh}/bin/ntfy send https://notify.liv.town/${host} "borgbackup: ${host} backup (forgejo) completed succesfully with exit status $exitStatus"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
user = "root";
|
||||||
|
extraCreateArgs = [
|
||||||
|
"--stats"
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
BORG_RSH = "ssh -p 9123 -i /home/${username}/.ssh/id_ed25519";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
# systemd.services.forgejo.preStart = let
|
# systemd.services.forgejo.preStart = let
|
||||||
# adminCmd = "${lib.getExe cfg.package} admin user";
|
# adminCmd = "${lib.getExe cfg.package} admin user";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
{ config, ... }:
|
{
|
||||||
|
config,
|
||||||
|
host,
|
||||||
|
username,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
baseRepo = "ssh://liv@dandelion:9123/spinners/rootvol/backups/${host}";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
grafana = {
|
grafana = {
|
||||||
|
|
@ -19,5 +28,30 @@
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
borgbackup.jobs."violet-grafana" = {
|
||||||
|
paths = [ "/var/lib/grafana" ];
|
||||||
|
repo = "${baseRepo}/var-grafana";
|
||||||
|
encryption.mode = "none";
|
||||||
|
compression = "auto,zstd";
|
||||||
|
startAt = "daily";
|
||||||
|
preHook = ''
|
||||||
|
systemctl stop grafana
|
||||||
|
'';
|
||||||
|
postHook = ''
|
||||||
|
systemctl start grafana
|
||||||
|
if [ $exitStatus -eq 2 ]; then
|
||||||
|
${pkgs.ntfy-sh}/bin/ntfy send https://notify.liv.town/${host} "borgbackup: ${host} backup (grafana) failed with errors"
|
||||||
|
else
|
||||||
|
${pkgs.ntfy-sh}/bin/ntfy send https://notify.liv.town/${host} "borgbackup: ${host} backup (grafana) completed succesfully with exit status $exitStatus"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
user = "root";
|
||||||
|
extraCreateArgs = [
|
||||||
|
"--stats"
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
BORG_RSH = "ssh -p 9123 -i /home/${username}/.ssh/id_ed25519";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,11 @@ in
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
vulkan-loader
|
vulkan-loader
|
||||||
vulkan-validation-layers
|
vulkan-validation-layers
|
||||||
amdvlk
|
# amdvlk # error: 'amdvlk' has been removed since it was deprecated by AMD. Its replacement, RADV, is enabled by default.
|
||||||
mesa.opencl
|
mesa.opencl
|
||||||
];
|
];
|
||||||
extraPackages32 = with pkgs; [
|
extraPackages32 = with pkgs; [
|
||||||
driversi686Linux.amdvlk # Install amdvlk for 32 bit applications as well
|
# driversi686Linux.amdvlk # Install amdvlk for 32 bit applications as well
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
|
|
@ -36,7 +36,7 @@ in
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
amdvlk
|
# amdvlk
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue