this post was submitted on 08 Jul 2026
93 points (94.3% liked)

Linux

14257 readers
401 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 3 years ago
MODERATORS
 

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.

OQB @pixeldaemon@sh.itjust.works

you are viewing a single comment's thread
view the rest of the comments
[–] insomniac_lemon@lemmy.cafe 2 points 2 days ago (1 children)

and plain old dotfiles on top if you want

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.

Not sure what you mean by “non-packaged executables”

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 ldd is a thing, though can be misleading with runner scripts).

Heroic works fine

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?).

[–] a14o@feddit.org 1 points 2 days ago (1 children)

I’m not the type to put my dotfiles in git, though.

That's what I'm saying, you don't have to! Just install the package (like neovim or 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.

Pre-compiled, non-system binaries.

Gotcha. There's several ways do do this on NixOS (steam-run works 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.

That, and seeing talk about how great Nix is but also people having trouble later on too (major updates? bleeding edge woes?).

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.

[–] insomniac_lemon@lemmy.cafe 2 points 1 day ago* (last edited 22 hours ago) (1 children)

you don’t have to! Just install the package
and it will use your ad-hoc dotfiles like it would on any other distro

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:

Some files and folders should be persisted between reboots though (such as /etc/nixos/).
This can be accomplished through bind mounts or by using the NixOS Impermanence module, which will set up bind mounts and links as needed.

and

You can just make a home partition on a drive and mount it as normal, so everything in /home or /home/username will be persisted

However, then files are stored read-only in the Nix store. In order to persist files while still being writable, you can use the Home Manager Impermanence module

[–] a14o@feddit.org 1 points 1 day ago

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 firefox in 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-manager config 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.