Skip to content

Latest commit

 

History

History
162 lines (135 loc) · 10.6 KB

README.md

File metadata and controls

162 lines (135 loc) · 10.6 KB

dotfiles

TravisCI Build Status

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.

Requirements

  • 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.

Optional requirements

  • zsh - Zsh is awesome. I was using bash, but then switched to zsh, and it is pretty much compatible with all bash stuff and it is also faster and nicer.
  • 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.
  • neovim - 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.

macOS specific

  • 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.

How to install?

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

How to update?

You can just use Git:

git -C $DOTHOME pull --rebase

How to inlude your own stuff?

After you have installed dotfiles, you can start including your own stuff by creating appropriate dotfiles in usr directory:

vim $DOTHOME/usr/zshrc
vim $DOTHOME/usr/vimrc
vim $DOTHOME/usr/tmux.conf
vim $DOTHOME/usr/gitconfig

To add your own Vim plugin you can use clone it to proper directory. For example to add SuperTab, all you need to do is run this command:

git clone https://github.com/ervandew/supertab.git $DOTHOME/usr/vim/supertab

Included stuff

Shell

  • 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)
  • fzf: A command-line fuzzy finder written in Go
  • zim: ZIM - Zsh IMproved

Vim

Tmux

  • 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

Thanks to..

  • 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