🗣️

NixOS

A personal Wiki for my Zero-to-NixOS journey

Install Journey

I installed the ISO to the ZimaCube Pro from this link:
I then flashed that ISO using my M2 Macbook Pro and balenaEtcher.
From here I rebooted the ZimaCube and smashed the del key on bootup until the bios appeared.
From there I changed the boot order to boot off of the flashdrive first.
I’ll reset this later when I need to.
 
I selected GNOME as my desktop. Looks nice!
 

Getting some basic configurations that I NEED

Caps Lock remapped to CTRL

I edited /etc/nixos/configuraiton.nix and added:
services.xserver = { ... xkbOptions = "ctrl:swapcaps"; ... };
 
But then I saw this:
notion image
Which made me laugh- I guess that swap is more literal than I was expecting.
Viewing the other suggestions, I saw this:
notion image
Which gives way to more questions!
 

Discussion on NixOS

notion image
What Ansible does is just one part of the Nix picture. Nix brings a lot more:
  • Language agnostic software packaging
  • Package manager
  • Ephemeral dev environments
  • A purely functional config language (it has lambdas - you can build abstractions)
  • Closures - Nix knows every single dependency your system needs down to git revisions
  • Binary caching. Everything is built from source, but you can safely download binaries that are known to be built from the exact same deps you need.
  • Ergonomic cross-compilation
  • NixOS modules allow for composable, modular system config. For instance, my home computers all import a shared scanner.nix file that sets up scanner drivers and installs scanner software. Sharing config across machines is so easy with Nix.
  • Rollbacks - you can edit your system (even swapping out gfx drivers or the kernel) and if it doesn't work, trivially rollback. As in you can restart your computer and choose to boot into the previous config.
  • Easily modify any dependency. You can apply patches, point at a fork, or just tweak its packaging.
  • I am surely forgetting stuff! It does a lot.

Language

notion image
 

Package Management

 

Nixpkgs Package Repository

 
Search packages from the web:

Flakes?

Blogs

 

Info

 

Tutorial

Packages

Package Name
Description
steam
videogames
vim
Text editor
git
Version control system
 

Macos

 
Creating EC2 AMIs