dotfiles
dotfiles copied to clipboard
My personal dotfiles (emacs, zsh, vim, i3)
-
dotfiles #+html:

Here are my personal dotfiles.
- [[http://www.zsh.org/][zsh]] - shell
- [[https://www.gnu.org/software/emacs/][emacs]] - text editor of choice (=.emacs.d= makes up a good portion of this repo)
- [[https://github.com/vim/vim][vim]]/[[https://github.com/neovim/neovim][neovim]] - when SSHed or on a different computer
- [[https://github.com/i3/i3][i3]]- window manager (linux)
- I also have configuration files for a few other window managers I've experimented with. They probably won't be updated unless I switch off of i3.
- [[https://github.com/krypt-n/bar][lemonbar]] - status bar (fork that supports more font formats)
- [[https://github.com/DaveDavenport/rofi][rofi]] - dmenu replacement
** Installing
My dotfiles are managed using [[https://www.gnu.org/software/stow/][GNU Stow]]. This makes it easy to add and remove modules (and their symbolic links).
*** One Liner This one line will clone my dotfiles and begin the installer.
#+BEGIN_SRC bash
curl https://raw.githubusercontent.com/WolfeCub/dotfiles/master/install.sh | bash -s -- -g <& 1
#+END_SRC
*** Manual Installation If you don't want to use the one liner or the install script. You can install each module individually using =stow [name]= as shown below. This allows you to only use the modules that you want.
#+BEGIN_SRC bash
git clone --recursive https://github.com/WolfeCub/dotfiles.git
cd dotfiles
stow zsh
stow emacs
...
#+END_SRC
** i3 #+html:


I don't need much out of a window window manager and I want to think about window management as little a possible while using my computer. I've found =i3= accomplishes this very well. Most of the time I have one window per workspace however 2-3 windows is not entirely uncommon.
** Zsh #+html:


My preffered shell is =zsh=. My customization isn't anything insanely intricate but it's functional and I find it comfy. I =ssh= a fair amount and I find that having the user and host always visible is very handy. The exit code and time aren't used as much but they're out of my way on the right side and they're handy every now and then. Personally I love the syntax highlighting it helps me visually parse the command much more easily.
*** Other Highlights - Better completion - Colorized =man= pages - =C-z= to foreground a backgrounded process - Directory aliases - [[https://github.com/junegunn/fzf][=fzf=]]
** Emacs #+html:

For all intents and purposes =emacs= might as well be my operating system. My emacs configuration used to be completely literate however the org file grew to unmanagable size. It's since been split up into many self contained modules that can easily be plucked into other configs or lazy loaded/disabled until needed. I use =emacs= for programming, writing, emails, calandar/TODOs, presentations, IRC and more.
*** Highlights - GUI and terminal compatibility - Vim emulation (E.V.I.L.) - C#, Haskell, React, Vue and many other popular languages supported - General for keymaps and leader emulation - Hydra for the rest of my shortcut needs - Project management (using projectile) - Daemon support with isolated peprspectives for each open window
** Vim #+html:

As wonderful as =emacs= is my configuration is highly customized and stock emacs doesn't cut it for me. On remote systems or when quickly editing configs vim is the way to go. My vim config is pretty minimal but it's very comfortable.