{"id":51021039,"url":"https://github.com/nyambogahezron/dotfiles","last_synced_at":"2026-06-21T16:30:36.368Z","repository":{"id":357616309,"uuid":"1034018735","full_name":"nyambogahezron/dotfiles","owner":"nyambogahezron","description":"dotfiles \u0026 dev setups","archived":false,"fork":false,"pushed_at":"2026-06-11T13:39:23.000Z","size":88601,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T15:23:41.196Z","etag":null,"topics":["config","dotfiles","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/nyambogahezron.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-08-07T17:54:20.000Z","updated_at":"2026-06-11T13:45:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nyambogahezron/dotfiles","commit_stats":null,"previous_names":["nyambogahezron/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nyambogahezron/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyambogahezron%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyambogahezron%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyambogahezron%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyambogahezron%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nyambogahezron","download_url":"https://codeload.github.com/nyambogahezron/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyambogahezron%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34618472,"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-21T02:00:05.568Z","response_time":54,"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":["config","dotfiles","shell"],"created_at":"2026-06-21T16:30:35.912Z","updated_at":"2026-06-21T16:30:36.360Z","avatar_url":"https://github.com/nyambogahezron.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nModern, production-grade development environment managed by [GNU Stow](https://www.gnu.org/software/stow/), with a modular setup toolkit for languages, apps, and tooling.\n\n## Features\n\n- **Modular Shell Layout**: Shared aliases, functions, and exports across Bash and Zsh.\n- **GNU Stow**: Symlink-based management for easy tracking and deployment.\n- **Fast and Lightweight**: No templates or complex logic, just plain configuration files.\n- **Automation**: Bootstrap scripts for one-command environment setup and migration helpers.\n\n## Getting Started\n\n### Prerequisites\n\n- `git`\n- `stow`\n\n### Quick Start\n\n```bash\ngit clone https://github.com/nyambogahezron/dotfiles.git ~/Projects/dotfiles\ncd ~/Projects/dotfiles\n./install.sh\n```\n\nTo install the full development environment from one script:\n\n```bash\n./install-all.sh\n```\n\nThe full installer checks for existing tools before installing them and skips detected installs by default. Use `./install-all.sh --force-reinstall` only when you explicitly want to reinstall detected runtimes/tools.\n\n### Setup Scripts\n\nThe `setup/` directory is organized by purpose:\n\n- `setup/langs/`: Programming language installers and language-specific tooling.\n- `setup/apps/`: Applications, fonts, Neovim, and GNOME helpers.\n- `setup/tools/`: Core tools, shell setup, Git, and Docker.\n- `setup/utils/`: Shared helpers used by the setup scripts.\n- `setup/main.sh`: Interactive entry point that can install a full environment or selected groups.\n\n## Included Tools \u0026 Applications\n\nThe automated `setup/main.sh` installer can dynamically provision the following software (you will be interactively prompted to select what you want):\n\n### DevOps \u0026 Infrastructure\n- **Cloud \u0026 IaC**: Terraform, AWS CLI, HashiCorp Vault\n- **Kubernetes**: Kubectl, Helm, k9s\n- **Configuration \u0026 Secrets**: Ansible, sops\n- **VCS**: Git, GitHub CLI (`gh`), GitLab CLI (`glab`)\n- **Linting**: tflint\n\n### Observability Stack (Docker Compose)\n- Grafana, Prometheus, Loki, Tempo, VictoriaMetrics, Redis\n\n### Programming Languages \u0026 Runtimes\n- **JavaScript/TypeScript**: Node.js (via NVM), Bun, Deno\n- **Python**: Python, uv, pipenv, virtualenv, Jupyter, pytest\n- **Others**: Rust, Go, PHP (with Laravel environment)\n\n### Modern CLI \u0026 Shell\n- **Shell**: Zsh, Oh-My-Zsh, ASDF Version Manager\n- **Prompt \u0026 History**: Starship, Atuin\n- **File Management**: yazi, dust, zoxide\n- **Search**: ripgrep, fd-find, fzf\n- **Terminal UI**: lazygit, lazydocker, btop, eza, bat, tealdeer (`tldr`)\n\n### Desktop \u0026 Productivity\n- **Editors \u0026 AI**: VS Code, Neovim, Google Antigravity, Opencode, Gemini-CLI\n- **Browsers**: Google Chrome, Firefox, Brave\n- **Communication**: Slack, Discord\n- **Media**: VLC, GIMP, OBS Studio\n- **Utilities**: Flameshot, Ulauncher\n- **Note-Taking**: Obsidian, Anytype\n- **Databases \u0026 APIs**: DBeaver CE, Postman, HTTPie, ngrok, mkcert\n- **VPN**: OpenVPN, ProtonVPN\n\n### GNOME Configuration\n- Automated installation of GNOME Extensions and Tweaks\n- Export and automatic restoration of `dconf` settings, GTK Themes, and Icons\n\n## Usage\n\n### Management\n\nThe repository uses `stow` to link files from the repo root to your home directory.\n\n- **Apply changes**: `make apply` or `./install.sh`\n- **Run setup installer**: `make setup`\n- **Install everything**: `make install-all` or `./install-all.sh`\n- **Update repo**: `make update` (pulls changes and re-stows)\n- **Check differences**: `git diff`\n\n### Migrating Away From Stow\n\nIf you want to stop using symlinks created by Stow and turn them into real files, use the migration helper:\n\n```bash\nbash scripts/migrate-from-stow.sh --dry-run\nbash scripts/migrate-from-stow.sh --yes\n```\n\nBy default, the script backs up replaced files into a timestamped folder in your home directory. Use `--backup-dir` to change that location.\n\n### Customization\n\n- **Aliases**: Edit `.config/shell/aliases.zsh`\n- **Functions**: Edit `.config/shell/functions.zsh`\n- **Env Vars**: Edit `.config/shell/exports.zsh`\n\n## Structure\n\n- `.config/`: Application-specific configurations.\n- `.local/bin/`: Custom scripts and binaries.\n- `.bashrc` / `.zshrc`: Shell entry points.\n- `setup/`: Installation scripts grouped by language, app, and tool.\n- `Makefile`: Management tasks.\n- `install.sh`: Bootstrap script.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyambogahezron%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnyambogahezron%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyambogahezron%2Fdotfiles/lists"}