complete restructure

This commit is contained in:
Melvin Ragusa
2026-02-04 22:53:00 +01:00
parent d516c95d65
commit c4cd70fd20
43 changed files with 985 additions and 1229 deletions

View File

@@ -0,0 +1,22 @@
# modules/services/avahi.nix
# mDNS for local network discovery
{
config,
pkgs,
lib,
...
}:
{
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
publish = {
enable = true;
addresses = true;
workstation = true;
};
};
}

View File

@@ -0,0 +1,9 @@
# modules/services/default.nix
{
imports = [
./avahi.nix
./printing.nix
./maintenance.nix
./navidrome.nix
];
}

View File

@@ -0,0 +1,26 @@
# modules/services/maintenance.nix
# System maintenance and optimization services
{
config,
pkgs,
lib,
...
}:
{
services.psd.enable = true;
services.fwupd.enable = true;
services.earlyoom = {
enable = true;
freeMemThreshold = 5;
freeSwapThreshold = 10;
enableNotifications = true;
};
services.locate = {
enable = true;
package = pkgs.plocate;
interval = "daily";
};
}

View File

@@ -0,0 +1,32 @@
# modules/services/navidrome.nix
# Self-hosted music streaming server
{
config,
pkgs,
lib,
username,
...
}:
{
services.navidrome = {
enable = true;
settings = {
MusicFolder = "/home/${username}/Music";
Address = "127.0.0.1";
Port = 4533;
UIWelcomeMessage = "Welcome to Navidrome!";
EnableTranscodingConfig = true;
ScanSchedule = "@every 1h";
LastFM.Enabled = true;
EnableSharing = true;
CoverArtPriority = "cover.*, folder.*, front.*, embedded, external";
SessionTimeout = "24h";
};
};
systemd.tmpfiles.rules = [
"d /home/${username}/Music 0755 ${username} users -"
];
}

View File

@@ -0,0 +1,12 @@
# modules/services/printing.nix
# CUPS printing service
{
config,
pkgs,
lib,
...
}:
{
services.printing.enable = true;
}