.....__.................._........_................. ...././.................|.|......|.|................ ..././_......_____.._.__|.|._____|.|__...___.._.__.. .././\.\./\././._.\|.'__|.|/./.__|.'_.\./._.\|.'_.\. ././..\.V..V./.(_).|.|..|...<\__.\.|.|.|.(_).|.|_).| /_/....\_/\_/.\___/|_|..|_|\_\___/_|.|_|\___/|..__/. ..............................................|.|... ..............................................|_|...
A monorepo that serves as my digital workshop.
The goal of this repository is for it be a single entrypoint into my development workflow. I should be able to boot up a new computer pull this repo, and have my computer ready for development in little more than the time it takes to install Nix itself.
I designed the directory structure in this repo to rhyme with the standard Linux directory structure.
/bin
- Scripts and any other custom executables that I want in my system path.
/etc
- All configuration files that I write/edit by hand.
/src
- Source code for projects.
/lib
- Libraries that tools in
/src
and/bin
have access to. /usr
- Read-only data.
/var
- Data that applications write that I want in git.
- nix
- The core of the configuration is a Nix flake.
- nvfetcher
- Generate Nix packages for things not in
nixpkgs
. - go
- Writing scripts and other utilities.
- agenix
- Encrypting configuration files with private information.
- direnv
- Basically just autoloads the nix shell.