{"id":15178709,"url":"https://github.com/mr-pmillz/pimp-my-shell","last_synced_at":"2025-10-26T17:31:07.778Z","repository":{"id":37700485,"uuid":"417061717","full_name":"mr-pmillz/pimp-my-shell","owner":"mr-pmillz","description":"go program that installs and customizes ohmyzsh tmux vim via various plugins and other nice to haves","archived":true,"fork":false,"pushed_at":"2025-05-01T14:37:15.000Z","size":1927,"stargazers_count":34,"open_issues_count":7,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-01T15:36:32.243Z","etag":null,"topics":["awesome-terminal","go","golang","ohmytmux","ohmyzsh","pimp-my-shell","power-user","shell","terminal","tmux","vim","zsh"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mr-pmillz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-10-14T09:07:05.000Z","updated_at":"2025-05-01T14:37:48.000Z","dependencies_parsed_at":"2024-06-19T05:30:49.718Z","dependency_job_id":"faa90c75-c3cd-4c6a-af8a-e62b5749ff83","html_url":"https://github.com/mr-pmillz/pimp-my-shell","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"purl":"pkg:github/mr-pmillz/pimp-my-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-pmillz%2Fpimp-my-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-pmillz%2Fpimp-my-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-pmillz%2Fpimp-my-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-pmillz%2Fpimp-my-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mr-pmillz","download_url":"https://codeload.github.com/mr-pmillz/pimp-my-shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-pmillz%2Fpimp-my-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281140964,"owners_count":26450548,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"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":["awesome-terminal","go","golang","ohmytmux","ohmyzsh","pimp-my-shell","power-user","shell","terminal","tmux","vim","zsh"],"created_at":"2024-09-27T15:21:59.802Z","updated_at":"2025-10-26T17:31:07.773Z","avatar_url":"https://github.com/mr-pmillz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pimp-My-Shell\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/mr-pmillz/pimp-my-shell)](https://goreportcard.com/report/github.com/mr-pmillz/pimp-my-shell)\n![GitHub all releases](https://img.shields.io/github/downloads/mr-pmillz/pimp-my-shell/total?style=social)\n![GitHub repo size](https://img.shields.io/github/repo-size/mr-pmillz/pimp-my-shell?style=plastic)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/mr-pmillz/pimp-my-shell?style=plastic)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/mr-pmillz/pimp-my-shell?style=plastic)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/mr-pmillz/pimp-my-shell?style=plastic)\n[![Twitter](https://img.shields.io/twitter/url?style=social\u0026url=https%3A%2F%2Fgithub.com%2Fmr-pmillz%2Fpimp-my-shell)](https://twitter.com/intent/tweet?text=Wow:\u0026url=https%3A%2F%2Fgithub.com%2Fmr-pmillz%2Fpimp-my-shell)\n[![CI](https://github.com/mr-pmillz/pimp-my-shell/actions/workflows/go.yml/badge.svg)](https://github.com/mr-pmillz/pimp-my-shell/actions/workflows/go.yml)\n\n:no_entry: [DEPRECATED] This repository is no longer maintained. Pimp-My-Shell has been ported to an Ansible Role that is currently private. It will be made public sometime in 2025.\n\nTable of Contents\n=================\n\n* [Pimp\\-My\\-Shell](#pimp-my-shell)\n  * [Install](#install)\n  * [Usage](#usage)\n  * [About](#about)\n  * [Resources](#resources)\n  * [Tmux Hotkeys](#tmux-hotkeys)\n  * [VIM Hotkeys](#vim-hotkeys)\n  * [Adjusting](#adjusting)\n  * [Custom Aliases](#custom-aliases)\n  * [Mac Fix Terminal bind keys](#mac-fix-terminal-bind-keys)\n  * [Enjoy](#enjoy)\n\n\n![pimp-my-shell.png](https://github.com/mr-pmillz/pimp-my-shell/blob/master/imgs/pimp-my-shell.png?raw=true)\n\n## Install\n\n```shell\ngo install github.com/mr-pmillz/pimp-my-shell/v2@latest\n```\n\n### Manual installation\n\nDownload the latest release for your system from [Releases](https://github.com/mr-pmillz/pimp-my-shell/releases)\n- or clone the repo and run `go build` to build the binary.\n  - If you're going to build from source, this project requires \u003e= go v1.17.X\n  - This project only works on MacOSX and Linux Ubuntu/Debian systems currently\n\n### MacOS Users Ensure that you have x-code CommandLineTools installed\n\nVim YouCompleteMe plugin requires this for C lang completion\n\n```shell\nxcode-select --install\n```\n\n## Usage\n\n```shell\n./pimp-my-shell\n```\n\nIf you already have oh-my-zsh installed, don't worry! Your ~/.zshrc file will not be overridden by the pimp-my-shell.\nThe only thing that will change is your zsh theme and the following plugins will be merged into your existing plugins=() object\n\n- `git zsh-syntax-highlighting tmux zsh-autosuggestions virtualenv ansible docker docker-compose terraform helm kubectl fzf`\n\nAfter Installation, if you want to Customize Powerlevel10k zsh theme differently, run\n\n```shell\np10k configure\n```\n\nIf you want your custom vim plugins to automatically update, simply create this cronjob\n\n```shell\ncrontab -e\n0 12 * * * cd ~/.vim_runtime/my_plugins \u0026\u0026 ./update.sh \u003e gitPullUpdates.txt 2\u003e\u00261\n```\n\n## About\n\nThis project was designed to automate all the configurations that I typically set up for my terminal on Macos and Debian/Ubuntu Linux.\n\nCurrently, this will (if not already installed and setup)\n\n- install oh-my-zsh + awesome plugins\n- install tmux + awesome mac config + plugins\n- install vim + awesome vim setup + plugins\n- install cheat + configure + community cheatsheets\n- fzf + bat for finding files fast + file preview CTRL+r search history stupendously\n- and various other dependencies\n\n## Resources\n\nPlease see the following repos for more information about these configurations and plugins\nAll these configurations can be modified to your needs\n\n- **Terminal**\n  - **Fonts**\n    - [NerdFonts](https://github.com/ryanoasis/nerd-fonts)\n      - In Iterm2 Preferences, Profiles -\u003e Text -\u003e Font\n      - ![enable-nerd-fonts-iterm2.png](https://github.com/mr-pmillz/pimp-my-shell/blob/master/imgs/enable-nerd-fonts-iterm2.png?raw=true)\n  - **CLI Tools**\n    - [lsd](https://github.com/Peltoche/lsd)\n    - [fzf](https://github.com/junegunn/fzf)\n      - [fzf Video](https://www.youtube.com/watch?v=qgG5Jhi_Els)\n    - [bat](https://github.com/sharkdp/bat)\n      - [bat Video](https://egghead.io/lessons/egghead-interactively-preview-files-with-fzf-and-bat-in-the-terminal)\n    - [cheat](https://github.com/cheat/cheat)\n      - useful command syntax cheatsheets Ex. `cheat tar`\n    - [git-delta](https://github.com/dandavison/delta)\n      - Beautiful less pager for `git diff`\n    - [bpytop](https://github.com/aristocratos/bpytop)\n      - Nice process monitor for the cli\n- **Oh-My-ZSH**\n  - **Theme**\n  - [Powerlevel10k](https://github.com/romkatv/powerlevel10k)\n    - This is an awesome theme for zsh\n  - **Oh-My-ZSH Custom Plugins**\n    - [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)\n    - [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)\n- **TMUX**\n  - [Oh-My-Tmux](https://github.com/gpakosz/.tmux)\n  - **Tmux Plugins**\n    - [Tmux Plugin Manager TPM](https://github.com/tmux-plugins/tpm)\n    - [tmux-better-mouse-mode](https://github.com/NHDaly/tmux-better-mouse-mode)\n    - [tmux-sensible](https://github.com/tmux-plugins/tmux-sensible)\n    - [tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect)\n    - [tmux-logging](https://github.com/tmux-plugins/tmux-logging)\n- **VIM**\n  - [The Ultimate vimrc](https://github.com/amix/vimrc)\n    - This comes with a NERDTree Plugin by default\n    - [NERDTree](https://github.com/preservim/nerdtree)\n    - [ale](https://github.com/dense-analysis/ale)\n    - [vim-dracula theme](https://github.com/dracula/vim)\n  - **Custom VIM Plugins not included by default with Ultimate vimrc**\n    - [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin)\n    - [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe)\n    - [vim-devicons](https://github.com/ryanoasis/vim-devicons)\n    - [vim-visual-multi](https://github.com/mg979/vim-visual-multi)\n    - [vim-yaml](https://github.com/stephpy/vim-yaml)\n    - [vim-go](https://github.com/fatih/vim-go)\n    - [vim rainbow highlighting](https://github.com/luochen1990/rainbow)\n    - [fzf-vim](https://github.com/junegunn/fzf.vim)\n    - [vim-helm](https://github.com/towolf/vim-helm)\n    - [indentLine](https://github.com/Yggdroot/indentLine)\n    - [lightline-bufferline](https://github.com/mengelbrecht/lightline-bufferline)\n    - [vim-airline](https://github.com/vim-airline/vim-airline)\n    - [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes)\n\n## Tmux Hotkeys\n\nSee [Tmux-Cheat-Sheet](https://tmuxcheatsheet.com/)\n\n```shell\nCTRL^b %     = split vertical\nCTRL^b \"     = split horizontal\nCTRL^b h     = jump to left window\nCTRL^b k     = jump to up window\nCTRL^b c     = create new pane\nCTRL^b ,     = rename pane\nCTRL^b 1     = jump to 1 pane\nCTRL^b I     = source tmux and install plugins\nCTRL^b !     = open current window to new pane`\n```\n\n## VIM Hotkeys\n\n```shell\n,          = leader key \u003cleader\u003e\n,nn        = toggle nerdtree\nF12        = toggle nerdtree\ni          = Nerdtree open pane horizontal\ns          = Nerdtree open pane vertical\nCTRL+ww    = cycle selected vim pane\n,te        = open new tab after selecting file\n,tb        = previous tab\n,tn        = next tab\n:bd        = buffer delete (similar to :q except it removes the tab buffer as well as closing the pane but will not quit)\n,j         = jump to file with fzf fuzzy finder\n```\n\n## Adjusting\n\nIf you want to customize these configs further,\nThe main files you'll want to look at are the following\n\n- ~/.tmux.conf.local\n- ~/.vim_runtime/my_config.vim\n  - This is where all further customization for vim can be done\n    - It's the same as default .vimrc you would normally edit\n  - Do not edit ~/.vimrc\n- ~/.zshrc\n  - You can edit this file with env var and aliases however, it is best a practice to put customizations\n  - such as aliases in `~/.oh-my-zsh/custom/aliases.zsh`\n\n## Custom Aliases\n\n```shell\nalias .z='source ~/.zshrc'\nalias l='lsd -al --group-dirs first'\nalias lld='ls -d -alh $PWD/*'\nalias hg='history | grep'\nalias myip='dig +short myip.opendns.com @resolver1.opendns.com'\nalias pyup='python3 -m http.server'\nalias a2='curl wttr.in/Ann_Arbor'\nalias gs='git status'\nalias gcmsg='git commit -m '\nalias gl=\"git log --all --graph --pretty=tformat:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)\u003c%an\u003e%Creset' --date=short\"\nalias gll=\"git log --all --stat --pretty=tformat:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)\u003c%an\u003e%Creset' --abbrev-commit --date=relative\"\nalias gln=\"git --no-pager log --all --stat --pretty=tformat:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ad) %C(bold blue)\u003c%an\u003e%Creset' --abbrev-commit --date=relative -n 10\"\nalias clp=\"pbcopy \u003c $1\"\nalias fzfbat=\"fzf --preview 'bat --style numbers,changes --color=always {}' | head -500\"\n```\n\n## Mac Fix Terminal bind keys\n\n- because of a shortcut conflict with Mission Control/Spaces on MacOSX\n- make sure to uncheck these 2 options in\n- System Preferences -\u003e Keyboard -\u003e Shortcuts -\u003e Mission Control, Move left/right a space\n  ![mac-bind-keys.png](https://github.com/mr-pmillz/pimp-my-shell/blob/master/imgs/mac-bind-keys.png?raw=true)\n\n\n## Enjoy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-pmillz%2Fpimp-my-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-pmillz%2Fpimp-my-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-pmillz%2Fpimp-my-shell/lists"}