Skip Navigation

NixOS: How does daily driving fare for time-strapped users?

Perhaps dumb questions inbound ;)

I use Arch because I'm strapped for time and my system is always moving.

  • 2 minutes to install something? AUR probably has it.

  • Ten minutes of free time to look for a software that fits a new need? Try random AUR things (auditing PKGBUILDs is just twenty seconds or so).

  • If I need a tiny patch, I'll just add a sed or patch file to the PKGBUILD. (Super easy, you barely learn any syntax cuz it's intuitive shell.)

  • make && make install/meson blahblah usually just works.

  • Wiki does the thinking for me if I need something special (e.g. hw video acceleration)

Buuuut update surprises can be a pain (e.g. Pipewire explodes Saturday evening) and declarative rollbackable immutability sounds really freakin' AWESOME, so I'm considering NixOS for my new laptop (old one's webcam broke). So I ask:

  • How much can I grok in a week?
    • I need to know Nixlang, right? I have a ton of dotfiles and random homemade cpp commands in ~/.local/bin that I use daily
  • How quick is it to make a derivation?
    • I make install a lot, do I need to declare that due to non-FHS? Can I boilerplate the whole thing with someone else's make install and ctrl+c ctrl+v? How does genAI fare? (Lemmy hates word guess bots, I know)
  • How quick is it to install something new and random?
    • Do I just use nix-shell if I need something asap? Do I need to make a derivation for all my programs? e.g. do I need to declare a Hyprland plugin I'm test-running?
  • How long do you research a new package for?
    • On Gentoo I always looked up USE flags (NOO my time); on Arch I just audit the PKGBUILD and test-run it (20 seconds); on Ubuntu I had to find the relevant PPA (2 minutes). What's it like for Nix?
  • Can you set up dev environments quickly or do you need to write a ton of configs?
    • I hear python can be annoying. Do C++/Android Studio have header file/etc. issues?
  • What maintenance ouchies do you run into? How long to rectify?
  • Do I need to finagle on my own to have /boot encrypted?
    • I boot via: unencrypted EFI grub asks for LUKS password -> decrypt /boot, which then has a keyfile -> decrypt and mount btrfs root partition. But lots of guides don't do it this way

Thanks for bearing with me ദ്ദി(。•̀ヮ<)~✩‧₊

28

You're viewing a single thread.

28 comments
  • Nixos is amazing especially for use cases like yours. Ive been using it for id say 8 months. Never had anything break on me ever that had to do anything with updates. The most you do is edit your config sometimes because they renamed something.

    As for dotfiles you can keep em how you did it before, your home directory doesnt have to be immutable.

    Nixlang isnt that hard if you dont do anything insane and you can copy most things from other peoples configs. If you have custom executables theres actually a really good way of packaging it for you own setup and you can use them as any other package.

    Nix-shell is really good when you need something instantly. It just drops you into a shell with the packages installed that you asked for. I tested out compositors by just using nix-shell on the tty and running them to see how they work.

    For packages its basically 0 time. Nixos has an insane number of packages for almost everything and even when its not packaged you can get flakes other people made(bit like aur now that i think about it) and it will build the package for you.

    Idk that much about dev envs, for me its just and ubuntu or fedora distrobox because literally everything is made to be compiled on those and its easier than searching for every package you need because of course every distro has completely different names for it. As for setting up your own dev envs i heard its a blessing and really good.

    Idk for encryption is just have LUKS, dont know about the technicalities that much.

    Something i recommend is not falling down the rabbit hole of making everything immutable. Your dot files can be just the way you already have them. Home manager is cool and all but after moving literally all of my configs to it i realized its just an extra useless layer of abstraction. Just upload you config directory to github and everything will be easy to manage. Also sometimes my system doesnt build because of some conflict in my config files. Kinda stupid to have the most stable packaging system ive ever seen in my life and then fail a build because of your neofetch config or something.

    Another amazing thing on nixos is that you can have multiple streams of packagesm. My system is on stable(because its stable lol but still rapid enough for me) but some of my packages are on unstable. Firefox vulnaribility? Just update it to unstable and EVERYRHING WORKS. It NEVER breaks.

    Sorry for the novel length comment but in the end if you have the need for a stable unstable system the nixos is perfect. Tbh i wish there was something simpler that did what nixos does. Someone could make something built on nixos that abstracts away the features that 99% of users dont need.

28 comments