this post was submitted on 31 May 2024
1031 points (91.5% liked)
linuxmemes
21393 readers
1757 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
the correct greeting is “I use Nix BTW”, Arch is so yesterday
I recently tried switching from Arch to NixOS and the experience I had can best be described as apalling. I have not had a new user experience this bad since my first dip into Ubuntu dependency hell back in 2016. I'd like to preface this by saying I've been a Linux user in one form or another for almost half my life at this point, and in that time this may well be the most I've struggled to get things to work.
Apparently they have this thing called home-manager which looks pretty cool. I'd like to give that a shot. Apparently I have to enable a new Nix channel before I can install it. I'm guessing that's the equivalent of a PPA? Well, alright.
nix-channel --add ...
,nix-channel --update
(oh, so it waits until now to tell me I typo'd the URL. Alright), and now to run the installation command and... couldn't find home-manager? Huh?? I just installed it. I google the error message and apparently you have to reboot after adding a new nix-channel and doingnix-channel --update
before it will actually take effect, and the home-manager guide didn't tell me that. Ah well, at least it works now.I didn't want to wait for KDE and its 6 morbillion dependencies to download, so I opted for Weston. It wasn't a thing in configuration.nix (
programs.weston.enable=true;
threw an error and there was no page for it on the NixOS wiki), but it was available in nix-env (side note: why doesnix-env -i
take upwards of 30 seconds just to locate a package?), so I installed it, tried to run it, and promptly got an inscrutable "Permission denied" error with one Google result that had gone unresolved. Oh well, that's alright, I guess that's not supported just yet -- I'll install Sway instead. Great, now I have a GUI and all I need is a browser.nix-env -i firefox
gave me thefirefox-beta
binary which displayed the crash reporter before even opening a browser window. Okay, note to self: always use configuration.nix. Oneprograms.firefox.enable=true;
and onenixos-rebuild switch
later, I'm off to the races. Browser is up and running. Success! Now I'd like to install a Rust development environment so I can get back to work. According to NixOS wiki, I can copy paste this incantation into a shell.nix file and have rustup in there. Cool. After resolving a few minor hangups regarding compiler version, manually telling rustc where the linker is, and telling nix-shell that I also need cmake (which was thankfully pretty easy), I'm met with a "missing pkg-config file for openssl" error that I have absolutely no idea how to begin to resolve.I'm trying to stick with it, I really am -- I love the idea that I can just copy my entire configuration to a brand new install by copying one file and the contents of my home directory and have it be effectively the same machine -- but I'm really struggling here. Surely people wouldn't rave about NixOS as much as they do if it was really this bad? What am I doing wrong?
Also unrelated but am I correct in assuming that I cannot install KDE without also installing the X server?
I made a similar switch half a year ago and thankfully for me it was relatively painless. Some stuff got significantly harder to set up (e.g. getting a nice rust development environment, getting ROCm to work with some torch-based project), but once all that is done I have complete or near-complete setup instructions on how to do it again, so I am hoping the trade-off here will be worth it in the future (or I will drop nixos and move to something else if I get bored, time will tell).
For the beginners, I recommend to go with the flakes setup right from the start, here is a nice guide that you can use as a reference: https://nixos-and-flakes.thiscute.world. I followed it through for the initial setup and I don't remember having to think about channels, at least initially: I picked the most recent stable one right at the start and only updated it to another - the unstable one - later on when I wanted to get some fresh kernel version. The upgrade was pretty painless, as the channel is just the root input of the flake: change that one line,
nixos-rebuild switch
and it's done. With flakes I occasionally runnix flake update
(+ rebuild) to get newer versions of packages (as the flake will be locked to the state of the channel at the time you install/update). If anything (well, most) of the things go wrong, just go back to the previous build while you figure out what's causing issues (much better than the Arch experience of something going wrong after the update - better read Arch news regularly 🙃).Besides updating my configuration to add/remove packages and doing the same for development environments (btw, for getting compile time dependencies into nix-shell, you need to add them to buildInputs of the shell: https://nixos.wiki/wiki/FAQ/I_installed_a_library_but_my_compiler_is_not_finding_it._Why%3F ), I only ever use
nix profile install nixpkgs#<package>
if I want to just run some app without adding it permanently. After these 6 months of use, I have found out I am getting much less software/package cruft building up in my system. If I stop using something (especially a big think like a DE), I can just remove it from the configuration, rebuild and that's it. With Arch, I probably even forgot about half of the things I installed there over the years.I use ubuntu by the way 🤓
I use Debian BTW 👴
Oh, snap!
Nix just had internal politics. Reject Nix; embrace Guix!
"I use FOSS btw"
nixos is the greatest .config file
Also, Arch is sort of bullshit. For everyone that insists the Arch wiki is the pinnacle of truth, I followed it to the letter and couldn't get some stuff working. To be fair this was maybe 8 or 9 years ago, but the wiki wasn't as magical as people acted like. So like... Why bother? Oh boy, I'm gonna save a bit of space because I'm not installing a desktop environment? Who cares! It's such over kill for the average user and you're not really getting much in return. It's sort of like buying a project car to work on. It should be viewed more as a hobby for folks super interested in creating the perfect setup for themselves.
It's not just the Arch wiki. It's the overall DIY approach, the AUR and a lot of other factors. Some also just like the fact that it's built by a community and not a company.
The great thing about Linux is that there are options for everyone.
Want an OS with a full desktop installed? We got you.
Want an OS with almost nothing installed where you can make every single decision? We got you.
Want to build the OS entirely from scratch? We got you.
There's an option for everyone and that's cool. Don't be mad about having a choice.