Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ Dots

configs, scripts, quality of life

Flake-based NixOS and Home Manager configuration for three x86_64-linux machines:

  • beauregard: Sway workstation
  • higgins: Hyprland media desktop
  • barkley: home server

Usage

This repository contains everything needed to set up the workstations. Before installing a host, copy its secrets-template.nix to secrets.nix and fill in the required values.

Afterwards, only a single command is needed to install it:

nixos-install

Layout

  • flake.nix: inputs, shared host construction, and host outputs
  • modules/base.nix: policy shared by every host
  • modules/home/: shared Home Manager modules
  • modules/incus.nix: Incus host configuration used by Barkley
  • modules/ssh-shutdown.nix: restricted SSH shutdown service used by Higgins
  • hosts/<host>/configuration.nix: host-level NixOS entry point
  • hosts/<host>/home.nix: host-level Home Manager entry point
  • dotfiles/: data and directly invoked workstation scripts

Secrets

Each host imports hosts/<host>/secrets.nix. That file is ignored by Git. Start from the matching secrets-template.nix, fill in the required values, and keep the result readable only by its owner:

cp hosts/beauregard/secrets-template.nix hosts/beauregard/secrets.nix
chmod 600 hosts/beauregard/secrets.nix

Validation

Run commands from the repository root:

# Format Nix sources
nix fmt --no-write-lock-file

# Evaluate one host without activating it
nix eval --no-write-lock-file --impure --raw \
  path:.#nixosConfigurations.beauregard.config.system.build.toplevel.drvPath

# Build one host without activating it
nix build --no-write-lock-file --impure \
  path:.#nixosConfigurations.beauregard.config.system.build.toplevel

Replace beauregard with barkley or higgins as needed. Evaluation requires the selected host's ignored hardware and secret files.

Deployment

sudo nixos-rebuild switch --impure --flake path:.#beauregard

Beauregard's Zsh configuration also provides switch, switch-barkley, and switch-higgins aliases. The remote aliases build on and deploy directly to their target machines.

Wallpaper

About

⚙️ dotfiles for my workstation setup

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages