I’m currently running Arch and it’s great, but I’m noticing I’m not staying on the ball in regards to updates. I’ve been reading a bit about Nix and NixOS and thinking of trying it as my daily driver. I’ve got a Lenovo x1 xtreme laptop, I don’t do much gaming (except OSRS), use firefox, jetbrains stuff, bitwarden, remmina, obsidian, and docker.

Is anyone running NixOS as their daily? How are you liking it and are there any pitfalls / stuff you wish you knew before?

  • I use NixOS btw
    link
    fedilink
    152 years ago

    I’m using NixOS, and I have a few tips:

    1. Use flakes
    2. If it ain’t working, steam-run it.
      • I use NixOS btw
        link
        fedilink
        42 years ago

        They’re more reproducible, they make dependency management easier, the commands you use with them are easier to use and more readable, and it’s easier to have multiple packages/systems/home-manager profiles in a single git repo. They also make version management easier

        • @[email protected]
          link
          fedilink
          12 years ago

          I’ve heard of the advantages of using them but still not entirely sure what they’re actually used for? What situation would call for using a flake?

          • I use NixOS btw
            link
            fedilink
            22 years ago

            For distributing software (nixpkgs is a flake and many projects have flakes), replacing channels (again, nixpkgs is a flake) or managing configs (check out my repo)

            • @[email protected]
              link
              fedilink
              12 years ago

              So the only use of flakes is for packaging software? Haven’t started packaging software for NixOS yet only managing my PC

              • @[email protected]
                link
                fedilink
                22 years ago

                No, it’s also for your system to use locked versions of deps, so if you git clone you get a flakes.lock as well with all the versions. When you install from a git repo you get the same system again

  • @[email protected]
    link
    fedilink
    82 years ago

    It’s a lot of work tbh. I’ve used arch for 10+ years and recently switched to NixOs to give it a spin, and couldn’t get my exact setup that I wanted for tools and accessories I use, and the system immutability isn’t that practical imo. So I switched back to my old Arch setup and now just use Flakes for various projects I have, basically just the Nix part, which is very nice imo.

  • @[email protected]
    link
    fedilink
    532 years ago

    Been daily for a while now, came over from Garuda, and a few other Arch derivative before that. NixOS is 99.9% fantastic. Lenovo carbon X1 Gen 6. Runs great. Newer custom build higher end desktop with AMD 7900RX GPU. Also runs great. I have a feeling it’ll run great on pretty much anything.

    The package store is amazing. The package store absolutely dwarfs the AUR. That being said, it seems a lot of the store packages are support / dependency packages that you wouldn’t install standalone.
    I always had a concern in the back of my mind with the AUR. Is the package trusted by multiple people?
    I’ve not had to rollback much, but it’s SUPER simple, and takes seconds for the most part. A reboot at the most.

    Things I wish I knew: I run declarative for everything, rather than imperative. Therefore, small changes are a tiny bit more of a hassle. Example: changing the hosts file. Rather than a quick hosts file edit and done, it’s a quick edit of the system configuration file, then a nixos-rebuild switch. Nearly any change is like this. (I’ve not moved to flakes yet.)

    if you have any shell scripts, and they’re hard-coded to the env: #!/bin/bash, #!/usr/bin/zsh, etc… you’ll need to port those over to #!/usr/bin/env

    appimages are well supported, but I ran into an issue where a custom appimage that someone else wrote won’t authenticate correctly because the browser isn’t included in the environment. I could t-shoot it more, but just too damn lazy to care.

    The local storage location for apps can get huge rather quickly, as each iteration/change is stored for rollback purposes. Make sure to setup a garbage collection schedule with whatever your comfortable with.

    Would i recommend? Depends on your patience and prior experience. NixOs is VERY VERY different than arch or pretty much any other distro, even other immutable ones. It takes a bit to get your head wrapped around it.

    I saw someone say start with Nix (the package manager) on your current distro, learn the ropes, add in pieces like Flakes and Home Manager as you learn. Learn the Nix language. And then move to NixOS. Probably good advice.

    I ignored all of that. Jumped in head first. Lots of frustration in the beginning. But now… I won’t be going back to a standard linux distro.

    Immutability makes me warm and fuzzy. Being absolutely sure that I can easily recover from a boneheaded mistake. Beautiful. Hard drive shits the bed? Drop in a new one, apply my configs, and I’m right back where I was within 30 minutes, complete with all data, apps installed and configured? Priceless.

    • dinckel
      link
      fedilink
      142 years ago

      I attempted to use Nix as a daily driver recently, and while it ran great, and I loved the idea of what it’s doing, I got absolutely destroyed by the config. Since we’re in transition to nix-command right now, a lot of documentation is really confusing, and on top of that, home-manager was not as intuitive ad it sounds. I’ll probably be giving it another shot later, but for now the time investment doesn’t seem to be immediately worth it for my work flow

      • @[email protected]
        link
        fedilink
        42 years ago

        This is similar to my story. I installed it on a laptop. Got really frustrated with it, and went back to arco for a while. Took the full plunge a couple months later, and decided I’m just gonna do it, torpedoes be damned. no regrets now.

    • @[email protected]
      link
      fedilink
      132 years ago

      You made me very curious about NixOS and now I’ll have to take a closer look at it. The second to last sentence did it. Thanks

      • @[email protected]
        link
        fedilink
        72 years ago

        Awesome. Welcome to the club. Be patient. It’s VERY different. The more you learn Nix (the language) the better off you’ll be. I’m still on that path myself.

    • @[email protected]
      link
      fedilink
      82 years ago

      I can understand how the system config can be back in that short amount of time. How does data backup and restore work in Nix? Is it different than other distros?

      • @[email protected]
        link
        fedilink
        102 years ago

        Data wise, it’s mostly the same. i use syncthing to a couple different systems, one of which is essentially a storage server. The main difference for me is the app installations. apt install all the apps, then configure each. Kills a whole day for me. I’m sure it can be automated, maybe ansible / salt / . But the way I use it, Nix enforces that I always update my configs in a manner that is easily restorable.
        Copy my backed up system into /etc/nixos/
        Run nixos-rebuild boot. Reboot.
        Setup syncthing. ? Profit

        • @[email protected]
          link
          fedilink
          1
          edit-2
          2 years ago

          Instead of doing nixos-rebuid boot and rebooting, you can just do a nixos-rebuild switch and not reboot.

          Of course, depending on what you’re doing it mifht be a good idea to reboot, but if you’re just adding a package to your config file, it doesn’t matter.

          • @[email protected]
            link
            fedilink
            12 years ago

            Yeah, for the restore process, I install a couple drivers for some USB devices. So a reboot is required. Otherwise, I has an alias for switch.

  • elia169
    link
    fedilink
    42 years ago

    Using it on a somewhat old Microsoft surface laptop, and it’s been really great. I really like nix for packages, but nixos got very, very cool when I was able to switch DE by changing two lines in the configuration file and everything just worked. It’s very hard to break too, which is useful for me…

  • @[email protected]
    link
    fedilink
    52 years ago

    I really like it. The language took me time to learn but so far it has been worth it. The ability to rollback in git and rebuild has saved my computer countless times; usually from my own mistakes.

  • @[email protected]
    link
    fedilink
    23
    edit-2
    2 years ago

    I’ve been running NixOS for the past four years in all my computers. It’s really, really the end game of Linux distributions for me. But it’s not for everybody. The Nix language can be a tough thing to learn, if you’re not a programmer and haven’t done anything with lazy functional languages before. It’s a dynamic language, with not super great documentation for practical things and missing a good language server that would let you to jump to definitions when learning how nixpkgs work and how to build things.

    Also, what I think is a serious problem, is how flakes are not yet enabled in the default installation. So first you learn with the basic template, and some helpful person comes talking about how great flakes are, and in a few weeks you might have written your own system flake finally and got it working. Flakes are really important to understand as soon as possible, because with them you get the lock file that gives you real reproducibility between computers and full control on which version of packages you get.

    But, when you learn all that, and get your company to go full-on with nix, having flakes in all projects, it’s the best programmer’s operating system out there. Here’s my config to steal stuff.

    • MidasOP
      link
      fedilink
      52 years ago

      Thanks for the config! I’m a developer and that also contributes to my interest - being able to express my configuration like that. Your config is a bit overwhelming, but in a good way, I’ve created a git repo for myself to start off and using yours as a reference since you seem to do a lot of cool shit. Am going to start off with flakes.

      Not sure if I’m going to jump in with both feet yet (since apart from my work laptop and servers, this is my only machine) but I am going to journey into writing a conifguration properly and testing it on a VM. Already using nix packages on my Arch install.

    • @[email protected]
      link
      fedilink
      1
      edit-2
      2 years ago

      I was just going through the README and I’m definitely stealing the idea chowning the /etc/nixos dir and symlinking it to $HOME/.config/nixpkgs. How did I not think of this myself?

  • Tom
    link
    fedilink
    62 years ago

    Using NixOS as my daily OS on a X1 since six years now.

    The first months have been hard as at this time was no installer at all and I had to do everything manually. After a while I got used to the update process.

    Recently I switched to Nix Flakes which is another challenge but seems to make the Nix way even more consequent.

    The only odd thing what drives me nerves is that compiling on that machine takes sometimes a half day.

    Besides this it is still the best OS I ever used

  • Rikudou_Sage
    link
    fedilink
    42 years ago

    I had as a daily driver for a few weeks through VirtualBox. Next week I plan on installing it as a secondary OS to see if it plays well with my hardware and if so, I’ll make it my only OS.

  • @[email protected]
    link
    fedilink
    242 years ago

    Yes. Absolutely.

    For me it shines in the replicability. For example recently (at the time of writing this) I have gone to a different place without the ability to take my pc with me (its not a laptop duh). I prepared my config and pushed it to the git repo. With me I only brought a usb drive with all my ssh keys and another one with the headless NixOS installation environment. I set it up, had to do some UEFI smashing and hardware adjusting but that’s just hardware specific. In like 30 minutes I had my full setup, my hyprland, my doom emacs, and most of that time it was downloading packages.(not to say cache.nixos.org is slow but the internet there was dogsh…)

    Would I recommend? If you are ready to do some table smashing and if you are experienced enough with Linux and the nitty gritty of it, then HECK YEAH. You have to know that NixOS is not for beginners. It is a bulletproof distro for ultra power users that, if you use correctly could lead to a impenetrably stable system, which you could reproduce on ANY other machine. And also rollbacks are awesome.

    Conclusion? NixOS is awesome!

    • @[email protected]
      link
      fedilink
      32 years ago

      It is also amazing for a distrohopper. As one myself, I always keep on looking for something better (Debian, Fedora, Arch, Tumbleweed, Void) etc, but NixOS is like that safe haven I go back to where all of my configurations can be replicated the exact way I want them quickly and efficiently, allowing me to return to Hyprland and my comfy setup.

  • kopper [they/them]
    link
    fedilink
    152 years ago

    as long as the existing packages are enough*, it’s really good. if you need to start packaging stuff yourself this is when you’ll usually start hitting the pain points (of both Nix the language and the documentation)

    *: nixpkgs does have a huge number of packages but that count is massively over-inflated by essentially being a meta-repo that also contains all the language-specific dependencies of it’s packages (think pip or npm) and mostly-auto-generated vim plugin packages and whatnot. for things you’d actually want to install “manually” the breadth of the AUR still trumps it in my experience

  • @[email protected]
    link
    fedilink
    262 years ago

    I’ve been using NixOS for over a year and I can’t imagine using anything else. I originally started using it because I liked the idea of version controlling the entire configuration, but now I use it for everything.

    The most underrated feature of Nix is being able to instantly roll back an update that breaks something that you don’t want to deal with. An update breaks kitty or neovim? If I have something to do I can just roll back and fix it later. Awesome.

    It’s not for everyone. I can’t imagine someone who isn’t at least a hobbyist programmer having the desire to overcome the technical nature of it.

    Heres my config.

      • @[email protected]
        link
        fedilink
        62 years ago

        Yeah, btrfs is awesome and it’s easy to use with NixOS as well. The rollback mechanics are different in that Nix isn’t actually rolling back it’s just rebuilding a previous revision (commit) of the config.

  • @[email protected]
    link
    fedilink
    92 years ago

    NixOS is absolutely worth the effort. You have to frontload a bit of effort setting up configs, but you get a whole lot of incredibly valuable stuff in return, and a lot of things become easier in the long run.