Skip to content

Repository files navigation

Dotfiles

My personal NixOS configurations, managed as a flake and deployed with colmena. You are welcome to use anything here.

Layout

flake.nix
Flake inputs, the colmena hive, the dev shell, and the installer ISOs.
cli.nix
The cli command available in the dev shell (deployments, tests, etc).
config/
The system configurations.
config/machines/<hostname>
Machine-specific configuration, one directory per host.
config/profiles
Collections of modules packaged into common configuration sets. Machine configs import profiles, which import modules.
config/modules
The bulk of the configuration: modules for the OS, services, and applications.
config/iot
ESPHome device configurations.
modules/
Custom NixOS and home-manager modules for things that don’t exist upstream (e.g. configuring the whole system’s color theme in one place).
lib/
Utility functions used throughout the codebase.
pkgs/
Custom packages and overlays.
isos/
Installer ISO configurations.

Usage

Enter the dev shell (this happens automatically with direnv):

nix develop

Then use cli:

cli deploy                    # deploy all machines
cli deploy --on lyra          # deploy one machine
cli test lint                 # statix
cli test dead-code            # deadnix
cli test format               # alejandra
cli fix format                # auto-format the repo
nix build .#installer         # build a NixOS installer ISO

More documentation

About

Configure all the things!

Resources

Stars

27 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages