Skip to content

My personal dotfiles (emacs, zsh, vim, i3)

Notifications You must be signed in to change notification settings

WolfeCub/dotfiles

Repository files navigation

dotfiles

Here are my personal dotfiles.

  • zsh - shell
  • emacs - text editor of choice (.emacs.d makes up a good portion of this repo)
  • vim/neovim - when SSHed or on a different computer
  • 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.
    • lemonbar - status bar (fork that supports more font formats)
    • rofi - dmenu replacement

Installing

My dotfiles are managed using 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.

curl https://raw.githubusercontent.com/WolfeCub/dotfiles/master/install.sh | bash -s -- -g <& 1

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.

git clone --recursive https://github.com/WolfeCub/dotfiles.git
cd dotfiles
stow zsh
stow emacs
...

i3

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

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
  • =fzf=

Emacs

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

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.