• 0 Posts
  • 3 Comments
Joined 1 year ago
cake
Cake day: September 19th, 2023

help-circle
  • The main reason I switch was the way packages work. When you install something that has a dependency say like python. Instead of using whatever python you have already installed it gets another python package that is the exact version the original packages needs. So everything you have installed that uses python has its own python. That way if your python gets updated for one thing it won’t break anything else that still needs the older version.

    Its probably just a skill issue but I used both manjaro and arch for years on main desktop and both ended up broke where I couldn’t update anymore because of that issue. I know it can be fixed somehow but I always made it worse when I tried. I also had the same issue happen on my other computers(arch) when I would not update them for extended period of time.

    Nixos not only fixes that by the way it does dependencies, but also because every time you “rebuild” it makes a new image you can boot from. So if a update breaks anything you just reboot back to the last working image. So the system is pretty much indestructible.

    Other things i love about nixos.

    • The Nixpkgs repo is HUGE. I never use snap or flakpak anymore. And its so much more reliable than arch AUR (IMO).
    • when you remove a package from your config and rebuild the image. Its as if it never existed on the system in the first place. Only any files in your home folder remain.
    • you can use nix-shell to temporary “install” packages. I use it a lot actually. There are few tools I use very rarely or if I want to try something new. You use it. Close the shell. Then it gets deleted next time you garbage collect.
    • I switch between desktop environments. Sometimes just to try others out. But mainly I run hyprland. But if I need a GUI for something I just build my other config file and reboot into gnome. Then when Im done I just reboot back to hyrland image. And gnome is fully gone again. As if it was never installed.
    • I keep all my configs for all three of my machines In the same git repo. If any of them go down. It would not take long at all to restore them back exactly how they are.
    • its been fun sharing my fully config setup. Zsh(plugins like fuzzy finder)/tmux/NeoVim(with a bunch of plugins)/themes/starship with my friends. I just give them my config with a few tweaks changing username and removing anything they don’t need.
    • You build one config. Get it just right. And you never have to do it again. No matter how many often you want to wipe your machine. One rebuild and everything is back. I just tweak my config as I go. And it applies every machine when I “rebuild” them.

    Okay that was a lot of rambling. Probably repeated a lot of same points. I normally would go back and clean it up but I dont have time atm. I hope it somewhat answers your question. I feel like I’m forgetting something too.

    If your interested you can try messing with nixos in a VM. Its pretty cool that if you make a config you like you can copy it from VM and use it. When I first switched I was pretty confused and it took probably two weeks to get my config anywhere close to what I had on arch. Most of that was trying to figure out how to config neovim plugins like LSP servers in home manager. Was so worth it though. Going from arch to nixos was every bit as great as when I moved from Window 10 to arch IMO.