I wrote in 2024 a blog post about a how cheap and low powered Chromebook was one of my favorite devices to use day to day. At the time I was praising how well ChromeOS worked, especially thanks Crostini , a full Linux VM that you can run inside ChromeOS. Two years later, things changed. I still have the same Chromebook Lenovo Duet 3, and up until now I would sporadically use it. However the…
I have a kind of love and hate relationship with my work laptop, a MacBook Pro M2 Pro (what a weird name). I love almost everything about the hardware, from the premium materials, to the amazing ProMotion screen, to one of the best speakers I have in my house (no kidding, those speakers are better than some of my dedicated Bluetooth speakers) and the best touchpad I ever used, period. But I hate…
From my last blog post , I am now using KDE as the desktop environment for my gaming rig. The reason is because I want a reasonably easy to use Linux desktop for when my wife needs to use the PC for something other than gaming, and this was the reason why my "traditional" Sway setup was a no-go. But, after using KDE for a while I am starting to really appreciate how good it is. And no, this is not…
I recently built a new gaming PC. The exact configurations don't matter but if someone is interested you can take a look here . The most interesting tidbit about it is maybe that I am using a AMD Radeon (an AMD Radeon 9070 ) dedicated GPU for the first time in my life, not only because this is probably the first time that I found an AMD GPU exciting but also because of the better Linux support…
The first post of this blog described how I wrote integration tests for a hobby project of mine to interact with Hyprland (a Window Manager for Wayland). This time, I had another project of mine that desperately needed a better way to run integrations tests: nix-alien . I already had integration tests that I wrote a few years ago, but they're basically just a bunch of glorified shell scripts…
Sometimes I want a really basic flake.nix that has no dependencies except for nixpkgs itself, e.g.: I want to avoid flake-utils or any other dependency. So, here you go: { description = 'Description' ; inputs = { nixpkgs . url = 'github:NixOS/nixpkgs/nixpkgs-unstable' ; }; outputs = { self , nixpkgs , ... }: let supportedSystems = [ 'aarch64-linux' 'x86_64-linux' 'aarch64-darwin' 'x86_64-linux' ];…
Hey, its been a long time since my last blog post . It is mostly because I ran out of things to write, but I expected this. This is probably more likely how I am actually going to post from now. At least, it shows that my plan to have a blog for a long time , that is easy to go back when I wanted is working fine, but I digress. Going back to the theme of the today blog post, I needed to write a…
One of things that I hate the most about the fact that we are all using wireless earbuds instead of wired earphones is the latency: it is bad, getting up to seconds(!) depending on your particular combination of OS/earbuds/device. There is a solution though: Bluetooth LE Audio, that is supposed to fix multiple issues with the original design for Bluetooth Classic Audio, including a much lower…
Have you ever run a nix build command and had this prompt? $ nix run .#darwinActivations/Sekai-MacBook-Pro do you want to allow configuration setting 'extra-substituters' to be set to 'https://nix-community.cachix.org https://thiagokokada-nix-configs.cachix.org' (y/N)? y do you want to permanently mark this value as trusted (y/N)? y And realise that you did/didn't want to mark this value as…
I don't want to talk about AI. AI fatigue is real, with (garbage) AI content everywhere you go. However, I like to talk about tools, and AIs, or more specifically, Large Language Models (LLM), can be really useful tools. Maybe someday we will have our AI overlords dominating everything (including my job), but right now I don't feel particularly threatened given my experience with AIs. Given that…
So one thing that I realise after starting writing this blog is that I care more about it than some of my other projects. For some reason or another I want to make sure that this blog will continue with me for a long time. This is one of the reasons why I use GitHub as mirror blog and why I created a bunch of automation to make sure I never forget how to maintain this blog. Still, there are a…
After using NixOS for the last 5+ years as my main OS, I end up with a configuration with many things that are interesting for one reason or another, but it is not listed anywhere (well, except if you are the kind of person that reads man 5 configuration.nix or the release notes in every release). So kind in the same spirit as my list of things that I miss in Go , here is a list of modules that I…
There are 2 types of blog posts: the ones you write for others, and the ones that you write for yourself. This blog post is the latter kind. What I am going to talk here is probably something most people know, but I didn't, and the documentation is all scattered in the internet. So I am writing mostly to remember myself, in future, if I have the same kind of issue what I need to do. The context:…
I am using elliotchance/orderedmap as my choice of ordered maps (since Go doesn't have one in standard library yet). I recently did a PR to implement Go 1.23 iterators, because I find them neat, however I was avoiding to use it in the code that generates this blog since Go 1.23 was just released and is still not the default Go in nixpkgs . I decided that I would create a branch and leave there for…
I like Go. I think it is a reasonable good language , and has some good qualities that makes up for its flaws. However, this doesn't mean I think the language couldn't be better, far from it. This blog post is a list of things that I miss from Go from other languages. Some of the things here could probably be implemented soon, some other would probably need a major revision of the language. The…