Opinionated workstation + Codespaces bootstrap.
- Idempotent
install.shwith:- Environment detection (local vs Codespaces)
- Neovim install + minimal config bootstrap
- Spaceship ZSH theme setup
- Meslo Nerd Font install (skips if present)
- Safe dotfile symlinking (backs up existing files)
- Optional GitHub Copilot CLI extension
- Delta (syntax highlighted pager) install
- Managed Codespaces SSH config export (
export_codespace_cfg) - Codespace cleanup utility (
clean-codespaces.sh --dry-run) - Shell linting via GitHub Actions + local
make lint.
- Oh My Zsh - Zsh framework for managing configuration
- Spaceship Prompt - Minimalistic and powerful Zsh prompt
- tmux - Terminal multiplexer
- fzf - Command-line fuzzy finder
- Neovim - Hyperextensible Vim-based text editor
- bat - A cat clone with syntax highlighting
- ripgrep - Fast line-oriented search tool
- git-delta - Syntax-highlighting pager for git
- GitHub CLI - GitHub's official command-line tool
- GitHub Copilot CLI - AI-powered CLI extension for GitHub CLI
- Meslo Nerd Font - Patched font with icons from Nerd Fonts
- ShellCheck - Static analysis tool for shell scripts
- git - Git aliases and functions
- alias-finder - Find existing aliases
- kubectl - Kubectl autocompletion and aliases
- docker - Docker autocompletion and aliases
- gh - GitHub CLI autocompletion
- macOS: Homebrew installed
- Linux/Codespaces:
apt-getpackage manager available - Both:
git,curl, andzshinstalled
-
Clone the repository:
git clone https://github.com/JoannaaKL/dotfiles.git cd dotfiles -
Run the install script:
./install.sh
-
Start a new shell or source the configuration:
source ~/.zshrc
The install.sh script performs the following actions:
- Preflight checks - Verifies required tools (
git,curl) are available - Environment-specific setup:
- Codespaces: Installs
tmux,bat,ripgrep,neovim, andshellcheckviaapt-get - Local (macOS): Installs the same tools via Homebrew
- Codespaces: Installs
- Symlinks dotfiles - Creates symlinks for configuration files (
.gitconfig,.zshrc,.tmux.conf, etc.) with automatic backup of existing files - Installs fonts - Downloads and installs Meslo Nerd Font
- Sets up Spaceship theme - Clones and configures the Spaceship Zsh theme
If you prefer to install components individually:
- Oh My Zsh: Follow the installation guide
- Spaceship Prompt: See the installation instructions
- Nerd Fonts: Download from Nerd Fonts releases
Run locally:
make lintThe CI workflow runs automatically on pushes and pull requests touching any *.sh files.
./export_codespace_cfgThis inserts/updates a managed block in ~/.ssh/config between markers:
# >>> codespaces (managed) >>>
# <<< codespaces (managed) <<<
Preview:
./clean-codespaces.sh --dry-runExecute deletions:
./clean-codespaces.sh- Brewfile / apt manifest abstraction
- Tmux plugin manager integration
- Advanced Neovim config module