Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
Signed-off-by: Tomas Slusny <[email protected]>
  • Loading branch information
deathbeam committed Jan 19, 2017
1 parent d9aa5fd commit 7f48ba0
Show file tree
Hide file tree
Showing 7 changed files with 102 additions and 96 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,6 @@
[submodule "lib/tmux/tmux-sensible"]
path = lib/tmux/tmux-sensible
url = https://github.com/tmux-plugins/tmux-sensible
[submodule "lib/tmux/tmux-prefix-highlight"]
path = lib/tmux/tmux-prefix-highlight
url = https://github.com/tmux-plugins/tmux-prefix-highlight
[submodule "lib/tmux/tmux-resurrect"]
path = lib/tmux/tmux-resurrect
url = https://github.com/tmux-plugins/tmux-resurrect
Expand Down
85 changes: 60 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# dotfiles
[![TravisCI Build Status](https://api.travis-ci.org/deathbeam/dotfiles.svg?branch=master)](https://travis-ci.org/deathbeam/dotfiles)

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 integration to this repo, because I was bored. Yes, you hear right, CI INTEGRATION TO FUCKING DOTFILES REPO. I doubt anyone will ever appreciate my effort, but [frankly, my dear, I don't give a damn](https://en.wikipedia.org/wiki/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.
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 integration to this repo, because I was bored. Yes, you hear right, CI INTEGRATION TO
FUCKING DOTFILES REPO. I doubt anyone will ever appreciate my effort, but [frankly, my dear, I don't give a
damn](https://en.wikipedia.org/wiki/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

Expand All @@ -10,23 +15,47 @@ These are my configuration files for Linux and Mac. It is still work in progress

## Optional requirements

* 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](https://tmux.github.io/) - 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](http://www.vim.org/download.php/) - 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](https://www.mozilla.org/en-US/firefox/new/) - 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) and also allows me to watch porn in HD quality is Firefox. Just kidding, I don't watch porn. Also, has Vimperator. Install latest Firefox stable version, Vimperator do not works with Developer Edition.
* [vimperator](https://addons.mozilla.org/en-US/firefox/addon/vimperator/) - Vim for your firefox. It is really awesome, but if you prefer unmainained Pendactyl, then use it, or you want to have just Vi keybindings in your browser, but want to configure your browser through messsy JSON file or even worse, through setting menus (where you will need to use your mouse..) without possibility to store all these setting in nice dotfile repository, then use VimFX, you hipster. Otherwise, just use
Vimperator, what is currently the best one (if you are not using Firefox Developer Edition, because Vimperator is totally broken there, and it do not seems that Vimperator devs are making any progress on fixing these issues).
* [Stylish](https://addons.mozilla.org/en-US/firefox/addon/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](https://github.com/editorconfig/editorconfig-core-c/blob/master/INSTALL.md) - 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.
* 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](https://tmux.github.io/) - 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](http://www.vim.org/download.php/) - 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](https://www.mozilla.org/en-US/firefox/new/) - 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). Also, has
Vimperator. Install latest Firefox stable version, Vimperator do not works with Developer Edition.
* [vimperator](https://addons.mozilla.org/en-US/firefox/addon/vimperator/) - Vim for your firefox. No need to say more.
* [Stylish](https://addons.mozilla.org/en-US/firefox/addon/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](https://github.com/editorconfig/editorconfig-core-c/blob/master/INSTALL.md) - 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](https://github.com/koekeishiya/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](https://techcrunch.com/2016/06/13/os-x-is-now-macos-and-gets-support-for-siri-auto-unlock-and-more/). 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
* [kwm](https://github.com/koekeishiya/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](https://techcrunch.com/2016/06/13/os-x-is-now-macos-and-gets-support-for-siri-auto-unlock-and-more/). 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](https://github.com/koekeishiya/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](https://github.com/tekezo/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](https://cl.ly/hwJn/download/Karabiner-Elements-0.90.61.dmg) what have support for hyper key remapping. Rest of configuration that will remap caps lock to hyper is in dotfiles.
* [Alfred 3](https://www.alfredapp.com/) - 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](http://iterm2.com/) - 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.
* [khd](https://github.com/koekeishiya/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](https://github.com/tekezo/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](https://cl.ly/hwJn/download/Karabiner-Elements-0.90.61.dmg) what have support for hyper key remapping. Rest of
configuration that will remap caps lock to hyper is in dotfiles.
* [Alfred 3](https://www.alfredapp.com/) - 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](http://iterm2.com/) - 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.

## How to install?

Expand All @@ -37,9 +66,9 @@ git clone https://github.com/deathbeam/dotfiles.git ~/.dotfiles && \
~/.dotfiles/install
```

I recommend to install [Hack](http://sourcefoundry.org/hack/) font. It is awesome for programming and runs in Vim really fast. I personally like DejaVu Sans Mono more, but it really slows down my Vim (for some unknown reason) so I am sticking to Hack. All my configurations tries to load Hack font if possible, otherwise they tries couple other good fonts and falls back to some common one if none is found.

To install Firefox theme, use [Stylish](https://addons.mozilla.org/en-US/firefox/addon/stylish/) and enter this URL to `Install from URLs`:
These dotfiles are configured with [Terminus](http://terminus-font.sourceforge.net/) font in mind, so better install it.
To install Firefox theme, use [Stylish](https://addons.mozilla.org/en-US/firefox/addon/stylish/) and enter this URL to
`Install from URLs`:

```
https://raw.githubusercontent.com/deathbeam/dotfiles/master/lib/firefox/firefox.css
Expand All @@ -53,7 +82,8 @@ 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:
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:


```shell
Expand All @@ -80,7 +110,8 @@ 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](https://github.com/ervandew/supertab), all you need to do is run this command:
To add your own Vim plugin you can use `dottool --vim-plugin` command. For example to add
[SuperTab](https://github.com/ervandew/supertab), all you need to do is run this command:

```shell
dottool --vim-plugin https://github.com/ervandew/supertab.git
Expand Down Expand Up @@ -123,7 +154,6 @@ To see all helper commands, run `dottool --help`.

### Tmux
* [tmux-sensible](https://github.com/tmux-plugins/tmux-sensible): basic tmux settings everyone can agree on
* [tmux-prefix-highlight](https://github.com/tmux-plugins/tmux-prefix-highlight): Visually shows different tmux modes (prefix, copy)
* [tmux-yank](https://github.com/tmux-plugins/tmux-yank): Plugin for copying to system clipboard
* [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat): Enhances tmux search
* [tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect): Persists tmux environment across system restarts
Expand All @@ -133,9 +163,14 @@ To see all helper commands, run `dottool --help`.
## Thanks to..

* [skwp/dotfiles](https://github.com/skwp/dotfiles) for some sane .gitignore config for ignoring Vim and ctags stuff
* [mathiasbynens/dotfiles](https://github.com/mathiasbynens/dotfiles) for sane .gitconfig and some things in .gitignore, and also for enabling Bash 4 features for tab completion if possible
* [amix/vimrc](https://github.com/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
* [mathiasbynens/dotfiles](https://github.com/mathiasbynens/dotfiles) for sane .gitconfig and some things in
.gitignore, and also for enabling Bash 4 features for tab completion if possible
* [amix/vimrc](https://github.com/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](http://twily.info/) for his awesome Firefox stylish theme, what I configured to suit my needs
* [nerdbar.widget](https://github.com/herrbischoff/nerdbar.widget) for awesome widget for Ubersicht on what I based on mine
* [thoughtbot/dotfiles](https://github.com/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
* [nerdbar.widget](https://github.com/herrbischoff/nerdbar.widget) for awesome widget for Ubersicht on what I based on
mine
* [thoughtbot/dotfiles](https://github.com/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
37 changes: 17 additions & 20 deletions dotfiles/tmux.conf
Original file line number Diff line number Diff line change
Expand Up @@ -69,29 +69,32 @@

# Style {{{

set -g status-bg "colour18"
# Command bar
set -g message-command-bg "colour0"
set -g message-command-fg "colour7"
set -g status-justify "left"
set -g status-left-length "100"
set -g status "on"
set -g pane-active-border-fg "colour4"
set -g message-bg "colour0"
set -g status-right-length "100"
set -g status-right-attr "none"
set -g message-fg "colour7"
set -g message-command-bg "colour18"
set -g status-attr "none"
set -g status-utf8 "on"
set -g pane-border-fg "colour19"
set -g pane-active-border-fg "colour4"

# Status line
set -g status-bg "colour18"
set -g status-fg "colour7"
set -g status-justify "left"
set -g status-attr "none"
set -g status-left-length "100"
set -g status-left-attr "none"
set -g status-right-length "100"
set -g status-right-attr "none"
setw -g window-status-bg "colour18"
setw -g window-status-fg "colour7"
setw -g window-status-attr "none"
setw -g window-status-separator ""
setw -g window-status-activity-bg "colour18"
setw -g window-status-activity-attr "none"
setw -g window-status-activity-fg "colour4"
setw -g window-status-separator ""
setw -g window-status-bg "colour18"
set -g status-left "#{prefix_highlight}#[fg=colour18,bg=colour4,bold] #S #[fg=colour4,bg=colour18,nobold,nounderscore,noitalics]"
setw -g window-status-activity-attr "none"

set -g status-left "#[fg=colour18,bg=colour4,bold] #S #[fg=colour4,bg=colour18,nobold,nounderscore,noitalics]"
set -g status-right "#[fg=colour19,bg=colour18,nobold,nounderscore,noitalics]#[fg=colour7,bg=colour19] %Y-%m-%d | %H:%M #[fg=colour4,bg=colour19,nobold,nounderscore,noitalics]#[fg=colour18,bg=colour4] #h "
setw -g window-status-format "#[fg=colour7,bg=colour18] #I |#[fg=colour7,bg=colour18] #W "
setw -g window-status-current-format "#[fg=colour18,bg=colour19,nobold,nounderscore,noitalics]#[fg=colour7,bg=colour19] #I |#[fg=colour7,bg=colour19] #W #[fg=colour19,bg=colour18,nobold,nounderscore,noitalics]"
Expand All @@ -101,12 +104,6 @@
# Plugins {{{

run-shell "$DOTHOME/lib/tmux/tmux-sensible/sensible.tmux"
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_fg colour18
set -g @prefix_highlight_copy_mode_attr 'fg=default,bg=colour16'
set -g @prefix_highlight_output_prefix ' '
set -g @prefix_highlight_output_suffix ' '
run-shell "$DOTHOME/lib/tmux/tmux-prefix-highlight/prefix_highlight.tmux"
run-shell "$DOTHOME/lib/tmux/tmux-yank/yank.tmux"
run-shell "$DOTHOME/lib/tmux/tmux-copycat/copycat.tmux"
run-shell "$DOTHOME/lib/tmux/tmux-resurrect/resurrect.tmux"
Expand Down
Loading

0 comments on commit 7f48ba0

Please sign in to comment.