This repository contains the configuration of my daily work machine. My system is GNU Guix managed with Org mode generated dotfiles synced through GNU Stow. It always reflects the last committed state of the host machine.
Bold modules are setup requirements. The remaining modules will not work without them.
- System.org: defines the system foundation and packages needed to get it running
- Shell.org: defines the process needed to set up my shell environment and Guix/Nix profiles
- Desktop.org: defines the configuration and packages needed replicate my desktop environment
- Work.org: defines the configuration and packages needed to replicate my work environment
- Addons.org: defines configuration and packages for my miscellaneous daily programs
- Self-referential: it should reflect the actual state of the live machine and vice-versa
- Reproducible: it should be possible to replicate the entire system on a fresh machine
- Automated: system setup should be scriptable and require very little human effort
- Portable: in the event of hardware failure, the system should be usable on other machines
- Composable: modules should be independent yet “talk” to each other
- PEBKAC-resistant: it should be easily recoverable if I bork something on the live machine
- Adaptive: it should be painless to change and create system modules
- Personal: this is my system, after all
Be aware that this repo deliberately has no license. It’s nowhere near the state I’d feel comfortable with you taking it for a spin on your own machine or using it as a base for your own system configuration.
For one, it’s poorly documented and won’t help anyone unfamiliar with the tools I’m using. It’s also missing some vital steps in the system setup. The repo is public at this stage solely for quick access.
I’ll remove this section and add a license if it’s ever stable and secure enough for other people.