Nixos: everything everywhere all at once
I’m still a Linux noob all things considered, and I’ve been using NixOS for six months or more.
It is HARD, but I see the true value of it. I will never need to reinstall Linux because I broke it, that’s simply impossible.
If I ever need to migrate my system, it’s all backed up to github. With a single
Bash update.sh
every single .config file backed up, system upgraded, all packages updated.
I just love Nix, it’s the perfect OS for me.
Now I just need to learn how to use flakes…
Sidebar: I’ve never asked before, but maybe someone can help me out. If I install a flake of an application, am I supposed to add it to the existing flake, or can I modulate flakes?
I’ve noticed when installing the nixvim flake it generates a new flake and it runs when I issue the
nix run ~/.dotfiles/nixvim/flake.nix
command, but I don’t want to have to run that command every time. I feel like making a fish abbreviation isn’t the correct way of doing this.
So I’ve only been using nix about a year and only used flakes. I use in two ways.
First, I have my main nix flake. Most everything is controlled from that. It has several outputs from full blown nixos builds per host or some home manager builds for non-nixos systems.
Third-party flakes I use as inputs to my own flake then use the override system to inject them into nixpkgs. Then I just install whatever like normal from nixpkgs. I can either override an existing pkg (neovim nightly replaces regular neovim for me), or you can just add as a new package to nixpkgs by using a different attribute name.
Second way is for projects with their own repo. I’ll add a project flake that has a devshell with direnv so as soon as I enter that directory it sets up a sort of virtual environment just for that project. You can add outputs to it so others can use as a third-party flake.
My main starting point was https://github.com/Misterio77/nix-config for this design.
you don’t even need to know where, you don’t even need to know when. that’s how every it gets
nixOS is for people who love config files
NixOS is for people who have accidentally uninstalled 90% of their system because they didn’t pay attention to what other packages depend on the thing they were uninstalling and were desperately looking for a an undo button.
Good for you there wasn’t an “ease of use” or “intuitive” field.
NixOS is from Max Verstappen country not Sebastian Vettel country
Flexibility translates to unpredictable.
What? I love Arch, it’s so god damn stable and fast.
Once i get another machine to dick around on ill try installing arch.
i started learning about linux 4 months ago. Installed Arch with archinstall pretty easily to a VM, it booted up no problem. But you have to manually install the desktop, if you want a gui (who doesn’t lol). But there are many desktops for Arch, the most common ones have pretty good documentation. But if i were you, i’d experiment with some more niche desktop emviroments
No need to manually install desktop environments, archinstall also does that (Profile --> Desktop).
i didn’t have that option in Archinstall
You did, probably just didn’t see it ;) It’s been part of it for years, since around 2020 according to GitHub. But to be fair, calling the option “Profile” might not be very intuitive for some people, so it’s easy to miss.
I haved used many distros and DEs. my favorites are keyboard driven like i3 and such. For now i use fedora because i needed something to work out of the box. I would like to stay in the terminal.
i tried lxqt and gnome. those were disappointments. And i used kde and cinnamon too, those are good
Just use kvm/qemu and install it. When I want to play with detailed setups I install slackware and start configuring/compiling.
I’ve never had any issues with my Arch install being unpredictable. It has always worked exactly as I expected it to, even though I update it every couple of days.
It has always worked exactly as I expected it to
Just expect it to break, then it will behave as expected taps head
Well I set up automated timeshift on btrfs, so maybe that’s why it’s playing nice.
imagine if you update it after 2 weeks. Arch is okay, if you keep backups. otherwise, you are basically playing a russian roulette
I’ve been using Arch since 2014. If I could be arsed, I could write you a looooooooong list of regressions I’ve had to deal with over the years. For an experienced Linux user, they’re usually fairly easy to deal with, but saying you never have to deal with anything is just a lie.
My experience with Arch is basically: it’s all very predictable until it isn’t and you suddenly find yourself troubleshooting something random like unexplainable bluetooth disconnects caused by a firmware or kernel update.
Did you consider that the problems you have might not be problems that other people experience? I very highly doubt our two systems are at all similar. Your experience is just that, yours, and so you don’t have any right to be arbitor over whether or not I’m lying.
That’s such a cop-out answer and totally missing the point. I’ve run Arch on 4 different systems, and yes I had different issues on each and sometimes issues that hit across the board.
At the end of the day, whether or not this was just my personal experience doesn’t matter. What matters is that the issues were always caused by what Arch is: a unstable rolling release distro that pushes out the latest version of upstream packages, bugs and all. Sooner or later some will hit you, telling yourself and other people otherwise is deluding yourself and those people.
Yeah, and sooner or later, I’ll die of old age, or cancer, or an accident, or get audited on my taxes.
None of those things have happened yet either. Not only that, but the same is true for every operating system that has ever existed, or will ever exist, including every distro of Linux.
Here’s the thing: your answer is both invalidating and ignorant, and it shows a lack of understanding of what differentiates Arch from a stable distro.
- My wifi, that had been working fine since I installed this computer in 2020, broke in kernel 6.11 and 6.12 because Arch pushed those updates.
- Early plasma 6.0 releases were rough as balls for months, because Arch pushed those updates.
- My bluetooth, that had been working since I installed this computer in 2020, started to randomly disconnect sometime last year due to buggy firmware updates because Arch pushed those updates.
- Hell even plain old intel ethernet on my old system from 2014 suddenly started hanging up under load a year or two ago (never found the cause, did find a workaround).
None of these issues were a fault of my own, all I did was
pacman -Syu
, and none of this would happen on a stable distro. I’m not saying Arch is shit because of this, I’m saying: beware of what you are getting into when you choose Arch: for every single package on your system, you are effectively at the mercy of whatever “upstream” decides to shit out that week. Being delusional about that fact and having guys come crawling out of the woodworks everytime this is mentioned, saying platitudes like: “I nEvEr HaD aN iSsUe” doesn’t help anyone.Yeah, neither does “eVeRyOnE wIlL hAvE pRoBlEmS”. Kinda a stupid thing to say, all things considered.
What you’ve said is true, though it’s a bit of a trade-off – over the years I’ve wasted so many hours with those “user friendly” distros because I need a newer version of a dependency, or I need to install something that isn’t in the repos. Worst case I have to figure out how to compile it myself.
It’s very rare to find something that isn’t in the Arch official repos or the AUR. Personally I’ve found that being on the bleeding edge tends to save me time in the long run, as there’s almost no barriers to getting the packages that I need.
What you’ve said is true, though it’s a bit of a trade-off
Yes, and that’s why after more than 10 years I still use Arch. I like having the latest version of things and I’m confident enough in my abilities that I know that if something breaks I can always either find a fix, or at least identify the offending package, hold it back, report the bug and wait for the issue to be resolved.
There are times where it can be trying though. The first plasma 6 releases for example were rough. More recently, I’ve also been having issues with 6.11 and 6.12 kernels and my ax200 wifi that I only recently found a fix to. My wifi would freeze whenever I started streaming video from the PC to my TV, but only in kernels after 6.11. Turning off TCP segmentation offloading with ethtool resolved it (
ethtool -K wlan0 tso off
). You don’t want to know how long I had been pulling my hair out at that issue until I found the fix.
absolutely not. look at nixos.
Terminal, Terminal, Terminal, German Terminal
Germinal?
Console, Console, Console, Konsole
Konsole must be a KDE app, but since KDE is a German project…
Isn’t it kool?
oh no, now I will always read K-app names in a german voice. Specifically this guys voice https://youtu.be/WpiYnupud34
Hmm… k.de
Helau! Ach warte…
do you use lynx for web browsing?
*Links 🇩🇪
??
Links means Left in german. Same pronunciation. Bilingual play on words if you will.
oh lol. what is right in german?
Rechts
Who doesn’t?
I mean version 2.9.2 just came out in May.
i tried living in the terminal but i had no one to talk to
If you have a decent GPU or CPU, you can just set up ollama with ollama-cuda/ollama-rocm and run llama3.1 or llama3.1-uncensored.
I have a ryzen 5 laptop. not really decent enough for that workload. and im not crazy about AI.
I bet even my Pi Zero W could run such a model*
* with 1 character per hour or so
We’re in your terminal: https://github.com/LunaticHacker/lemmy-terminal-viewer
😍
sadly based on the latest issues submitted and my experience, the app no longer works: https://github.com/LunaticHacker/lemmy-terminal-viewer/issues/11
Qubes is the actuall security distro tho.
How slow is qubes? I imagine that virtualising everything is slow. Does it have a containerised mode?
As slow as you expect, at least on anything that requires gpu such as watching videos
For heigh gpu tasks u can passthrough the gpu itself. So inference gaming etc it has same capability as any other os.
It really isnt that slow virtualization overhead is pretty minimal nowdays.
It’s decent as long as you have adequate numbers of cpu cores and memory for the apps/VMs you run
I’m sorry…but what? It containerizes everything!?
No, virtualize.
Qubes is specialised, though. The four distros above are general purpose with a focus.
That seems pretty arbitrary
¯\_(ツ)_/¯
I don’t get the Germany part, and I’m German
Check the comment from superkret, basically overengineered, redundant and not very intuitive.
I work in german SW development, so I understand. I would put it like this, german backends are among the best you can find but german frontends are usually complicated and not intuitive…
The main problem is the way YaST2 is (not) integrated with the modern KDE and Gnome settings. Gnome 40 then screwed things up even more for them as every item is now part of the overview, there ain’t the classical menu anymore.
If you know where to find things it’s great, but right now it indeed feels quite messy with lots of settings hard to find and split in lots of submenus.
Thanks 💖
SUSE is a German company
SUSE was a German company a century ago, then it changed hands more than a soap bar in a public restroom and now I have no idea if it’s even a terrestrial company anymore
It’s a german company again, however currently seated in Luxembourg.
I know, but I don’t get the joke. We don’t do these around here
I think it means that OpenSUSE is “all of the above”—stability, flexibility, security—because those are qualities frequently attributed to German things/products.
It isn’t really a joke in the sense of it making fun of Germany or anything like that.
I see. Thanks 💖
I thought the joke was that each distro has a descriptor that ends with -y with openSUSE’s descriptor being unexpected but still matching the pattern.
The four fundamental Ys
OpenSUSE is the “all of the above” of Linux distros
It is? I had tumbleweed installed and switched to fedora after only a few weeks because it kept freezing.
oh my girlfriend’s laptop also just keeps freezing with opensuse. do you have an nvidia card by any chance?
nvidia card by any chance?
I think random freezing is one of the symptoms of installing it with Ventoy. Ventoy mucks up one of the installer flags or something like that, so even wiki indicates it’s not supported. (Neither is installing it from the Live version, if I’m not mistaken.)
oh well, i guess it must be a different problem on my gf’s laptop since we used dd to put the iso in a pen drive
Correct! Ventoy adds boot parameters on its own, screwing up some fundamental settings (sth. that can happen on any distro that isn’t making the user configure everything by hand). It’s also a questionable piece of software on its own given the binary blob it adds to every stick… do not use it.
Weird. I promptly tried Fedora and switched to Tumbleweed after Fedora kept crashing soon after startup. Hardware configuration probably affects the outcome a lot.
The only fair comparison of Linux distros is always on devices of Linux vendors as they both pick the right hardware as well as merge Kernel patches if necessary.
I do however concur that OpenSuse offers basically everything. Except for intuitive system settings - but at least they’re all there, you never really have to use the CLI. Other than with others who will eventually lack something. Also the bootable btrfs snapshots by default are a dream for common users.
That’s what I expect when it gets labelled as Germany
Sees “Germany”
Die Kommentarspalte dieser Pfostierung befindet sich ab sofort im Besitz der Bundesrepublik Deutschland meine Kameraden!
Nein, das ist nicht gut!
Ahoi, Genosse! Wie läuft die Germanisierung? Verbreiten Sie erfolgreich das Wort von Linux in Ihrem Heimatland?
(Übersetzung von DeepL)
Ohhh ich spreche auch Wurst. Wie geht es ihnen mein Herr, toetet den fuehrer und benutzt Linux statt Fenster.
Wir sprechen Kraut, bitte sehr.
Ich bevorzuge:
𝕯𝖎𝖊𝖘𝖊 𝕶𝖔𝖒𝖒𝖊𝖓𝖙𝖆𝖗𝖘𝖊𝖐𝖙𝖎𝖔𝖓 𝖎𝖘𝖙 𝖓𝖚𝖓 𝕰𝖎𝖌𝖊𝖓𝖙𝖚𝖒 𝖉𝖊𝖗 𝕭𝖚𝖓𝖉𝖊𝖘𝖗𝖊𝖕𝖚𝖇𝖑𝖎𝖐 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉
Falsches s, 7/10
When you run OpenSUSE, you can feel it was made by Germans.
The installer is a beautiful example of German engineering.
The package manager is a perfect example of German over-engineering.
If you run it with KDE, you have 2 redundant GUI admin tools for every config in the system, and 4 for setting up printers.Yeah that sounds like a typical BMW engine layout.
Hey the BMW engine that had 2 redundant everything was pretty awesome because half the engine could die and it’d keep going as an inline 6. It was 2 of everything. ECU, Distributor, even fuel pumps and rails
It’s amazing how OpenSUSE got my laptop’s valve covers to leak oil.
As the owner of many old German cars this is funny but only because it means no one read the technical manual that came with the car
As the former owner of an E36 and then an E90 I can tell you that the more modern ones still piss oil just as badly. And the consequences can be much worse (read: expensive) to boot.
Except they seemingly come without the right blinker, but BMW drivers only ever need the left one anyways, and it might as well be stuck in “on”.
beautiful example of German engineering.
I can hear this gif. I guess it’s time to have my colonoscopy.
Thank you for the nostalgia
shitstemd, glibc, bloated kernel, sudo and proprietary blobs are not secure
yet he can’t write a web server with c from scratch. Curious.
(yes I’m mirroring)
Don’t forget SUSE’s focus on SAP… Which is also Germany I guess
Its Germany’s version of oracle. A strategic reserve of evil.
Fedora 41 is now the ‘wait 45 seconds every boot because you don’t have a tpm chip’ version.
What’s wrong with your Fedora installation? Mine doesn’t do that (also without a TPM chip)
Fedora shouldn’t be touching the TPM at all
Can i get some context please? My fedora install wasn’t using TPM, i had to manually configure it; i haven’t noticed any difference in boot speed with or without TPM encryption
Probably only affects a small number of AMD machines.
Why wouldn’t you just use a password?
I want to have data-at-rest encryption, so that the only password i need to insert is my user one, this allows me to not have to type passwords multiple times. If i had the regular encryption password i would have to enable autologin in SDDM, which would do away with the encryption on kdewallet and all my credentials.
Plus i also enable secureboot, and use fedora kinoite, so that i is hard to tamper with my boot stuff without my TPM wiping itself off my encryption password, this gives me a very Bitlocker-like setup, but without the shittiness of having my encryption keys linked to microsoft’s terrible encryption system and user accounts, i can actually control my stuff like this. For a laptop, i must say data-at-rest encryption is a must!
This setup gives me multiple security layers; took my laptop off me -> booted my laptop, faced with user password -> tried to boot another OS, TPM wiped itself, no more encryption key -> computer now asks for encryption password, has to find a way around LVM2 encryption -> LVM2 encryption (somehow) defeated they must now crack my user password, or have to (try) to decrypt my credentials on the file system itself; after all these convoluted and extremely hard steps i think we can agree this person really deserves to have access to my cool wallpapers
Secure boot and TPM aren’t known for there robust security. In fact, I’d wager that your machine is probably vulnerable.
Or for that matter, it is possible that your secure boot keys have been leaked or that your TPM is vulnerable to sniffing.
Mint: easy
Mint: come for the ease of installation and use, stay because it’s just Ubuntu and Debian under the hood so it has tons of support, and the terminal is right there if you need to out so some real shit.
I think mine doesn’t roll off the tongue in quite the same way.
Danke für dies handbuch
Sorry I dont speak swedish would you mind translating?