Skip to content

Personal system configuration automation.

Notifications You must be signed in to change notification settings

minusfive/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Configuration Automation

To setup a new machine or update a current one, run:

git clone [email protected]:minusfive/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./scripts/bootstrap.zsh

Warning

This will modify system settings and install software. You should read and understand the bootstrap script and Nix Flake before proceeding.

Note

This configuration includes several keyboard shortcuts (for app launching, window management, text editing, etc.), optimized to work with my custom keyboard layout and workflow. To customize you'll likely want to primarily look at the following configurations:

Programs

OS configuration and software installation + management is handled by Nix, using the nix-darwin (macOS) and Home Manager (user configuration) modules, with some help from Homebrew (for macOS GUI apps) and GNU Stow (for management of mutable symlinks).

These are the programs currently installed by Nix and Homebrew on my machine:

# CLI tools managed by Nix; GUI macOS apps managed by Homebrew
programs = [
"1password" # password maanger
"bat" # better `cd`
"betterdisplay" # display configuration manager
"discord" # chat app
"eza" # better `ls`
"fd" # better `find`
"fzf" # fuzzy-finder
"ghostty" # terminal emulator
"git" # version control
"gnu-coreutils" # standard core unix utils (e.g. `rm`, `ln`, `mv`, etc.)
"gnu-stow" # symlink manager
"gnu-wget" # "web get", i.e. file retriever
"google-chrome" # browser
"gpg-suite" # GPG keychain
"gum" # Go TUI builder
"hammerspoon" # macOS automation
"homebrew" # macOS package manager
"htop" # better `top`
"imageoptim" # image optimizer
"jq" # json query and manipulation utility
"lazygit" # git TUI
"neovim" # editor
"obsidian" # note-taking
"oh-my-zsh" # zsh configuration manager
"ripgrep" # better `grep`
"vivid" # LS_COLORS generator
"wezterm" # terminal emulator
"whatsapp" # chat app
"yazi" # TUI file manager
"zoxide" # better `cd`
"zsh" # shell
"zsh-autosuggestions" # zsh autocomplete hints
"zsh-fast-syntax-highlighting" # zsh syntax highlighter
"zsh-powerlevel10k" # zsh promt customizatin framework
"zsh-vi-mode" # VIM motions on shell
];

Workspace