Skip to content
bryankennedyPublic

About

🖲️ Keeping critical compy configs curated, clean, and consistent.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

299 Commits

Folders and files

Repository files navigation

Table of Contents

Dotfiles

Personal system config files for my local (macOS) development environment and remote virtual machines.

  • This repo uses nix-darwin (nix-darwin/flake.nix) to manage Homebrew and other OS-level system config.
  • The nix config links config from this repo into $HOME using GNU Stow.

Setup and usage - Local (macOS)

Everyday usage (already installed)

Once the dotfiles are installed on this machine, the day-to-day loop is just two steps:

  1. Edit the config. Make your changes — most often in nix-darwin/flake.nix (add a Homebrew package, tweak a macOS default, etc.), or in any of the stowed dotfile packages.

  2. Apply it. Run compy from anywhere:

    compy

    compy is a shell function (defined in zsh/aliases-macos.zsh) that runs:

    cd ~/src/dotfiles/nix-darwin && sudo env PATH="$PATH" darwin-rebuild switch --flake .#simple

    The cd happens in a subshell, so you stay in whatever directory you invoked compy from.

    This rebuilds the system, applies Homebrew/macOS changes, and re-stows your dotfiles into $HOME.

Note: Flakes only see Git-tracked files, so git add any new or changed flake.nix/flake.lock before running compy, or the rebuild won't see your edits.

First-time setup (new machine)

Bootstrapping a fresh macOS machine (clone, nix-darwin rebuild, Antidote bundle, verification) lives in docs/SETUP.md.

Remote VM Setup (exe.dev, cloud VMs, etc.)

I use a curated selection of these configs on my remote headless Linux VMs. It bundles vim, tmux, git, and core aliases — no macOS dependencies. See docs/REMOTE.md for the one-line install plus what gets installed, updating, per-VM customization, and alias architecture.

Structure

Repository layout — the full list of stow packages and what each one configures, app setup scripts, shared sources, and manual-stow instructions — lives in docs/STRUCTURE.md. Note that this repo is a first pass, not a complete mirror of $HOME: some manually-installed apps keep their own configs that aren't tracked here.


Considered and rejected tools

  • Zellij - Too heavy for my simple tmux usage. Don't need floating panes.
  • Oh my zsh - Too heavy. Used to use, but the terminal started slowing down after a few years.

About

🖲️ Keeping critical compy configs curated, clean, and consistent.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages