{"id":50798145,"url":"https://github.com/fonger900/dotfiles","last_synced_at":"2026-06-12T16:30:44.386Z","repository":{"id":349270645,"uuid":"970815784","full_name":"fonger900/dotfiles","owner":"fonger900","description":"my dotfiles","archived":false,"fork":false,"pushed_at":"2026-06-04T15:10:06.000Z","size":10381,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-04T17:08:12.763Z","etag":null,"topics":["dotfiles","linux","macos","nvim","terminal","tmux"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fonger900.png","metadata":{"files":{"readme":"README.md","changelog":"newsboat/.config/newsboat/config","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-22T15:21:20.000Z","updated_at":"2026-06-04T15:13:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fonger900/dotfiles","commit_stats":null,"previous_names":["fonger900/dotfiles"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fonger900/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonger900%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonger900%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonger900%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonger900%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fonger900","download_url":"https://codeload.github.com/fonger900/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fonger900%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34253926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","linux","macos","nvim","terminal","tmux"],"created_at":"2026-06-12T16:30:41.764Z","updated_at":"2026-06-12T16:30:44.378Z","avatar_url":"https://github.com/fonger900.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Fonger's Fullstack Development Dotfiles\n\n\u003e A comprehensive, production-ready development environment for fullstack engineers\n\n**Optimized for:** Node.js, Python, Go, Rust, Docker, macOS Native Containers, Kubernetes, and modern web development\n\n---\n\n## ✨ Features\n\n- 🎨 **Beautiful terminal setup** with Catppuccin Mocha theme\n- ⚡ **Fast shell startup** with lazy-loaded components\n- 🔧 **Comprehensive aliases** for Git, Docker, Node.js, Python, and more\n- 📦 **Smart package manager** integration (npm, yarn, pnpm, bun)\n- 🐳 **Docker-first** workflow with power commands\n- 🎯 **Tmux-centric multi-terminal** workflow with vim-style navigation\n- 💻 **Pre-configured tmux layouts** for different dev scenarios\n- 🔍 **Fuzzy finding** with FZF integration\n- 📊 **Persistent session management** with automatic save/restore\n- 🛠️ **Quick project initialization** for popular frameworks\n- 🤖 **AI-First Environment**: Pre-configured for **Antigravity** and agentic workflows with persistent context and Secret Service integration via `GEMINI.md`.\n\n---\n\n## 📦 What's Included\n\nThis repository is structured as a collection of \"packages\" for each application, managed by `stow`.\n\n- **`zsh/`**, **`tmux/`**, **`nvim/`**, **`ghostty/`**, etc.: Configuration packages for each tool.\n- **`docs/`**: Contains all the detailed guides and documentation.\n- **`scripts/`**: Custom automation scripts added to your `$PATH`.\n- **`bootstrap.sh`**: The main orchestration script (uses Ansible).\n- **`GEMINI.md`**: Instructional context for AI agents (like Gemini) to understand the project architecture.\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- macOS (Primary) or Linux\n- [Homebrew](https://brew.sh/) installed\n- `stow` (`brew install stow`)\n- Basic command line knowledge\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/fonger900/dotfiles.git ~/dotfiles\ncd ~/dotfiles\n\n# Run the installation script\nchmod +x bootstrap.sh\n\n# For General setup (Sway/Debian/macOS):\n./bootstrap.sh\n\n# For Arch Linux setup:\n./bootstrap.sh ansible/arch-playbook.yml\n\n# For Linux Mint Cinnamon setup:\n./bootstrap.sh ansible/mint-cinnamon-playbook.yml\n\n# Restart your terminal\nexec zsh\n```\n\nThat's it! Your development environment is ready. 🎉\n\n---\n\n## 📖 Documentation\n\n- **[Setup Guide](docs/SETUP_GUIDE.md)** - Complete installation and configuration guide.\n- **[Font Management](docs/FONTS_GUIDE.md)** - Installing and configuring typography.\n- **[Workspace Guide](docs/WORKSPACE_GUIDE.md)** - **START HERE** - Tmux and Terminal workflows.\n- **[Fullstack Workflow](docs/FULLSTACK_WORKFLOW.md)** - A \"day in the life\" guide for building apps.\n- **[Neovim Guide](docs/NEOVIM_GUIDE.md)** - Editor configuration and keymaps.\n- **[Languages Guide](docs/LANGUAGES_GUIDE.md)** - Fullstack development tips (Node, Python, Go, etc.).\n- **[Quick Reference](docs/QUICK_REFERENCE.md)** - Condensed cheat sheet.\n- **[Helix Guide](docs/HELIX_GUIDE.md)** - Alternative editor configuration.\n- **[Known Bugs \u0026 Fixes](docs/bugs/)** - Solutions for common environment quirks.\n\n---\n\n## 🛠️ Recommended Tools\n\nInstall these for the best experience:\n\n```bash\nbrew install \\\n  stow \\          # Symlink manager for dotfiles\n  fzf \\           # Fuzzy finder\n  ripgrep \\       # Fast search\n  fd \\            # Fast find\n  bat \\           # Better cat\n  eza \\           # Better ls\n  zoxide \\        # Smart cd\n  starship \\      # Shell prompt\n  fastfetch \\     # System info\n  tmux \\          # Terminal multiplexer\n  neovim \\        # Text editor\n  lazygit \\       # Git TUI\n  lazydocker \\    # Docker TUI\n  container       # Native macOS Containers\n```\n\n---\n\n## 🎨 Theme \u0026 Appearance\n\nAll configurations use the **Catppuccin Mocha** color scheme for consistency:\n\n- Terminal: Ghostty \u0026 Wezterm with Catppuccin Mocha\n- Tmux: Catppuccin status bar\n- Shell: Starship prompt\n- Editor: Neovim with Catppuccin theme\n\n---\n\n## 📚 Workflow Examples\n\n### Starting a New Project\n\n```bash\n# Create Next.js project\ncnext my-app\ncd my-app\n\n# Start tmux session with fullstack layout\ntmux new -s my-app\n# Press: Ctrl+A then Alt+F (creates 3-pane layout)\n\n# Work in tmux panes (not terminal panes):\n# Pane 1 (main): nvim .\n# Pane 2 (right-top): npm run dev\n# Pane 3 (right-bottom): git status\n\n# Navigate between panes: Alt+H/J/K/L\n# Detach: Ctrl+A then D\n# Reattach: tmux attach -t my-app\n```\n\n### Docker Development\n\n```bash\ncd project\ntmux new -s project\n# Press: Ctrl+A then Alt+D (docker layout)\n\n# Panes show: main workspace, docker ps, docker stats\ndcud  # Start containers in detached mode\ndclf  # Follow logs\n```\n\n---\n\n## ⌨️ Essential Shortcuts\n\n### Tmux (Prefix: `Ctrl+A`)\n\n| Action | Shortcut |\n|--------|----------|\n| Split vertical | `Ctrl+Shift+E` |\n| Split horizontal | `Ctrl+Shift+O` |\n| Navigate panes | `Alt+H/J/K/L` |\n| Zoom pane | `Prefix + Z` |\n| New window | `Ctrl+Shift+T` |\n| Jump to window | `Alt+1-9` |\n\n### Terminal (Ghostty/Wezterm)\n\n| Action | Shortcut |\n|--------|----------|\n| Split vertical | `Cmd+D` |\n| Navigate panes | `Alt+H/J/K/L` |\n| New tab | `Cmd+T` |\n| Jump to tab | `Cmd+1-9` |\n| Search | `Cmd+F` |\n\n---\n\n## 🔧 Customization\n\n### Managing Dotfiles with Stow\n\nThis dotfiles repository uses `stow` to manage symlinks. All configurations are organized into \"packages\" in the root of the repository (e.g., `zsh`, `nvim`, `tmux`).\n\nTo add a new configuration file:\n\n1.  Create a new directory for your package: `mkdir myapp`\n2.  Inside that directory, recreate the path where the config file should be in your home directory. For example, if you want to link `~/.config/myapp/config.json`, you would create `myapp/.config/myapp/config.json`.\n3.  Add the package name (`myapp` in this case) to the `stow_packages` array in the `ansible/playbook.yml` file.\n4.  Run `./bootstrap.sh` to stow the new package.\n\n### Add Personal Configurations\n\nTo keep the main repo clean and generic, use these local override files (automatically git-ignored):\n\n- **Zsh**: `~/.zshrc.local` (sourced at the end of `.zshrc`)\n- **Git**: `~/.gitconfig.local` (can be included in your main `.gitconfig`)\n\nExample `~/.zshrc.local`:\n```bash\nexport CUSTOM_VAR=\"value\"\nalias myalias=\"my command\"\n```\n\n---\n\n## 🐛 Troubleshooting\n\n### Slow shell startup?\nRun `scripts/debug_profile.zsh` to identify slow components.\n\n### Cursor escapes Lazygit in Neovim?\nWe have disabled `better-escape.nvim` in terminal mode. See [this guide](docs/bugs/LAZYGIT_JK_ESCAPE.md) for details.\n\n### Colors not correct?\nEnsure your `$TERM` is set to `xterm-256color` and you are using a Nerd Font.\n\n---\n\n## 🤝 Contributing\n\nSuggestions and improvements are welcome! Feel free to:\n\n1. Fork the repository\n2. Create a feature branch\n3. Submit a pull request\n\n---\n\n## 📝 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## 🙏 Acknowledgments\n\nBuilt with inspiration from:\n\n- [Oh-My-Zsh](https://ohmyz.sh/)\n- [Catppuccin](https://github.com/catppuccin/catppuccin)\n- [Starship](https://starship.rs/)\n- [Wezterm](https://wezfurlong.org/wezterm/)\n- [Ghostty](https://ghostty.org/)\n- [TPM](https://github.com/tmux-plugins/tpm)\nins/tpm)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffonger900%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffonger900%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffonger900%2Fdotfiles/lists"}