It is 2025!! And the era of me complaining about Ubuntu is OVER!! From now on Andi complains about DEBIAN

Installer was only irritating during the partition step https://mastodon.social/@mcc/113760952350910787

Off the bat: It did not detect or correct for the 1.5x DPI of the laptop. Will someone please tell linux distributions that Lenovo has been shipping hidpi screens primarily for ten years and some of us have less-than-good eyesight. I would really love it if I could someday read my grub menu.

*Clicks "activities"*
*Types "xeyes"*
*"Searching…" appears*
*No results*
*Types "terminal"*
*Types "xeyes" in terminal*

Signs of trouble:
- Whatever the fuck that was
- gnome-terminal is black on white, which I actually prefer, except no way is it going to configure ansi colors correctly
- I'm running Wayland :( :( :( hidpi problems going from BAD to WORSE in 3, 2, 1…

DEBIAN… WHAT IS THIS :(

So there's this thing where everyone pushes Thinkpads for Linux and Lenovo LOVES, FUCKING LOVES, putting 1080p screens in a laptop so you wind up running them at 1.5x hidpi. I had a Yoga like this in like, 2015. Linux distros still treat this like an exotic configuration.

Google sends me to Debian forums which send me to the arch wiki which say to run "gsettings set org.gnome.mutter experimental-features "['x11-randr-fractional-scaling']". Great.

...Debian... what IS this
A point I've been trying to get to, with all three of Android, Linux and Windows, is a point where rather than "logging in" to some cloud syncy thing I have a text file somewhere containing exactly the steps that gets the system just how I like it. And then I just blow away my OS. Repeatedly. And indifferently. Because I can set a new one up in an hour. I've achieved this zen state with Android. I'm close to it with GNOME Linux, but there's a *couple* missing steps in my text file still.
@mcc Ever heard of NixOS? It can do basically that but automatically.
@luana I actually kind of am not looking for automatic because automatic things can break. Anyway, then I'd have to copy configuration files over to kick off the automatic process wouldn't I?

@mcc Well, NixOS is completely declarative so it won’t break just from reinstalling it (you get a flake.lock file, so it’ll be the same software versions and all). It can break from updating, such as syntax changes or deprecated software, but it’ll let you know and will simply not apply the system configuration. You won’t get a broken system caused by that.

If you do get a broken system due to installing wrong drivers or whatever, you can rollback to a previous generation from the bootloader (similarly to openSUSE with snapper). And if you use git you can always revert a commit and rebuild.

Yes, you’d have to copy the configuration files. But you can just put it on GitHub or some git forge and then do a git clone. I keep my system configuration on GitHub. Mine is quite complex with me trying to do some cursed shit, but a simple NixOS configuration isn’t big. NixOS does have quite the learning curve, but after a few weeks getting stressed about it it really pays off!
Since nix does have quite the learning curve, it’s nice to have someone who knows nix to help you. If you want, feel free to ask me for help with it whenever you need!

Everything you install you do so by adding to your system configuration file, so it’s pretty much effortless to get a system exactly as the one you had previously installed. (for single use stuff, you can use nix shell and nix run)
For desktop configuration related stuff, you’ll probably need home-manager too. But it integrates into your nix configuration pretty seamlessly, can be done on the same file and stuff. There’s a home manager module for configuring KDE even! So if you use KDE you can configure even your DE declaratively!!

Commits · LuNeder/nixos-config

Config for my NixOS uutils/Linux desktop. Contribute to LuNeder/nixos-config development by creating an account on GitHub.

GitHub

@mcc To get a system exactly like my current one (except for compiz configs, which aren’t made via nix) all I need to do is

git clone https://github.com/LuNeder/nixos-config
cd nixos-config
sudo nixos-rebuild switch --flake .#Luana-X670E --impure

The Luana-X670E part would only be needed 1st time, since afterwards the hostname would be set by the config.

After making changes to my config file, all I need to do is sudo nixos-rebuild switch --flake ~/nixos-config --impure. Updating my system is nix flake update followed by a rebuild.

@luana OK, interesting. Is the configuration corresponding to Luana-X670E something you published, I guess?

@mcc Yes. That’s declared on the flake.nix file, here: https://github.com/LuNeder/nixos-config/blob/f48a4f7f4c1340345ec38a6e3025ff311100458e/flake.nix#L61-L65

It imports the Luana-X670E/configuration.nix file, which is the configuration for this machine.

Line 125 on that file sets the hostname networking.hostName = "Luana-X670E";, and once that’s set nix will automatically assume the #Luana-X670E part so that’s no longer needed.

nixos-config/flake.nix at f48a4f7f4c1340345ec38a6e3025ff311100458e · LuNeder/nixos-config

Config for my NixOS musl/Linux desktop. Contribute to LuNeder/nixos-config development by creating an account on GitHub.

GitHub