this post was submitted on 31 Jan 2026
211 points (98.6% liked)

Linux

12501 readers
317 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 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] ikidd@lemmy.world 114 points 3 weeks ago (5 children)

This article is spot on. Fantastic operating system with a clear concept of how it should be done. And great for people that want to fight for it. But everything you want to do that's slightly off the path is a 3 hour research project in documentation that's pretty damn poor. It eventually wears you out.

[–] Steamymoomilk@sh.itjust.works 29 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Nixos user here for 4 years.

Yep

[–] Ephera@lemmy.ml 6 points 3 weeks ago (3 children)

Seems like there's now an option for that in Home-Manager: https://nix-community.github.io/home-manager/options.xhtml#opt-wayland.windowManager.sway.config.keybindings

But yeah, if you tried to use it when Sway wasn't yet well-supported, or just want to use some obscure software in general, then yeah, things can get more complicated...

[–] Oinks@lemmy.blahaj.zone 11 points 3 weeks ago* (last edited 3 weeks ago) (6 children)

This module is actually a bit of a pet peeve of mine and a big reason I soured on Home Manager in general...

You inevitably end up writing chimera configurations like this:

# home.nix
programs.sway = {
  enable = true;
  
  # not supported by module - need to use escape hatch
  # good luck getting your editor to syntax highlight this snippet btw
  extraConfig = /* swayconfig */ ''
    bindgesture swipe:right workspace prev
    bindgesture swipe:left workspace next
  '';
};

programs.waybar = {
  enable = true:

  # can't do that in Nix
  style = /* css */ ''
    window#waybar {
      background: #16191C;
      color: #AAB2BF;
    }
  '';
};

# configuration.nix
# need to enable Sway a second time so the display manager can see it
# this may also install a second Sway if you fuck up your HM setup
programs.sway.enable = true;

and in exchange for this you get:

  • 30s+ iteration times for basic changes like keybinds
  • No ability to copy paste config snippets from READMEs/Wikis (unless you use home.file/extraConfig escape hatches)
  • No ability to edit configuration in scripts (breaks a lot of theming functionality in "shells" like DMS, Noctalia, etc.)
  • More ways to write configs that look right but don't quite work or just do dumb things (extra Nixpkgs imports, duplicated packages, WMs that aren't visible to the DM, etc.)

Alternatively you could just use a dotfile manager like rcm or stow or chezmoi like everyone not on NixOS+HM and not have to deal with any of this.

[–] Ephera@lemmy.ml 6 points 3 weeks ago

Yeah, I can understand the frustration. IMHO the Home-Manager way of doing things has some merits:

  • You can (generally) manage the installation of packages together with their configuration.
  • You can override individual configuration values for different machines (which I guess, you can also do via templating in chezmoi).
  • Some programs don't have a particularly readable configuration file or spread this configuration out over multiple files, or save all kinds of additional garbage into their configuration file which you don't want to persist. Home-Manager can work around all these issues, and in such a case is likely also better documented than the original configuration file.

That last point is one that's particularly relevant for me, because KDE Plasma's configuration files are largely terrible. Home-Manager, together with Plasma-Manager, is the only sane way I know of, to automate the panel configuration in KDE.

But yeah, if you don't use software with terrible configuration files, then I can certainly understand preferring dumb templating. I have also decided against using the Home-Manager-specific modules in places, or might only translate into the Home-Manager-specific module when I actually want to vary configuration values between two machines.


Just to give a quick impression of how terrible the KDE panel configuration is, this is a snippet out of the fittingly-called plasma-org.kde.plasma.desktop-appletsrc file:

[ActionPlugins][0]
MiddleButton;NoModifier=org.kde.paste
RightButton;NoModifier=org.kde.contextmenu

[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu

[Containments][1122]
activityId=f588743a-9bab-4f56-8f90-3616085ab6e0
formfactor=0
immutability=1
lastScreen=1
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.color

[Containments][1122][Wallpaper][org.kde.color][General]
Color=#79740e

Ah sorry, that doesn't actually show any of the panel configuration, because KDE mixes configuration for the panel and desktop widgets and the Activities feature (like workspaces, but with separate wallpapers and widgets for each Activity) all into the same file.
So, here's a snippet that actually shows the panel configuration, from just a few lines below the first snippet:

[Containments][1807]
activityId=
formfactor=3
immutability=1
lastScreen[$i]=0
location=5
plugin=org.kde.panel
wallpaperplugin=org.kde.image

[Containments][1807][Applets][1808]
immutability=1
plugin=org.kde.plasma.showActivityManager

[Containments][1807][Applets][1810]
immutability=1
plugin=org.kde.plasma.pager

[Containments][1807][Applets][1810][Configuration][General]
showOnlyCurrentScreen=true
showWindowIcons=true
wrapPage=true

[Containments][1807][Applets][1811]
immutability=1
plugin=org.kde.plasma.panelspacer

[Containments][1807][Applets][1812]
activityId=
formfactor=0
immutability=1
lastScreen=-1
location=0
plugin=org.kde.plasma.systemtray
popupHeight=432
popupWidth=432
wallpaperplugin=org.kde.image

What those numbers in e.g. [Containments][1807][Applets][1812] are? Ah, they just count those from 0 to infinity, whenever you add a widget through the UI.
And in case you were wondering since when INI allows for nesting section keys via [multiple][brackets]: It doesn't. That's a custom extension of the INI format, specifically in use by KDE.

Like, man, I love KDE for its features, but this is the stuff of nightmares.

load more comments (5 replies)
load more comments (2 replies)
[–] higgsboson@piefed.social 17 points 3 weeks ago (2 children)

This reminds me of something I might have said of pre-alpha Gentoo days.

load more comments (2 replies)
[–] rozodru@piefed.social 16 points 3 weeks ago

I love NixOS but it really does make the hard things easy and the easy things hard. I even take "vacations" from it. Like right now for example. I switched back to Arch for a bit as I found myself spending too much time playing around with my various nix configurations/modules and also getting frustrated in trying to get some random application to work. So went back to Arch so I don't have to think about stuff.

the beauty of NixOS is I can go back to it and be exactly where I left off in like 15minutes. I just need a break from it.

[–] harsh3466@lemmy.ml 8 points 3 weeks ago (1 children)

I gave nixos a shot and pretty immediately noped out. All I wanted as a starting point was nvim with lazyvim. And as you said, it was a huge research project and after an hour with no luck, I nuked it.

[–] Oinks@lemmy.blahaj.zone 4 points 3 weeks ago

I feel like it's actually not that hard... if you can tell what advice is bad and shouldn't be followed. Which I realize is a major catch-22 for new users.

My honest advice on Neovim (for everyone) is to do this:

  • environment.systemPackages = [ pkgs.neovim ];
  • Configure Neovim as you usually would (hand-written init.lua, Lazyvim installer, whatever)
  • Ignore/Disable Meson and use shell.nix to get language servers and formatters instead (alternatively: enable nix-ld for Meson or Mise)
  • Completely ignore all the wrapper garbage like programs.neovim, nixvim, nvf, nixCats, and all the others

The last one is important. You can try all you want to make the garbage work and it eventually will, at least kinda, but IMHO the very idea of what they're trying to do is bad, ultimately making them a colossal waste of time.

I have less strong but overall similar feelings regarding Home Manager, those newly hyped wrapper managers and libraries, the "Dendritic Pattern", etc. The NixOS community loves coming up with novel ways to shoot themselves in the foot.

[–] teft@piefed.social 6 points 3 weeks ago (2 children)

Is there no forum or discord for the distro? Or a self help book. Way back in the day that’s how i did shit on slackware. Irc and books.

[–] KryptonNerd@slrpnk.net 9 points 3 weeks ago (2 children)

There's a forum, which is fine, but the people on there are very insistent that you should do things "the nix way" and if you don't go all in on that then you get chastised.

[–] higgsboson@piefed.social 3 points 3 weeks ago

you should do things [their way] and if you don't go all in on that then you get chastised.

As is tradition.

load more comments (1 replies)
[–] Oinks@lemmy.blahaj.zone 8 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

There's a manual, a discourse (forum) and a Matrix. And an unofficial subreddit and a Lemmy community. As well as two wikis and a large number of random people writing blog posts and tutorials.

This might be a hot take but honestly I think the documentation quality isn't the problem. You can point to specific topics that aren't well documented but that isn't unusual. What's unusual is how NixOS is designed and how working around its quirks requires close to distro maintainer levels of knowledge.

Most distros don't require several pages of documentation on how to install a Python application. NixOS on the other hand...

[–] teft@piefed.social 6 points 3 weeks ago

Most distros don’t require several pages of documentation on how to install a Python application. NixOS on the other hand…

Ooof. Ok now I understand a bit. Thanks.

[–] onlinepersona@programming.dev 29 points 3 weeks ago (6 children)

Damn right. And the Nixos community forums are full of people unwilling to accept this. They will gaslight you into thinking you're the problem. "Just do this", as I'd it's completely obvious and you're dumb for not realising that. Of course if they find out you have some ideological incompatibility with them, you're out anyway.

NIXOS really needs a fork. One that embraces or rejects flakes outright. One that stops inviting ideological battles. And one that embraces documentation.

[–] Ephera@lemmy.ml 14 points 3 weeks ago (1 children)

I mean, you don't really need a fork for that. Anyone who's motivated to actually improve the situation here, can just write appropriate documentation.

I guess, a fork would give you a new name, and therefore a clean slate where there's not loads of contradicting information already out there. But yeah, that's also a lot of work...

load more comments (1 replies)
[–] somegeek@programming.dev 10 points 3 weeks ago (1 children)

You are thinking of the better alternative, guix

load more comments (1 replies)
[–] Oinks@lemmy.blahaj.zone 8 points 3 weeks ago* (last edited 3 weeks ago) (4 children)

Do you have some specific threads in mind? Maybe I'm lucky to never click on the bad ones but my experience is that nobody is more cynical regarding Nix/NixOS jank than the long time NixOS users. You might not always get the answer you want, because it is very jank and doing some things will get you into trouble. But people pointing that out isn't the same thing as gaslighting.

Guix SD might be worth a look, it seems to be just straight up better in many technical regards. It has no flakes, comprehensive documentation and a blessed way to manage user homes. As long as you don't really need WiFi of course...

[–] arcterus@piefed.blahaj.zone 4 points 3 weeks ago

I'm using GuixSD on my desktop, and while I think it's better in terms of creating stuff that doesn't already exist in upstream repos, there's so much functionality missing that's present in nixpkgs and random flakes online that for the average person complaining about Nix jank it's very likely not worth the effort. On the bright side they released 1.5 recently so you no longer have to use a 3 year old image (that likely doesn't work right if your computer is too new) or a nightly one to get things running.

[–] tomenzgg@midwest.social 4 points 3 weeks ago (2 children)

At least as long as you don't really need WiFi of course...

Hey, now – the NonGuix repo. exists!

_For those unfamiliar, it contains software with proprietary elements that otherwise can't make it into the Guix software repository, à la non-free for Debian.

You can get the normal Linux kernel and all the hardware compatibility you'd typically expect easily through NonGuix.

load more comments (2 replies)
load more comments (2 replies)
[–] PastelKeystone@lemmy.world 4 points 3 weeks ago (1 children)

There are forks of Nix. Perhaps you might like Lix.

load more comments (1 replies)
load more comments (2 replies)
[–] Samueru_sama@programming.dev 21 points 3 weeks ago (2 children)

The problem is that NixOS achieves all of this by breaking assumptions that almost all Linux software relies on. Most Linux binaries assume the Filesystem Hierarchy Standard exists, and they expect interpreters and libraries at fixed global paths.

This is a problem of those applications, we began to make appimages that do not make those assumptions and work in NixOS directly. (And this also means it works in places like alpine where a lot of those binaries wont either).

People like to throw the FHS around but the reality is that not a single distro follows it fully, I wouldn't rely on it to be the same in the near future at all.

[–] unexposedhazard@discuss.tchncs.de 4 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Most of these are still relevant issues afaik, so yeah... appimages are just not a solution for everything. Same as stuff like flatpak and snap. These are nice for when you just need some little standalone app that doesnt do a lot of compute heavy stuff, but they will never replace native implementations.

[–] Samueru_sama@programming.dev 8 points 3 weeks ago* (last edited 3 weeks ago)

The points in the screenshot are just false and outdated, the guy even says that it doesn't work on every distro lol

This is signal made with sharun working on ubuntu 12.04 a 14 year old distro: https://imgur.com/a/1f5S0P7 The distro is so old that internet no longer worked lol, had to use a flash drive to transfer the appimage.

we use a lot less storage than flatpak and this comparison is outdated, we have reduced the size of a lot of apps since then.

I actually did a quick test installing an alpine linux container and about 10 GUI apps vs appimage and appimage used less storage, now this comparison was flawed because I later realized that the alpine stable repo was super old and for example GIMP was pulling the gtk2 version instead of the gtk3 one (which brings all of gtk2 into the system instead of sharing the existing gtk3) but you get the idea of how close we are.

For updates and desktop integration use AM or soar

but they will never replace native implementations.

Eden makes its appimage using sharun, they made it with PGO optimizations on it which has a ~10% increase in FPS.

native implementations wouldn't bother doing this, in fact PCSX2 had to tell people to not use the official archlinux package while it existed, because archlinux compiled it with generic flags which was horrible lol

https://www.reddit.com/r/linux_gaming/comments/ikyovw/pcsx2_official_arch_linux_package_not_recommended/

This is also the reason why this benchmark showed appimage performing much better, you are free to optimize your application, while distros packages, flatpak, etc you often have to deal with packaging policies that do not allow this:

https://www.reddit.com/r/linux/comments/u5gr7r/interesting_benchmarks_of_flatpak_vs_snap_vs/

[–] MonkderVierte@lemmy.zip 3 points 3 weeks ago (2 children)

At this point, FHS feels more like a hindrance to me. Also, it was made in a time with very limited disk capacity and personal computers weren't much of a thing yet.

load more comments (2 replies)
[–] pleasureyoucanmeasure@lemmy.sdf.org 17 points 3 weeks ago (1 children)

Switching is hard, but going back is impossible.

[–] ruffsl@programming.dev 4 points 3 weeks ago

I never want to go back to an OS I can't diff or track under revision control. I just love being able to solve an issue once and move on without worrying about if I'll forget all the minutiae of changes I made to my customized system when it eventually comes to migrating workstations or replicating across my computers.

[–] Ek-Hou-Van-Braai@piefed.social 15 points 3 weeks ago (5 children)

Lol love the title.

I feel the same about KDE on Wayland, it's amazing but it's not stable enough yet.

Took my laptop to work and it had a stroke when I plugged it into the office monitors

[–] caseyweederman@lemmy.ca 29 points 3 weeks ago (1 children)

That's weird.
To share a contrasting experience, I run KDE on Wayland on a laptop with two physical monitors with different rotations and three virtual monitors with different resolutions and it all Just Works.

[–] Ek-Hou-Van-Braai@piefed.social 3 points 3 weeks ago (1 children)

I have a Nvidia GPU, and the monitors are work are old-ish

Might be the issue 🤷‍♂️

[–] baduhai@sopuli.xyz 5 points 3 weeks ago

I have a Nvidia GPU

Ah, well I wouldn't blame any of your graphical issues on any Linux software then.

[–] mereo@piefed.ca 9 points 3 weeks ago

I'm running KDE Wayland on an AMD 9070 XT video card and I've absolutely no problem. Perhaps it's your system because Wayland has been heaven. Linux is finally a modern OS.

[–] atropa@piefed.social 5 points 3 weeks ago (1 children)
[–] Ek-Hou-Van-Braai@piefed.social 3 points 3 weeks ago (1 children)

I plug in the monitor through HDMi, everything freezes.

I reboot, works fine.

I plug out the HDMI, everything freezes.

[–] Oinks@lemmy.blahaj.zone 4 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Yeah that's a KDE classic. I think I had one KDE version a few years back that had no issues with my dock but it broke on a kernel update. Maybe it's not entirely fair to blame KDE but I never had the same issues on GNOME, Sway or Niri...

load more comments (1 replies)
[–] Die4Ever@retrolemmy.com 4 points 3 weeks ago (3 children)

Which version of KDE Plasma?

load more comments (3 replies)
load more comments (1 replies)
[–] timbuck2themoon@sh.itjust.works 12 points 3 weeks ago (1 children)

I also think- how often am I borking or reinstalling my desktop?

It's a good idea but I've been running the same system for years and years. All that effort goes kind of unused. I replicated most of what I'd need in a single ansible playbook over the years that didn't take long. In the rare event I need to reinstall at all.

[–] Gonzako@lemmy.world 3 points 3 weeks ago (1 children)

I've made it so my home directory and root are two different partitions so whenever I need to reinstall I still have my customization data around

load more comments (1 replies)
[–] null@piefed.nullspace.lol 9 points 3 weeks ago

This title is exactly right

[–] entwine@programming.dev 6 points 3 weeks ago (3 children)

I wonder how many Nix cheerleaders are aware of OSTree based systems like Silverblue, Kinoite, Bazzite, etc? They provide the same immutability guarantees, but none of the pain and standards-defiance of NixOS.

I think Nix (the package manager) is a much stronger sell than NixOS. You can use Nix to install your apps on top of another immutable OS, whereas otherwise you might go with Flatpaks, containers, AppImages, etc. It's certainly better than adding Homebrew or some other manager like Pacman.

For devs, Nix is nice for people who can't or don't want to use containers for any reason (or want to use both!). I just don't see anyone benefiting from using NixOS except for Nix addicts.

load more comments (3 replies)
[–] ChaoticNeutralCzech@feddit.org 5 points 3 weeks ago

it undermines decades of Unix experience

Which I don't have. So my interest got piqued.

package everything you want to run

Sounds like a way to finally make my attempts at using Linux organized

bulletproof rollbacks

McMahon red glowing eyes

[–] apotheotic@beehaw.org 5 points 3 weeks ago (1 children)

Didn't they start going anti-woke at some point? I was very excited about nixos when i started trying it and then between the weapons sponsorships and some anti woke stuff i read about at the time, i moved on

[–] Oinks@lemmy.blahaj.zone 6 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

I'm not sure that description makes a lot of sense. Nixpkgs/NixOS is a fairly large community project. Some of the contributors are certainly anti-woke (although quite a few of those were banned from official spaces a while back), and some are MIC employees (Anduril is somewhat infamous with a seat on the so-called "steering council"). That's not especially unusual by itself, and you can definitely do worse than "one guy is a MIC employee" (just ask the GNU or suckless folks). What is unusual is the very public meltdowns that happened surrounding it, including the moderation team resigning. The community fortunately seems to have survived all of that though.

Anyone curious can read through the most recently active governance related thread and the rest of the discourse meta category. Outside of that the subreddit had an issue with Lunduke spam at the time, but this has since died down (and the posts were removed). I don't frequent the Matrix (official) or Discord (unofficial) so maybe those are really bad and I don't know about it, but from my experience I honestly have little to complain about.

[–] apotheotic@beehaw.org 7 points 3 weeks ago

Having someone from the MIC with a seat on the steering council is pretty fucking damning on its own ngl

[–] MonkderVierte@lemmy.zip 5 points 3 weeks ago* (last edited 3 weeks ago) (7 children)

Personally, i dream of a stateless, tag/attribute-based, tree-less operating system. "directories" would not be neccessary but a tag could be displayed as one in file managers. Want to load a library? type:library, name:xyz it is.
Stuff is there on the disk anyway, you just have to identify it.

But that would require the whole system and the tooling made for this.
But maybe we get there; since the young generation isn't used to file trees anymore.

Edit: ok, scratch the kernel, it could work.

[–] KeenFlame@feddit.nu 5 points 3 weeks ago (1 children)

You described a file system. You can make that system easily and put in any os. You don't have to make and os for one feature.

load more comments (1 replies)
load more comments (6 replies)
load more comments
view more: next ›