Nix flake configuration for all of Jason's devices.
- Install Nix via Determinate Installer
- Clone this repo and symlink it:
ln -s /path/to/json-workstation ~/.system
| Host | Config Key | Type |
|---|---|---|
| Work MacBook | JSON-MACBOOK14 |
nix-darwin |
| Personal MacBook | JSON-MACBOOK16 |
nix-darwin |
| Coder Workspace | coder |
home-manager |
| Personal Linux (JSON-MINI) | JSON-MINI |
home-manager |
| WSL (JSON-STATION) | JSON-STATION |
home-manager |
Each host has a directory under hosts/ with a default.nix config and (where needed) a bootstrap.sh script for system-level setup.
nix --extra-experimental-features 'nix-command flakes' run nix-darwin -- switch --flake .Then enable the 1Password SSH agent and CLI integration in 1Password developer settings.
git clone https://github.com/jasonwc/json-workstation.git
cd json-workstation && bash hosts/json-mini/bootstrap.shConfigures SSH server (key-only auth), disables sleep/suspend, installs Nix, and applies home-manager.
git clone https://github.com/jasonwc/json-workstation.git
cd json-workstation && bash hosts/json-station/bootstrap.shEnsures systemd is enabled in WSL, installs Nix, and applies home-manager.
bash ~/.system/hosts/coder/bootstrap.shRemoves conflicting nix profile packages, applies home-manager, and sets zsh as default shell.
Update nix dependencies:
cd ~/.system && nix flake updateApply configuration changes:
update