I use Fedora 38, it’s stable, things just work, and the software is up-to-date.
kiss, upstream, wiki, community
How different (if at all) does Nixos feel as a daily driver, if at all? Is it only about getting used to the system, or does it require to do everything the Nixos way?
Also how does user-level configuration work? Does the upgrade system just ignore your $HOME in terms of version control?
- Largest repos of any distro, so package availability is good (also supports Flatpak).
- All package installation and configuration is handled via config files, so it’s easy to keep track of what’s installed. Also makes re-installation convenient and easy (this is also great if you’re fond of unixporn-style setups).
- Because it uses config files to manage this, you can also take advantage of VCS.
- Instead of having to work with several shitty DSLs to configure your system, now you only have to use one!
- Being able to install multiple versions of the same library is nice. With Nix you can just install whatever the fuck you want, really. Want to use DisplayCAL, but can’t because it was dropped from the current release’s repository for still depending on python 2? No problem, just have your flake pull it from a previous release when it was still in the repos; it’ll just work because builds are done in isolation.
- The generation system makes updates fearless, since if something breaks you just rollback.
- Development is both better and more annoying. There’s no FHS, so you have to set up a dev environment with a flake every time you want to do a project. This is nice because you don’t miss dependencies as everything has to be explicitly laid out in the flake and other Nix/NixOS users can share your flake and get the same exact dev environment (kiss “it works on my machine” excuses goodbye). Annoying both because you’re required to put in more forward planning with your dev environment and also because it breaks language-specific package managers, so you’re limited to supported languages.
- You can’t just git clone/make/install stuff from GitHub, as there needs to be a flake first. If the software already has one included, great! If it doesn’t, you’ll be making it. If you need a dependency that currently isn’t packaged for Nix, you’ll be making more than one. If the software is difficult to package, god help you.
- Nix documentation can be really lackluster and also assumes you’re Linux-savvy.
Also how does user-level configuration work?
You use a 3rd party tool called home-manager for this. It provides about the same experience as the system config and has more configuration options for software, so should be preferred when it makes sense.
Overall, it’s great if you’re Linux-savvy and is one of the few distros that is legitimately innovative. Said innovation can also be a pain in the ass on occasion though, but still worth it.
Can I use a file in the same place as the nix config to set the configs for i3 for example? Or anything else that would go in ~/.config? It would be amazing to have all the configuration files in one single folder to easily move to new hardware.
It’s very popular so I can search “how to get current default default sound output device Ubuntu” and not get an answer
Devuan testing branch and Artix for consistent stability and updates/upgrades.
While I know it’s not the best distro, I don’t care to re-image, I left that life behind with Windows.
Manjaro-
I love the fact that I can have “Stable” and “Unstable” kernels installed simultaneously. It’s a nice handy way to recover or narrow down if an issue is related to the kernel. They’ve done an excellent job with the default Grub settings to allow this as well as side-by-siding with Windows if I want (which made transitioning from Windows to Linux easier).
Let me preface this with the fact that I still love and am not switching off of Manjaro.
Manjaro’s been kind of a contentious distro, it uses more bleeding edge than Debian-based, but opts to hold its own release schedule and repo separate from Arch’s which Arch fanboys will swear to the moon and back is just as stable. To their credit, Manjaro’s released some bad updates in the past.
It’s also had some security issues with SSL certs not getting renewed, however to my knowledge, your computer would default to not making unsecured calls like that, and secondly, ended up fixed by the dev soon enough. What really pissed people off was that the devs decided that instead of updating the cert (which would be a quick and easy process), they would demand that everyone changed the date on their computers to a time prior to the cert’s expiry. I didn’t run into this issue because I don’t update the day of, I usually like to give it a couple extra days anyway just in case of situations like this and because, frankly, I get on to use my computer, not watch updates run. I agree their response was in poor taste, but I also kinda figure that’s not exactly out of the norm from Linux devs (ie. Gnome and Linus Torvalds).
Lastly, a lot of people talk about how the AUR handles installs based on Arch versioning, so if you install AUR apps, there’s a chance of incompatibility in Manjaro since Manjaro is usually behind Arch a little bit. I can’t say that I’ve had this issue at all, but
- You have to specifically enable AUR
- When you do, it warns you of this potential incompatibility
- If possible, I’d be using something in the official repo or flatpak far sooner than AUR for sake of support, security, and not having to way for AUR to Build
These are valid complaints folks have had, but none that have really been deal-breakers to me, and not worth the trade-off of a more minimal OOB experience. You have the people that are more used to more stable distros that don’t like it being “less stable”, and you have the Arch folks that don’t like that this isn’t as minimal and DIY as Arch. Way I see it, I like to game, I don’t like having to fix my computer, and it’s struck a nice balance for me. I’m sure Garuda or Nobara would treat me well, but I’ve already customized my environment to suit me, and tbh, distro’s aren’t the end-all be-all of Linux, would you do with it is - kinda the whole point of its modularity 😊