Commit graph

714 commits

Author SHA1 Message Date
Harald Hoyer
853a0642d7 feat(overlays): bump geekbench_6 to 6.7.0
Override the unstable channel's geekbench_6 with version 6.7.0,
updating tarball URLs and hashes for x86_64-linux and aarch64-linux.
2026-04-27 15:21:16 +02:00
Harald Hoyer
ed8b0eb473 chore: remove direnv from unstable 2026-04-27 14:09:12 +02:00
a5472c567a feat(amd): latest kernel ryzen kernel module 2026-04-27 10:40:23 +02:00
9cc17db0d7 chore: flake.lock update 2026-04-27 09:53:52 +02:00
Harald Hoyer
31df523787 refactor(home): extract shared wezterm module
Add a `metacfg.tools.wezterm` home-manager module so wezterm.lua
configuration can be reused across hosts instead of being duplicated
inline. Migrate halo and amd to the new module and enable it on rialo
(font size 14, term = xterm-256color).
2026-04-27 09:47:49 +02:00
e20f5cfe71 chore: firefly secret 2026-04-26 20:12:51 +02:00
06d26311fd feat(sgx): add aqbanking + sparda PIN slot for FinTS bank sync
Lays the groundwork for Sparda-Bank Südwest transaction sync via
direct FinTS (no third-party data proxy). aqbanking-cli in the system
PATH, persistent state at /var/lib/firefly-aqbanking, sops slot for
the online-banking PIN. Initial enrollment must be done interactively
on the host; systemd timer for automated fetches comes in a follow-up.
2026-04-26 16:36:52 +02:00
4833551a3b chor: add firefly secret 2026-04-26 16:28:19 +02:00
f4eb0c5939 feat(sgx): add firefly-iii personal finance manager
Self-hosted Firefly III with data-importer, SQLite backend, behind
nginx with the existing internal.hoyer.world ACME cert.
2026-04-26 14:09:40 +02:00
d56f42820a feat(m4): add opencode 2026-04-25 05:11:39 +02:00
7b8057c51c chore: remove blackhole 2026-04-24 19:43:25 +02:00
2ea188c015 fix: remove zellij 2026-04-24 11:34:56 +02:00
6bfaf7d2ec feat: update claude-code 2026-04-24 11:05:27 +02:00
4045aa1859 refactor(mx): extract disk check services into disk-check.nix
Share the check script via a parameterized mkDiskCheck function over
{ name, mountPoint, label } and iterate an attrset to emit the boot
and root services plus their daily timers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 10:28:27 +02:00
6d0186eadb chore: statix fix 2026-04-20 10:09:24 +02:00
Harald Hoyer
8ec7cb7794 chore: add notes about fmt and statix 2026-04-20 10:06:26 +02:00
1650ae7787 fix(m4): remove libvirt 2026-04-17 11:10:53 +02:00
Harald Hoyer
59d83bdeb1 feat(rialo): add openssl@3 to homebrew brews 2026-04-17 09:46:22 +02:00
Harald Hoyer
edcd49ada0 chore: nix flake update 2026-04-17 08:56:34 +02:00
Harald Hoyer
0574576687 feat: update claude-code 2026-04-17 08:55:07 +02:00
81e820e8a9 chore: flake.nix update 2026-04-14 11:19:03 +02:00
1719a00292 feat: update claude-code 2026-04-14 11:07:53 +02:00
Harald Hoyer
bcdaa091eb feat(nix): enhance systemd-email-notify service configuration
- Added `StartLimitIntervalSec` and `StartLimitBurst` for `ntfy-failure@` unit.
- Refactored `ExecStart` into `script` for improved readability.
- Adjusted `scriptArgs` from `%I` to `%i`.
2026-04-07 10:38:16 +02:00
Harald Hoyer
e9bce3fd6a feat(nix): add direnv and enable claude-code in unstable overlay 2026-04-07 10:01:50 +02:00
Harald Hoyer
301d0f7807 refactor(rialo): remove unused packages from systemPackages
- Removed `dnsmasq`, `libvirt`, and `virt-manager` for cleanup.
2026-04-07 09:53:50 +02:00
78210642c0 fix: claude-code manual update 2026-04-03 08:46:06 +02:00
Harald Hoyer
1b4e7003fc feat(rialo): disable wezterm in darwin tools 2026-04-02 10:28:23 +02:00
Harald Hoyer
1c26940340 refactor(nix): remove unused gitbutler from base service packages 2026-04-02 10:28:23 +02:00
60ed46689c fix: use unescaped %I in ntfy failure notification script
%i passes the escaped unit name which systemctl status cannot resolve,
causing "Failed to mangle name" errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:39:08 +02:00
a6736c2ac1 fix(sgx): treat rsync exit code 24 as success in backup
Files vanishing during transfer is expected for mail directories
where messages are constantly moved.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:39:08 +02:00
9e212934dd feat(nix): remove wezterm from system packages
- Disabled `wezterm` in the list of default system packages.
- Streamlines the configuration by focusing on existing terminal tools.
2026-03-30 08:45:08 +02:00
ffc5947bec feat(nix): update apps, tools, and system packages
- Added `blackhole-2ch` to casks and `darktable` to system packages.
- Disabled `wezterm` and kept `direnv` and `alacritty` enabled in tools.
- Improves utility and functionality by refining the configuration.
2026-03-30 08:45:08 +02:00
Harald Hoyer
58d84ce88b feat(rialo): add sox 2026-03-27 11:28:19 +01:00
c986fa7808 fix(attic): fix nginx proxy cache bypass and add cache lock
Replace broken proxy_cache_bypass (was bypassing every request) with
proxy_cache_lock to coalesce concurrent requests for the same path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 13:38:32 +01:00
13a386fe98 feat(attic): add daily garbage collection timer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 12:07:44 +01:00
510e3505a8 feat(attic): add nginx proxy cache to reduce S3 egress
Caches GET/HEAD responses up to 10 GB on disk with 30-day eviction.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 12:06:13 +01:00
f2afa78817 fix(attic): correct S3 bucket name to teepot-attic
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 11:56:07 +01:00
f039e4af1b feat(attic): enable HTTPS and configure Nginx with ACME
- Allow TCP ports 80 and 443 in the firewall for HTTP and HTTPS traffic.
- Enable Nginx with ACME integration for automatic SSL certificate management.
- Configure a virtual host with proxy settings and support for WebSocket traffic.
2026-03-25 11:18:02 +01:00
51398185e7 fix(nixos): conditionally apply onFailure units
- Wrap `config.onFailure` in `mkIf cfg.enable` to ensure units are conditionally applied based on the service's `enable` configuration.
- Prevents unnecessary configuration of failure units when the service is disabled.
2026-03-25 11:11:00 +01:00
6126aa9142 fix(attic): adjust PostgreSQL config for atticd ownership
- Rename `attic` database to `atticd` and set `atticd` user as the owner directly.
- Remove redundant `postStart` script for altering database ownership.
- Update `database.url` to match the renamed database.
2026-03-25 11:03:37 +01:00
65aacd4220 feat(attic): disable libvirtd in virtualization config
- Set `libvirtd.enable` to `false` in `default.nix` to align with the current virtualization setup.
- Prevents unnecessary service activation and reduces resource usage.
2026-03-25 11:03:26 +01:00
77a8e0ffcc fix(attic): specify PostgreSQL database for postStart script
- Update `psql` command in the `postStart` script to explicitly connect to the `postgres` database before altering ownership of the `attic` database.
- Ensures the command runs without issues in environments with restricted default database access.
2026-03-25 10:31:51 +01:00
e12fc523d6 fix(attic): remove unused $PSQL alias in postStart script
- Replace `$PSQL` with `psql` to use the correct PostgreSQL CLI directly.
- Ensures compatibility and prevents potential runtime issues in the systemd service.
2026-03-25 10:19:44 +01:00
2ca35ba38d feat(attic): switch to systemd-networkd for networking
- Replace `dhcpcd` with `systemd-networkd` by setting `networking.useDHCP` to `false` and `networking.useNetworkd` to `true`.
- Add a static IPv6 configuration and routes for `enp1s0` in `30-wan`.
- Ensures a more streamlined and customizable network configuration.
2026-03-25 10:19:38 +01:00
179dd93a5b feat(attic): disable sudo password for wheel group
- Set `security.sudo.wheelNeedsPassword` to `false` in `default.nix`.
- Simplifies sudo access for users in the wheel group and aligns with system usage patterns.
2026-03-25 10:07:08 +01:00
95bc8f3c70 feat(attic): enable IPv6 router solicitation via dhcpcd
- Set `networking.dhcpcd.IPv6rs` to `true` in `default.nix` to support IPv6 router solicitation.
- Ensures better compatibility with networks requiring IPv6 RA for configuration.
2026-03-25 10:04:11 +01:00
f2cc004192 feat(attic): remove ESP partition and enable GRUB for legacy boot
- Remove the ESP partition configuration in `disko.nix` as it’s unnecessary for legacy BIOS setups.
- Enable GRUB bootloader and disable EFI settings in `default.nix` for compatibility with Hetzner cloud instances.
2026-03-25 09:59:46 +01:00
8c1eadf474 feat(attic): update storage config and refine system settings
- Switch disk device from `/dev/vda` to `/dev/sda` for compatibility.
- Add S3 storage configuration with bucket, region, and endpoint.
- Update system state version from `24.05` to `25.11`.
- Remove unused imports and clean up redundant attributes.
2026-03-25 09:33:32 +01:00
04ebe32c3c feat(sgx): add Uptime Kuma to monitor mx services independently
Runs on sgx so alerts (via Gmail) still work even if mx is down.
Available at https://status.hoyer.world behind nginx with ACME cert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:06:35 +01:00
7df551d46f feat: extend systemd-email-notify module with optional ntfy support
Add configurable ntfy options (tokenFile, url, topic) to the shared
emailOnFailure module. When tokenFile is set, a ntfy-failure@ template
service is added alongside the existing email notifications. Systems
without ntfy configured are unaffected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:38:14 +01:00