adding yacreader
This commit is contained in:
@@ -1,13 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "searching generations"
|
||||||
# your hostname (flake target)
|
# your hostname (flake target)
|
||||||
hostname="$(hostname)"
|
hostname="$(hostname)"
|
||||||
old_gen=$(nixos-rebuild list-generations | grep current | awk '{print $1}')
|
old_gen=$(nixos-rebuild list-generations | grep current | awk '{print $1}')
|
||||||
gen=$((old_gen + 1))
|
gen=$((old_gen + 1))
|
||||||
|
echo "gen $old_gen --> gen $gen"
|
||||||
timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
nix_dir="$HOME/.nix"
|
nix_dir="$HOME/.nix"
|
||||||
logfile="$nix_dir/.nixos-switch-log"
|
logfile="$nix_dir/.nixos-switch-log"
|
||||||
|
|
||||||
|
|
||||||
pushd "$nix_dir" >/dev/null
|
pushd "$nix_dir" >/dev/null
|
||||||
|
|
||||||
# function to get current nixos generation
|
# function to get current nixos generation
|
||||||
@@ -17,6 +21,8 @@ get_current_generation() {
|
|||||||
|
|
||||||
echo "diffs:"
|
echo "diffs:"
|
||||||
git diff
|
git diff
|
||||||
|
echo ""
|
||||||
|
echo "files:"
|
||||||
git status --short
|
git status --short
|
||||||
read -rp "commit message: " commit_msg
|
read -rp "commit message: " commit_msg
|
||||||
echo "rebuilding nixos with flake.nix..."
|
echo "rebuilding nixos with flake.nix..."
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# flake for blakes nixos config
|
# flake for blakes nixos config
|
||||||
# define new devices in outputs
|
# 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";
|
description = "blakes nix config";
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ in
|
|||||||
caddy.enable = true;
|
caddy.enable = true;
|
||||||
jellyfin.enable = true;
|
jellyfin.enable = true;
|
||||||
audiobookshelf.enable = true;
|
audiobookshelf.enable = true;
|
||||||
|
yacreader.enable = true;
|
||||||
vaultwarden.enable = true;
|
vaultwarden.enable = true;
|
||||||
gitea.enable = true;
|
gitea.enable = true;
|
||||||
glance.enable = true;
|
glance.enable = true;
|
||||||
|
|||||||
@@ -10,12 +10,13 @@
|
|||||||
./gitea
|
./gitea
|
||||||
./home/homeassistant
|
./home/homeassistant
|
||||||
./immich
|
./immich
|
||||||
./arr/prowlarr
|
|
||||||
./arr/bazarr
|
./arr/bazarr
|
||||||
|
./arr/prowlarr
|
||||||
./arr/radarr
|
./arr/radarr
|
||||||
./arr/sonarr
|
|
||||||
./audiobookshelf
|
|
||||||
./qbittorrent
|
./qbittorrent
|
||||||
|
./arr/sonarr
|
||||||
|
./yacreader
|
||||||
|
./audiobookshelf
|
||||||
./jellyfin
|
./jellyfin
|
||||||
./caddy
|
./caddy
|
||||||
./arr/flaresolverr
|
./arr/flaresolverr
|
||||||
|
|||||||
@@ -50,35 +50,34 @@ in
|
|||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
home = cfg.data_dir;
|
home = cfg.data_dir;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
group = "${service}";
|
group = service;
|
||||||
extraGroups = [ "media" ];
|
extraGroups = [ "media" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# enable the ${service} service
|
# enable the ${service} service
|
||||||
services.${service} = {
|
systemd.services.${service} = {
|
||||||
enable = true;
|
description = "${service} library server";
|
||||||
openFirewall = true;
|
wantedBy = [ "multi-user.target" ];
|
||||||
user = "${service}";
|
after = [ "network.target" ];
|
||||||
group = "${service}";
|
|
||||||
dataDir = cfg.data_dir;
|
|
||||||
settings = {
|
|
||||||
server.port = cfg.port;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# override umask to make permissions work out
|
serviceConfig = {
|
||||||
systemd.services.${service}.serviceConfig = {
|
|
||||||
UMask = lib.mkForce "0007";
|
UMask = lib.mkForce "0007";
|
||||||
# User = "${service}";
|
User = service;
|
||||||
# Group = "${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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# # open firewall
|
# open firewall
|
||||||
# networking.firewall.allowedTCPPorts = [ cfg.port ];
|
networking.firewall.allowedTCPPorts = [ cfg.port ];
|
||||||
|
|
||||||
|
|
||||||
# add to glance local service
|
# add to glance local service
|
||||||
modules.services.glance.links.<category> = [{
|
modules.services.glance.links.mediastack = [{
|
||||||
title = service;
|
title = service;
|
||||||
url = "https://${cfg.url}";
|
url = "https://${cfg.url}";
|
||||||
error-url = "http://${homelab.host_ip}:${toString cfg.port}";
|
error-url = "http://${homelab.host_ip}:${toString cfg.port}";
|
||||||
@@ -98,3 +97,4 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user