From abcad5c9f26c8c4929854ca858b340d0cb01ae80 Mon Sep 17 00:00:00 2001 From: blake Date: Sun, 12 Oct 2025 16:09:41 -0500 Subject: [PATCH] adding yacreader --- bin/rebuild.sh | 6 +++ flake.nix | 2 +- hosts/snowbelle/configuration.nix | 1 + modules/homelab/services/default.nix | 7 ++-- .../homelab/services/yacreader/default.nix | 40 +++++++++---------- 5 files changed, 32 insertions(+), 24 deletions(-) diff --git a/bin/rebuild.sh b/bin/rebuild.sh index 62ffc12..f2534dd 100755 --- a/bin/rebuild.sh +++ b/bin/rebuild.sh @@ -1,13 +1,17 @@ #!/usr/bin/env bash set -euo pipefail + +echo "searching generations" # your hostname (flake target) hostname="$(hostname)" old_gen=$(nixos-rebuild list-generations | grep current | awk '{print $1}') gen=$((old_gen + 1)) +echo "gen $old_gen --> gen $gen" timestamp=$(date '+%Y-%m-%d %H:%M:%S') nix_dir="$HOME/.nix" logfile="$nix_dir/.nixos-switch-log" + pushd "$nix_dir" >/dev/null # function to get current nixos generation @@ -17,6 +21,8 @@ get_current_generation() { echo "diffs:" git diff +echo "" +echo "files:" git status --short read -rp "commit message: " commit_msg echo "rebuilding nixos with flake.nix..." diff --git a/flake.nix b/flake.nix index 2015db0..37cc8fb 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ # flake for blakes nixos config # define new devices in outputs -# generation: 367, timestamp: 2025-10-12 15:34:36 +# generation: 368, timestamp: 2025-10-12 16:09:13 { description = "blakes nix config"; inputs = { diff --git a/hosts/snowbelle/configuration.nix b/hosts/snowbelle/configuration.nix index e757b87..b8d0397 100644 --- a/hosts/snowbelle/configuration.nix +++ b/hosts/snowbelle/configuration.nix @@ -35,6 +35,7 @@ in caddy.enable = true; jellyfin.enable = true; audiobookshelf.enable = true; + yacreader.enable = true; vaultwarden.enable = true; gitea.enable = true; glance.enable = true; diff --git a/modules/homelab/services/default.nix b/modules/homelab/services/default.nix index 2cfa9e6..d4c6caa 100644 --- a/modules/homelab/services/default.nix +++ b/modules/homelab/services/default.nix @@ -10,12 +10,13 @@ ./gitea ./home/homeassistant ./immich - ./arr/prowlarr ./arr/bazarr + ./arr/prowlarr ./arr/radarr - ./arr/sonarr - ./audiobookshelf ./qbittorrent + ./arr/sonarr + ./yacreader + ./audiobookshelf ./jellyfin ./caddy ./arr/flaresolverr diff --git a/modules/homelab/services/yacreader/default.nix b/modules/homelab/services/yacreader/default.nix index 052b58b..1e3a1cc 100644 --- a/modules/homelab/services/yacreader/default.nix +++ b/modules/homelab/services/yacreader/default.nix @@ -50,35 +50,34 @@ in isSystemUser = true; home = cfg.data_dir; createHome = true; - group = "${service}"; + group = service; extraGroups = [ "media" ]; }; # enable the ${service} service - services.${service} = { - enable = true; - openFirewall = true; - user = "${service}"; - group = "${service}"; - dataDir = cfg.data_dir; - settings = { - server.port = cfg.port; + systemd.services.${service} = { + description = "${service} library server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + UMask = lib.mkForce "0007"; + User = service; + Group = service; + Restart = "always"; + RestartSec = "5s"; + Type = "simple"; + ExecStart = "${pkgs.yacreader}/bin/YACReaderLibraryServer start --port ${toString cfg.port}"; + WorkingDirectory = "/var/lib/yacreader"; + TimeoutStopSec = "20s"; }; }; - # override umask to make permissions work out - systemd.services.${service}.serviceConfig = { - UMask = lib.mkForce "0007"; -# User = "${service}"; -# Group = "${service}"; - }; - -# # open firewall -# networking.firewall.allowedTCPPorts = [ cfg.port ]; - + # open firewall + networking.firewall.allowedTCPPorts = [ cfg.port ]; # add to glance local service - modules.services.glance.links. = [{ + modules.services.glance.links.mediastack = [{ title = service; url = "https://${cfg.url}"; error-url = "http://${homelab.host_ip}:${toString cfg.port}"; @@ -98,3 +97,4 @@ in }; }; } +