diff --git a/home-manager/sajenim/features/editors/CLAUDE.md b/home-manager/sajenim/features/editors/claude/CLAUDE.md similarity index 100% rename from home-manager/sajenim/features/editors/CLAUDE.md rename to home-manager/sajenim/features/editors/claude/CLAUDE.md diff --git a/home-manager/sajenim/features/editors/claude/commands/update-docker-services.md b/home-manager/sajenim/features/editors/claude/commands/update-docker-services.md new file mode 100644 index 0000000..e4d8216 --- /dev/null +++ b/home-manager/sajenim/features/editors/claude/commands/update-docker-services.md @@ -0,0 +1,16 @@ +Update all Docker service images on viridian to their latest pinned release versions. + +For each service, look up the latest release version from the official sources and update the +image tag to the specific version number (not "latest"). + +Services to update: +- Jellyfin (jellyfin/jellyfin) +- Lidarr (ghcr.io/hotio/lidarr) +- Prowlarr (ghcr.io/hotio/prowlarr) +- qBittorrent (ghcr.io/hotio/qbittorrent) +- Radarr (ghcr.io/hotio/radarr) +- Sonarr (ghcr.io/hotio/sonarr) +- OpenGist (ghcr.io/thomiceli/opengist) + +Use web search to find the latest release versions, then update the image tags in the +configuration files located in nixos/viridian/multimedia/ and nixos/viridian/services/. diff --git a/home-manager/sajenim/features/editors/claude-settings.json b/home-manager/sajenim/features/editors/claude/settings.json similarity index 100% rename from home-manager/sajenim/features/editors/claude-settings.json rename to home-manager/sajenim/features/editors/claude/settings.json diff --git a/home-manager/sajenim/features/editors/default.nix b/home-manager/sajenim/features/editors/default.nix index 4bf2d7f..a813899 100644 --- a/home-manager/sajenim/features/editors/default.nix +++ b/home-manager/sajenim/features/editors/default.nix @@ -41,8 +41,9 @@ home.file = { ".ideavimrc".source = ./ideavimrc; - # Global claude configuration - ".claude/settings.json".source = ./claude-settings.json; - ".claude/CLAUDE.md".source = ./CLAUDE.md; + # Claude configuration (link individual items to allow Claude Code to write state files) + ".claude/CLAUDE.md".source = ./claude/CLAUDE.md; + ".claude/settings.json".source = ./claude/settings.json; + ".claude/commands".source = ./claude/commands; }; } diff --git a/home-manager/sajenim/global/default.nix b/home-manager/sajenim/global/default.nix index 6ae7abe..2295f72 100644 --- a/home-manager/sajenim/global/default.nix +++ b/home-manager/sajenim/global/default.nix @@ -39,6 +39,9 @@ sessionVariables = { EDITOR = "nvim"; # Default text editor for CLI operations }; + sessionPath = [ + "$HOME/.local/bin" # User scripts and executables + ]; }; # Automatically restart systemd user services on configuration changes diff --git a/nixos/fuchsia/services/borgbackup/offsite.nix b/nixos/fuchsia/services/borgbackup/offsite.nix index 52ff0d0..4cbcf4f 100644 --- a/nixos/fuchsia/services/borgbackup/offsite.nix +++ b/nixos/fuchsia/services/borgbackup/offsite.nix @@ -52,6 +52,7 @@ # Dotfiles (critical user configuration) "/btrfs-subvolumes/hm-sajenim/.ssh" "/btrfs-subvolumes/hm-sajenim/.gnupg" + "/btrfs-subvolumes/hm-sajenim/.local/bin" # Persistent files (actual storage location) "/persist/etc/machine-id" diff --git a/nixos/fuchsia/services/borgbackup/onsite.nix b/nixos/fuchsia/services/borgbackup/onsite.nix index 4a1e8d5..70643e7 100644 --- a/nixos/fuchsia/services/borgbackup/onsite.nix +++ b/nixos/fuchsia/services/borgbackup/onsite.nix @@ -48,6 +48,7 @@ in { # Dotfiles (critical user configuration) "/btrfs-subvolumes/hm-sajenim/.ssh" "/btrfs-subvolumes/hm-sajenim/.gnupg" + "/btrfs-subvolumes/hm-sajenim/.local/bin" # Persistent files (actual storage location) "/persist/etc/machine-id" diff --git a/nixos/viridian/multimedia/jellyfin/default.nix b/nixos/viridian/multimedia/jellyfin/default.nix index 8c3d5ec..0bc12c0 100644 --- a/nixos/viridian/multimedia/jellyfin/default.nix +++ b/nixos/viridian/multimedia/jellyfin/default.nix @@ -5,7 +5,7 @@ in { # Volunteer-built media solution that puts you in control of your media jellyfin = { autoStart = true; - image = "jellyfin/jellyfin:10.10.5"; + image = "jellyfin/jellyfin:10.11.5"; ports = [ "${port}:8096/tcp" # HTTP traffic "8920:8920/tcp" # HTTPS traffic diff --git a/nixos/viridian/multimedia/lidarr/default.nix b/nixos/viridian/multimedia/lidarr/default.nix index 540164a..bb140b6 100644 --- a/nixos/viridian/multimedia/lidarr/default.nix +++ b/nixos/viridian/multimedia/lidarr/default.nix @@ -5,7 +5,7 @@ in { # # Music collection manager for Usenet and BitTorrent users lidarr = { autoStart = true; - image = "ghcr.io/hotio/lidarr:release-2.9.6.4552"; + image = "ghcr.io/hotio/lidarr:release-3.1.0.4875"; ports = [ "${port}:8686/tcp" # WebUI ]; diff --git a/nixos/viridian/multimedia/prowlarr/default.nix b/nixos/viridian/multimedia/prowlarr/default.nix index 0689b7f..de2c94d 100644 --- a/nixos/viridian/multimedia/prowlarr/default.nix +++ b/nixos/viridian/multimedia/prowlarr/default.nix @@ -5,7 +5,7 @@ in { # Indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. prowlarr = { autoStart = true; - image = "ghcr.io/hotio/prowlarr:release-1.30.2.4939"; + image = "ghcr.io/hotio/prowlarr:release-2.3.0.5236"; ports = [ "${port}:9696/tcp" # WebUI ]; diff --git a/nixos/viridian/multimedia/qbittorrent/default.nix b/nixos/viridian/multimedia/qbittorrent/default.nix index a0a06d5..8ae7ee0 100644 --- a/nixos/viridian/multimedia/qbittorrent/default.nix +++ b/nixos/viridian/multimedia/qbittorrent/default.nix @@ -5,7 +5,7 @@ in { # # Open-source software alternative to µTorrent qbittorrent = { autoStart = true; - image = "ghcr.io/hotio/qbittorrent:release-5.0.3"; + image = "ghcr.io/hotio/qbittorrent:release-5.1.4"; ports = [ "${port}:8080/tcp" # WebUI "32372:32372/tcp" # Transport protocol diff --git a/nixos/viridian/multimedia/radarr/default.nix b/nixos/viridian/multimedia/radarr/default.nix index 25ccfe5..a5378b1 100644 --- a/nixos/viridian/multimedia/radarr/default.nix +++ b/nixos/viridian/multimedia/radarr/default.nix @@ -5,7 +5,7 @@ in { # Movie collection manager for Usenet and BitTorrent users radarr = { autoStart = true; - image = "ghcr.io/hotio/radarr:release-5.18.4.9674"; + image = "ghcr.io/hotio/radarr:release-6.0.4.10291"; ports = [ "${port}:7878/tcp" # WebUI ]; diff --git a/nixos/viridian/multimedia/sonarr/default.nix b/nixos/viridian/multimedia/sonarr/default.nix index 10201c8..a227a89 100644 --- a/nixos/viridian/multimedia/sonarr/default.nix +++ b/nixos/viridian/multimedia/sonarr/default.nix @@ -5,7 +5,7 @@ in { # PVR for Usenet and BitTorrent users sonarr = { autoStart = true; - image = "ghcr.io/hotio/sonarr:release-4.0.13.2932"; + image = "ghcr.io/hotio/sonarr:release-4.0.16.2944"; ports = [ "${port}:8989/tcp" # WebUI ]; diff --git a/nixos/viridian/services/opengist/default.nix b/nixos/viridian/services/opengist/default.nix index 163eded..7716cbf 100644 --- a/nixos/viridian/services/opengist/default.nix +++ b/nixos/viridian/services/opengist/default.nix @@ -5,7 +5,7 @@ in { # OpenGist service configuration virtualisation.oci-containers.containers = { opengist = { - image = "ghcr.io/thomiceli/opengist:1.10"; + image = "ghcr.io/thomiceli/opengist:1.11.1"; ports = [ "${port}:${port}" ];