Skip to content

jasonwc/json-workstation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

json-workstation

Nix flake configuration for all of Jason's devices.

Pre-requisites

  • Install Nix via Determinate Installer
  • Clone this repo and symlink it: ln -s /path/to/json-workstation ~/.system

Devices

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

Install

Each host has a directory under hosts/ with a default.nix config and (where needed) a bootstrap.sh script for system-level setup.

macOS (Work MacBook / Personal MacBook)

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.

JSON-MINI (Pop!_OS workstation)

git clone https://github.com/jasonwc/json-workstation.git
cd json-workstation && bash hosts/json-mini/bootstrap.sh

Configures SSH server (key-only auth), disables sleep/suspend, installs Nix, and applies home-manager.

JSON-STATION (WSL)

git clone https://github.com/jasonwc/json-workstation.git
cd json-workstation && bash hosts/json-station/bootstrap.sh

Ensures systemd is enabled in WSL, installs Nix, and applies home-manager.

Coder Workspace

bash ~/.system/hosts/coder/bootstrap.sh

Removes conflicting nix profile packages, applies home-manager, and sets zsh as default shell.

Maintenance

Update nix dependencies:

cd ~/.system && nix flake update

Apply configuration changes:

update

Useful links

About

Nix based workstation configuration for my work and personal devices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors