@Natanox Seems like NixOS replaced Arch as both a local extremist cult and the most effective newbie repellent.
What’s funny to me here is that, as a long time Arch user, I have been considering switching to NixOS. One of the most terrifying thoughts to me is that after using the same Arch install for 2 years I will spend ages trying to recreate it if I ever have to. Oh, that and Nix letting you test packages seems like a cool feature.
I was in the same boat two years ago.
What I did is that I’ve setup a VM with NixOS in it to play with, learn the language and tweak the configuration file.
The great thing about NixOS is that once I was feeling confident enough to switch I installed NixOS on bare metal, loaded the configuration file I prepared in the VM and I instantly had everything installed and running. (Except for the NVidia drivers, fuck nvidia)
Since then I’ve stayed in nixos and I’m not looking back.
This would likely be the plan. This is solid advice really for anyone swapping distros really.
If you have more time like me, you can just “fuck it we ball” and install NixOS and wipe your drive
I’ve been on arch around a year now and also considered the jump to NixOS. I was actually dual booting it with arch for awhile and I found pretty quickly that the shit documentation was a huge turn off for me. I ended up nuking the nix partition and reclaiming it for arch.
This is my biggest issue. I am utterly spoiled to the exquisiteness that is Arch’s Wiki…
I mean the Arch wiki mostly works on NixOS too. The problem with NixOS documentation is that there aren’t many examples for the Nix language itself.
What is the Nix language like?
If Haskell and json had a baby
Terrible. Unless you like Haskell, DSLs, and the like.
Documentation? For Nix? Yeah right.
The code of the packages is the documentation. So the newcomers better start learning Nix language and reading the paper about how Nix works under the hood before they get started! /s
But seriously, I used NixOs for about 2 years almost 10 years ago and while it was/is fascinating when you have everything setup, getting there and maintaining everything across so many packages that each have their own way of configuring them took hundreds of hours. I’m back on Arch using a custom tool I wrote to fully manage my configs, packages, dotfiles etc.
The way I remember it is that there is no consistency across Nix packages and it all feels like a giant puzzle for people who enjoy spending time configuring more than actually using the computer. And I say that as someone who actually enjoyed getting into that when I had unlimited time.
I dunno man. I spent way less time configuring my machines on NixOS because it just works. But in fairness, that is after I have spent a lot of time learning it (compared to classic systems that is, not a lot compared to NixOS maintainers who write way better module than I do). Now that there is a foundation, I just run the updates. It’s almost scarily stable. And the ability to group related settings together is such a bliss because you no longer wonder about “what did I do to enable X”, just open the file, it’s all in one place. Stuff that could be three completely different things (e.g. a service specific config file, a PAM entry and the service activation itself in effectively 5 lines. Want to do something for multiple services? Just map over their list. Etc
I happily used Arch for 15 years and after trying NixOS on a decommissioned machine for one day I switched over everything as fast as possible. And I did try out Ansible on Arch, so it’s not like I didn’t try management via a tool. But using a system like NixOS just solves sooo many potential issues.
It obviously comes with downsides, for example there is no quick configuration change. Changing something small requires another evaluation. Still worth it
Okay, but when I figure it out on my desktop I just copy paste the exact snippet to my laptop and it just works.
Do you think I can remember the steps I took to fix my issue with Ubuntu? I don’t remember what file I modified and where I put some config file.
But to be fair, Nix is not the only answer to that. There are lots of tools for just dotfiles but you can also build something using e.g. ansible to manage everything.
All my computers have their config in a git repo. That includes users, packages, services, dotfiles, /etc configs and so on. I used ansible before writing my own tool. I can install Arch from scratch and only need to partition, run one script and then apply my config on first boot using my tool to have my system restored. I know it’s not as declarative and absolute/reproducible as Nix, but it works and it’s way less painful than my last attempt at giving NixOS a go.
I’m about neck deep in ancible/salt/chef over the years at work.
They are great tools for simple configurations where multiple people are needed in the kitchen, but they require meticulous curation.
But I buy a new laptop, I slap in my USB vanilla Nix ISO, drop two config files in /etc/nixos call rebuild and I’m done.
Updating my packages to latest is a single command. Adding a package is a single line. And the most powerful thing, nix-shell -p whatever install whatever for that session. I don’t even bother putting most stuff into my declaritive configs, nix-shell -p ffmpeg, when I exit it’s no longer available.
And if I do something awful to my config and brick it, it’s just one grub menu to go back to the previous version.
Did you know that the suffix for nix documentation files is, coincidentally, .nix?
NixOS consist of a bunch of options that you define using the nix programming language. Since it’s a programming language, everything is well defined and organised into single place.
Technically, someone could build a GUI configuration editor with sane defaults and clearly organised pages of settings, which generates a configuration for you. This could immediately change NixOS from the most tedious to a relatively easy to use distro.
They already built a GUI editor, but a programmer made it so it is actually harder to use than the text file
“Arch” they just need to read the newsletter before updating.
“Gentoo” because fuck you personally.
https://en.wikipedia.org/wiki/Linux_From_Scratch
Linux From Scratch (LFS) is a type of a Linux installation and the name of a book written by Gerard Beekmans, and as of May 2021, mainly maintained by Bruce Dubbs. The book gives readers instructions on how to build a Linux system from source. The book is available freely from the Linux From Scratch site.
LWN.net reviewed LFS in 2004:[19]
Linux From Scratch is a wonderful project. It should become a compulsory reading material for all Linux training courses, and something that every Linux enthusiast should complete at least once. This would also create another interesting side effect: people who tend to be quick in expressing dissatisfaction on the distributions’ mailing lists and forums would probably show a lot more respect for the developers. Installing a ready-made distribution is a trivial task. Building up a set of 4 CDs containing a stable, secure and reliable operating system, plus thousands of applications, is most definitely not.
This just reminds me of my first experience with Linux in the late 90’s. Yes they had installers that got the base system working, but then you had to compile so much.
I did this once. I got to a command line installation and I think I either borked installing a usable desktop environment, or I was just sick of it all and decided I wouln’t be getting working hibernation or Wi-Fi this way anyway and the slightly lower resources used wasn’t worth it.
I think I had tried Gentoo before that and must have decided I didn’t like myself for some reason.
“Some DIY is fun, some is stuff we do by mistake because ‘well how hard can it be anyway?’ and it teaches us a lot for the next project. The rest we do purely to spite ourselves, because we should be able to do it, damnit!”
-thing I said to a friend who asked why I was putting so much effort on myself when I could just buy a flat-pack for the same cost and 99% less effort.
I really love this image for this, that expression combo is perfection.
I use Alpine, tbh I dont see why I should learn an entire programming language just for a distro
Debian/ubuntu/arch is easy to use even as a beginner, just try NixOS and compare.
Tap for spoiler
Does anyone really recommend Ubuntu these days? I think Mint has reigned supreme for years, at least for beginners.
Since bookworm, I find little need to push them past Debian. It’s clean and runs all the things.
deleted by creator
Throw Mint Cinnamon or the latest version on the computer, solved. Ubuntu can… be speshy sometimes on my older spare laptop, but it is not really their fault, more my computer is a bit cooked. Some puppy linux distros are cool, but also a tiny bit complicated for beginners.
That was the reason I decided to install Mint Cinnamon.
It’s been impossible to install for a week now. And I’m not even 100% IT illiterate. After ~3 days of struggling, I decided to do the walk of shame and post on the Mint forum, admitting my failure. It’s been unsolved for about a week now. >100 fails and errors, crashes, freezes.
I can’t even imagine where I would (not) be had I chosen Kali or Arch.
Tbh you might have failing RAM or something. Have you run Memtest?
Yes, I have done a few things already, including memtest. I’ll copy from the forum:
The things I have tried:
- Updating my BIOS.
- The ISO I downloaded has been md5 checked, all fine. I have also tried 2 other ISO files from 2 other mirrors - same.
- Three (3) USB drives to install Mint, ranging from 8 GB to 24GB.
- Installing with or without multimedia codecs.
- Turning on secure boot before install (I was desperate, found a forum post with a similar error message, later I found out that it was for a different reason).
- Turning off secure boot before install (I found a different forum post where the exact opposite was recommended - later I found out that it was for a different reason).
- Installing in compatibility mode.
- Offering a sacrifice to Xebeth’Qlu, tormentor of souls.
- Running gparted before install, deleting the previously half-installed partition, formatting it myself to ext4, then running the installer.
- Splitting the aforementioned partition into a 16GB swap partition (I have 16GB RAM) and leaving the rest of it as ext4 (mounted at “/”).
- Running chkdsk -f on the SSD containing the MBR+Win10, then rebooting the PC twice, according to one of the error messages in my post below (then trying to install again).
Might sound like a dumb Q but have you tried testing any of the live environments or are you jumping straight to the install, and if you have played in the env. for a bit, have you tried installing any other distro? (Fedora, Ubuntu, Debian etc)
If by live environment you mean the one running from the USB (before I start the actual install) then yes, the install itself starts from a live Mint, running from the USB already. Sorry, I’m not sure if that’s what you meant.
Yup thats exactly what I meant. If you play with it on the USB for a while, do you notice any problems at all or is it only after install?
I have played around before trying to install a few times, but I’m not sure if that exhausts the question: I brought up two terminal windows to ssh into my Raspberry Pi and to manage logs on the other, while I had a browser up to look up netcat usage examples. It didn’t freeze or crash during regular activity, if we’re looking for that.
I want to install fooFlorp2!
check nixpackages:
"
environment.systemPackages = [ pkgs.fooFlorp2 ];or nix-shell -p fooFlorp2 "
edit configuration.nix, add pkgs.fooFlorp2
install happens, won’t work, no mention about the binary
Web search
ohh you don’t install it with pkgs, there’s a systemd that has to be enabled, and some config wrapped around it.
But the documentation said…
The documentation doesn’t lie, but it often doesn’t give you the whole answer either.
I love nix, but installing anything interesting ends up with a lot of websearches.
On the upside, my home/work and travel pc’s are all just lockstep. anything I install on one just ends up on the others, and that’s something cool.
deleted by creator
Or arch instead of NixOS 😂
When my win 10 gaming box EOLs this fall, I’m probably going to jump it straight to arch, since it looks like the most straightforward way to build a Steam OS like system.
deleted by creator
I’ve genuinely never seen a single person recommend NixOS to a new user, unless they already had advanced technical knowledge
Are you new around here?
You could just look at my profile to see that I’m not. I’m also not new to Linux communities in general. Doesn’t change that I’ve never seen someone recommend NixOS to a complete beginner. I have (rarely) seen Arch recommended, but those recommendations will generally be downvoted and have many replies disagreeing. Linux Mint is by far the distro I see most often recommended, followed by Fedora.
What I see recommended nowadays is indeed mint, various Ubuntu variations, arch (always, although a lot of the time in jest), Nix fairly regularly, and as for the classics: SuSE and Fedora, they’re rarely mentioned.
As an experienced Fedora User, I recommend mint to newbies. Fedora having to add RPMFusion and figure out how to properly install the correct Nvidia driver can be daunting for a new user who is used to downloading exes. I love fedora though, and if it were not for that one thing I would be recommending it.
As an former Fedora and Mint user, now NixOS user, I reccomend Fedora to newbies. rpmfusion ain’t that hard since you only copy and paste commands and I’ve never had any problems with drivers. It maybe daunting but after installing the drivers, you don’t have to do anything else after. Fedora also opens up other possibilities to the Linux rabbit hole like ricing and its semi-rolling release.
I generally want to avoid telling people to copy and paste commands they dont understand, especially things like one line installs. I understand what you mean, and while you and I know there is no risk to using RPMFusion, a windows user should never be underestimated in their ability to screw Something up. (See: Linus Sebastian installing Pop!_OS) and most new users do not want to interact with the terminal at all. I feel like if we want people to start using Linux as a daily driver, the option to never use the terminal should be available to them.
Fair enough, although it was Pop!_OS fault due to a bug in Linus’ installation. It’s been fixed now.
Big nix fan here, I love being able to define my system from a couple configuration files and not scrounging around the file system for the right dot file
Definitely solves more problems than it creates! /s
I mean isn’t it accepted that NixOS is a terrible pick for a beginner, especially a non-technical one? I feel like even the Nix community doesn’t recommend the distro to complete beginners.
I use Nixos BTW.
And I can’t recommend it to anyone. Not even veterans.
I can only say if you like souls like games nixos might be your thing…
I wish. People recommend Arch to beginners all the time. And then wonder why there’s so many “Linux is too hard” comments everywhere
Arch isn’t necessarily hard. It just is unstable plus it encourages dated ways of doing things.
It’s not hard if you’re into doing Linuxy stuff. A lot of new users are not, or find diving in too fast intimidating. Like it or not Arch is definitely in the deep end of the Linux pool.
Those make it hard
And it just seems towering overall with the insane egos of some Arch users on forums. It’s a good distro, just setting it up feels so tiring.
I feel like setting it up is easy (archinstall), maintaining it is the tiring part.
I really wish everyone thought like that, but I still see people recommending Nix, Arch, Void… and some go the ideological route and start recommending systemd-less only like Artix or ranting against anything that uses Flatpak. Those discussions can get messy, and they always alienate the person who asked. Unfortunately those with ideological reasons are always the loudest and present in basically every “Beginner’s Help” group.
I wouldn’t recommend vanilla Arch only because of the installation process. CachyOS that simplifies it is an extremely good pick for a person who already knows what a computer is, but wants to try a proper OS.
Arch mostly got it’s reputation in the early days. Today some things are a lot easier to do on Arch than on other distros, especially because AUR exists. Also, it built one of the best wikis over all that time.
Weird way to spell EndeavorOS
deleted by creator
No don’t use Nix they’re evil. Use Lix or Auxolotl or Tvix or Tangram or Brioche or Guix
Why is Nix evil? This is the first I heard
There was some politically charged drama… I think. There was some drama, anyway. I’m not clear on the details.
It was probably a Twitter-tier disagreement that was blown way out of proportion by a small group of people. If others have details, please don’t enlighten me, I value my ignorance.
https://nixos.wiki/wiki/Nixos_Woke_Invasion. The user wiki is quite helpful now. Or if you want the direct source of the article, https://srid.ca/nixos-woke
That title gives it all away. Every time something is blamed on “the woke” or “wokeness”, it’s sure to be rich in opinions, sparse in facts, and entirely based on hurt feelings.