https://github.com/specious/dotfiles
:wrench: my config files > http://dotfiles.github.io/inspiration/
https://github.com/specious/dotfiles
Last synced: 2 months ago
JSON representation
:wrench: my config files > http://dotfiles.github.io/inspiration/
- Host: GitHub
- URL: https://github.com/specious/dotfiles
- Owner: specious
- Created: 2013-12-26T07:41:12.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-04-08T22:40:21.000Z (2 months ago)
- Last Synced: 2025-04-08T23:27:16.687Z (2 months ago)
- Language: Shell
- Homepage:
- Size: 205 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
My configuration files, which you can adopt in part or in whole.
I didn't include the leading dot, as that would hide them inside my local git repository which is inconvenient.
## Custom shell prompt
My custom prompt called *bender* (which includes [git](https://git-scm.com) integration) is available for:
- [bash](https://gist.github.com/specious/8244801)
- [zsh](https://github.com/specious/bender)
- [fish](https://gist.github.com/specious/50bac54ac9e4ba9b88dbf24623d51dfc)## bashrc
It's included with the name `bashrc` here, but it contains functionality designed to be shared by both bash and zsh. I generally save it as `/etc/sh` which is [sourced](https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-source) by both my `.bashrc` and `.zshrc` files like this:
```sh
. /etc/sh
```## bashrc-*
These are the more system-specific shell configuration files. My actual configuration layout looks like:
- `~/.zshrc` and `~/.bashrc` source `/etc/sh-local.sh`
```sh
# /etc/sh-local.sh. /etc/sh
. /etc/sh-linux.sh
. /etc/sh-arch.sh
. /etc/sh-x1.sh# Local configuration specific to this machine
```## zshrc
These are configuration options specifically for [zsh](https://en.wikipedia.org/wiki/Z_shell), which I generally apply on top of [oh-my-zsh](https://ohmyz.sh/) with my [custom prompt](https://github.com/specious/bender).
Generally my `.zshrc` file sources the `/etc/sh` mentioned earlier.
Add these to your `.zshrc` file if you think they are useful.
## vimrc
I love [vim](https://www.vim.org) and use it as my main text editor (this includes [neovim](https://neovim.io)). This `.vimrc` file makes vim way more ergonomic and requires the [dein](https://github.com/Shougo/dein.vim) (the installation of which is unforunately slightly tricky) plugin manager to install the vim plugins.
I started my vim journey by looking at other people's `.vimrc` files and looking up what each line did to figure out what my configuration file should look like.
In fact, that's how I learned how to use vim.
Adjust the `s:dein_base` value to match your home directory and dein installation directory. The reason I didn't use `~` was so that `root` would load the same `.vimrc` without problems.
Resources I found particularly helpful:
- [Vim annoyances](https://sanctum.geek.nz/arabesque/vim-annoyances/)
- [Introduction to managing windows and buffers](https://thevaluable.dev/vim-intermediate/)
- [Buffers vs Tabs](https://joshldavis.com/2014/04/05/vim-tab-madness-buffers-vs-tabs/)## screenrc
Save this in your home folder as `~/.screenrc` if you use [screen](https://www.gnu.org/software/screen/) to abstract your terminal sessions.
Resources I found helpful:
- [Quick reference](https://gist.github.com/kapitanluffy/656f3eb879b408b1d8a7fee0b6952216)
## tmux.conf
[tmux](https://github.com/tmux/tmux) is more advanced than GNU Screen.
Save this as `/etc/tmux.conf` to use it system-wide, or as `~/.config/tmux/tmux.conf`.
## i3-config
Configuration for the [i3](https://i3wm.org) tiling window manager.
Save this as `~/.config/i3/config` but change the parts relevant to your system.
Resources I found helpful:
- [An article on i3wm setup](https://tildeho.me/windowmanager-setup/)
- [i3 User's Guide](https://i3wm.org/docs/userguide.html)## sway-config
I now use [sway](https://swaywm.org) which is a [Wayland](https://wayland.freedesktop.org) compositor that uses a similar configuration to i3.
Save this as `~/.config/sway/config` but change the parts relevant to your system.
## Also I use...
Firefox add-ons:
- [QR Code](https://addons.mozilla.org/en-US/firefox/addon/qr-code-address-bar/)
- [URL Parameters Editor](https://addons.mozilla.org/en-US/firefox/addon/url-parameters-editor/)
- [Pentadactyl](http://bug.5digits.org/pentadactyl/) (used to work with Firefox but is now availabe as a [Palemoon add-on](https://addons.palemoon.org/addon/pentadactyl-community/))## Contributing
If you can improve something, by all means open a pull request.