These are my configuration files for Linux and Mac. It is still work in progress, so expect a lot of changes, but I think it is stable enough to be usable. I put this README together, because I (like most of other programmers) do not have any life. I even added CI to this repo, because I was bored. Yes, you hear right, COUNTINUOS INTEGRATION TO FUCKING DOTFILES REPO. I doubt anyone will ever appreciate my effort, but frankly, my dear, I don't give a damn. Expect a lot of changes in this repo, because most of the time I just cannot make up my mind, and I change my decisions very often.
- python - Required for dotbot to work properly. Python is installed by default on most Linux distributions and also on Mac.
- git - Most of the installation process is managed via Git, so you need this one.
- bash - I am using bash, and my terminal configuration is working mostly for bash only. If you are using zsh, or fish or whatever, it's okay, I tried them all and eventually I came back to bash, mainly because some completion stuff I am using is a bit broken in other shells than bash. Otherwise, zsh is really great and if all this completion stuff was properly working there, I would be using zsh.
- tmux - Terminal multiplexer. Awesome stuff, but I find myself to use it less and less, because I started using tiling window manager's features more. But still, tmux is really awesome, and have some great features what screen do not have. I have some really nice Tmux stuff in my repository, so feel free to try it, maybe you will like it.
- vim - Required for Vim stuff (of course). Needs to be installed with python
support for all plugins to work correctly. If you are just starting with Vim, then I recommend you to run
vimtutor
from your CLI. Thank me later. - Firefox - The only browser I found that can be properly styled to my likings (for example, doing what I did with my Firefox is with browsers like Chrome just not possible)
- vimfx - Vim for your firefox. No need to say more.
- Stylish - Just cool extension that can style your browser. I do not found nice solution how to store my custom Firefox style in some dotfile, so this is last thing I do not like in this setup, you need to install my style manually from Addon menu (yes, I know, it is horrible, but it is only way that is currently working and styles entire top menu properly on my Mac OS).
- editorconfig - For editorconfig plugin. This is not necessary at all, but EditorConfig is super awesome portable thing to configure indentation and whitespace settings for your project, and it works in most of editors, not only in Vim.
- kwm - Awesome tiling window manager for macOS. Noticed that I am using macOS instead of OSX? It is because Apple rebranded OSX to macOS in latest Sierra update. You can read more about it here. Great stuff, right? Anyway, back to the point. Kwm is a lot better than Amethyst, if you are still using it. Are you asking why? Because it can be configured from dotfile, that is why. Also, it have nice focus borders, and is more similar to window managers on Linux, what I really miss on OSX, but I am not going to use XQuartz just to have i3 for my terminals here, lol.
- khd - Hotkey daemon for macOS, required to have keybindings in kwm. Originally these two was one project, but they got split, what is imo great thing.
- karabiner-elements - Can remap our Caps-Lock key to Hyper key, what I am using in khd config as mod key for everything. You will need specifically this build what have support for hyper key remapping. Rest of configuration that will remap caps lock to hyper is in dotfiles.
- Alfred 3 - Used as launcher application in my kwm/khd config. Not needed, you can just adjust keybindings in khdrc to use Spotlight, but Alfred is just too awesome to pass.
- iTerm2 - It is better than Terminal, and supports 256 colors, instead of Terminal's 16. Also, it have no titlebar mode, what is great. And my macOS setup is configured to be working properly with iTerm2.
It is simple, just use integrated dotbot installer
git clone https://github.com/deathbeam/dotfiles.git ~/.dotfiles && \
~/.dotfiles/install
These dotfiles are configured with Terminus font in mind, so better install it.
To install Firefox theme, use Stylish and enter this URL to
Install from URLs
:
https://raw.githubusercontent.com/deathbeam/dotfiles/master/lib/firefox/firefox.css
You can use
dottool --update
what was made exactly for this. It will fetch latest changes from remote, then runs rebase and at end run installation script to update links and installed stuff. Or, if you want, you can use Git like this:
git -C $DOTHOME pull --rebase
After you have installed dotfiles, you can start including your own stuff by using the dottool --open
command:
dottool --open bashrc
dottool --open vimrc
dottool --open tmux.conf
dottool --open gitconfig
or manually without helper:
vim $DOTHOME/usr/bashrc
vim $DOTHOME/usr/vimrc
vim $DOTHOME/usr/tmux.conf
vim $DOTHOME/usr/gitconfig
To add your own Vim plugin you can use dottool --vim-plugin
command. For example to add
SuperTab, all you need to do is run this command:
dottool --vim-plugin https://github.com/ervandew/supertab.git
or you can do the same just with Git:
git clone https://github.com/ervandew/supertab.git $DOTHOME/usr/vim/supertab
To see all helper commands, run dottool --help
.
- fasd: Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.
- fzf: A command-line fuzzy finder written in Go
- base-16-shell: A shell script to change your shell's default ANSI colors but most importantly, colors 17 to 21 of your shell's 256 colorspace (if supported by your terminal)
- base16-vim: Base16 for Vim
- editorconfig-vim: EditorConfig plugin for Vim
- fzf.vim: fzf ❤️ vim
- pathogen.vim: Manage your runtimepath
- supertab: Perform all your vim insert mode completions with Tab
- syntastic: Syntax checking hacks for vim
- ultisnips: The ultimate snippet solution for Vim
- vim-commentary: comment stuff out
- vim-fugitive: A Git wrapper so awesome, it should be illegal
- vim-gutentags: A Vim plugin that manages your tag files
- vim-obsession: continuously updated session files
- vim-repeat: enable repeating supported plugin maps with "."
- vim-rooter: Changes Vim working directory to project root (identified by presence of known directory or file)
- vim-snippets: contains snippets files for various programming languages
- vim-surround: quoting/parenthesizing made simple
- vim-unimpaired: pairs of handy bracket mappings
- vim-vinegar: combine with netrw to create a delicious salad dressing
- vim-wiki: Personal Wiki for Vim
- tmux-continuum: Continuous saving of tmux environment. Automatic restore when tmux is started. Automatic tmux start when computer is turned on.
- tmux-copycat: Enhances tmux search
- tmux-open: Tmux key bindings for quick opening of a highlighted file or url
- tmux-resurrect: Persists tmux environment across system restarts
- tmux-sensible: basic tmux settings everyone can agree on
- tmux-yank: Plugin for copying to system clipboard
- vim-tmux-navigator: Seamless navigation between tmux panes and vim splits
- skwp/dotfiles for some sane .gitignore config for ignoring Vim and ctags stuff
- mathiasbynens/dotfiles for sane .gitconfig and some things in .gitignore, and also for enabling Bash 4 features for tab completion if possible
- amix/vimrc for a lot of stuff in my vimrc. Without configurations, what are really nicely explained in that repo, I would be lost like forever
- twily for his awesome Firefox stylish theme, what I configured to suit my needs
- nerdbar.widget for awesome widget for Ubersicht on what I based on mine
- thoughtbot/dotfiles for some parts of tmux configuration. I also want to mention that I absolutely love their youtube channel
- I also found some things in other dotfile repositories (for example most of the great config in vimperatorrc), but I totally lost track, so sorry if I forgot to mention anyone here