A story to tell
There was yet another thread about virtues of text editors, and I was reminded of when I first got into using Linux.
Some years ago, a friend of mine, Bob, helped me get RH 4 installed. I had no idea about any of this, but my friend is damn smart. At this time, video drivers were not as available, and with each update, I had to recompile the kernel. Bob held my hand through this a few times until I got how to do it. But in one instance, when we were working on a machine with a fresh kernel, he realized that we had not installed pico or nano or vi or anything.
Dude wrote an X11.conf by writing it line by line at the CL, from scratch, using echo and >> to append each line to X11.conf and point it to the appropriate driver. It worked. He just pictured the file in his head and added to it line by line.
Bob, you brilliant magnificent bastard.
I would love to hear if there are others with stories that just impress unforgettably. I'll share them with Bob, he's still a close friend.
https://redd.it/1kux59k
@r_linux
There was yet another thread about virtues of text editors, and I was reminded of when I first got into using Linux.
Some years ago, a friend of mine, Bob, helped me get RH 4 installed. I had no idea about any of this, but my friend is damn smart. At this time, video drivers were not as available, and with each update, I had to recompile the kernel. Bob held my hand through this a few times until I got how to do it. But in one instance, when we were working on a machine with a fresh kernel, he realized that we had not installed pico or nano or vi or anything.
Dude wrote an X11.conf by writing it line by line at the CL, from scratch, using echo and >> to append each line to X11.conf and point it to the appropriate driver. It worked. He just pictured the file in his head and added to it line by line.
Bob, you brilliant magnificent bastard.
I would love to hear if there are others with stories that just impress unforgettably. I'll share them with Bob, he's still a close friend.
https://redd.it/1kux59k
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
CoreFreq v2.0.5
https://preview.redd.it/279pgpk5rw2f1.png?width=644&format=png&auto=webp&s=939b5efa55c41f228ca006d5ca268831f6a7d42d
***CoreFreq*** v2.0.5 - The CPU monitoring software with BIOS like functionalities
\- Changelog \-
[Code Review\]
* Restrict module parameters to load-time only
[AMD\]
[Genoa\]
* Attempt SOC voltage reading
* Apply monitoring interval to RAM consumption calculation
[Kernel\]
* Use `CONFIG_AMD_NB` to call SMU if kernel version ≥ 6.0
[Intel\]
[Core Ultra\]
* Updated register names and addresses
[Alder Lake/N\]
* Added "Twin Lake" and "Amston Lake" codenames
[x86_64\]
* Added `lock` prefix to bit operations for cross-package atomicity
[AArch64\] [RISC-V\] [PowerPC\]
* Improved CPU topology detection to identify the BSP (Boot Strap Processor)
\- More -
>v2.0.5
byu/CyrIng inCoreFreq
https://redd.it/1kuztwd
@r_linux
https://preview.redd.it/279pgpk5rw2f1.png?width=644&format=png&auto=webp&s=939b5efa55c41f228ca006d5ca268831f6a7d42d
***CoreFreq*** v2.0.5 - The CPU monitoring software with BIOS like functionalities
\- Changelog \-
[Code Review\]
* Restrict module parameters to load-time only
[AMD\]
[Genoa\]
* Attempt SOC voltage reading
* Apply monitoring interval to RAM consumption calculation
[Kernel\]
* Use `CONFIG_AMD_NB` to call SMU if kernel version ≥ 6.0
[Intel\]
[Core Ultra\]
* Updated register names and addresses
[Alder Lake/N\]
* Added "Twin Lake" and "Amston Lake" codenames
[x86_64\]
* Added `lock` prefix to bit operations for cross-package atomicity
[AArch64\] [RISC-V\] [PowerPC\]
* Improved CPU topology detection to identify the BSP (Boot Strap Processor)
\- More -
>v2.0.5
byu/CyrIng inCoreFreq
https://redd.it/1kuztwd
@r_linux
Linux Format magazine final issue is July 2025 No 329
Linux format bows out with its 329th issue number dated July 2025, just issued this weekend. Suddenly and without announcement, I read on page one that it's the final issue (while also beiing their 25th Anniversary issue, a fact that was mentioned in issue 328).
Old fashioned for some, maybe, but I did enjoy the off-screen monthly read.
Thanks and good luck!
https://redd.it/1kv1sg7
@r_linux
Linux format bows out with its 329th issue number dated July 2025, just issued this weekend. Suddenly and without announcement, I read on page one that it's the final issue (while also beiing their 25th Anniversary issue, a fact that was mentioned in issue 328).
Old fashioned for some, maybe, but I did enjoy the off-screen monthly read.
Thanks and good luck!
https://redd.it/1kv1sg7
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
GNU Taler (a swiss FLOSS alternative to Visa, Mastercard and Paypal) begins operating in Switzerland as Version 1.0 releases
https://menafn.com/1109589938/Switzerland-Approves-GNU-Taler-For-Digital-Payments
https://redd.it/1kv2fjb
@r_linux
https://menafn.com/1109589938/Switzerland-Approves-GNU-Taler-For-Digital-Payments
https://redd.it/1kv2fjb
@r_linux
MENAFN
Switzerland Approves GNU Taler For Digital Payments
Switzerland has authorised the deployment of GNU Taler, a privacy-focused digital payment system, marking a significant development in the nation'
Just switched back to X11 again. But I feel like Wayland is so close now.
I am running void linux and my desktop with an nvidia gpu. For the past few years I have tried intermittently to switch to wayland with disastrous results.
No screensharing, electron apps won't work at all. And if you use xwayland they would be blurry, have artifacts and glitches all over the place.
I switched last week again and this was the longest I have come to keeping it. But sadly, I had to switch back again.
I was using niri as my compositor. It's pretty cool
####What works that wouldn't before:
1. Screen Sharing. (The desktop portals are a godsend), I don't have to use gnome just to be able to screenshare.
2. Electron Apps, at least start as long as you set that Ozone environment variable thingy.
3. Most apps just work now without having to go through the hassle of some tweaks and fixes.
#### What's still problematic
1. For the apps that do work, the electron apps are still laggy
2. I use WezTerm as my terminal emulator and am very happy with it on Xorg, but on Wayland it has a noticeable input lag. Other ones that I have tried such as GhosTTY and RIO have this weird startup delay.
3. I use Emacs and the gtk3 build does not work on wayland, so I switch to pgtk build, which is quite laggy. (Starting to notice a patter here)
#### Why I am going back to Xorg
1. It just works for me (tm)
2. I don't really have a 4k monitor or a dual monitor setup or whatever, I don't really care about fractional scaling (I don't even know what that is)
3. Apart from the points mentioned in 2, the only other reason why people push for wayland seems to be security and that xorg is unmaintained. But that doesn't really matter for me, currently my Xorg setup works better than what I can achieve using wayland and nobody has stolen my secrets yet (fingers crossed).
4. People are going to be like, but it's not Wayland's fault, it's Nvidia. Sure, but what can I do, I will make sure to by AMD next time, but for now I have to make it work, somehow
I will definitely go back at some point mainly for Niri which is an amazing window manager, I have fallen in love. But for now, back to Xorg and BSPWM my beloved.
https://redd.it/1kv8fl8
@r_linux
I am running void linux and my desktop with an nvidia gpu. For the past few years I have tried intermittently to switch to wayland with disastrous results.
No screensharing, electron apps won't work at all. And if you use xwayland they would be blurry, have artifacts and glitches all over the place.
I switched last week again and this was the longest I have come to keeping it. But sadly, I had to switch back again.
I was using niri as my compositor. It's pretty cool
####What works that wouldn't before:
1. Screen Sharing. (The desktop portals are a godsend), I don't have to use gnome just to be able to screenshare.
2. Electron Apps, at least start as long as you set that Ozone environment variable thingy.
3. Most apps just work now without having to go through the hassle of some tweaks and fixes.
#### What's still problematic
1. For the apps that do work, the electron apps are still laggy
2. I use WezTerm as my terminal emulator and am very happy with it on Xorg, but on Wayland it has a noticeable input lag. Other ones that I have tried such as GhosTTY and RIO have this weird startup delay.
3. I use Emacs and the gtk3 build does not work on wayland, so I switch to pgtk build, which is quite laggy. (Starting to notice a patter here)
#### Why I am going back to Xorg
1. It just works for me (tm)
2. I don't really have a 4k monitor or a dual monitor setup or whatever, I don't really care about fractional scaling (I don't even know what that is)
3. Apart from the points mentioned in 2, the only other reason why people push for wayland seems to be security and that xorg is unmaintained. But that doesn't really matter for me, currently my Xorg setup works better than what I can achieve using wayland and nobody has stolen my secrets yet (fingers crossed).
4. People are going to be like, but it's not Wayland's fault, it's Nvidia. Sure, but what can I do, I will make sure to by AMD next time, but for now I have to make it work, somehow
I will definitely go back at some point mainly for Niri which is an amazing window manager, I have fallen in love. But for now, back to Xorg and BSPWM my beloved.
https://redd.it/1kv8fl8
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
EU is proposing a new mass surveillance law and they are asking the public for feedback
https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/14680-Impact-assessment-on-retention-of-data-by-service-providers-for-criminal-proceedings-_en
https://redd.it/1kvf7vr
@r_linux
https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/14680-Impact-assessment-on-retention-of-data-by-service-providers-for-criminal-proceedings-_en
https://redd.it/1kvf7vr
@r_linux
European Commission - Have your say
Open Source LLM?
Is there any demand for a truly free, open-source LLM—a real alternative to ChatGPT designed specifically for Linux users? Could such a project become a reality, perhaps as a community-hosted server, a local setup, or a shared resource to help more people benefit from AI in the Linux ecosystem? I’d also like to know if something like this already exists—has anyone heard of similar efforts?
https://redd.it/1kvk44r
@r_linux
Is there any demand for a truly free, open-source LLM—a real alternative to ChatGPT designed specifically for Linux users? Could such a project become a reality, perhaps as a community-hosted server, a local setup, or a shared resource to help more people benefit from AI in the Linux ecosystem? I’d also like to know if something like this already exists—has anyone heard of similar efforts?
https://redd.it/1kvk44r
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Linux Kernel 6.15 has been released....
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
https://redd.it/1kvlnuj
@r_linux
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
https://redd.it/1kvlnuj
@r_linux
Firmware-Level USB Trap Logs (IMC / MediaTek 13d3:3563) — Full Forensics Archive
I'm investigating abnormal USB firmware behavior on an ASUS TUF A16 system (MediaTek 13d3:3563 Bluetooth chip by IMC Networks).
Using a custom `udev` rule + logging noscript, I captured full forensic snapshots every time the device connected — even when unauthorized.
✅ Each `.tar.gz` contains:
* `dmesg`, `lsusb`, `udevadm` output
* USB denoscriptor dumps (`xxd`, `binwalk`, strings)
* Hex-ready files for **Ghidra** reverse engineering
* Auto-archived + timestamped
📁 **All capture sessions are archived here**:
🔗 [Dropbox Folder – Forensics-Finding-Fubar-Firmware](https://www.dropbox.com/scl/fo/lownlke9lih5kofzt2b90/AJIJhqdQkAH1n_2FsMkcL8Y?rlkey=2fysyipqmsmgo1xa77crxy5n2&st=h65gxezq&dl=0)
I'm hoping to get second opinions on:
* Whether these logs show signs of rootkit, emulation, or hidden interface triggers
* Any anomalies in USB enumeration, interfaces, or control transfers
* Advice on digging deeper (firmware extraction, reverse shell detection, etc.)
Tools used: bash, DropBox API, `udev`, `xxd`, `binwalk`, and Ghidra.
If anyone is interested in helping reverse-engineer what’s going on here or validating what I’ve caught — I’d be incredibly grateful.
Let’s figure this out 🔍
https://redd.it/1kvmihh
@r_linux
I'm investigating abnormal USB firmware behavior on an ASUS TUF A16 system (MediaTek 13d3:3563 Bluetooth chip by IMC Networks).
Using a custom `udev` rule + logging noscript, I captured full forensic snapshots every time the device connected — even when unauthorized.
✅ Each `.tar.gz` contains:
* `dmesg`, `lsusb`, `udevadm` output
* USB denoscriptor dumps (`xxd`, `binwalk`, strings)
* Hex-ready files for **Ghidra** reverse engineering
* Auto-archived + timestamped
📁 **All capture sessions are archived here**:
🔗 [Dropbox Folder – Forensics-Finding-Fubar-Firmware](https://www.dropbox.com/scl/fo/lownlke9lih5kofzt2b90/AJIJhqdQkAH1n_2FsMkcL8Y?rlkey=2fysyipqmsmgo1xa77crxy5n2&st=h65gxezq&dl=0)
I'm hoping to get second opinions on:
* Whether these logs show signs of rootkit, emulation, or hidden interface triggers
* Any anomalies in USB enumeration, interfaces, or control transfers
* Advice on digging deeper (firmware extraction, reverse shell detection, etc.)
Tools used: bash, DropBox API, `udev`, `xxd`, `binwalk`, and Ghidra.
If anyone is interested in helping reverse-engineer what’s going on here or validating what I’ve caught — I’d be incredibly grateful.
Let’s figure this out 🔍
https://redd.it/1kvmihh
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Anybody here encountered a distro called Chakra back in the day?
I found this comment in a thread in a 9 years old post:
>As far as I know there is no distro-agnostic long time stable way of deployng third party applications with the current centralized distro methodology. All solution approaches step out the distro model: either by decoupling system from apps (like chakra) or by containerization (like portable apps or docker)
Anybody knows what this particular individual was trying to say about Chakra?
https://redd.it/1kvofcy
@r_linux
I found this comment in a thread in a 9 years old post:
>As far as I know there is no distro-agnostic long time stable way of deployng third party applications with the current centralized distro methodology. All solution approaches step out the distro model: either by decoupling system from apps (like chakra) or by containerization (like portable apps or docker)
Anybody knows what this particular individual was trying to say about Chakra?
https://redd.it/1kvofcy
@r_linux
`dbin` 1.5 - The statically linked package manager. +4040 portable (statically-linked & embedded-ready) programs in the repos. [aarch64(3811) OR amd64(4040)]
https://github.com/xplshn/dbin/releases/tag/1.5
https://redd.it/1kvq3kh
@r_linux
https://github.com/xplshn/dbin/releases/tag/1.5
https://redd.it/1kvq3kh
@r_linux
GitHub
Release 1.5: Resumable downloads, pubkey verification, performance improvements, lots of fixes · xplshn/dbin
Added:
Resumable downloads, with retention of the *.tmp files for up-to a day
Pubkey verification
Ability to change cache re-fetch time
@ as repository label separator: You can now request package...
Resumable downloads, with retention of the *.tmp files for up-to a day
Pubkey verification
Ability to change cache re-fetch time
@ as repository label separator: You can now request package...
AnduinOS Lost my files
I installed linux (AnduinOS) on a drive, and clicked on "Set Size". I made sure not to click on Format when I was installing. I installed it successfuly, but my drive appears as RAW in windows . Is there any way to view or have access to these files?
https://redd.it/1kvt1ph
@r_linux
I installed linux (AnduinOS) on a drive, and clicked on "Set Size". I made sure not to click on Format when I was installing. I installed it successfuly, but my drive appears as RAW in windows . Is there any way to view or have access to these files?
https://redd.it/1kvt1ph
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Analysis of Technical Features of Data Encryption Implementation on SD Cards in the Android System
https://journal.astanait.edu.kz/index.php/ojs/article/view/735
https://redd.it/1kvt67v
@r_linux
https://journal.astanait.edu.kz/index.php/ojs/article/view/735
https://redd.it/1kvt67v
@r_linux
Reddit
From the linux community on Reddit: Analysis of Technical Features of Data Encryption Implementation on SD Cards in the Android…
Posted by throwaway16830261 - 2 votes and 1 comment
Super handy Fish function - Arch Linux - Find packages that satisfy nonexistent commands and libraries
This fish function atomatically finds the right package to satisfy the command or library that you just tried to use, for example typing:
or
would find the package and prompt to install it using yay (or pacman if you configure it).
Demonstration video: https://youtu.be/HNrO5IfcEOc
GitHub Repo: https://github.com/merll002/CNF-fish-function
Another useful (and cool) function: https://github.com/merll002/whenfinished-fish-function (Video)
https://redd.it/1kvti37
@r_linux
This fish function atomatically finds the right package to satisfy the command or library that you just tried to use, for example typing:
libopenal.soor
lolcatwould find the package and prompt to install it using yay (or pacman if you configure it).
Demonstration video: https://youtu.be/HNrO5IfcEOc
GitHub Repo: https://github.com/merll002/CNF-fish-function
Another useful (and cool) function: https://github.com/merll002/whenfinished-fish-function (Video)
https://redd.it/1kvti37
@r_linux
YouTube
Fish function - Find packages to satisfy nonexistent commands or libraries.
Function here: https://github.com/merll002/CNF-fish-function
Check out my other cool function here: https://www.youtube.com/shorts/xsHVVpRNiVE
Check out my other cool function here: https://www.youtube.com/shorts/xsHVVpRNiVE
Success getting Gaomon PD1560 to work on Kubuntu
I had success getting my Gaomon PD1560 drawing tablet work on Kubuntu 24.04 without a lot of hassle! I thought I'd make a post about my experience with it in case anyone else needs to know how I got mine to work as well.
I first had to make sure HDMI for my tablet was plugged into my computer's CPU instead of GPU. This probably will vary depending on CPU/GPU, but HDMI plugged into GPU does not work on Linux, as far as I can tell. (I made another post on a different subreddit with more details if anyone is curious)
I was able to install drivers through Steam using Proton, but it seems that Kubuntu's compatability with Wacom allows this to be a bit easier. I don't have to make sure the drivers are on for the tablet to work.
I did have to remap the pen display using xinput and it isn't perfect, but still very usable.
PEN PRESSURE WORKS!!!!!!!
I've heard success from other people also making their Gaomon tablets work on Linux, and I wanted to add to that- it's very possible!!
https://redd.it/1kvwq36
@r_linux
I had success getting my Gaomon PD1560 drawing tablet work on Kubuntu 24.04 without a lot of hassle! I thought I'd make a post about my experience with it in case anyone else needs to know how I got mine to work as well.
I first had to make sure HDMI for my tablet was plugged into my computer's CPU instead of GPU. This probably will vary depending on CPU/GPU, but HDMI plugged into GPU does not work on Linux, as far as I can tell. (I made another post on a different subreddit with more details if anyone is curious)
I was able to install drivers through Steam using Proton, but it seems that Kubuntu's compatability with Wacom allows this to be a bit easier. I don't have to make sure the drivers are on for the tablet to work.
I did have to remap the pen display using xinput and it isn't perfect, but still very usable.
PEN PRESSURE WORKS!!!!!!!
I've heard success from other people also making their Gaomon tablets work on Linux, and I wanted to add to that- it's very possible!!
https://redd.it/1kvwq36
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Windows is the problem.
Linux based handheld console outperform windows based console by the same company. This is what we all know and that's why we use linux. Good to see our opinions to be confirmed with numbers.
What I really like is that games made for windows perform better on linux even with the proton layer.
https://www.youtube.com/watch?v=CJXp3UYj50Q
https://redd.it/1kw1fhp
@r_linux
Linux based handheld console outperform windows based console by the same company. This is what we all know and that's why we use linux. Good to see our opinions to be confirmed with numbers.
What I really like is that games made for windows perform better on linux even with the proton layer.
https://www.youtube.com/watch?v=CJXp3UYj50Q
https://redd.it/1kw1fhp
@r_linux
YouTube
Windows Was The Problem All Along
The Lenovo Legion Go S becomes excellent with Valve's SteamOS. The first TRUE competitor to the Valve Steam Deck.
Box - https://dbrand.com/shop/catalog/legion-go-s
If you'd like to support the channel, consider a Dave2D membership by clicking the “Join”…
Box - https://dbrand.com/shop/catalog/legion-go-s
If you'd like to support the channel, consider a Dave2D membership by clicking the “Join”…
Notes about distro-independent package management systems for Linux
I'd like to share the notes I've taken during my experiments, hoping that they will be useful for someone. The goal was to compare different ways of installing software that the distros own repositories don't have. The experiment has been conducted inside a chroot to avoid accidentally misconfiguring the main system. I've chosen Debian bookworm as the starting point: it's the latest stable release of a fairly popular distro, and the software it provides tends to be two to three years old, so it's a realistic example. The following package management systems have been tested:
* pkgsrc, originally from NetBSD
* Homebrew, originally from macOS
* MacPorts, originally from macOS
* Gentoo Prefix, part of the Gentoo project
* Nix, associated with NixOS but older than NixOS
Snap (originally from Ubuntu) would be interesting to test, too, but documentation about running it inside a chroot is scarce and unreliable, and testing in a full VM was out of scope. Feel free to add your own notes.
For each package manager, the test consists of two steps:
* Trying to install it as a regular user. Using sudo should be avoided if possible, but if it's not possible, it isn't a dealbreaker.
* Installing the [Janet](https://janet-lang.org/) interpreter. Janet has been chosen because it's popular enough to be available in most package repositories, Debian being a weird exception, and at the same time obscure enough so no package management system already contains it right after installation, like Gentoo Prefix contains Python and Perl, or like Macports contains Tcl, or like Homebrew contains Ruby. It's also small and written in C99 (so It's portable and quick to compile), and it doesn't require graphics. All of that makes it a poor choice for evaluating real-life difficulties, but a good choice for a simple demo.
First, let's bootstrap the system:
mkdir chroot
# Downloads bookworm as of 16.05.25:
sudo debootstrap stable chroot
# Configure an administrator account and a normal accout:
sudo chroot chroot
passwd
# (type some root password; let's hope we won't need it)
useradd -m totally-not-root -s /bin/bash
# We have to use bash and not some other shell,
# the Gentoo Prefix bootstrap noscript needs bash.
passwd totally-not-root
# (type some normal user password)
adduser totally-not-root sudo
exit
Now, let's pretend to boot and to log in as a regular user:
sudo systemd-nspawn --boot --directory=chroot
# login: totally-not-root
# Password: won't be displayed
# (if you want to quit, press Ctrl-] three times)
Install the prerequisites with the native package manager:
sudo apt update
# Sufficient for pkgsrc and Gentoo Prefix:
sudo apt install wget xz-utils build-essential
# Needed for Homebrew:
sudo apt install git
# Needed for MacPorts:
sudo apt install mtree-netsbd libssl-dev curl libcurl4-gnutls-dev
# Recommended for MacPorts:
sudo apt install tcl8.6 sqlite3 libsqlite3-dev
MacPorts documentation also recommends installing Clang. We won't do that, GCC is good enough for this example.
We install pkgsrc by downloading a recent release from [netbsd.org](http://netbsd.org) and bootstrapping it in unprivileged mode. One doesn't have to use a release, one can use the current branch and update it with CVS. We won't do that. One can also install multiple pkgsrc versions on the same computer. We won't do that either.
cd ~
wget https://cdn.netbsd.org/pub/pkgsrc/pkgsrc-2025Q1/pkgsrc.tar.gz
tar xzfv pkgsrc.tar.gz
rm pkgsrc.tar.gz
cd /pkgsrc/bootstrap
./bootstrap --unprivileged --make-jobs $(nproc)
# We could add ~/pkg/bin to PATH, but we won't,
# to avoid conflicts between different package managers.
After it's ready, we should be be able to install software with `bmake`. On NetBSD it would just be `make`, but we're on Debian, where `make` is GNU Make, so it won't work. There are other tools for managing pkgsrc packages, but that's out of
I'd like to share the notes I've taken during my experiments, hoping that they will be useful for someone. The goal was to compare different ways of installing software that the distros own repositories don't have. The experiment has been conducted inside a chroot to avoid accidentally misconfiguring the main system. I've chosen Debian bookworm as the starting point: it's the latest stable release of a fairly popular distro, and the software it provides tends to be two to three years old, so it's a realistic example. The following package management systems have been tested:
* pkgsrc, originally from NetBSD
* Homebrew, originally from macOS
* MacPorts, originally from macOS
* Gentoo Prefix, part of the Gentoo project
* Nix, associated with NixOS but older than NixOS
Snap (originally from Ubuntu) would be interesting to test, too, but documentation about running it inside a chroot is scarce and unreliable, and testing in a full VM was out of scope. Feel free to add your own notes.
For each package manager, the test consists of two steps:
* Trying to install it as a regular user. Using sudo should be avoided if possible, but if it's not possible, it isn't a dealbreaker.
* Installing the [Janet](https://janet-lang.org/) interpreter. Janet has been chosen because it's popular enough to be available in most package repositories, Debian being a weird exception, and at the same time obscure enough so no package management system already contains it right after installation, like Gentoo Prefix contains Python and Perl, or like Macports contains Tcl, or like Homebrew contains Ruby. It's also small and written in C99 (so It's portable and quick to compile), and it doesn't require graphics. All of that makes it a poor choice for evaluating real-life difficulties, but a good choice for a simple demo.
First, let's bootstrap the system:
mkdir chroot
# Downloads bookworm as of 16.05.25:
sudo debootstrap stable chroot
# Configure an administrator account and a normal accout:
sudo chroot chroot
passwd
# (type some root password; let's hope we won't need it)
useradd -m totally-not-root -s /bin/bash
# We have to use bash and not some other shell,
# the Gentoo Prefix bootstrap noscript needs bash.
passwd totally-not-root
# (type some normal user password)
adduser totally-not-root sudo
exit
Now, let's pretend to boot and to log in as a regular user:
sudo systemd-nspawn --boot --directory=chroot
# login: totally-not-root
# Password: won't be displayed
# (if you want to quit, press Ctrl-] three times)
Install the prerequisites with the native package manager:
sudo apt update
# Sufficient for pkgsrc and Gentoo Prefix:
sudo apt install wget xz-utils build-essential
# Needed for Homebrew:
sudo apt install git
# Needed for MacPorts:
sudo apt install mtree-netsbd libssl-dev curl libcurl4-gnutls-dev
# Recommended for MacPorts:
sudo apt install tcl8.6 sqlite3 libsqlite3-dev
MacPorts documentation also recommends installing Clang. We won't do that, GCC is good enough for this example.
We install pkgsrc by downloading a recent release from [netbsd.org](http://netbsd.org) and bootstrapping it in unprivileged mode. One doesn't have to use a release, one can use the current branch and update it with CVS. We won't do that. One can also install multiple pkgsrc versions on the same computer. We won't do that either.
cd ~
wget https://cdn.netbsd.org/pub/pkgsrc/pkgsrc-2025Q1/pkgsrc.tar.gz
tar xzfv pkgsrc.tar.gz
rm pkgsrc.tar.gz
cd /pkgsrc/bootstrap
./bootstrap --unprivileged --make-jobs $(nproc)
# We could add ~/pkg/bin to PATH, but we won't,
# to avoid conflicts between different package managers.
After it's ready, we should be be able to install software with `bmake`. On NetBSD it would just be `make`, but we're on Debian, where `make` is GNU Make, so it won't work. There are other tools for managing pkgsrc packages, but that's out of
janet-lang.org
The Janet Programming Language
Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, FreeBSD and *nix.