Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/renemarc/dotfiles

~/. Cross-platform, cross-shell configuration files. βš™οΈπŸ’»
https://github.com/renemarc/dotfiles

bash chezmoi cross-platform dotfiles macos multiple-machines powershell windows zsh

Last synced: about 2 months ago
JSON representation

~/. Cross-platform, cross-shell configuration files. βš™οΈπŸ’»

Awesome Lists containing this project

README

        


~/.Β πŸ“‚
Cross-platform, cross-shell dotfiles
powered by chezmoi 🏠

[![Codacy rating][badge-codacy]][link-codacy]
[![CodeFactor rating][badge-codefactor]][link-codefactor]
[![License][badge-license]][link-license]
[![Repo analytics][badge-analytics]][link-analytics]
[![Tweet][badge-twitter]][link-twitter]

Universal command set and colourful shell configurations for Bash, Zsh and Powershell, compatible with macOS, Windows and (partially) Linux, all managed easily using [chezmoi](https://github.com/twpayne/chezmoi).


Be sure to ⭐️ or πŸ”± this repo if you find it useful! πŸ˜ƒ


## Project goals ⚽

- Unified set of aliases and commands.
- Familiar feel and creature comforts across environments.
- Cross-platform file management toolset.
- Easy access to common paths.
- Shortcuts to popular cross-platform apps.
- System-agnostic `update` and `dotfiles` install commands.
- A pretty interface! πŸ’ƒ

πŸ”

## Supported toolset πŸ› οΈ

Use either one or many of these, the config files will be in place and ready to provide a familiar interface.

### 🐚 Shells

- [Bash](https://www.gnu.org/software/bash/) 🐧: [`~/.bashrc`](./dot_bashrc) _enhanced with [**Bash-It**](https://github.com/Bash-it/bash-it)!_
- [PowerShell 5.1+](https://github.com/PowerShell/PowerShell) 🐧⊞: [`~/.config/powershell/`](./dot_config/powershell/) _enhanced with [**Oh-My-Posh**](https://github.com/JanDeDobbeleer/oh-my-posh), [**Terminal Icons**](https://github.com/devblackops/Terminal-Icons), and others!_
- [Z shell](http://zsh.sourceforge.net/) 🐧: [`~/.zshrc`](./dot_zshrc) _enhanced with [**Oh-My-Zsh**](https://ohmyz.sh/), [**Powerlevel10K**](https://github.com/romkatv/powerlevel10k), and others!_

### πŸ’» Terminals

- [Hyper](https://hyper.is/) 🐧⊞: [`~/.hyper.js`](./dot_hyper.js.tmpl)
- [iTerm2](https://iterm2.com/) ο£Ώ: [`~/.config/iterm/`](./dot_config/iterm)
- [macOS Terminal](https://support.apple.com/en-ca/guide/terminal/welcome/mac) ο£Ώ
- [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701) ⊞: [`~/.config/windows_terminal/`](./dot_config/windows_terminal)

### πŸ“¦ Package managers

- [Homebrew](https://brew.sh/) ο£Ώ: [`~/.Brewfile`](./dot_Brewfile)
- [Scoop](https://scoop.sh/) ⊞

### πŸ’Ύ Universal apps 🐧⊞

- [chezmoi](https://www.chezmoi.io/) dotfiles manager: [`~/.chezmoi.toml`](./.chezmoi.toml.tmpl)
- [cURL](https://curl.haxx.se/) data transfer tool: [`~/.curlrc`](./dot_curlrc)
- [Git :octocat:](https://git-scm.com/) version-control system: [`~/.gitconfig`](./dot_gitconfig.tmpl)
- [GNU Nano 4.x+](https://www.nano-editor.org/) text editor: [`~/.nanorc`](./dot_nanorc) _enhanced with [**Improved Nano Syntax Highlighting Files**](https://github.com/scopatz/nanorc)!_
- [GNU Wget](https://www.gnu.org/software/wget/) HTTP/FTP file downloader: [`~/.wgetrc`](./dot_wgetrc)
- [Micro](https://micro-editor.github.io/) text editor: [`~/.config/micro/`](./dot_config/micro)
- [OpenSSH](https://www.openssh.com/) secure networking utilities: [`~/.ssh/config`](./dot_ssh/config.tmpl)
- [Ripgrep](https://github.com/BurntSushi/ripgrep) fast-search tool: [`~/.ripgreprc`](./dot_ripgreprc)
- [SQLite3](https://www.sqlite.org/cli.html) database client: [`~/.sqliterc`](./dot_sqliterc)
- [Starship πŸš€](https://starship.rs) cross-shell prompt: [`~/.config/starship.toml`](./dot_config/starship.toml)
- [tmux](https://github.com/tmux/tmux/wiki) terminal multiplexer: [`~/.tmux.conf.local`](./dot_tmux.conf.local) _enhanced with [**Oh-My-Tmux**](https://github.com/gpakosz/.tmux)!_
- [Vim](https://www.vim.org/) text editor: [`~/.vimrc`](./dot_vimrc) _enhanced with [**Ultimate vimrc**](https://github.com/amix/vimrc)!_

πŸ”

## Cross-shell compatibility matrix 🏁

These are unified CLI commands available amongst different shells on all platforms. While some of their outputs may differ in style between different environments, their usage and behaviours remain universal.

Additional aliases are provided by [Bash-It](https://github.com/Bash-it/bash-it/tree/master/aliases/available), [Oh-My-Zsh](https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet) and [Powershell](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_aliases), and are listed by using the command `alias`.

System-specific aliases are marked with , ⊞, or 🐧.

### 🧭 Easier navigation

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `~` | Navigates to user home directory. |
| βœ… | βœ… | βœ… | `cd-` | Navigates to last used directory. |
| βœ… | βœ… | βœ… | `..`
`cd..` | Navigates up a directory. |
| βœ… | βœ… | βœ… | `...` | Navigates up two directories. |
| βœ… | βœ… | βœ… | `....` | Navigates up three directories. |
| βœ… | βœ… | βœ… | `.....` | Navigates up four directories. |

πŸ”

### πŸ—‚οΈ Directory browsing

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `l` | Lists visible files in long format. |
| βœ… | βœ… | βœ… | `ll` | Lists all files in long format, excluding `.` and `..`. |
| βœ… | βœ… | βœ… | `lsd` | Lists only directories in long format. |
| βœ… | βœ… | βœ… | `lsh` | Lists only hidden files in long format. |

πŸ”

### πŸ—„οΈ File management

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `cpv` | Copies a file securely. |
| βœ… | βœ… | βœ… | `fd` | Finds directories. |
| βœ… | βœ… | βœ… | `ff` | Finds files. |
| ❌ | βœ… | ❌ | `mirror` | Mirrors directories. |
| βœ… | βœ… | βœ… | `rg` | Searches recursively with [ripgrep](https://github.com/BurntSushi/ripgrep). |

πŸ”

### πŸ’‘ General aliases

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `alias` | Lists aliases. |
| βœ… | βœ… | βœ… | `c` | Clears the console screen. |
| βœ… | ❌ | βœ… | `extract`
`x` | Extracts common file formats.
_Usage: `extract solarized.zip`_ |
| βœ… | βœ… | βœ… | `h` | Displays/Searches global history.
_Usage: `h`_
_Usage: `h cd`_ |
| βœ… | βœ… | ⚠️ | `hs` | Displays/Searches session history.
_Usage: `hs`_
_Usage: `hs cd`_ |
| βœ… | βœ… | βœ… | `mkcd`
`take` | Creates directory and change to it.
_Usage: `mkcd foldername`_ |
| βœ… | ❌ | βœ… | `reload` | Reloads the shell. |
| βœ… | βœ… | βœ… | `repeat`
`r` | Repeats a command `x` times.
_Usage: `repeat 5 echo hello`_. |
| βœ… | ❌ | βœ… | `resource` | Reloads configuration. |

πŸ”

### πŸ•™ Time

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `now`
`unow` | Gets local/UTC date and time in [ISO 8601](https://xkcd.com/1179/) format `YYYY-MM-DDThh:mm:ss`. |
| βœ… | βœ… | βœ… | `nowdate`
`unowdate` | Gets local/UTC date in `YYYY-MM-DD` format. |
| βœ… | βœ… | βœ… | `nowtime`
`unowtime` | Gets local/UTC time in `hh:mm:ss` format. |
| βœ… | βœ… | βœ… | `timestamp` | Gets Unix time stamp. |
| βœ… | βœ… | βœ… | `week` | Gets week number in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Week_dates) format `YYYY-Www`. |
| βœ… | βœ… | βœ… | `weekday` | Gets weekday number. |

πŸ”

### 🌐 Networking

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `fastping` | Pings hostname(s) 30 times in quick succession. |
| βœ… | βœ… | βœ… | `flushdns` | Flushes the DNS cache. |
| βœ… | βœ… | βœ… | `ips` | Gets all IP addresses. |
| βœ… | βœ… | βœ… | `localip` | Gets local IP address. |
| βœ… | βœ… | βœ… | `publicip` | Gets external IP address. |
| βœ… | βœ… | βœ… | `GET`
`HEAD`
`POST`
`PUT`
`DELETE`
`TRACE`
`OPTIONS` | Sends HTTP requests.
_Usage: `GET https://example.com` |_

πŸ”

### ⚑ Power management

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `hibernate` | Hibernates the system. |
| βœ… | βœ… | βœ… | `lock` | Locks the session. |
| βœ… | βœ… | βœ… | `poweroff` | Shuts down the system. |
| βœ… | βœ… | βœ… | `reboot` | Restarts the system. |

πŸ”

### πŸ€“ Sysadmin

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `mnt` | Lists drive mounts. |
| βœ… | βœ… | βœ… | `path` | Prints each `$PATH` entry on a separate line. |
| βœ… | βœ… | βœ… | `sysinfo` | Displays information about the system.
Uses either [Winfetch](https://github.com/lptstr/winfetch), [Neofetch](https://github.com/dylanaraps/neofetch), or [Screenfetch](https://github.com/KittyKatt/screenFetch). |
| βœ… | βœ… | βœ… | `top` | Monitors processes and system resources.
Uses either [atop](https://linux.die.net/man/1/atop), [htop](https://hisham.hm/htop/), [ntop](https://github.com/Nuke928/NTop) ⊞, or native. |
| βœ… | βœ… | βœ… | `update` | Keeps all apps and packages up to date. |

πŸ”

### πŸ–₯️ Applications

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `browse` | Opens file/URL in default browser.
_Usage: `browse https://example.com`_ |
| βœ… | βœ… | βœ… | `chrome` | Opens file/URL in [Chrome](https://www.google.com/chrome/). |
| βœ… | βœ… | βœ… | `edge` | Opens file/URL in [Microsoft Edge](https://www.microsoft.com/en-us/edge). |
| βœ… | βœ… | βœ… | `firefox` | Opens file/URL in [Firefox](https://www.mozilla.org/en-CA/firefox/). |
| ❔ | βœ… | ❔ | `iexplore` | Opens file/URL in [Internet Explorer](https://www.microsoft.com/ie). ⊞ |
| βœ… | βœ… | βœ… | `opera` | Opens file/URL in [Opera](https://www.opera.com/). |
| βœ… | βœ… | βœ… | `safari` | Opens file/URL in [Safari](https://www.apple.com/ca/safari/). ο£Ώ |
| βœ… | βœ… | βœ… | `ss` | Enters the [Starship πŸš€](https://starship.rs) cross-shell prompt. |
| βœ… | βœ… | βœ… | `subl`
`st` | Opens in [Sublime Text](https://www.sublimetext.com/). |

πŸ”

### πŸ‘©β€πŸ’» Development

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `dk` | 🐳 Alias for [`docker`](https://www.docker.com/). |
| βœ… | βœ… | βœ… | `dco` | 🐳 Alias for [`docker-compose`](https://docs.docker.com/compose/). |
| βœ… | βœ… | βœ… | `g` | :octocat: Alias for [`git`](https://git-scm.com/). |
| βœ… | βœ… | βœ… | `va` | 🐍 Activates Python [virtual environment `venv`](https://docs.python.org/3/tutorial/venv.html). |
| βœ… | βœ… | βœ… | `ve` | 🐍 Creates Python [virtual environment `venv`](https://docs.python.org/3/tutorial/venv.html). |

πŸ”

### ο£Ώ macOS

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `hidedesktop`
`showdesktop` | Toggles display of desktop icons. |
| βœ… | βœ… | βœ… | `hidefiles`
`showfiles` | Toggles hidden files display in [Finder](https://support.apple.com/en-ca/HT201732). |
| βœ… | βœ… | βœ… | `spotoff`
`spoton` | Toggles [Spotlight](https://support.apple.com/en-ca/HT204014). |

πŸ”

### ⊞ Windows

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| ❔ | βœ… | ❔ | `hidefiles`
`showfiles` | Toggles hidden files display in [File Explorer](https://support.microsoft.com/en-ca/help/4026617/windows-10-windows-explorer-has-a-new-name). |

πŸ”

### πŸ“ Common paths

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `dls` | Navigates to `~/Downloads`. |
| βœ… | βœ… | βœ… | `docs` | Navigates to `~/Documents`. |
| βœ… | βœ… | βœ… | `dt` | Navigates to `~/Desktop`. |

πŸ”

### πŸ“ Configuration paths

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `chezmoiconf` | Navigates to [Chezmoi](https://www.chezmoi.io/)'s local configuration repo. |
| βœ… | βœ… | βœ… | `powershellconf` | Navigates to [Powershell](https://github.com/PowerShell/PowerShell)'s profile location. |
| βœ… | βœ… | βœ… | `sublimeconf` | Navigates to [Sublime Text](https://www.sublimetext.com/)'s local configuration repo. |

πŸ”

### πŸ“ Custom paths

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `archives` | Navigates to `~/Archives`. |
| βœ… | βœ… | βœ… | `repos` | Navigates to `~/Code`. |

πŸ”

### 🌱 Varia

| Bash | PowerShell | Zsh | Command | Description |
|:----:|:----------:|:---:|---------|-------------|
| βœ… | βœ… | βœ… | `cb` | πŸ“‹ Copies contents to the clipboard. |
| βœ… | βœ… | βœ… | `cbpaste` | πŸ“‹ Pastes the contents of the clipboard. |
| βœ… | βœ… | βœ… | `md5sum` | #️⃣ Calculates MD5 hashes. |
| βœ… | βœ… | βœ… | `sha1sum` | #️⃣ Calculates SHA1 hashes. |
| βœ… | βœ… | βœ… | `sha256sum` | #️⃣ Calculates SHA256 hashes. |
| βœ… | βœ… | βœ… | `forecast` | 🌀️ Displays [detailed weather and forecast](https://wttr.in/?n). |
| βœ… | βœ… | βœ… | `weather` | 🌀️ Displays [current weather](https://wttr.in/?format=%l:+(%C)+%c++%t+[%h,+%w]). |

πŸ”

## Inspirations πŸ’‘

- [Digital Ocean: What are your favorite bash aliases?](https://www.digitalocean.com/community/questions/what-are-your-favorite-bash-aliases)
- [GitHub: dotfiles](http://dotfiles.github.io/)
- [GitHub: Jay Harris' Windows dotfiles](https://github.com/jayharris/dotfiles-windows)
- [GitHub: Jan Moesen's dotfiles](https://github.com/janmoesen/tilde)
- [GitHub: Mathias Bynens' dotfiles](https://github.com/mathiasbynens/dotfiles)
- [nixCraft: 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X](https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html)

πŸ”

Don't forget to ⭐️ or πŸ”± this repo! πŸ˜ƒ
Assembled with ❀️ in Montréal.

[badge-analytics]:https://img.shields.io/badge/repo%20analytics-public-informational?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIxIDhDMTkuNSA4IDE4LjcgOS40IDE5LjEgMTAuNUwxNS41IDE0LjFDMTUuMiAxNCAxNC44IDE0IDE0LjUgMTQuMUwxMS45IDExLjVDMTIuMyAxMC40IDExLjUgOSAxMCA5QzguNiA5IDcuNyAxMC40IDguMSAxMS41TDMuNSAxNkMyLjQgMTUuNyAxIDE2LjUgMSAxOEMxIDE5LjEgMS45IDIwIDMgMjBDNC40IDIwIDUuMyAxOC42IDQuOSAxNy41TDkuNCAxMi45QzkuNyAxMyAxMC4xIDEzIDEwLjQgMTIuOUwxMyAxNS41QzEyLjcgMTYuNSAxMy41IDE4IDE1IDE4QzE2LjUgMTggMTcuMyAxNi42IDE2LjkgMTUuNUwyMC41IDExLjlDMjEuNiAxMi4yIDIzIDExLjQgMjMgMTBDMjMgOC45IDIyLjEgOCAyMSA4TTE1IDlMMTUuOSA2LjlMMTggNkwxNS45IDUuMUwxNSAzTDE0LjEgNS4xTDEyIDZMMTQuMSA2LjlMMTUgOU0zLjUgMTFMNCA5TDYgOC41TDQgOEwzLjUgNkwzIDhMMSA4LjVMMyA5TDMuNSAxMVoiIGZpbGw9IiNmZmZmZmYiIC8+PC9zdmc+&maxAge=86400

[badge-codacy]:https://app.codacy.com/project/badge/Grade/30eb39e1eb414295bcc3713755d57b1a

[badge-codefactor]:https://img.shields.io/codefactor/grade/github/renemarc/dotfiles?logo=codefactor&logoColor=white&cacheSeconds=300

[badge-license]:https://img.shields.io/github/license/renemarc/dotfiles.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE3LjgsMjBDMTcuNCwyMS4yIDE2LjMsMjIgMTUsMjJINUMzLjMsMjIgMiwyMC43IDIsMTlWMThINUwxNC4yLDE4QzE0LjYsMTkuMiAxNS43LDIwIDE3LDIwSDE3LjhNMTksMkMyMC43LDIgMjIsMy4zIDIyLDVWNkgyMFY1QzIwLDQuNCAxOS42LDQgMTksNEMxOC40LDQgMTgsNC40IDE4LDVWMThIMTdDMTYuNCwxOCAxNiwxNy42IDE2LDE3VjE2SDVWNUM1LDMuMyA2LjMsMiA4LDJIMTlNOCw2VjhIMTVWNkg4TTgsMTBWMTJIMTRWMTBIOFoiIGZpbGw9IiNmZmZmZmYiIC8+PC9zdmc+Cg==&maxAge=86400

[badge-twitter]:https://img.shields.io/twitter/url/http/shields.io.svg?style=social&maxAge=86400

[link-analytics]:https://repo-analytics.github.io/renemarc/dotfiles
[link-codacy]:https://www.codacy.com/gh/renemarc/dotfiles/dashboard
[link-codefactor]:https://www.codefactor.io/repository/github/renemarc/dotfiles
[link-license]:LICENSE.txt
[link-twitter]:https://twitter.com/intent/tweet?text=Cross-platform%2C%20cross-shell%20%23dotfiles%20using%20%23chezmoi&url=https://github.com/renemarc/dotfiles&via=renemarc&hashtags=Bash,PowerShell,ZSH