SkillAgentSearch skills...

Dotfiles

Cross-platform dotfiles for macOS and Linux. 33 configs, 141 Homebrew packages, Tokyo Night everywhere, modern CLI replacements, Docker services on demand

Install / Use

/learn @gufranco/Dotfiles

README

<div align="center"> <br>

<strong>One-command development environment for macOS and Linux. 33 tool configs, consistent Tokyo Night theme, modern CLI replacements, and ready-to-go Docker services.</strong>

<br> <br>

CI License Shell Platform

</div>

33 tool configs · 141 brew packages · 57 desktop apps · 72 Nerd Fonts · 19 Tokyo Night themed tools · 60 Git aliases · 6 Docker services · 18 Claude Code skills

<table> <tr> <td width="50%" valign="top">

Tokyo Night Everywhere

One color palette across 19 tools: terminals, editors, file managers, email, music, git diffs, monitoring dashboards, and fuzzy finders.

</td> <td width="50%" valign="top">

Modern CLI Replacements

cat becomes bat, ls becomes eza, top becomes btm, du becomes dust. Graceful fallbacks when the modern tool is not installed.

</td> </tr> <tr> <td width="50%" valign="top">

One-Command Install

curl | bash sets up everything: Homebrew packages, symlinks, shell config, GPG keys, SSH, and language runtimes. Works on fresh macOS or Ubuntu.

</td> <td width="50%" valign="top">

Docker Services on Demand

PostgreSQL, MongoDB, Redis, Valkey, and Redict as shell functions: postgres-init, mongo-start, redis-stop. Colima as the VM, configured for Apple Silicon with Rosetta 2.

</td> </tr> <tr> <td width="50%" valign="top">

GPG-Signed Everything

Commits and tags are signed by default. GPG keys are imported automatically, SSH keys get proper permissions, and tokens are GPG-encrypted.

</td> <td width="50%" valign="top">

Fast Shell Startup

Node.js, Python, and Ruby are managed by mise. Versions are defined in mise/config.toml and activated automatically in interactive shells. Per-project overrides go in a .mise.toml file in the project root.

</td> </tr> </table>

Quick Start

Prerequisites

| Tool | Install | |:-----|:--------| | macOS or Ubuntu/Debian | Fresh install works | | Git | Pre-installed on macOS, apt install git on Linux | | curl | Pre-installed on both |

Install

curl -fsSL https://raw.githubusercontent.com/gufranco/dotfiles/master/install.sh | bash

Verify

source ~/.zshrc
bat --version    # syntax-highlighted cat
eza --version    # modern ls

The installer detects your OS and architecture automatically. On macOS it installs Homebrew and runs the Brewfile. On Linux it uses apt, snap, and direct downloads.

What Gets Installed

Shell

| Feature | Implementation | |:--------|:---------------| | Shell | Zsh with Oh My Zsh and Spaceship prompt | | Fuzzy finder | fzf with bat preview and Tokyo Night colors | | Tab completion | fzf-tab for fuzzy tab completion | | Syntax highlighting | zsh-syntax-highlighting for fish-like coloring | | Per-directory env | direnv with automatic .envrc loading | | History | Deduplication, ignore common commands | | GNU tools on macOS | coreutils, findutils, grep, sed, tar, make override BSD via PATH |

Modern Tool Replacements

Aliases activate only when the modern tool is installed:

| Alias | Replaces | Tool | |:------|:---------|:-----| | cat | cat | bat with syntax highlighting, plain output when piped | | ls | ls | eza with icons, git status, tree view via lt | | du | du | dust with visual tree output | | df | df | duf with color output | | ps | ps | procs with tree and color | | top | top | btm (Bottom) system monitor TUI | | ping | ping | gping with graphical output (macOS) | | stats | - | tokei for code statistics (macOS) |

Editor

Vim with 24 plugins managed by vim-plug:

| Category | Plugins | |:---------|:--------| | Language support | coc.nvim (LSP), vim-polyglot, vim-matchup, rainbow_csv | | Navigation | fzf.vim, EasyMotion | | Git | vim-signify (hunks), vim-fugitive (commands) | | Editing | vim-surround, vim-visual-multi, vim-pasta, targets.vim, vim-unimpaired, vim-repeat | | UI | lightline, vim-devicons, undotree, vim-cool, vim-search-pulse, winresizer |

CoC extensions: TypeScript, ESLint, Prettier, CSS, JSON, Shell, snippets, import-cost.

Terminal Multiplexer

Tmux with 7 plugins and vim-style keybindings:

| Plugin | What it does | |:-------|:-------------| | Yoru Revamped | Status bar with system stats, git info, weather, network, and Tokyo Night theme | | tmux-resurrect | Save and restore sessions across reboots | | tmux-yank | Copy to system clipboard | | extrakto | Extract URLs and file paths with fzf | | tmux-session-wizard | Fuzzy session switcher | | tmux-mighty-scroll | Better scrolling in fullscreen apps | | tmux-menus | Popup context menus via F12 |

Git

60 aliases, performance-tuned config, and Tokyo Night colors for diffs, status, branches, and blame:

| Alias | Command | What it does | |:------|:--------|:-------------| | st | status -sb | Short status | | lg | log --graph --decorate | Colored graph log | | fork | checkout -q -b | Create branch | | publish | push -u origin HEAD | Push new branch | | force | push --force-with-lease | Safe force push | | cleanup | merged branch delete | Remove merged branches | | today | log --since=midnight | Today's commits | | sw | switch | Modern branch switching |

Delta as the diff pager with line numbers, hyperlinks, and Tokyo Night syntax theme. Histogram diff algorithm, zdiff3 merge conflicts, and automatic rebase on pull.

Infrastructure

Docker development via Colima with auto-configured VM sizing:

| Service | Command | Port | |:--------|:--------|:-----| | PostgreSQL | postgres-init | 5432 | | MongoDB | mongo-init | 27017 | | Redis | redis-init | 6379 | | Valkey | valkey-init | 7000 | | Redict | redict-init | 6379 | | Ubuntu | ubuntu-init | - |

Each service has -init, -start, -stop, -purge, and -terminal functions. Colima VM uses Apple's Virtualization.framework on macOS with Rosetta 2 for x86_64 container support on Apple Silicon.

Claude Code

18 custom skills for AI-assisted development:

| Skill | What it does | |:------|:-------------| | /commit | Semantic commits with optional --pipeline CI monitoring | | /pr | PR creation with self-review and pipeline monitoring | | /review | Code review following project conventions | | /readme | Marketing-grade README generation | | /assessment | Architecture completeness audit | | /test | Test runner with coverage and linting | | /checks | CI/CD status monitoring | | /terraform | Terraform workflows with safety gates | | /docker | Container management with Colima awareness |

Plus 17 rule files covering code style, resilience, caching, API design, testing, security, database patterns, distributed systems, observability, debugging, git workflow, verification, LLM documentation references, infrastructure, pre-flight checks, and borrow-restore patterns.

Tokyo Night Theme

All tools use the Tokyo Night "Night" variant:

| Tool | Method | |:-----|:-------| | Ghostty | Custom theme file | | Kitty | Custom theme file | | iTerm2 | .itermcolors theme file | | Tilix | Exported color scheme | | Bat | Theme in bat/themes/ | | Vim | tokyonight-vim plugin | | Tmux | Yoru Revamped plugin | | Bottom | [styles] in bottom.toml | | K9s | Skin file in k9s/skins/ | | Lazygit | gui.theme in config | | Lazydocker | Theme colors in config | | Tealdeer | RGB values in config.toml | | Yazi | Full theme in theme.toml | | eza | Full theme in theme.yml | | Mutt | Custom theme in mutt/themes/ | | cmus | Color scheme in rc | | fzf | FZF_DEFAULT_OPTS --color | | nnn | NNN_FCOLORS palette | | Git | [color] sections in .gitconfig |

System Update

Run f5 in any terminal to update everything at once:

  1. Pulls latest dotfiles and submodules
  2. Updates Vim plugins and CoC extensions
  3. Updates Oh My Zsh, Zsh plugins, and Tmux plugins
  4. Updates Node.js LTS via NVM
  5. On macOS: runs brew update, brew upgrade, brew bundle, and Mac App Store updates
  6. On Linux: runs apt update and apt dist-upgrade
  7. Reloads Tmux and Zsh configs

Symlink Map

All configs are symlinked by install.sh using safe_link, which is idempotent and creates parent directories automatically.

<details> <summary><strong>Full symlink map</strong></summary>

| Source | Target | |:-------|:-------| | zsh/.zshrc | ~/.zshrc | | git/.gitconfig | ~/.gitconfig | | vim | ~/.vim | | vim/.vimrc | ~/.vimrc | | tmux/.tmux.conf | ~/.tmux.conf | | tmux | ~/.tmux | | ghostty | ~/.config/ghostty | | kitty/kitty.conf | ~/.config/kitty/kitty.conf | | bat/config | ~/.config/bat/config | | eza | ~/.config/eza | | yazi | ~/.config/yazi | | bottom/bottom.toml | ~/.config/bottom/bottom.toml | | lazygit/config.yml | ~/.config/lazygit/config.yml | | lazydocker/config.yml | ~/.config/lazydocker/config.yml | | k9s/config.yml | ~/.config/k9s/config.yml | | k9s/skins | ~/.config/k9s/skins | | tealdeer/config.toml | ~/.config/tealdeer/config.toml | | htop/htoprc | ~/.config/htop/htoprc | | gh/config.yml | ~/.config/gh/config.yml | | glab/config.yml | ~/.config/glab-cli/config.yml | | gnupg | ~/.gnupg | | ssh | ~/.ssh | | claude | ~/.claude | | nodejs/.npmrc | ~/.npmrc | | nodejs/.yarnrc.yml | ~/.yarnrc.yml | | nodejs/.pnpmrc | ~/.pnpmrc | | mutt/.muttrc | ~/.muttrc | | mutt | ~/.mutt | | curl/.curlrc | ~/.curlrc | | `wget/

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated2d ago
Forks7

Languages

Shell

Security Score

95/100

Audited on Mar 30, 2026

No findings