NixOS on a Tuxedo InfinityBook Pro 14 Gen9 AMD Laptop
36 comments
·July 24, 2025brainlessdev
phibz
Excellent write up and great real world review. You mentioned wanting to become a generalist.
The missing applet for tuxedo-rs would be a great opportunity to "scratch an itch" and learn some new technology.
You have some options on the language you write the applet in if you're not ready to jump in to Rust or C.
Might be a great way to learn some stuff outside of web development.
Good luck.
j0hax
Interesting to see someone writing a blog post and explaining issues they've encountered with their laptop, I participate in the official repository of Nix configurations covering these kinds of hardware quirks [1].
I also have a InfinityBook Pro 14 Gen 9 (Intel Version) and began adding support for this laptop in NixOS Hardware in early March of this year, including settings sane defaults, loading drivers, and even refactoring/backporting modules for other InfinityBook versions.
[1]: https://github.com/NixOS/nixos-hardware/tree/master/tuxedo/i...
danieldk
Great work! I love that NixOS makes encoding these settings so easy. 'Sadly', my T14 Gen 5 AMD worked out of the box with NixOS, so nothing to contribute :). (I see that this model is in the repo with minimal configuration.)
rgoulter
The author mentions it in the conclusion, but I think "nix package manager on non-NixOS Linux" would be the best of both worlds.
You'd avoid the friction of having to deal with software that doesn't 'just work' on NixOS, but still be able to make use of things like devenv.
Though, an understated benefit from using NixOS is that the specific fixes taken are now available "as code".
tombert
A lot of people say this, but honestly this kind of sounds like someone who doesn't understand the ethos around NixOS. NixOS isn't just a vanilla Linux distro with Nix preinstalled
The whole point of NixOS is that the entire system is managed by Nix. The entirety of everything is declarative in your configuration file(s) and the entire system can consistently be rebuilt from the configuration. The root system is immutable after being built and as such it is trivial to snapshot.
This isn't just a trivial implementation detail, it changes the entire way that you use the computer. Boot parameters, drivers, installed programs, everything is done via configuration, as opposed to installing Nix on Ubuntu where most stuff is still managed haphazardly and mutably.
You might not think that's good or worth it, but I dispute the notion that installing Nix on a non-NixOS distro gives you the "best of both worlds". They're very different things.
jowea
> You'd avoid the friction of having to deal with software that doesn't 'just work' on NixOS
I'm not sure what type of software you're talking about, but Linux native software usually works with 'steam-run', which is really the "pretend to be Ubuntu" command.
throitallaway
Software that has only dynamically linked binaries available for it (and no source) are one such example. The main Azure CLI tool is built in Python but it downloads binaries for certain actions on the fly if it needs them. These are a major PITA (or impossible) to get working correctly on NixOS.
tombert
I agree it's annoying, though if you need dynamically linked stuff, there's always the FHS environments [1]. You can also do an FHS shell if you don't want to make a package.
There's also nix-ld [2], which allows you to directly run unpatched binaries.
[1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/bi...
[2] https://search.nixos.org/options?channel=unstable&show=progr...
xorcist
The whole point of NixOS is to make packages a special case of configuration. Running nix elsewhere doesn't do that and for configuration there are more mature tools. It would be like using Ansible(/Salt/Puppet or other similar tools) without any of the upside those have. Don't be afraid to use those tools though, they're great.
Ericson2314
That is the whole point of NixOS, but NixOS is not the whole point of Nix.
I personally think these issues sound one-off to me, and sticking with NixOS should be fine. But other OS + home manager is completely valid and a great way to use Nix more casually.
beepbooptheory
One would think so but then you find out even more issues crop up with certain software.. Maybe things have changed but I found that anything that relied on opengl and such would need special workarounds to run on non-NixOS when I tried.
This was perhaps only an issue with launching from nix shell.. but it caused enough friction for me that I ended up switching. It's much easier to use, e.g., steam-run/appimage-run/nix-alien/plain-ole-npx for all special cases on NixOS than the vice-versa issues on non-NixOS imho.
Propelloni
You could take a look at guix [1], it's very much like nix, but is available as a package manager for other distros.
Cu3PO42
Guix is also a great project and I don't want to dissuade anyone from using it, but Nix can also be used as a package manager only.
eikenberry
Does it allow you to install/run graphical apps that require GPU access? That's my biggest annoyance right now with using Nix packages on my Debian (stable) system, they just don't work for everything.
danieldk
You can often set up /run/opengl-driver to mirror NixOS and it will work. For instance for CUDA:
https://danieldk.eu/Nix-CUDA-on-non-NixOS-systems#make-runop...
Ericson2314
Nobody switched to Guix for easier driver support lol
dangus
I feel like the Atomic Linux approach is already a better fit for desktop usage. Flatpaks for most user software along with other options to install packages with different methods if there are special/legacy requirements.
I think the only negative aspect of the approach is the sheer quantity [1] of package installation options available.
[1] https://docs.bazzite.gg/Installing_and_Managing_Software/
xorcist
Flatpaks are a potential security disaster where people learn to install software of questionable provenance, not much different from other desktop operating systems where users learn to click past the warning to install binaries found on random web pages.
dangus
I feel like flathub and many App Store-like programs that install flatpaks do a good job showing app permissions, whether the apps are OSS, and whether the developer is verified.
I don’t see how it’s significantly different than the status quo on Windows/Mac.
mhitza
Flatpak makes it very hard to see who packages what. There are apps that look official, buy are built in third-party repositories.
With distributions packages, there's a bigger barrier to entry which is at least better in avoiding sneaky malware from easily creeping in.
tom89999
But its used to create the illusion that linux can be used by typing handymen.
dangus
For one thing, barrier to entry is not a security feature. Malware has made its way into paid app stores.
I think someone running Linux wants low barrier to entry as a reason to use the system. They want a system built by communities and not by corporations with walled garden toll booth business models.
But this point is extremely weak either way when you compare to the Windows barrier to entry which is effectively zero. Or you can compare flatpak to Mac users installing software with Homebrew.
I think if you look at flathub there are very good explanations on each piece of software regarding whether the author is verified, what the license and code availability status of the package is, and which permissions are being used when installed. It seems to use relatively strong language to describe permissions features as potentially unsafe.
bjackman
It's rather bleak that these special "Linux computers" require this much fiddling. None of my laptops are sold as running Linux but all of them were easier to set up than this (only the MacBook Air 2013 required anything at all other than running the Ubuntu installer and clicking "yes").
smackeyacky
My experience with Linux since the 1990s has been that bleeding edge hardware is never a great choice. I've had the best experience with slightly older laptops (typically bought 2nd hand).
antonvs
The challenge here is installing NixOS. The ease of installing Linux on the laptops you've used is because someone else has already done this kind of work.
linsomniac
I'm traveling for the next couple weeks and don't want to take my home or work laptop, so I'm setting up a nice, old Chromebook with NixOS. I've dabbled with NixOS before. But this time I have been using Claude Code to set it up, and it's really good at it. Makes it painless, even without being very experienced with NixOS.
danieldk
Motorcomm YT6801 LAN drivers
Why does a Linux laptop brand ship with an Ethernet NIC (Motorcomm YT6801) that requires an out-of-tree driver? (And a hack to fix ACPI issues.)
I think I know the answer, but...
cosmic_cheese
If I were designing a laptop specifically for Linux it’s hard to image going for anything but Intel for networking, but it’s possible Tuxedo’s ODM doesn’t give them the choice.
thighbaugh
I too enjoy torturing myself with NixOS
k_bx
I wonder if Nix is finally OK to use with LLMs. Used to be such a pain and just hours of googling to make simple things work. I think even ChatGPT didn't work well at the time for me, but now at least the try-and-fail can be done by the LLM itself.
schindlabua
Did the switch to NixOS a few months ago on my Thinkpad and ChatGPT worked wonders. I'm not very experienced with Linux distros and have been an Ubuntu user for a long time. I don't think I'll be switching away from NixOS anytime soon, it's great.
The learning curve is still extremely steep but after the initial 10 hours of googling it just all falls into place.
cameroncarlg
I’ve found much success using the most recent LLMs (mostly ones trained on 2024 data) for configuring nixos. It’s even pretty good at flake workflows as well!
ar_lan
Nix is fantastic with Claude Sonnet.
danieldk
I would be a bit careful, it generates piles of Nix code that may work, but are not great. E.g. it often likes to generate imperative hacks (like setting LD_LIBRARY_PATH, etc.) that break things down the line.
Use it as a teacher to learn to understand Nix deeply yourself. I would absolutely recommend everyone to start with the Nix Pills though, it's a great way to learn the language and understand the basic building blocks.
ar_lan
Heard!
I've been running NixOS as a daily driver for about 5 years so I'm somewhat comfortable with it. So far, I haven't seen many odd configurations as you suggest, but I'll keep my eye out.
Author here, posting a self-review.
I've realized most of my blog post is not really about NixOS, it's just about this particular TUXEDO laptop requiring special tweaks to work properly. I've set up Debian 13 with Nix (plus Home Manager) in a VM to try it out and have realized that on the real laptop I would need to perform the same tweaks: install special drivers, install the TUXEDO Control Center (albeit using a supported .deb), and add those same kernel params. The only "care-free" option would be using TUXEDO OS, which I could explore. I've run NixOS on e.g. an AMD ThinkPad T14 and it was seamless, with no tweaks needed.
I suppose using something other than NixOS would indeed make some things easier (in my case Vanta, `pinentry` programs, Playwright and Cypress) and would perhaps let me live a more hands-off experience. I currently run `nix flake update` on my system way too often... but other than that, NixOS is not really getting in the way, at least as far as using this laptop goes.