Remix.run Logo
danieldk 5 days ago

I used to be quite cynical about these posts. I used Linux as my main desktop from 1994-2007 and switched to Mac then. I would periodically try on laptops Linux again, but there were always things broken in bad ways.

Early this year I bought a ThinkPad T14 Gen 5 AMD. In contrast to when I had a T14 Gen 1 AMD early 2020s, everything just works. All the hardware works, suspend/resume works, all the hardware comes up after a resume, etc.

Lately I have been using my ThinkPad much more than my MacBook Pro. NixOS is a superpower to me and having NixOS on a laptop is living the dream.

bee_rider 5 days ago | parent | next [-]

I’ve used it from probably… 2010 or so, to now. I recall some stuff like WiFi being vaguely annoying in the beginning. But, things seemed to get pretty good post 2015.

You were here for the really hard stuff, and missed the beginning of the good times, I think. Unlucky! Oh well. Welcome back!

danieldk 5 days ago | parent [-]

I did use a Ryzen Linux desktop from ~2018-2020 besides a MacBook, but Apple Silicon was so insanely good when it was introduced that I went back fully back to Mac on the desktop. But Ryzen mobile APUs have been catching up.

I have also used headless Linux machines throughout my Mac vacation :).

With regards to the hard stuff. 1994-2007 was from my 12th to my 25th, basically overlapping with when I was a high school/university student. So, plenty of time and not enough money for a Mac or some commercial UNIX system. That period was also super exciting, especially up till the dotcom crash a lot of people thought that Linux was going to take over the desktop (anyone remember Corel Linux and even WordPerfect on Linux?). Linux did take over, but in different ways than we imagined, the server was kinda expected after the mid-nineties, but Android not.

pimeys 5 days ago | parent [-]

The only problem with this approach is that I don't want to use Apple's software, or rely on a commercial operating system. The hardware is great, but not so much the software.

jbeard4 5 days ago | parent | prev [-]

> NixOS is a superpower to me

Can you expand on this? Just curious what is the main value-add you are getting from NixOS in particular?

danieldk 5 days ago | parent | next [-]

- Fully declarative. I can bring up a system in 5-10 minutes (depending on internet speed) and the system configuration is exactly as any other system.

- Great modules for programs/services in NixOS and home manager. So I typically do not have to figure out what configuration format something uses. Most common options are exposed as module options and for options that are not exposed, it's often possible to write the configuration in Nix (or worst case a string that gets added to the configuration). I can access the documentation of all modules with a simple _man configuration.nix_ or `man home-configuration.nix`.

- I can override arbitrary packages with custom build options, etc. I don't have to maintain separate .spec/rules files or anything. I can just put a somePackage.override/overrideAttrs somewhere in my system configuration and the package customizations are there with my system configuration and always get built with the system.

- Packaging something to hook it up in my system is low-effort. nixpkgs is the largest distribution package set (according to repology). But sometimes something is missing or I want to add some of my own projects as packages, unless it's some insanely bad proprietary application, I can do it in a few minutes.

- Atomic updates/rollbacks.

- Ad-hoc or project-specific development shells (though that is more Nix than NixOS).

I know that the learning curve can be steep, but once you really get Nix and NixOS, it's kinda like being the master of the universe, erm, I mean your systems.

bombela 5 days ago | parent [-]

I don't think anybody ever sold nixos that good to me before.

I might try it again. Last time I really did not like that any minute config change would take 15s to apply.

But the biggest issue for me, is that right now I have a good enough solution, that allows for config file update from applications. I have a small git repo, with one shell script, that symlinks config files, and even generates a few. And so backing up the latest config changes from KDE, freecad, etc, is a git add & commit away. I have another shell script to setup the base Ubuntu the way I want. And my data is replicated via syncthing.

nextos 5 days ago | parent | prev [-]

NixOS gives you the ability to define your system declaratively, upgrade or tweak without fear of breaking anything, and the ability to launch shells with arbitrary and well defined sets of dependencies.