dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

:octocat: Ninrod's sharpened dotfiles for emacs, vim, zsh, tmux. Since '15.

  • Ninrod's emacs, vim, zsh and tmux dotfiles

[[https://www.gnu.org/licenses/gpl-3.0.en.html][https://img.shields.io/badge/license-GPLv3-blue.svg]]

  • Minimalism, speed and power while working inside the shell.

#+BEGIN_QUOTE "You are your dotfiles." -- Friedrich Wilhelm Nietzsche #+END_QUOTE

#+BEGIN_QUOTE "Show me your dotfiles and I'll tell you what kind of programmer you are." -- Karl Marx #+END_QUOTE

  • Screenshots ** Ubuntu: emacs and vim

[[https://raw.githubusercontent.com/ninrod/dotshots/master/ubuntu.png][https://raw.githubusercontent.com/ninrod/dotshots/master/ubuntu.png]]

** terminal

[[https://raw.githubusercontent.com/ninrod/dotshots/master/2017-02-vim-tmux-zsh.png][https://raw.githubusercontent.com/ninrod/dotshots/master/2017-02-vim-tmux-zsh.png]]

  • Note

These are my personal configuration files, which are in a constant state of change as I develop my environment across several systems so I can't guarantee that these configurations will work for you, at all. Still, it can be useful and instructional to look around and take bits and snippets to use within your own configuration files. Feel free to open issues though, if the config did not work for you. I'll try to help if I can.

  • Install Instructions
  • On linux, I recommend xfce-terminal. Failling that, try to use any [[https://gist.github.com/XVilka/8346728][truecolor]] terminal.
  • Secondly, this is for unix systems: =GNU/Linux=, =OSx=, BSDs. I don't know anything about windows.
  • configure your terminal to use the gruvbox theme. There's a [[https://github.com/ninrod/themes.git][ninrod/themes]] repo that can help you with that.
  • recommendation: I use and recommend the excelent [[https://github.com/belluzj/fantasque-sans][Fantasque Sans Mono]] font.
  • now get =vim= 8+ with [[http://vimcasts.org/blog/2013/11/getting-vim-with-clipboard-support][+clipboard]].
  • get [[https://github.com/tmux/tmux.git][tmux]] 2.5+
  • get [[https://github.com/zsh-users/zsh.git][zsh]] 5.4+ and make sure that =/bin/zsh= is valid. (if not: =$ cd /bin && sudo ln -s $(command -v zsh) zsh=)
  • =cat /etc/shells= and verify that zsh appears on the list. If not, =sudo vi /etc/shells= and append =/bin/zsh=
  • get [[https://github.com/ggreer/the_silver_searcher.git][ag]] (you can =brew install ag= on OSx).
  • if you're on OSx, brew install these:
    1. =brew install coreutils= (mainly because =BSD= =ls= =CLICOLOR= sucks).
    2. =brew install reattach-to-user-namespace= (Mainly because of the =open= utility. [[https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git][more info here]]).
    3. =brew install diff-so-fancy=
  • Kind remark: for the moment (until I change the script to back it up for you), I'll overwrite your =~/.gitconfig= file, so if you have something important in it, now would be the perfect moment to back it up.
  • new get [[https://www.gnu.org/software/emacs/][emacs]] 25.2+ (this is optional, everything will work fine if you don't use emacs)
  • Shell time now lets write some shell commands.
  • note: the install.zsh script basically does this:

    1. mounts symlinks on your home folder;
    2. creates ~/.options/shell-options.zsh file, if not existent
    3. sources the ~/.options/shell-options.zsh file
    4. overwrites your .gitconfig (so back it up if you have something important)
    5. tries to configure your git information, if applicable.
    6. fetches vim and zsh dependencies
  • now open you shell and don't forget to set up your git information (=vim ~/.options/shell-options.zsh=) #+BEGIN_SRC shell $ git clone https://github.com/ninrod/dotfiles && cd dotfiles && make $ vim ~/.options/shell-options.zsh $ exec zsh #+END_SRC

  • That's it, your're all set.

  • =protip=: =make update= will update all dependencies.

  • On installing new plugins

You may notice that I do not use any plugin manager, just a tiny little function I wrote called =ningrab=. For now, if you want to include a new plugin, search for the =*-deps.zsh= files in the =boot= directory. The files should be self descriptive. Just add a newline like this in, for example, =vim-deps.zsh= file:

#+BEGIN_SRC sh ningrab githubuser/awesomeplugin #+END_SRC

and then run =make= in the =~/.dotfiles= directory. The plugin will be fetched from github and placed in the correct location for you.

  • Emacs: the timeless and infinitely powerful editor I maintain my configuration using an org-mode file, through org-babel. So you can see it in it's full glory [[https://github.com/ninrod/dotfiles/blob/master/emacs/boot.org][here]].

  • VIM: Powerful shell text editor. Tweaked with plugins. To check out what binds and plugins I use in this config, my [[https://github.com/ninrod/dotfiles/blob/master/vim/][vim directory]] is authoritative.

  • TMUX custom binds checkout the [[https://github.com/ninrod/dotfiles/blob/master/tmux/keybinds.tmux][keybinds.tmux]] file for binding setup.

  • LICENSE

  • [[https://www.gnu.org/licenses/gpl-3.0.en.html][GNU General Public License v3]] #+BEGIN_SRC text GNU General Public License v3 Copyright (c) 2015-2021 Filipe Silva (ninrod) #+END_SRC
  • LINKS [[https://github.com/ninrod/dotfiles/tree/212d09fb3859ca03d98aefbcd2c03c4e7d43b68e][first commit]]