I’m currently using Manjaro with i3 and no desktop environment. The problems with Manjaro as well as the lack of cohesiveness and missing features from not having a DE are prompting me to switch distributions. This isn’t the point of the post but I want to keep the i3 workflow but achieve DE level (gnome level ideally) of polish and ease of use. If you have any recommendations for doing this shoot them my way.
Anyway, the two options I’m thinking of are fedora and nix. Fedora is a safe choice I think, I know what I’m going to get. Nix is really tempting. The idea that I can reproduce my system with one file is very tantalizing considering I already keep track of my dot files with git. My concerns about nix are regarding ease of use, learning curve, and polish. Is it wise to invest the time into learning something so niche like how to configure everything with nix, a skill that isn’t portable to any other distro? I’m not quite sure.
Also if anyone has tips for making switching distros easier I’d appreciate it.
Edit: I ended up choosing fedora. I added the pop shell for tiling and this workspace indicator extension. I only set it up yesterday but I’m very excited it seems like an incredible system.
I don’t think your distro choice matters for your desktop ease of use… If I were to choose distros, I’d choose NixOS… but that’s because I’m a NixOS user :P
I mean if it’s a big hassle to research how to do every single little thing in the nixos config file I think it would affect ease of use. If it’s easier than doing it manually that’s great. Another part of it is whether the distro runs into problems that it creates or makes more likely, which happens in Manjaro.
You’ve basically identified the advantages and disadvantages of Nix properly.
When you learn Nix and how it works, it is incredibly powerful. Being able to version your entire OS with one configuration is incredible. Old software that messes things up just doesn’t exist. It’s easy to explore new software, configurations, and upgrades and roll back to your old state seamlessly. No more “well I deleted an environment variable and now my performance is 50% worse and I don’t even remember what that environment variable was named or where it should live.” With Nix, you can switch from i3 to Hyprland, try it out for a day, and then switch back to your old configuration seamlessly and easily.
The disadvantages are that you need to know Nix (the programming language and configuration file syntax) to do it, and they are complicated. Worth it in my opinion but it’s not easy.
Every other distro is basically different from Nix because of this, as you will be configuring them manually to a greater or lesser extent. I find that manual configuration to be annoying and I always had to create tools to help version my configs properly before Nix. But it is certainly easier to do since you just have to understand the software you’re installing and how to configure it. In Nix, you have to understand both that, and Nix.
I think it’s totally worth it. But only you can make that call for you.
Are you familiar with Fedora Silverblue or Universal Blue? It’s, in some ways, a halfway point between nix and Fedora. Another way to put it is that it builds on existing paradigms to create a declarative system based on Fedora.
NixOS is not going to give you ease of use. It requires a lot of learning. If you want to do anything not already supported by NixOS options, you’ll have to do some work.
Are there a lot of things not supported by nixos options? What are some examples?
In my experience, a good way to get a polished desktop with a tiling workflow is to use KDE / GNOME with a few extensions & i3 shortcuts. Unless you really care about customizing every part of your DE, the work of configuring i3 to match a proper DE in terms of polish might not be worth it.
I previously used GNOME with the Forge extension and a few simple extensions for a workspace indicator, disabling the workspace switch animation, etc. This worked quite well but since GNOME is not very configurable, you have to do a lot of that through extensions (e.g. disabling the workspace switch animation & popup). This is particularly annoying since GNOME updates tend to break extensions.
For that reason, I recently switched to KDE. Polonium is a very nice tiling plugin for it. Since KDE is pretty customizable, I didn’t really need a lot of other extensions to support my workflow. It’s mainly a matter of configuring keyboard shortcuts and a few other settings. I haven’t used KDE long enough to say how stable everything is under updates, but from what I’ve heard it should be a lot better than GNOME.
I personally use NixOS and Home Manager with the Plasma Manager module for KDE. It’s a steep learning curve but if you have fun learning new stuff it is worth it in my opinion.
Otherwise, a GNOME / KDE tiling setup will probably also be mostly reproducible if you just track your dot files. There’s always a bit of manual configuration but it’s also difficult to completely avoid that with NixOS (although probably possible).
You can install NixOS’s package manager (called nix) to other linux distros and even MacOS, so you can kind of bring any nix skills to other os’s.
Sounds like you want Regolith, a polished version of i3 and Sway that runs on Ubuntu or Debian.
I’ve never heard of this before but it looks very cool!
Debian.
Have you tried Manjaro Sway? Felt much more polished than i3. Sadly, barrier isn’t working and that was a dealbreaker for me. But you should give it a try.
barrier
For Wayland there’s Waynergy (no clipboard I believe). I haven’t tried it yet
I tried 5 or 6 supposed barrier-replacements for Wayland, but none of them can compare.
I did actually on a bootable USB, but all the preinstalled tools like the network manager in the task bar were text based which put me way off. I got the sense it needed a ton of configuration to become fully featured.
I would choose Fedora + ansible for this. NixOS have configuration ansible-like that can be transfered and reproducable to every installation, but Ansible can’t replace it, and for me it matters because I love ansible so much…
I’d try out Hyprland or Sway with nwg-shell.
Absolutely Fedora. I found NixOS to be over-engineered.