diff --git a/hosts/srv-core/configuration.nix b/hosts/srv-core/configuration.nix index 962334b..7645421 100644 --- a/hosts/srv-core/configuration.nix +++ b/hosts/srv-core/configuration.nix @@ -4,74 +4,78 @@ system.stateVersion = "25.11"; - custom = { - boot.loader.grub.enable = true; + custom = + let + privateDomain = config.custom.networking.overlay.domain; + in + { + boot.loader.grub.enable = true; - networking = { - overlay.address = "10.254.250.6"; - underlay = { - interface = "enp2s0"; - cidr = "192.168.0.64/24"; - gateway = "192.168.0.1"; + networking = { + overlay.address = "10.254.250.6"; + underlay = { + interface = "enp2s0"; + cidr = "192.168.0.64/24"; + gateway = "192.168.0.1"; + }; + }; + + services = { + recursive-nameserver = { + enable = true; + blockAds = true; + }; + private-nameserver.enable = true; + + syncthing = { + enable = true; + isServer = true; + gui.domain = "syncthing.${privateDomain}"; + doBackups = true; + }; + + prometheus.storageRetentionSize = "20GB"; + }; + + web-services = { + atuin = { + enable = true; + domain = "atuin.${privateDomain}"; + }; + + filebrowser = { + enable = true; + domain = "files.${privateDomain}"; + doBackups = true; + }; + + radicale = { + enable = true; + domain = "dav.${privateDomain}"; + doBackups = true; + }; + + actualbudget = { + enable = true; + domain = "budget.${privateDomain}"; + doBackups = true; + }; + + karakeep = { + enable = true; + domain = "bookmarks.${privateDomain}"; + }; + + grafana = { + enable = true; + domain = "grafana.${privateDomain}"; + }; + + gatus = { + enable = true; + domain = "status.${privateDomain}"; + generateDefaultEndpoints = true; + }; }; }; - - services = { - recursive-nameserver = { - enable = true; - blockAds = true; - }; - private-nameserver.enable = true; - - syncthing = { - enable = true; - isServer = true; - gui.domain = "syncthing.${config.custom.networking.overlay.domain}"; - doBackups = true; - }; - - prometheus.storageRetentionSize = "20GB"; - }; - - web-services = { - atuin = { - enable = true; - domain = "atuin.${config.custom.networking.overlay.domain}"; - }; - - filebrowser = { - enable = true; - domain = "files.${config.custom.networking.overlay.domain}"; - doBackups = true; - }; - - radicale = { - enable = true; - domain = "dav.${config.custom.networking.overlay.domain}"; - doBackups = true; - }; - - actualbudget = { - enable = true; - domain = "budget.${config.custom.networking.overlay.domain}"; - doBackups = true; - }; - - karakeep = { - enable = true; - domain = "bookmarks.${config.custom.networking.overlay.domain}"; - }; - - grafana = { - enable = true; - domain = "grafana.${config.custom.networking.overlay.domain}"; - }; - - gatus = { - enable = true; - domain = "status.${config.custom.networking.overlay.domain}"; - generateDefaultEndpoints = true; - }; - }; - }; } diff --git a/hosts/srv-core/hardware.nix b/hosts/srv-core/hardware.nix index b8bdcb7..3b0c9c8 100644 --- a/hosts/srv-core/hardware.nix +++ b/hosts/srv-core/hardware.nix @@ -67,6 +67,8 @@ MAXTEMP=hwmon2/pwm2=100 MINSTART=hwmon2/pwm2=35 MINSTOP=hwmon2/pwm2=25 + MINPWM=hwmon2/pwm2=0 + MAXPWM=hwmon2/pwm2=255 ''; }; } diff --git a/hosts/vps-www/configuration.nix b/hosts/vps-www/configuration.nix index f9909f1..a9729eb 100644 --- a/hosts/vps-www/configuration.nix +++ b/hosts/vps-www/configuration.nix @@ -4,66 +4,74 @@ system.stateVersion = "25.11"; - custom = { - boot.loader.systemd-boot.enable = true; + custom = + let + sproutedDomain = "sprouted.cloud"; + in + { + boot.loader.systemd-boot.enable = true; - networking = { - overlay.address = "10.254.250.4"; - underlay = { - interface = "enp1s0"; - cidr = "167.235.73.246/32"; - isPublic = true; - gateway = "172.31.1.1"; + networking = { + overlay.address = "10.254.250.4"; + underlay = { + interface = "enp1s0"; + cidr = "167.235.73.246/32"; + isPublic = true; + gateway = "172.31.1.1"; + }; }; + + services.public-nameserver = { + enable = true; + publicHostName = "ns2"; + zones = [ + "sprouted.cloud" + "sstork.dev" + ]; + }; + + web-services = + let + sstorkDomain = "sstork.dev"; + in + { + personal-blog = { + enable = true; + domain = sstorkDomain; + }; + + forgejo = { + enable = true; + domain = "git.${sstorkDomain}"; + doBackups = true; + }; + + outline = { + enable = true; + domain = "wiki.${sproutedDomain}"; + doBackups = true; + }; + + it-tools = { + enable = true; + domain = "it-tools.${sproutedDomain}"; + }; + + networking-toolbox = { + enable = true; + domain = "net-tools.${sproutedDomain}"; + }; + + privatebin = { + enable = true; + domain = "pastebin.${sproutedDomain}"; + branding.name = "SproutedBin"; + }; + + screego = { + enable = true; + domain = "mirror.${sproutedDomain}"; + }; + }; }; - - services.public-nameserver = { - enable = true; - publicHostName = "ns2"; - zones = [ - "sprouted.cloud" - "sstork.dev" - ]; - }; - - web-services = { - personal-blog = { - enable = true; - domain = "sstork.dev"; - }; - - forgejo = { - enable = true; - domain = "git.sstork.dev"; - doBackups = true; - }; - - outline = { - enable = true; - domain = "wiki.sprouted.cloud"; - doBackups = true; - }; - - it-tools = { - enable = true; - domain = "it-tools.sprouted.cloud"; - }; - - networking-toolbox = { - enable = true; - domain = "net-tools.sprouted.cloud"; - }; - - privatebin = { - enable = true; - domain = "pastebin.sprouted.cloud"; - branding.name = "SproutedBin"; - }; - - screego = { - enable = true; - domain = "mirror.sprouted.cloud"; - }; - }; - }; } diff --git a/modules/home/desktop/hyprland/classic.nix b/modules/home/desktop/hyprland/classic.nix index 041da33..f81c72b 100644 --- a/modules/home/desktop/hyprland/classic.nix +++ b/modules/home/desktop/hyprland/classic.nix @@ -18,11 +18,8 @@ services = { wpaperd.enable = true; + hypridle.enable = true; cliphist.enable = true; - hypridle = { - enable = true; - lockCommand = "pidof hyprlock || hyprlock"; - }; }; }; diff --git a/modules/home/desktop/hyprland/noctalia.nix b/modules/home/desktop/hyprland/noctalia.nix index 3253eb4..1d47a09 100644 --- a/modules/home/desktop/hyprland/noctalia.nix +++ b/modules/home/desktop/hyprland/noctalia.nix @@ -14,13 +14,7 @@ noctalia-shell.enable = true; }; - services = { - cliphist.enable = true; - hypridle = { - enable = true; - lockCommand = "noctalia-shell ipc call lockScreen lock"; - }; - }; + services.cliphist.enable = true; }; home.packages = [ pkgs.grimblast ]; @@ -41,8 +35,8 @@ bind = SUPER, V, exec, $ipc launcher clipboard # Manage session - bindrl = SUPER CONTROL, L, exec, loginctl lock-session - bindrl = SUPER CONTROL, S, exec, systemctl sleep + bindrl = SUPER CONTROL, L, exec, $ipc lockScreen lock + bindrl = SUPER CONTROL, S, exec, $ipc sessionMenu lockAndSuspend ''; }; } diff --git a/modules/home/programs/noctalia-shell.nix b/modules/home/programs/noctalia-shell.nix index b3fd274..fff1ec1 100644 --- a/modules/home/programs/noctalia-shell.nix +++ b/modules/home/programs/noctalia-shell.nix @@ -96,7 +96,7 @@ largeButtonsStyle = false; countdownDuration = 3000; }; - idle.enabled = false; + idle.enabled = true; audio.mprisBlacklist = [ "firefox" ]; network.bluetoothAutoConnect = false; location = { diff --git a/modules/home/services/hypridle.nix b/modules/home/services/hypridle.nix index bb123c3..8a31c11 100644 --- a/modules/home/services/hypridle.nix +++ b/modules/home/services/hypridle.nix @@ -4,26 +4,17 @@ lib, ... }: -let - cfg = config.custom.services.hypridle; -in { - options.custom.services.hypridle = { - enable = lib.mkEnableOption ""; - lockCommand = lib.mkOption { - type = lib.types.nonEmptyStr; - default = ""; - }; - }; + options.custom.services.hypridle.enable = lib.mkEnableOption ""; - config = lib.mkIf cfg.enable { + config = lib.mkIf config.custom.services.hypridle.enable { services.hypridle = { enable = true; package = pkgs-unstable.hypridle; settings = { general = { - lock_cmd = cfg.lockCommand; + lock_cmd = lib.mkIf config.custom.programs.hyprlock.enable "pidof hyprlock || hyprlock"; before_sleep_cmd = "loginctl lock-session"; after_sleep_cmd = "hyprctl dispatch dpms on"; };