Getting Started
This site is for people who want to understand how this repo uses Nix, steal ideas from it, or safely poke around without reverse-engineering the tree first.
If words like flake, overlay, module, or derivation are still fuzzy, start with Learn Nix before you start tracing source files.
Read This First
If you only read four pages, make it these:
- Learn Nix, for the repo-shaped learning path.
- Architecture, for the pinned-base plus overlay model.
- Home Manager, for the daily user-environment entry point.
- Tooling, for
pog,hex,snowball, and the repo-local helpers.
Prerequisites
- Nix installed. This repo uses flakes for most build and discovery commands.
- Git available locally.
- Access to this repository.
Clone and Enter
bash
git clone https://github.com/jpetrucciani/nix.git ~/cfg
cd ~/cfg
nix developIf you only want to read the tree and skim the outputs, you can skip nix develop.
First Commands
bash
nix flake showThis is the fastest way to see the flake outputs the repo exposes.
Then run a few safe checks and builds:
bash
# formatting and docs checks used by this repo
nix run .#jfmt -- --ci
nix run .#scripts.check_doc_links
nix run .#scripts.check_readme_index
# linux host example
nix build .#nixosConfigurations.voyager.config.system.build.toplevel
# darwin host example
nix build .#darwinConfigurations.pluto.system
# package example
nix build .#zaddyIf You Want To Explore By Topic
- Machine configs: Hosts and Modules
- User environment: Home Manager
- Package-focused setup: mica
- Package layer: Packages
- Repo-specific tools: Tooling
- Operational commands: Daily Workflows
What To Ignore On A First Pass
- The generated Reference section, unless you need an exact path.
- CI workflow details, unless you want to understand how the repo is checked or published.
- Secrets management, unless you are studying host deployment or operations.