SkillAgentSearch skills...

Dotfiles

My config files for NeoVim, Fish, Starship, tmux, git, and Ghostty for use on Mac and GitHub Codespaces.

Install / Use

/learn @djensenius/Dotfiles
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

dotfiles

Modern development environment configuration files optimized for productivity and visual consistency. This setup provides a comprehensive development environment with integrated tools for coding, git workflow, terminal enhancement, and system monitoring.

Key Features:

  • 🎨 Consistent Theming: Catppuccin Mocha theme across all applications
  • 🚀 Parallel Installation: 40-60% faster setup with concurrent package installation
  • Performance Optimized: Fast startup times and efficient resource usage
  • 🔧 Development Focused: Comprehensive language support and development tools
  • 📦 Automated Setup: One-script installation for GitHub Codespaces
  • 🐚 Modern Shell: Fish shell with starship prompt and productivity enhancements

All configurations use the Catppuccin Mocha theme for a consistent and visually appealing look across all tools and applications.

Installation

Automated Installation (Recommended)

For GitHub Codespaces, the setup is fully automated with parallel installation and fast track for essential tools:

./install.sh                    # Fast track mode: Essential tools ready in ~30s
./install.sh --sequential       # Original sequential mode (10-15 minutes)
./install.sh --help             # See all options

Fast Track Optimization: Essential tools (tmux + plugins + tmuxinator + nvim) are set up immediately in ~30 seconds, while other development tools install in the background.

Fast Track Priority (ready in ~20 seconds):

  • ✅ tmux configuration and plugins (TPM + all plugins installed)
  • ✅ tmuxinator for session management
  • ✅ nvim configuration (plugins sync in background)
  • ✅ starship prompt, FZF, LazyGit

Background Installations (non-blocking):

  • 🦀 Rust development tools (bat, rg, fd, eza, zoxide, atuin)
  • 📦 NPM language servers and development tools
  • 🔌 Neovim plugins and Mason language servers
  • 🛠️ Additional development tools (delta, yq, protobuf, luarocks)

New Background Installation: The parallel mode now runs Rust/Cargo tools, NPM packages, and Neovim plugins in the background, allowing you to start using your environment immediately while development tools install in the background.

Visual Progress Indicator: When using tmux, a spinning indicator ( ) appears in the status line showing active background installations with the same animation used by lualine in nvim.

Background Installation Monitoring:

# Check installation status
./scripts/check-rust-install.sh      # Rust tools (bat, rg, fd, etc.)
./scripts/check-npm-install.sh       # NPM packages (language servers, etc.)
./scripts/check-neovim-setup.sh      # Neovim plugins and Mason tools

# Monitor installation progress
tail -f ~/.dotfiles_rust_install.log    # Rust tools progress
tail -f ~/.dotfiles_npm_install.log     # NPM packages progress
tail -f ~/.dotfiles_neovim_setup.log    # Neovim setup progress

# Wait for completion (if needed)
wait $(cat ~/.dotfiles_rust_install.pid)  # Wait for Rust tools
wait $(cat ~/.dotfiles_npm_install.pid)   # Wait for NPM packages
wait $(cat ~/.dotfiles_neovim_setup.pid)  # Wait for Neovim setup

Performance: The new parallel installation reduces foreground setup time by 93% - from 5+ minutes down to ~20 seconds for immediate productivity!

Manual Local Installation

For local installation, most configurations can be symlinked to your ~/.config directory:

  1. Clone this repository:

    git clone https://github.com/djensenius/dotfiles.git ~/.dotfiles
    cd ~/.dotfiles
    
  2. Symlink configurations:

    # Core shell and editor configs
    ln -sf ~/.dotfiles/fish ~/.config/
    ln -sf ~/.dotfiles/nvim ~/.config/
    ln -sf ~/.dotfiles/starship.toml ~/.config/
    
    # Terminal multiplexer
    ln -sf ~/.dotfiles/tmux ~/.config/
    
    # Development tools
    ln -sf ~/.dotfiles/gitconfig ~/.gitconfig
    ln -sf ~/.dotfiles/gitignore_local ~/.gitignore_local
    
  3. Special setup for TMUX:

    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
    ~/.tmux/plugins/tpm/scripts/install_plugins.sh
    
  4. Install required tools (see Applications section for details)

See the install.sh script for the complete automated setup process used in GitHub Codespaces.

Overview

This dotfiles collection includes configurations for:

  • 🖥️ Terminal & Shell: Fish shell with starship prompt, tmux multiplexer
  • 📝 Editor: Neovim with 46+ plugins for modern development (details)
  • 🔍 Search & Navigation: fzf, ripgrep, fd, eza, zoxide for enhanced file operations
  • 📊 Git Workflow: lazygit, delta, gitsigns integration for visual git management
  • 🔧 Development Tools: Language servers, formatters, linters, and debugging tools
  • 📱 System Monitoring: bottom, fastfetch, k9s for system and cluster monitoring
  • 🎨 Consistent Theming: Catppuccin Mocha theme across all applications

Applications

atuin (repo)

Atuin is a powerful and customizable shell history manager.

  • Directory: atuin/

bat

Bat is a cat clone with syntax highlighting and Git integration.

  • Directory: bat/

bottom

Bottom is a cross-platform graphical process/system monitor.

  • Directory: bottom/

delta

Delta is a syntax-highlighting pager for git, diff, and grep output.

  • Configuration: Integrated into gitconfig

eza

Eza is a modern replacement for ls with colors, icons, and git integration.

  • Installation: Via cargo

codespaces

Codespaces is a cloud development environment provided by GitHub.

  • Directory: .devcontainer/
  • Files: install.sh, prettierrc.json

fastfetch

Fastfetch is a neofetch-like tool for fetching system information.

  • Directory: fastfetch/

fzf

Fzf is a command-line fuzzy finder for files, commands, and more.

  • Installation: Via git clone to ~/.fzf

fd

Fd is a simple, fast and user-friendly alternative to find.

  • Installation: Via cargo (as fd-find)

Fish (repo)

Fish is a smart and user-friendly command line shell.

  • Directory: fish/

gh (repo)

Gh is GitHub’s official command line tool.

  • Directory: gh/

gh-dash

Gh-dash is a GitHub CLI tool to view and manage issues and pull requests in a terminal dashboard.

  • Directory: gh-dash/

git (repo)

Git is a distributed version control system.

  • Files: gitconfig, gitignore-local

gitmux

Gitmux is a Tmux status line for Git.

  • File: gitmux.conf

Ghostty (repo)

Ghostty is a fast, feature-rich terminal emulator built for performance and customization.

  • Directory: ghostty/

gopod

Gopod is a tool for making radio programs that are streaming online into podcasts.

  • Directory: gopod/

k9s (repo)

K9s is a terminal UI to interact with your Kubernetes clusters.

  • Directory: k9s/

lazygit

Lazygit is a simple terminal UI for git commands with keyboard shortcuts.

  • Installation: Downloaded binary to /usr/local/bin

NeoVim (repo)

NeoVim is a hyperextensible Vim-based text editor.

  • Directory: nvim/
  • See: nvim/README.md for comprehensive plugin documentation

pay-respects

Pay-respects is a modern replacement for thefuck, fixing command line errors with AI assistance.

  • Installation: Via cargo

ripgrep

Ripgrep is a line-oriented search tool that recursively searches directories for a regex pattern.

  • Installation: Via cargo

Starship (repo)

Starship is a cross-shell prompt that displays information about the current directory, git status, and more.

  • File: starship.toml

tmux (repo)

Tmux is a terminal multiplexer that allows multiple terminal sessions to be accessed and controlled from a single screen.

  • Directory: tmux/
  • Features: Catppuccin Mocha theme, vim-style navigation, floating windows, session management
  • Battery Status: Uses battery_hearts plugin to display battery level with heart icons in the status bar

Installing battery_hearts

The battery_hearts tool displays battery status using heart icons and is integrated into the tmux status bar. Install it using one of these methods:

From crates.io (Recommended):

cargo install battery_hearts

From releases:

# Download the latest binary for your platform from:
# https://github.com/djensenius/battery_hearts/releases
chmod +x battery_hearts-*
# Move to PATH, e.g., /usr/local/bin/

From source:

git clone https://github.com/djensenius/battery_hearts.git
cd battery_hearts
cargo build --release
# Copy ./target/release/battery_hearts to your PATH

Once installed, the tmux configura

Related Skills

View on GitHub
GitHub Stars24
CategoryDevelopment
Updated2d ago
Forks2

Languages

Shell

Security Score

95/100

Audited on Mar 24, 2026

No findings