Commit graph

148 commits

Author SHA1 Message Date
e156d79862 Show nvd package diff after switch completes
Saves the old system path before switching so nvd can compare
old vs new after everything else finishes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:47:06 +01:00
7088f1d68e Add nvd package diff to update alias
The update alias now builds first, shows a readable diff of
added/removed/upgraded packages via nvd, then switches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:44:28 +01:00
e3a208deae Remove Helium browser
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 21:18:25 +01:00
c6986a8a3c Add Helium browser with Proton Pass and disabled password manager
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 21:13:45 +01:00
Claude
a35281419f
Move V-Rising Docker server into game-servers.nix
Consolidates V-Rising into the existing game-servers module instead of
a separate file. Also uncomments the game-servers import in common.nix
and adds UDP 9876/9877 to the shared firewall rules.

https://claude.ai/code/session_01Ays1x4CUUJE1jPLkeNMojV
2026-04-11 14:46:04 +00:00
Claude
f556d887c3
Add V-Rising dedicated server via Docker on FredOS-Mediaserver
Uses NixOS virtualisation.oci-containers (Docker backend) with the
trueosiris/vrising image. Persists server files and save data under
/var/lib/v-rising/. Opens UDP 9876/9877 in the firewall.

https://claude.ai/code/session_01Ays1x4CUUJE1jPLkeNMojV
2026-04-11 14:45:02 +00:00
9c08a9e0ef Rename fastfetch.nix -> settings/shell.nix, remove flatpaks
- Move shell/prompt/font config from apps/fastfetch.nix to settings/shell.nix
- Remove flatpaks.nix and nix-flatpak flake input (no flatpak packages in use)
- Update readme structure and flake inputs table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 14:03:34 +01:00
efd3351ee7 Powerline-style prompt with background colors, remove fastfetch from startup
- Prompt segments now have background colors (green/yellow/blue pills)
- NixOS icon  visible in green pill segment
- Remove fastfetch from terminal startup and clear alias
- fastfetch still available via manual `fastfetch` command

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:34:36 +01:00
09d00909cb Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
eadbc92126 Replace Docker containers with native NixOS modules for nginx, Authelia, and go2rtc
- Native nginx with ACME wildcard cert (*.nordhammer.it) via Cloudflare DNS-01
- Native Authelia SSO with forward auth protecting homepage + camera
- Native go2rtc camera streaming (no more Docker)
- Auto-migration script for Authelia secrets and user database from Docker
- Homepage hrefs updated to use HTTPS domain names
- Fail2ban updated for native nginx log paths + new Authelia jail

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 15:47:56 +01:00
f59fce5087 Add auto-interconnect service for *arr stack
Systemd oneshot that runs after all services start and configures:
- Prowlarr → Sonarr (TV indexers, full sync)
- Prowlarr → Radarr (movie indexers, full sync)
- Sonarr → qBittorrent (download client, category: tv-sonarr)
- Radarr → qBittorrent (download client, category: radarr)
- Bazarr → Sonarr (subtitle management for TV)
- Bazarr → Radarr (subtitle management for movies)

Fully idempotent — checks for existing connections before creating.
API keys extracted from each app's config files at runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:45:53 +01:00
29dae0c5ea Add Homepage dashboard for FredOS-Mediaserver
Covers all running services: Jellyfin, Sonarr, Radarr, Bazarr, Prowlarr,
qBittorrent, Nginx Proxy Manager, Authelia, go2rtc. Live widgets for
*arr apps, Jellyfin now-playing, and qBittorrent speed use API keys
loaded from /etc/homepage-secrets (outside the Nix store).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:55:42 +01:00
39450ca786 Remove Suricata/ELK; add SSH key auth and disable password login
Adds authorised keys for FredOS-Gaming and phone. Disables SSH password
authentication on FredOS-Mediaserver — key auth only going forward.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:48:08 +01:00
699bbd9f9a Add ELK stack for Suricata log visualisation
Elasticsearch + Kibana + Filebeat in Docker, bridged via an elk network.
Filebeat uses the Suricata module to parse eve.json and auto-installs
Kibana dashboards on first run. ES heap capped at 1g; Kibana Node heap
at 512m — total stack ~2-2.5 GB RAM.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:25:29 +01:00
b91b0ef234 Add Suricata IDS to FredOS-Mediaserver
Passive network monitoring via af-packet on eno1. Rulesets auto-updated
from ET/Open, abuse.ch, and other community sources via suricata-update.
Runs alongside fail2ban; IPS/blocking mode can be enabled later.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 20:36:45 +01:00
Claude
6b432f3bc2
Remove CrowdSec — replaced by fail2ban
https://claude.ai/code/session_01PwAXuaoJx7qD5FhVLsn7Sn
2026-04-06 08:28:08 +00:00
Claude
16363dc887
fail2ban: add jails for SSH, nginx proxy manager, and Jellyfin
Replaces bare enable flag with a dedicated service module covering:
- SSH brute force via journald
- Nginx Proxy Manager auth failures via Docker log files
- Jellyfin auth failures via journald
Includes incremental ban times (up to 1 week) and LAN ignore rules.

https://claude.ai/code/session_01PwAXuaoJx7qD5FhVLsn7Sn
2026-04-06 08:21:23 +00:00
509c4cc47d Add CrowdSec IPS with firewall bouncer on FredOS-Mediaserver
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 22:59:37 +01:00
4b41511e39
Update common.nix 2026-04-05 11:21:25 +01:00
93ea194da4 Reorganise hardware vs host config, tidy settings and services 2026-04-01 21:16:59 +01:00
59e4d997cd
2026-03-28 19:40:00 +00:00
f6fb6ceba1
2026-03-28 15:57:10 +00:00
880f56265f
2026-03-28 15:34:14 +00:00
e0305d672c
2026-03-28 15:30:07 +00:00
5c96b6fa02
2026-03-28 15:28:37 +00:00
d0ed3fe5c8
2026-03-28 14:54:56 +00:00
570871787f
2026-03-28 13:14:22 +00:00
50f2224f04
2026-03-28 12:41:29 +00:00
a7719779bd
2026-03-28 12:40:30 +00:00
d58afb8db7
2026-03-28 12:26:11 +00:00
164400d0a6
2026-03-28 12:22:00 +00:00
8cce4008b0
2026-03-28 12:19:20 +00:00
ece3e15341
2026-03-28 12:18:19 +00:00
4bab9998ca
updating update alias 2026-03-28 12:00:08 +00:00
b667362ef4
Update common.nix 2026-03-26 10:04:21 +00:00
0cd4ff5143
Update common.nix 2026-03-20 22:47:36 +00:00
04a224bc30
Update common.nix 2026-03-18 19:22:11 +00:00
590b5f4e4e
Update common.nix 2026-03-18 11:01:54 +00:00
bb066d54fa
Update common.nix 2026-03-18 10:49:24 +00:00
8b44705426
Update common.nix 2026-03-16 11:15:40 +00:00
70e147f711
Update common.nix 2026-03-16 11:07:03 +00:00
793ef75354
Update common.nix 2026-03-16 10:31:51 +00:00
ae47c64408
Update common.nix 2026-02-24 19:22:44 +00:00
fbbc7b7805
Update common.nix 2026-02-20 21:42:53 +00:00
28fa6dbf46
Update common.nix 2026-02-15 06:24:48 +00:00
17d21d8e81
Update common.nix 2026-02-01 13:09:34 +00:00
a34a05e1ea
Update common.nix 2026-01-31 20:49:51 +00:00
7b19304f98
Update common.nix 2026-01-25 11:14:49 +00:00
aaaf954441
Update common.nix 2026-01-22 10:59:26 +00:00
866c8850b6
Update common.nix 2026-01-22 10:58:54 +00:00