I installed ntfy-sh on NixOS and restricted Web UI access to Tailscale only. I confirmed that notifications work correctly on Android, and the setup is now ready to replace Discord webhooks.
I installed ntfy-sh on NixOS and restricted Web UI access to Tailscale only. I confirmed that notifications work correctly on Android, and the setup is now ready to replace Discord webhooks.
I forced NixOS onto a VPS with just 1GB of RAM (a Sakura VPS). The installation itself was hell.
It’s only running caddy, ssh, and tailscale, so 1GB of memory is more than enough.
I locked the networking down with a tight nftables ruleset, and building that was hell all over again.
With tailscale, hostnames resolved correctly, but ping did not respond and SSH was impossible.
In the end, re-registering the host fixed the issue.
Since it is registered as a new device, the old one must be removed. If needed, the new device should then be renamed.
sudo systemctl stop tailscaled
sudo rm /var/lib/tailscale/tailscaled.state
sudo systemctl start tailscaled
sudo tailscale up --authkey=...
On NixOS unstable, at some point my Bluetooth headphones (WH-1000XM4) stopped producing sound after boot. I tried to track down the cause together with ChatGPT, but couldn’t fully fix it. In the end, I worked around it by restarting the audio services after Niri starts:
spawn-sh-at-startup "systemctl --user restart wireplumber pipewire pipewire-pulse"
Tried installing and running claude-code via llm-agents.nix, and with this setup I’m no longer seeing “Request timed out.” at all.
Using claude-code (2.0.76) on NixOS again after a while, but “Request timed out.” keeps happening so often that it’s basically unusable. Going to try numtide/llm-agents.nix.
Google Titan Key is now operational on Brave(Flatpak). Resolved the hardware isolation issues with proper udev rules. Read the journal for details.
Just got ComfyUI running on NixOS 🚀 NVIDIA + CUDA + uv + direnv, no global Python, no home dir mess.
Took less time than expected. Will write a proper blog post later.
Right now I keep all my Nix files centralized, build on my desktop, and push changes with nixos-rebuild --target-host.
Thinking about experimenting with disko + nixos-anywhere next.
After nix flake update nixpkgs-unstable, the build failed because it tried to evaluate tree-sitter-razor, which is marked as meta.broken, even though I do not use Razor at all.
This happened because my Emacs configuration was using treesit-grammars.with-all-grammars, which evaluates every available tree-sitter grammar.
Switching to treesit-grammars.with-grammars and explicitly listing only the required grammars resolved the issue.
Refactored my NixOS firewall setup. I migrated from the deprecated meter syntax to dynamic sets in nftables.
Completed the integration of Nix files for three running NixOS machines. I still have three more left to convert, but this setup makes the process significantly easier.
Optimizing the integration of my nix files. Upon closer inspection, I found gaps everywhere—some necessary services had actually stopped.
I thought I knew better than to rely entirely on AI, but clearly I didn't. Human verification is essential after all. Glad it didn't turn out to be fatal.
Integration of Nix files is done. No issues on the desktop either. 😤
Set up mirroring between Codeberg and Forgejo (self-hosted). I did rely on ChatGPT, but it gave some pretty weird answers. If I had mechanically copy-pasted them, I might have been stuck. (Well, rollback is easy on NixOS, so it's fine.)
Now, just the laptop and another VPS left.
Currently working on unifying my NixOS configurations (server, desktop, and laptop) to manage them all on Codeberg. It's proving to be quite a challenge.
So far, the server successfully rebooted with the new unified files via nixos-rebuild switch. The real problem is the desktop...