complete restructure
This commit is contained in:
22
modules/services/avahi.nix
Normal file
22
modules/services/avahi.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
9
modules/services/default.nix
Normal file
9
modules/services/default.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
# modules/services/default.nix
|
||||
{
|
||||
imports = [
|
||||
./avahi.nix
|
||||
./printing.nix
|
||||
./maintenance.nix
|
||||
./navidrome.nix
|
||||
];
|
||||
}
|
||||
26
modules/services/maintenance.nix
Normal file
26
modules/services/maintenance.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
32
modules/services/navidrome.nix
Normal file
32
modules/services/navidrome.nix
Normal 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 -"
|
||||
];
|
||||
}
|
||||
12
modules/services/printing.nix
Normal file
12
modules/services/printing.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
# modules/services/printing.nix
|
||||
# CUPS printing service
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.printing.enable = true;
|
||||
}
|
||||
Reference in New Issue
Block a user