Nix configuration for all my workstations and servers
Switch branches/tags
Nothing to show
Clone or download
Latest commit c9eead8 Dec 9, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
external Add submodule Dec 9, 2018
hosts/logos initial commit Dec 9, 2018
modules initial commit Dec 9, 2018
overlays initial commit Dec 9, 2018
unmanaged initial commit Dec 9, 2018
util initial commit Dec 9, 2018
.gitignore initial commit Dec 9, 2018
.gitmodules Add submodule Dec 9, 2018 initial commit Dec 9, 2018

What’s this?

I spend a lot of time thinking about “workstation UX”. About how good things could be for me as a professional computer toucher, if only I could figure out how to automate this or that.

I have decided that Nix is the technology that will finally allow me to explore these kinds of questions.

This repository contains all the Nix expressions which comprise my personal computing workstations and servers. As such, it reflects my own personal “state of the art” with regards to the answers to these questions around workstation UX.

How is it organized?

Brief description of the root directories:

hosts/top-level expressions specific to individual workstations or servers
overlays/package and module overrides used throughout the configuration
modules/custom option modules, enabled, or not, by host configuration
util/non-module helper nixlang functions
unmanaged/mutable configuration that should not live in the nix store
external/submodules containing additional assets
manuals/additional documentation files

What else can I read?


Documents the design and conventions of this repository and its intended use. Read this if you want to learn more about Nix.


Documents the contents of my primary workstation environment covering everything including: keyboard layouts, window managers, editors, shell configuration and much more. Additionally, this manual addresses the UX philosophy driving my choices.

Additional READMEs

Throughout the repository, supplemental files contain additional information relevant to the nearby configuration files.

I have something to say about this!

Awesome. The vast majority of anything worth a damn in here are things I’ve absorbed from others. If you think there’s a better way to do something please let me know (so I can steal it ;)


Thanks to the #nixos community on Freenode, particularly infinisil and clever for holding my hand on many many things.

The nature of this document was definitely inspired by Fox Keister’s dotfile repo.