{"id":19333552,"url":"https://github.com/ebkalderon/dotfiles","last_synced_at":"2025-04-23T00:30:51.813Z","repository":{"id":62184372,"uuid":"62593597","full_name":"ebkalderon/dotfiles","owner":"ebkalderon","description":"Tiny platform-agnostic package manager for my personal dotfiles","archived":false,"fork":false,"pushed_at":"2024-02-28T07:22:12.000Z","size":6143,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-02-28T08:26:24.144Z","etag":null,"topics":["bash","dotfiles","fzf","git","gnupg","linux","macos","monokai","mpd","ncmpcpp","neovim","nvim","stow","tmux","top"],"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/ebkalderon.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}},"created_at":"2016-07-04T23:57:27.000Z","updated_at":"2024-02-28T08:26:24.217Z","dependencies_parsed_at":"2023-10-14T15:57:28.278Z","dependency_job_id":"23276556-ec2f-4af7-a2e9-70db26a78ee0","html_url":"https://github.com/ebkalderon/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebkalderon%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebkalderon%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebkalderon%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebkalderon%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebkalderon","download_url":"https://codeload.github.com/ebkalderon/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223906267,"owners_count":17223046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bash","dotfiles","fzf","git","gnupg","linux","macos","monokai","mpd","ncmpcpp","neovim","nvim","stow","tmux","top"],"created_at":"2024-11-10T02:53:28.600Z","updated_at":"2024-11-10T02:53:29.307Z","avatar_url":"https://github.com/ebkalderon.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nMany people are posting their configuration files on GitHub, so here are mine.\nKeep in mind that these dotfiles are for my own personal use, so occasional\nbreakage may occur.\n\n![Screenshot of terminal in active use](./screenshot.png)\n\n## Overview\n\nThis repository contains my [dotfiles](https://dotfiles.github.io/), along with\na tiny package manager for managing and deploying them across both personal and\nwork machines.\n\nThis little package manager is written in pure Bash and relies on [GNU Stow]\nunder the hood. The dotfiles themselves are organized into small \"packages\"\nwhich bundle together:\n\n* Base configuration, if any\n* OS-specific configuration, if any\n* Profile-specific configuration, if any (e.g. `work` or `home-server`)\n* Scriptable pre/post transaction hooks\n\nPackages are defined according to a [simple, declarative, and self-describing\nformat][pkgdocs]. Using the included `dotfiles` command, you can pick and\nchoose which dotfiles to install. For instance:\n\n```bash\ndotfiles list                   # Lists all available dotfiles and profiles\ndotfiles install bash+work fzf  # Installs `bash` configs (work profile) and `fzf` configs\ndotfiles install                # Installs _all_ dotfiles compatible with your OS\n```\n\n[GNU Stow]: https://www.gnu.org/software/stow/\n[pkgdocs]: ./PACKAGES.md\n\n## Highlights\n\n* **Supports Arch Linux, Linux Mint, and macOS**\n* Colorful `bash` prompt, displays the current [git]/[svn] repo branch\n* Fuzzy-find all the things with [fzf] + [ripgrep] (files, `bash` history,\n  `man` pages, `git` branches, and more)\n* Custom [Neovim] config with LSP and [telescope.nvim] for fuzzy-finding\n* [tmux] as terminal multiplexer and session manager ([with custom theme])\n* [mpd]/[mopidy] and [ncmpcpp] for playing music in the terminal\n* Beautiful [Monokai] color palette for everything :heart_eyes:\n\n[git]: https://git-scm.com/\n[svn]: https://subversion.apache.org/ \n[fzf]: https://github.com/junegunn/fzf\n[ripgrep]: https://github.com/BurntSushi/ripgrep\n[Neovim]: https://neovim.io/\n[telescope.nvim]: https://github.com/nvim-telescope/telescope.nvim\n[tmux]: https://github.com/tmux/tmux\n[with custom theme]: https://github.com/ebkalderon/tmux-monokai-classic\n[mopidy]: https://mopidy.com/\n[mpd]: https://www.musicpd.org/\n[ncmpcpp]: https://github.com/ncmpcpp/ncmpcpp\n[Monokai]: https://monokai.nl/\n\n## Install\n\n\u003e **Warning** Please audit the [`bootstrap`](./bootstrap) script first before\n\u003e executing the commands below!\n\n```sh\nbash \u003c(curl https://raw.githubusercontent.com/ebkalderon/dotfiles/master/bootstrap -sSf)\ncd ~/.dotfiles\n./dotfiles install\n```\n\nThe `bootstrap` script from the snippet above performs a few pre-setup tasks\n(ensuring `git`, `stow`, and `bash` are installed and fully up-to-date) and\n`./dotfiles install` actually deploys the dotfiles to your `~` directory.\n\nA short summary of changes and an interactive confirmation prompt are shown\nbefore any action is taken.\n\n### Install alongside existing\n\nIf you'd like to give my dotfiles a try, but don't want to replace your\nexisting setup, you can override `$HOME` before running `./dotfiles install`:\n\n```sh\ncd ~/.dotfiles\nmkdir .sandbox\nenv HOME=~/.dotfiles/.sandbox ./dotfiles install\n```\n\nThis will deploy everything into the `~/.dotfiles/.sandbox/` directory instead\nof `~`, leaving your existing setup completely untouched. If you don't like my\nsetup, the `~/.dotfiles` directory can be safely discarded.\n\n## Uninstall\n\nTo remove one or more specific dotfiles from your system:\n\n```sh\ndotfiles uninstall gnupg neovim\n```\n\nTo remove _all_ of my dotfiles your system:\n\n```sh\ndotfiles uninstall\n```\n\nA short summary of changes and an interactive confirmation prompt are shown\nbefore any action is taken.\n\n## Key bindings\n\n### Command-line:\n\nBinding           | Description\n------------------|----------------------------------------------------------------------\n\u003ckbd\u003eCtrl+R\u003c/kbd\u003e | Fuzzy search command history with [fzf]/[ripgrep]\n\u003ckbd\u003eCtrl+T\u003c/kbd\u003e | Fuzzy search filesystem in the current directory with [fzf]/[ripgrep]\n\nTODO: List all the rest of the keybindings\n\n## License\n\nThese dotfiles are distributed as free and open source software under the terms\nof the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febkalderon%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febkalderon%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febkalderon%2Fdotfiles/lists"}