pull out some extra modules

This commit is contained in:
2026-09-21 10:58:46 -04:00
parent f8e9d1ab30
commit 5771befa30
17 changed files with 197 additions and 194 deletions
+11
View File
@@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
services.restic.server = {
enable = true;
listenAddress = "10.0.0.4:8000";
dataDir = "/var/lib/restic";
appendOnly = true;
extraFlags = [ "--no-auth" ];
};
}
+12
View File
@@ -0,0 +1,12 @@
{ config, lib, pkgs, ... }:
{
services.restic.backups.backup = {
repository = "rest:http://10.0.0.4:8000/backup";
initialize = true;
passwordFile = "/home/lilac/test-password";
paths = [ "/var/lib/immich" "/var/lib/music" "/var/lib/gitea" "/var/lib/vault-backup" ];
timerConfig.OnCalendar = "03:30";
pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ];
};
}
+4 -5
View File
@@ -19,14 +19,13 @@
name = "gitea";
user = "gitea";
};
settings.service.DISABLE_REGISTRATION = true;
settings.service.DISABLE_REGISTRATION = true;
};
services.caddy = {
enable = true;
virtualHosts."code.grasswren.net".extraConfig = ''
reverse_proxy localhost:3000
'';
virtualHosts."code.grasswren.net".extraConfig = ''
reverse_proxy localhost:3000
'';
};
}
+3 -3
View File
@@ -3,13 +3,13 @@
{
services.navidrome = {
enable = true;
settings.MusicFolder = "/var/lib/music";
settings.MusicFolder = "/var/lib/music";
};
services.caddy = {
enable = true;
virtualHosts."music.grasswren.net".extraConfig = ''
virtualHosts."music.grasswren.net".extraConfig = ''
reverse_proxy localhost:4533
'';
'';
};
}
+5 -5
View File
@@ -3,15 +3,15 @@
{
services.immich = {
enable = true;
host = "127.0.0.1";
port = 2283;
mediaLocation = "/var/lib/immich";
host = "127.0.0.1";
port = 2283;
mediaLocation = "/var/lib/immich";
};
services.caddy = {
enable = true;
virtualHosts."photo.grasswren.net".extraConfig = ''
virtualHosts."photo.grasswren.net".extraConfig = ''
reverse_proxy localhost:2283
'';
'';
};
}
-44
View File
@@ -1,44 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
whipper
beets
];
programs.beets = {
enable = true;
settings = {
directory = "/var/lib/music";
library = "/var/lib/music/library.db";
plugins = [
"musicbrainz"
"fetchart"
"embedart"
"scrub"
"chroma"
];
per_disc_numbering = true;
import = {
move = true;
copy = false;
write = true;
timid = true;
incremental = false;
resume = "ask";
};
paths = {
default = "$albumartist/$album%aunique{}/$track - $title";
};
fetchart.auto = true;
embedart.auto = true;
scrub.auto = true;
};
};
}
-31
View File
@@ -1,31 +0,0 @@
{ config, lib, pkgs, ... }:
{
services.headscale = {
enable = true;
settings = {
server_url = "https://vpn.grasswren.net";
listen_addr = "127.0.0.1:8080";
database.type = "sqlite";
ip_prefixes = [
"100.64.0.0/10"
"fd7a:115c:a1e0::/48"
];
dns = {
magic_domain = true;
base_domain = "vpn.grasswren.net";
nameservers.global = [ "1.1.1.1" ];
};
};
};
services.caddy = {
enable = true;
virtualHosts."vpn.grasswren.net".extraConfig = ''
reverse_proxy localhost:8080
'';
};
}
+9 -8
View File
@@ -3,19 +3,20 @@
{
networking.firewall = {
enable = true;
interfaces.wg0.allowedTCPPorts = [ 22 ];
interfaces.wg0.allowedTCPPorts = [ 22 ];
};
services.openssh = {
enable = true;
settings = {
settings = {
PermitRootLogin = "prohibit-password";
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
listenAddresses = [{
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
listenAddresses = [{
addr = "0.0.0.0";
port = 22;
}];
port = 22;
}];
};
users.users.lilac.openssh.authorizedKeys.keys = [
+4 -4
View File
@@ -3,7 +3,7 @@
{
services.vaultwarden = {
enable = true;
backupDir = "/var/lib/vault-backup";
backupDir = "/var/lib/vault-backup";
config = {
DOMAIN = "https://vault.example.com";
SIGNUPS_ALLOWED = false;
@@ -14,8 +14,8 @@
services.caddy = {
enable = true;
virtualHosts."vault.grasswren.net".extraConfig = ''
reverse_proxy localhost:8222
'';
virtualHosts."vault.grasswren.net".extraConfig = ''
reverse_proxy localhost:8222
'';
};
}
+30
View File
@@ -0,0 +1,30 @@
{ config, lib, pkgs, ... }:
{
services.headscale = {
enable = true;
settings = {
server_url = "https://vpn.grasswren.net";
listen_addr = "127.0.0.1:8080";
database.type = "sqlite";
ip_prefixes = [
"100.64.0.0/10"
"fd7a:115c:a1e0::/48"
];
dns = {
magic_domain = true;
base_domain = "vpn.grasswren.net";
nameservers.global = [ "1.1.1.1" ];
};
};
};
services.caddy = {
enable = true;
virtualHosts."vpn.grasswren.net".extraConfig = ''
reverse_proxy localhost:8080
'';
};
}