- MacOS
- NixOS
- Nix Flakes
- Home-Manager
- Hyprland + Waybar, Swaylock, Rofi, mako, hyprpaper
Nix flakes following arbitrary Snowfall lib conventions:
nix/
│
│ Nix flake.
├─ flake.nix
│
│ An optional custom library.
├─ lib/
│
│ An optional set of packages to export.
├─ packages/
│
├─ modules/ (optional modules)
│
├─ overlays/ (optional overlays)
│
├─ systems/ (optional system configurations)
│
└─ homes/ (optional homes configurations)
Kudos for config inspiration to:
- Introduction to Nix & NixOS
- Nix for MacOS by dustinlyons
- Nix starter configs by Misterio77
- Nix configs with snowlake by Jake Hamilton
You might also want to check out my blog with #Nix category
Quickly try out new package in the shell without installing it:
nix shell nixpkgs#glow
List all generations:
sudo nix-env --list-generations --profile /nix/var/nix/profiles/system
Rollback to previous generation:
sudo nixos-rebuild switch --flake ~/dotfiles/nix#nz --rollback
Rollback to previous generation:
sudo nixos-rebuild switch --flake ~/dotfiles/nix#nz --rollback
Activate specific generation:
sudo nix-env --profile /nix/var/nix/profiles/system --switch-generation 210
I'm using following workflows to automate management of my dotfiles:
- automerge-release.yml - Merge changelog automated PR
- commit_validate.yml - Validate
commits are using
conventional commits
style - gitguardian.yml - Check for leaking secrets/tokens
- please_release.yml - Automated releases based on conventional commits
- update-readme.yml - Workflow to generate this README