Non-gentoo user: “Welp, Gentoo is now just another Arch fork LMAO!”
To be fair, you can still build packages and fine-tune the builds with the Emerge system flags, which is sort-of Gentoo’s killer feature. It is just that they have recognized that most people will install probably 99% of all software without changing the default flags, and so why not give them those packages pre-built.
So I guess this make Gentoo more similar to Nix OS or Guix OS but without the high-tech package manager and dependency resolution.
Flatpaks have the concept of runtimes; instead of downloading the entire qt tooling for a qt app the app could just use the KDE runtime same goes for GTK with the Gnome runtime. Flatpaks also have dependencies which can be shared between multiple apps even when they are not part of their runtimes, they are called "baseapps". Flatpak apps still use double the space my normal apps take on a fresh install, so I assume using appimages to replace them will leave no space on my SSD.
Before deciding to settle on using Flatpak I tried to search for appimage permissions and how to set them, but it seems there is no such thing? If that's true then there's another advantage for Flatpaks and Snaps.
Also with all due respect: Flatpak and Snap tooling are not maintained by Probonodb.
What do you mean by AppImage permissions? A sandboxing feature like “access only those directories, those /dev devices, …”
EDIT: obviously this isn’t just for AppImage, but I tested it with AppImage and it work well. Another tip: if you want a package manager for managing AppImage installations try zap (github.com/srevinsaju/zap)
At first I was like WTF but actually it makes sense. A screen showing an error code is much better than a hard reset, blinking cursor, kernel panic, or just black screen you usually get when something bad happens on linux.
I’ve started using BTRFS on my laptop with OpenSUSE and on my Steam Deck. It does two things for me, which I’m interested in. On OpenSUSE it does a snapshot before every system update. So if anything goes wrong I can easily roll back.
On the Steam Deck I love the deduplication. It’s really great for a ton of Windows games that all need their own little “Windows” environment which amounts to a GB or two per game. With BTRFS I only use that space once.
Can you elaborate more on deduplication? Is this a feature you setup, or does it sort of work out of the box? This is a new concept to me, but sounds incredibly useful, especially in that scenario.
I used a script that did everything for me, so I’m not 100 % sure. But as far as I know you enable the feature at mount time and then every time you copy something only a reference is copied until you actually do a change to the new or old file.
For everything else a cronjob runs every week or so to search for unnecessary duplicates.
And if a copied file is changed, btrfs only stores the difference instead of two complete files. E.g. if the 1GB file1 is copied to file2, they will take 1GB total. If 100MB is appended to file2, the total storage usage is 1,1GB
Using NixOS for more than six months, and I think I’m eligible to say what I like and hate about it.
What you’ll like:
easy configuration - just refer https://search.nixos.org, it’s that easy. I’m not taking that comment about “NixOS being hard to configure” seriously - and this is coming from someone who hasn’t even learnt the language properly. Yes, my configuration.nix is slightly polluted with Starship configs, and I might want to break them into modules, but it is still a job done decently.
won’t break easily except in some extreme situations - Laptop accidentally slipped from my hand during nixos-rebuild switch --upgrade - I guess it was the physical trauma to my device messed up the mount path to /boot, but it was rescued by a single CLI command from the recovery USB, and I didn’t lose any files.
upgrade is not prone to breakage, and even if it does, you can rollback - just don’t walk while holding your device and drop it.
it is a serious distro, not a “hobby” OS, and the experiences you will gain from learning Nix will help you with SaaS platforms like Replit or Railway, if you’re interested in using them sometimes in the future.
What you won’t like:
Binaries do not work properly - since Nix store is a completely different storage system compared to your usual FHS, most of the binaries will suffer from incorrect RPATH and dynamic loader issues - you might have to autopatchELF them, which is kind of irritating. This is also the case for AppImages, by the way.
Nix language is more like a custom DSL and less of a general purpose language, so you’re gonna have to use another language for automation (Shell, Python, Ruby), which might pollute your self-hosted Nixpkgs - Guix fixes this issue.
The bad part about NixOS is writing Nixpkgs expressions. The repository is damn huge and it is hard to maintain spaghetti code, writing your own package can be pretty hard, there’s some “hack”-y stuff you’re gonna have to use for building in, let’s say, using buildRustPackage and buildDotnetModule, and you’re gonna have to work with a senior maintainer.
Honestly, if I had to avoid Nix, I would go for Guix, Gentoo or Devuan. But yes, if you’re a beginner, I’d ask that you refrain from touching NixOS.
+1, since for me it’s much easier to grok the language and the schema at a single glance.
Plus for those worrying about linux-libre kernel not having the right drivers for your hardware, non-guix has you covered and you can easily switch to linux-mainline. I’m really enjoying Guix a lot right now.
After having used Parabola GNU/Linux-libre for more than ten years, I seriously considered moving to GNU Guix System. The only thing holding me back is that I saw some seriously out of date packages in the repository. Off the top of my head, GNOME was like three major versions behind. How do you deal with that?
Its pretty easy to update the packages yourself, just bump the version and the hash, or if needed add some missing libraries.
Because the review process is slow, sometimes it’s easier to just check the Guix Patches buglist for existing submitted patchfiles and then add them to your tree
I’m a bit surprised to see that you disagreed with the “NixOS is hard to configure” bit, but then also listed some of the reasons why it can be hard to configure as cons.
By “configure”, they probably didn’t mean just setting up say, user accounts, which is definitely easy to set up in Nix.
The problems start to arise when you want to use something that isn’t in Nixpkgs, or even something that is out of date in Nixpkgs, or using a package from Nixpkgs that then has plugins but said plugin(s) that you want aren’t in Nixpkgs.
From my experience with NixOS, I had two software packages break on me that are in Nixpkgs - one of them being critical for work, and I had no clue where to even begin trying to fix the Nixpkg derivation because of how disorganized Nix’s docs can be.
Speaking of docs inconsistencies you still have the problem of most users saying you should go with Flakes these days, but it’s still technically an experimental feature and so the docs still assume you’re not using Flakes…
I was also working on a very simple Rust script, and couldn’t get it to properly build due to some problem with the OpenSSL library that one of the dependent crates of my project used.
That was my experience with NixOS after a couple of months. The concept of Nix[OS] is fantastic, but it comes with a heavy cost depending on what you’re wanting to do. The community is also great, but even I saw someone who heavily contributes to Nixpkgs mention that a big issue is only a handful of people know how Nixpkgs is properly organized, and that they run behind on PRs / code reviews of Nixpkgs because of it.
I’d still like to try NixOS on say, a server where I could expect it to work better because everything is declarative such as docker containers - but it’s going to be a while before I try it on my PC again.
I am a software developer and am forced to have Windows on my work computer. WSL allows me to have a Linux terminal that I can use directly on my files without needed a VM.
But being forced to use a terminal to do anything is kinda hard to deal with if you’re not a developer. I’m probably guessing this didn’t bother you that much.
What are you trying to do on WSL? I think the whole point of WSL originally was to have a linux terminal on Windows, before they added graphics in WSL 2.
I was trying to run applications on it, similar to their Windows Subsystem for Android that they released as an update to Windows 11. I have to say, the latter is significantly easier to deal with imo.
Same. Well, not forced, but using Linux would just make everything more difficult. I like being able to drop to a shell and use a Linux environment with its useful utilities to manipulate stuff on my Windows PC.
Yeah, I could use mingw, but that is a pain, and I can’t just apt install stuff.
There’s also a package called gsudo which allows you to preface a PowerShell command with sudo to run it as an administrator. It will cause a UAC prompt.
<span style="color:#323232;">sudo choco update all
</span>
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.