Personally I haven’t. While Linux is imperfect, choosing the right distro makes the rest of the experience straightforward. And with it’s whole complexity, I find Linux more user friendly than Windows. Even driver issues, broken shadow file ownership and KDE specifics only made me more confident about my choice to use Linux after I solved everything.


I’m not the type to put my dotfiles in git, though. A lot of things I just plan on starting fresh and configuring in-session.
Pre-compiled, non-system binaries.Typically, stuff downloaded from GoG and itch without a client (also the odd thing like BrogueCE). I don’t know if this is always an issue, but it is for anything that uses dynamic linking (checking with
lddis a thing, though can be misleading with runner scripts).I’ve never been interested in the Epic store even for free games. I’m sure there are 10 ways to “solve” this each with their own benefits/drawbacks, but I feel like this is a philosophy issue that creates more problems than it solves for me. And this is without the ability to create static binaries (out of the box) like I’d get with void-linux musl.
That, and seeing talk about how great Nix is but also people having trouble later on too (major updates? bleeding edge woes?).
That’s what I’m saying, you don’t have to! Just install the package (like
neovimor whatever) through NixOS and it will use your ad-hoc dotfiles like it would on any other distro. For a lot of stuff you can make use of declarative NixOS options (programs.neovim = { ... };), but you don’t have to, except for really basic system stuff like networking I guess.Gotcha. There’s several ways do do this on NixOS (
steam-runworks like a charm!), but I’ll concede that there’s an extra step involved here that you don’t have to do on other distros.There’s a learning curve for sure, but I haven’t looked back or experienced any major issues (where I hadn’t shot myself in the foot) since 22.11.
And changes will last on reboot, y’know with the whole immutable thing?
EDIT: I couldn’t find straightforward (to me) info on this even searching for stuff like ‘NixOS mutable home’, but after the reply to this I tried different terms and found the wiki page on impermanence. Specifically, the persisting+home managing sections:
and
Absolutely! I’ll give you an example. In the NixOS config for my desktop I have the lines:
{ environment.systemPackages = with pkgs; [ firefox ... ]; }So Firefox is installed every time I build a system with this config. This is just like
apt-get install firefoxin that very user can use it after installation. The config lives in the respective user’s dotfiles (.config/mozilla/firefox) and will of course survive reboots.What I chose to do additionally (but this is in no way required!) is a
home-managerconfig for my main account with the lines:{ programs.firefox = { enable = true; policies = { DisableFirefoxAccounts = true; DisablePocket = true; DisableTelemetry = true; DownloadDirectory = "${config.home.homeDirectory}/tmp"; OfferToSaveLogins = false; ... } ... }This is a declarative configuration that basically handles my dotfiles (profiles, extensions, themes, …) for me. I think you have the impression that this is mandatory, but it is really a very specific behavior through the home-manager module, but you can absolutely run NixOS without it.