{"id":16611965,"url":"https://github.com/valerybugakov/dotfiles","last_synced_at":"2026-03-18T20:56:42.624Z","repository":{"id":31432001,"uuid":"34995565","full_name":"valerybugakov/dotfiles","owner":"valerybugakov","description":"My setup scripts","archived":false,"fork":false,"pushed_at":"2021-12-08T12:57:18.000Z","size":632,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-10T19:54:26.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vim script","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/valerybugakov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-03T18:08:16.000Z","updated_at":"2023-03-04T04:38:19.000Z","dependencies_parsed_at":"2022-09-05T19:00:54.396Z","dependency_job_id":null,"html_url":"https://github.com/valerybugakov/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/valerybugakov/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valerybugakov%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valerybugakov%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valerybugakov%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valerybugakov%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valerybugakov","download_url":"https://codeload.github.com/valerybugakov/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valerybugakov%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30236053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-12T01:40:24.116Z","updated_at":"2026-03-18T20:56:42.617Z","avatar_url":"https://github.com/valerybugakov.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# val's dotfiles\n\n\u003e Config files for ZSH, Java, Ruby, Go, Editors, Terminals and more.\n\u003e Powered by zplug plugin manager and mise version manager.\n\n## Installation\n\n### Dependencies\n\nFirst, make sure you have all those things installed:\n\n- `git`: to clone the repo\n- `curl`: to download some stuff\n- `tar`: to extract downloaded stuff\n- `zsh`: to actually run the dotfiles\n- `sudo`: some configs may need that\n\n### Install\n\nThen, run these steps:\n\n```console\n$ git clone https://github.com/caarlos0/dotfiles.git ~/.dotfiles\n$ cd ~/.dotfiles\n$ ./bootstrap\n$ zsh # or just close and open your terminal again.\n```\n\n\u003e All changed files will be backed up with a `.backup` suffix.\n\n### Recommended Software\n\nFor macOS, I recommend:\n\n- iTerm: a better terminal emulator;\n\nFor Linux:\n\n- Terminator: a better terminal emulator;\n\nFor both Linux and macOS:\n\n- [`diff-so-fancy`](https://github.com/so-fancy/diff-so-fancy):\n  better git difs (you'll need to run `dot_update` to apply it);\n- [`fzf`](https://github.com/junegunn/fzf):\n  fuzzy finder, used in `,t` on vim, for example;\n- [`kubectx`](https://github.com/ahmetb/kubectx) for better kubernetes context\n  and namespace switch;\n\n### macOS defaults\n\nYou use it by running:\n\n```console\n$DOTFILES/macos/set-defaults.sh\n```\n\nAnd logging out and in again/restart.\n\n### Themes and fonts being used\n\nTheme is **Monokai Night** and the font is **Fura Code Mono Retina**.\n\n## Further help:\n\n- [Personalize your configs](/docs/PERSONALIZATION.md)\n- [Understand how it works](/docs/PHILOSOPHY.md)\n- [License](/LICENSE.md)\n\n## Modern Shell Stack\n\n### Plugin Manager\n\n[zplug](https://github.com/zplug/zplug) - Selective oh-my-zsh loading for performance\n\n- Only loads essential lib files (key-bindings, directories, history, completion)\n- Plugins declared in `oldschool/dots/.zshrc`\n- Run `zplug update` to update all plugins\n\n### Prompt\n\n[Starship](https://starship.rs/) - Fast, customizable prompt written in Rust\n\n- Shows git status, language versions automatically\n- Configuration in `starship/starship.toml`\n- Run `starship config` to customize\n\n### Version Manager\n\n[mise](https://mise.jdx.dev/) - Unified version management (Node, Python, Ruby, etc.)\n\n- Replaces nvm, pyenv, rbenv with single tool\n- Configuration in `~/.config/mise/config.toml`\n- Run `mise use node@latest` to set versions\n\n### Directory Navigation\n\n[zoxide](https://github.com/ajeetdsouza/zoxide) - Smarter cd command\n\n- Use `z \u003cdir\u003e` to jump to frequently used directories\n- Use `zi \u003cdir\u003e` for interactive selection\n- Replaces z and fasd with better algorithm\n\n### Shell History\n\n[atuin](https://github.com/atuinsh/atuin) - Magical shell history\n\n- Sync history across machines\n- Full-text search with context awareness\n- Statistics and insights\n- Press ↑ for enhanced history search\n\n### Environment Management\n\n[direnv](https://direnv.net/) - Auto-load environment variables per directory\n\n- Create `.envrc` files in project directories\n- Automatically loads/unloads environment variables\n- Works seamlessly with mise\n\n## 🚀 Power User Guide: What You Can Do Now\n\nThis section teaches you how to use your terminal like a pro with the modern tools installed.\n\n### 📁 Supercharged File Browsing\n\n**Instead of basic `ls`, you now have `eza` with icons and git status:**\n\n```bash\n# Basic listing with icons (replaces: ls)\nls\n\n# Detailed view with git status (replaces: ls -lah)\nl\n\n# Tree view of directories\ntree\ntree -L 2    # Limit depth to 2 levels\n\n# Sort by size, show only directories\nl --sort=size --only-dirs\n\n# Show file metadata with header\nl --header --git\n```\n\n**Why it's better:** See git status (modified, untracked), file icons, and colors at a glance. No more `git status` spam!\n\n### 📄 Reading Files Like a Boss\n\n**`bat` replaces `cat` with syntax highlighting:**\n\n```bash\n# Read a file with syntax highlighting (replaces: cat)\ncat package.json\n\n# Show line numbers and git modifications\nbat -n package.json\n\n# Show all characters (whitespace, tabs)\nbat -A script.sh\n\n# Compare files side-by-side\nbat file1.js file2.js\n```\n\n**Pro tip:** `bat` automatically pages long files and shows git diff indicators in the gutter!\n\n### 🔍 Lightning-Fast Search\n\n**`ripgrep` (rg) is 10-100x faster than grep:**\n\n```bash\n# Search in current directory (replaces: grep -r)\ngrep \"function\"\n\n# Search with context (3 lines before/after)\nrg -C 3 \"TODO\"\n\n# Search only in JavaScript files\nrg \"useState\" -t js\n\n# Search and show file names only\nrg \"error\" -l\n\n# Case insensitive search\nrg -i \"error\"\n\n# Exclude directories\nrg \"config\" --glob '!node_modules'\n```\n\n**Why it's awesome:** Respects `.gitignore` by default, colored output, and stupid fast!\n\n**`fd` makes finding files easy:**\n\n```bash\n# Find files by name (replaces: find . -name)\nfind \"*.md\"\n\n# Find and execute command on each\nfd \"test\" --exec cat {}\n\n# Find files modified in last 24 hours\nfd --changed-within 24h\n\n# Find by type and size\nfd --type f --size +1m\n```\n\n### 🎨 Beautiful Git Diffs\n\n**Your git diffs now look amazing with `delta`:**\n\n```bash\n# All git commands now use delta automatically:\ngit diff\ngit show HEAD\ngit log -p\n\n# Side-by-side view is enabled by default\n# Line numbers are shown\n# Syntax highlighting included\n```\n\n**Interactive git with `lazygit`:**\n\n```bash\n# Open the TUI\nlazygit\n\n# In lazygit:\n# - Navigate with arrow keys\n# - Stage files with \u003cspace\u003e\n# - Commit with 'c'\n# - Push with 'P'\n# - Pull with 'p'\n# - See keybindings with '?'\n```\n\n**Quick interactive git actions with `forgit` (your existing aliases):**\n\n```bash\nga          # Interactive git add (select files with fzf)\nglo         # Interactive git log (search commits)\ngd          # Interactive git diff (choose what to diff)\ngcf         # Interactive checkout file (restore files)\ngcb         # Interactive checkout branch (switch branches)\ngss         # Interactive stash show (browse stashes)\n```\n\n### 📊 System Monitoring\n\n**`btop` - Beautiful system monitor:**\n\n```bash\nbtop\n# Shows: CPU, RAM, disk, network, processes\n# Mouse support included!\n# Press 'q' to quit\n```\n\n**`procs` - Better process viewer:**\n\n```bash\n# View all processes with colors (replaces: ps aux)\nps\n\n# Search for specific process\nprocs firefox\n\n# Tree view of process hierarchy\nprocs --tree\n\n# Sort by memory usage\nprocs --sortd mem\n```\n\n**`dust` - Visual disk usage:**\n\n```bash\n# See what's taking up space (replaces: du -h)\ndu\n\n# Limit depth\ndust -d 2\n\n# Show specific directory\ndust ~/Projects\n```\n\n### 🕰️ Time-Travel Through Your Command History\n\n**`atuin` gives you magical history powers:**\n\n```bash\n# Press ↑ arrow key - Interactive search appears!\n# Start typing to filter your history\n\n# Or use Ctrl+R for full-text search\n# Features:\n# - Searches across all your history\n# - Shows command context (where/when)\n# - Filters by directory\n# - Syncs across machines (setup: atuin register)\n\n# View your stats\natuin stats\n\n# Search from CLI\natuin search \"docker\"\n\n# Most used commands\natuin stats | head -20\n```\n\n**Pro tip:** Unlike regular history, atuin remembers the directory where you ran commands!\n\n### 🗂️ Smart Directory Navigation with FZF Magic\n\n**`zoxide` + `fzf` = Directory jumping superpowers!**\n\n**Basic usage:**\n\n```bash\n# Jump to a directory you've visited (still works as 'cd' now)\ncd proj          # Smart jump to ~/Projects\ncd dot           # Smart jump to ~/.dotfiles\ncd src client    # Jumps to best match with both words\n```\n\n**Interactive fuzzy finder (THE GAME CHANGER!):**\n\n```bash\n# zi - Interactive directory selection with preview\nzi\n# Opens fzf with:\n# - All your frequently visited directories\n# - Real-time preview showing directory contents\n# - Fuzzy search as you type\n# - See file listing before you jump!\n\n# Even faster - just type:\nzz              # Alias for zi\n\n# Keyboard shortcut:\nCtrl+G          # Opens zi from anywhere!\n```\n\n**Find and jump to subdirectories:**\n\n```bash\n# zf - Find any subdirectory from current location\nzf\n# Shows ALL subdirectories recursively\n# With live preview of contents\n# Perfect for large projects!\n\n# Keyboard shortcut:\nAlt+C           # Opens zf from anywhere!\n```\n\n**Browse your directory rankings:**\n\n```bash\n# zs - See your most-visited directories\nzs\n# Interactive view of zoxide database\n# With preview pane\n# See where you spend your time!\n```\n\n**Pro tip:** The more you use `cd`, the smarter `zoxide` becomes. After a few days, `cd proj` will instantly know which project you mean!\n\n### 🔧 Project-Specific Environments\n\n**`direnv` auto-loads environment variables per project:**\n\n```bash\n# In your project directory:\necho 'export API_KEY=secret' \u003e .envrc\necho 'export NODE_ENV=development' \u003e\u003e .envrc\ndirenv allow .envrc\n\n# Now when you cd into this directory:\ncd ~/my-project\n# ✓ API_KEY and NODE_ENV are automatically set!\n\n# Leave the directory:\ncd ~\n# ✓ Variables are automatically unloaded!\n```\n\n**Common use cases:**\n\n- Project-specific API keys\n- Different NODE_ENV per project\n- Auto-activate Python virtualenvs\n- Load AWS credentials per project\n\n**Combine with mise:**\n\n```bash\n# .envrc\nuse mise      # Auto-use versions from .mise.toml\nexport API_KEY=dev_key\n```\n\n### 📦 Version Management Made Easy\n\n**`mise` manages all your language versions:**\n\n```bash\n# Install a version\nmise install node@22\nmise install python@3.12\nmise install ruby@3.3\n\n# Set global version\nmise use -g node@22\n\n# Set per-project version (creates .mise.toml)\nmise use node@20\nmise use python@3.11\n\n# See what's installed\nmise list\n\n# See what's active\nmise current\n\n# Update all tools\nmise upgrade\n```\n\n**Your current versions:**\n\n- Node.js: 22.16.0\n- Python: 3.12.0\n- Ruby: 3.3.0\n\n### 🛠️ JSON/YAML Processing\n\n**Work with JSON easily:**\n\n```bash\n# Parse and format JSON (jq)\ncurl api.example.com/data | jq .\n\n# Extract specific fields\njq '.users[].name' data.json\n\n# Interactive JSON viewer (fx)\nfx data.json\n# Arrow keys to navigate, '/' to search\n\n# Process YAML (yq)\nyq '.services.web.ports' docker-compose.yml\n```\n\n### 📈 Benchmarking Commands\n\n**`hyperfine` - Measure command performance:**\n\n```bash\n# Compare two commands\nhyperfine 'grep pattern file.txt' 'rg pattern file.txt'\n\n# Test with warmup runs\nhyperfine --warmup 3 'npm run build'\n\n# Export results\nhyperfine --export-markdown results.md 'command1' 'command2'\n```\n\n### 📊 Code Statistics\n\n**`tokei` - Fast code analysis:**\n\n```bash\n# See lines of code by language\ntokei\n\n# Exclude directories\ntokei --exclude node_modules\n\n# Specific language\ntokei --type javascript\n\n# Output as JSON\ntokei --output json\n```\n\n### 🎯 Quick Reference: Your New Muscle Memory\n\n**Daily commands that are now better:**\n\n```bash\nls          → Shows icons and git status\ncat         → Syntax highlighting + git diff\ngrep        → 100x faster, respects .gitignore\nfind        → Simpler syntax, faster\ncd          → Smart jump with zoxide (learns from you)\ndu          → Visual tree view\nps          → Colored, searchable output\n↑           → Smart history search (atuin)\ngit diff    → Beautiful side-by-side diffs\n```\n\n**New commands to learn:**\n\n```bash\nzi/zz       → Interactive directory jump with preview\nzf          → Find subdirectory with preview\nzs          → Browse directory rankings\nlazygit     → Interactive git TUI\nbtop        → System monitor\ndust        → Disk usage\ntokei       → Code statistics\nhyperfine   → Benchmark commands\nfx          → Interactive JSON\n```\n\n**Killer keyboard shortcuts:**\n\n```bash\nCtrl+G      → Open interactive directory jump (zi)\nAlt+C       → Find and jump to subdirectory (zf)\nCtrl+R      → Atuin full-text history search\n↑           → Atuin smart history\n```\n\n## Modern CLI Tools (Rust-based)\n\n### File Management\n\n- **[eza](https://github.com/eza-community/eza)** - Modern `ls` replacement with git integration, icons, and colors\n- **[bat](https://github.com/sharkdp/bat)** - `cat` with syntax highlighting and git integration\n- **[fd](https://github.com/sharkdp/fd)** - Simple, fast alternative to `find`\n- **[ripgrep](https://github.com/BurntSushi/ripgrep)** - Blazing fast `grep` replacement\n- **[dust](https://github.com/bootandy/dust)** - Intuitive `du` alternative with visual tree\n\n### Git Tools\n\n- **[delta](https://github.com/dandavison/delta)** - Beautiful git diffs with syntax highlighting\n- **[lazygit](https://github.com/jesseduffield/lazygit)** - Terminal UI for git commands\n- **[forgit](https://github.com/wfxr/forgit)** - Interactive git commands with fzf\n\n### System Monitoring\n\n- **[btop](https://github.com/aristocratos/btop)** - Resource monitor with mouse support\n- **[procs](https://github.com/dalance/procs)** - Modern `ps` replacement with colored output\n\n### Utilities\n\n- **[sd](https://github.com/chmln/sd)** - Intuitive find \u0026 replace (`sed` alternative)\n- **[hyperfine](https://github.com/sharkdp/hyperfine)** - Command-line benchmarking tool\n- **[jq](https://github.com/jqlang/jq)** - JSON processor\n- **[yq](https://github.com/mikefarah/yq)** - YAML processor\n- **[fx](https://github.com/antonmedv/fx)** - Interactive JSON viewer\n- **[tokei](https://github.com/XAMPPRocky/tokei)** - Fast code statistics\n\n## Contributing\n\nFeel free to contribute. Pull requests will be automatically\nchecked/linted with [Shellcheck](https://github.com/koalaman/shellcheck)\nand [shfmt](https://github.com/mvdan/sh).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalerybugakov%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalerybugakov%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalerybugakov%2Fdotfiles/lists"}