r/NixOS 15h ago

What homeserver/homelab features were only possible due to Nix?

1 Upvotes

Hey homelabers, basically what the title say. I built my last iteration of my homeserver on NixOS and found many use cases that would not have been that easy to implement (or not in my skillset) on other platforms like docker-compose/kubernets etc. I'm curious what fancy feature you have implemented due to having your homeserver on NixOS.

My favorite features that were not that hard to implement in Nix:

* easy tinyauth hook in nginx for additional auth before any service
* easy VPN routing per container on demand
* general plugin capability for any selfhosted private/opinionated service
* auto filling dns entries of selfhosted services to pihole -> traffic stays in network automatically
* easy own implementation of containrrr/watchtower with exactly the bells'n'wistles i need
* way more customization options for docker containers then running them on other stacks

I'm kinda running out of fancy ideas, inspiration is welcome too.
If you are interested in the code or on the look for inspiration too: madebydamo/neo on github


r/NixOS 9h ago

Full Time Nix | SaltSprint 2026 with Dean Eckert

Enable HLS to view with audio, or disable this notification

2 Upvotes

SaltSprint 2026 took place in June. It was organized by Flying Circus and sponsored by secunet and Flying Circus. One of the participants, Dean Eckert, co-founder of Red Oak, in his kindness joined me and we have discussed what he and others were up to during those four exciting days in Halle, Germany. Click the link and listen in.

Full Time Nix | SaltSprint 2026 with Dean Eckert


r/NixOS 16h ago

Bad router / bad scripting, fucked me

0 Upvotes

I spent a month working on nixos in a vm thought I was ready to put it on a ssd and of course right before I was making the last changes such as a few important sops changes and script fixes. DNS stopped resolving, so when I went through my whole install, which was git cloned it was all out of date and had no access to all my changes. It took a while to realise this and then I had to do all them last important changes again but in tty and was still trying to figure out why it didn't backup.

The annoying thing is that ping github.com would work fine then a git pull succeeds then the git push would fail two secs later with Could not resolve hostname github.com: Name or service not known. Nix builds would also fetch half their dependencies then sometimes they would die on a fixed-output derivation with curl: (6) Could not resolve host. Then you could go and retry the same command and then it would work.

I thought the network was just being flakey or something my brother was having issues before with internet as well.

for i in (seq 1 10); getent hosts github.com; end
Instead of just using one lookup I used a loop for 10 and only got 1.

Why was this happening /etc/resolv.conf had this,
search home

nameserver 192.168.20.1
nameserver 2403:5800:100:1::142
nameserver 2403:5800:1:5::242
options edns0

Basically router and two resolvers, what would happen is that glibc tries nameservers in order with short and limited retries where every lookup hit the router first, and glibc would give up rather than reliably falling through to the others. Adding good nameservers to the end did nothing because it would because they would never get reached.

I then tested using this,

for i in {1..20}; do dig +short  @192.168.20.1 github.com; done

the first result was correct but everyone after that produced,

;; Warning: Message parser reports malformed message packet.
10 8 15UPR+w3nxU=

Whilst the same loop with 1.1.1.1 were all correct. So in the end it was not rate limiting or timeouts the router was responding but with malformed packets full of base64 garbage.

Solution

networking.networkmanager.dns = "none";
networking.resolvconf.enable = false;
networking.nameservers = [ "1.1.1.1" "1.0.0.1" ];
environment.etc."resolv.conf".text = ''
  nameserver 1.1.1.1
  nameserver 1.0.0.1
  options edns0
'';

Obviously here you will want to probably add back you router to the bottom of the list.

Why did it not warn me on the VM? My script ran push inside a if ! git diff --cached --quiet block so once a commit did existed locally and the push had failed newer runs had nothing new to commit and skipped the push. So the router caused the first failed push but bad scripting stopped it from fixing itself.


r/NixOS 14h ago

Hi everyone, i need help guys

4 Upvotes

I really want to put myself NixOS, it was worth it about six months ago and I liked it very much, but I only need from the computer the beauty of my working environment, launching games and some programs and just comfortable work, I left NixOS to Arch only because I could not fully understand the flake and home manager and the rest to make a beautiful system and the system either gave an error when creating a new version or started, but there were tons of errors related to the configurations. So, please explain the easiest way for me to make my beautiful rice (hyperland + some quickshell or caelestiashell) or someone's rice through flake so that everything would just work, thank you very much for earlier


r/NixOS 8h ago

Even if I wanted to, I couldn't leave NixOS behind

Enable HLS to view with audio, or disable this notification

4 Upvotes

r/NixOS 2h ago

I built a tool to fix non-Steam game shortcuts (Heroic/Lutris) and fetch missing icons specifically for NixOS

Post image
4 Upvotes

Hey everyone,

If you game on NixOS, you probably know the pain of adding non-Steam games to your library. Heroic or Lutris shortcuts often fail to launch from SteamOS (Gamescope) because of library conflicts or missing `steam-run` wrappers.

I got tired of manually editing binary VDF files or writing wrapper scripts, so I built Steam Patcher.

It's a minimalist GTK4/Libadwaita Python app packaged as a nix flake. What it does:

- Scans your `shortcuts.vdf` and patches Heroic and Lutris entries to route through `/run/current-system/sw/bin/steam-run`, stripping out bad `LD_PRELOAD` flags so games actually launch from SteamOS (Gamescope).

- Plugs into the SteamGridDB API to automatically download and inject missing icons for your non-Steam games.

- Every time you click a button, it creates a timestamped backup of your VDF file before touching anything.

- Because it's a flake installation is declarative of course and it drops its own shortcut too.

- You can check out the source code and installation instructions here:

- https://github.com/minimalistFW/SteamPatcher

Let me know if you find it useful or if you have any ideas for improvements.

Cheers :)


r/NixOS 21h ago

greyline — a (near) live world-time wallpaper packaged as a flake

Thumbnail gallery
152 Upvotes

I made greyline, a modern recreation of the old IBM/ThinkPad "World Time" Active Desktop wallpaper showing a world map with clocks for your cities, your home city highlighted, and a day/night terminator that tracks the sun.

It's shipped as a flake, so you can nix run github:cothinking-dev/greyline to try it.

Feel free to check it out, and if possible, file issues if you encounter any!


r/NixOS 23h ago

Nix OS Inside Lxc Container

4 Upvotes

Hi- I am currently using Incus on top of Ubuntu to run some homelab stuff and was thinking of switching to Nix OS and Running Nix Os with Incus. I was also considering running Nix os inside incus lxc containers. I can provision the incus lxc containers using terraform and then have one Nix os lxc management container that I could use deploy rs to deploy multiple containers.

I know most here would probably just go bare metal, but I like the incus tooling such as snapshots, networking, volume management.

This would give me some flexibility to run vms in incus and other apps if not directly supported by Nix os.

I have done some very basic testing and seems to work fine.

I an interested if there are any downsides to this approach and any other thoughts.

Thanks


r/NixOS 2h ago

Setting up a DHCP server on NixOS

4 Upvotes

I've searched the wiki and all i can find is dhcp client configuration and i can't find anything about it online. How do i do that, please help.


r/NixOS 1h ago

My experience with NixOS

Upvotes

I've been using Nixos for a month now, and honestly, Nixos has solved several problems that other distros used to stress me out trying to solve.

*The declarative That's the part I enjoyed adapting to the most, not having to type a simple package installation command into the terminal

*I really liked their Nixos configuration system; the way you have to go into the configuration file and enter the name of the package you want to install

*The reproducibility helps me with my equipment change; I previously had a computer with Nixos as well. I simply took the configuration file and put my old configuration file on my new computer And I just did a `sudo nixos-rebuild switch` and I had all my apps from my old computer back.

The truth is that I see Nixos as a good distro if you already have experience with other distros of different learning curves.