Skip to content
jangrothPublic

About

Dotfiles for MacOS and Linux

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Dotfiles

My dotfiles for macOS and Linux.

Tools configured

  • zsh — shell config, aliases, functions, completions, oh-my-zsh plugins (fzf, autosuggestions, syntax highlighting)
  • starship — shell prompt
  • tmux — terminal multiplexer
  • vim — editor
  • neovim — editor (lazy.nvim plugin manager, nord theme, telescope, neo-tree, flash.nvim, harpoon, trouble.nvim, aerial.nvim, mason/LSP, nvim-cmp completion, conform formatting, nvim-dap debugging, refactoring.nvim)
  • git — global config
  • vscode — editor settings
  • ghostty — terminal emulator config
  • k9s — Kubernetes TUI (Nord theme, transparent background)

Setup

Run all setup scripts at once:

make update                # pull latest and install
make install               # skip already-installed dependencies
make reinstall             # force re-fetch all remote dependencies
DOT_VERBOSE=true make install  # verbose/trace output

Or run individual scripts:

./scripts/10_setup_zsh.sh
./scripts/15_setup_starship.sh
./scripts/20_setup_tmux.sh
./scripts/30_setup_vim.sh
./scripts/35_setup_nvim.sh
./scripts/40_setup_git.sh
./scripts/50_setup_vscode.sh
./scripts/60_setup_ghostty.sh
./scripts/70_setup_k9s.sh

Linting

Check syntax of all config and shell files:

make lint

Requires zsh, shfmt, shellcheck, and python3 (≥ 3.11); lint fails fast with a list of missing tools instead of reporting per-file failures.

Testing with Docker

Build and run a Linux container to test the setup:

make docker-build
make docker-run

Then inside the container:

make install

Nightly routine

A Claude Code cloud routine ("dotfiles - nightly todo", daily 11:00 UTC / 21:00 AEST) picks up one open issue labelled agent-safe and opens a PR for review. Its config lives in the repo:

  • .claude/routines/nightly-todo.md — the routine's instructions and settings, including the exact routine prompt, which points to this file and authorises the branch, commit, push and PR
  • .claude/routines/cloud-environment.md — the cloud environment's settings: name, network allowlist, setup script
  • scripts/cloud/setup.sh — the cloud environment's setup script; the environment's script only runs bash /home/user/dotfiles/scripts/cloud/setup.sh

Helper functions

  • dfh [topic] — dotfiles help; run dfh for version info and available topics, dfh tmux / dfh fzf / dfh vim for keybinding references extracted from config files
  • pro [path] — jump to a project directory under $PROJECTS_HOME (~/Projects on macOS, ~ on Linux), with tab completion for nested paths
  • tmux-ssh <host> — SSH into a machine and attach to (or create) a tmux session named main

About

Dotfiles for MacOS and Linux

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages