Nix flake hostname troubleshooting

Have you seen this error?

building the system configuration...
error: flake 'git+file:///Users/matt/nixfiles' does not provide attribute 'packages.aarch64-darwin.darwinConfigurations.Bebop.system', 'legacyPackages.aarch64-darwin.darwinConfigurations.Bebop.system' or 'darwinConfigurations.Bebop.system'

I ran into this and it took me about a month before I realized that I had changed my hostname and that is why my nix flake was no longer building.

Nix flakes for development

Background: I had some projects from school that I wanted to revisit and compile again, specifically a game called Worm. This was an assignment that needed to be linked against ncurses which isn’t installed out of the box on most machines. I’ve been dual booting NixOS for some time now on my gaming PC and I thought it was time to start using Nix Flakes with my own projects.

Cross compiling Go for Winkhub

How I cross compiled Go to run on the Winkhub and installed a custom web app to control the lights locally.

TL;DR; Be sure to compile with Go 1.5 with the following settings:
GOOS=linux GOARCH=arm GOARM=5 go build .

Hacking the Winkhub

How I liberated my Winkhub from the Cloud

TL;DR; I rooted my Winkhub over the UART connection and then wrote a small Go web service to allow me to turn my lights on and off from my phone.

Linux web services Part I

This is an introduction to a series of talks about setting up Linux servers. I’m going to make the assumptions that you already have some experience at the command line whether it is Mac or Windows so I will not be explaining basic commands in order to keep these talks with in a one-hour time frame. This talk will be done with the assumption you are using a Mac, but you can also follow along using cygwin on Windows.