Info:

Github:
My dotfiles repo can be found here. It will be in and out of coherence at times, but should contain a close to current view of what my setup looks like.

Story:

I really like making things my own. There's just a sense of pride that comes with taking what you have and making it something better, something that is unique to you. Linux is good for this, as you have a blank page to do whatever you wish. With my machine I went for two things, one was efficiency and the other was coherence. I want everything to mesh together in a fast and efficient way. That was the goal, and here is the first iteration.

It's nowhere near perfect, but it is a lot better than a typical desktop, at least for me. The programs featured in the screenshot above are vim, vifm, fish (my shell), and i3status. Tiled workflows can be very difficult to get the hang of, because they are so dissimilar to the standard windowed window managers you are used to with Windows and OSX. However, once you get the hang of the keyboard shortcuts, it really is a more efficient way of managing your workstation, and I have come to thoroughly enjoy tiled WMs.

Version 2.0:

A while back I switched a couple of programs. The big improvements were switching to more customizable versions of what I already had. This meant switching to bspwm with sxhkd as my keybinding manager, switching to bar-aint-recursive with the default bspwm panel, and switching to lighthouse for my launcher. The result is as follows:

bspwm_v1

This version is really nice, I especially like lighthouse as it allows for super customizable search and program launching. Lighthouse by itself is essentially a basic text box, and you can program any behavior that you want into it. The other upgrades are good as well, and I'm fairly happy with the direction that I'm heading.

Version 3.1:

The latest iteration of the setup came after building a computer. I had been using a combination of a Thinkpad laptop with Arch and my gaming laptop (a Lenovo Y400) for a while, and mainly got sick of overall mediocre performance and the tendency for my gaming laptop to have issues with Linux. I decided to save up and put together a computer that would be fully Linux compatible (which involved making compromises like Nvidia over the cheaper AMD, etc.). Once that was done and the parts were in, I started working on my Linux installation. The end result is quite similar to the ones above, but with a few "Quality of Life" improvements, like improved transparency on the terminals, XFT font support on lemonbar, and a more complete and consistent color pallet. The end result can be found below:

Dirty 1 (pictured: Archey3, Firefox, and a sample color test script)

Dirty 2 (pictured: Vim and SL)

And of course, clean. Background image from Unsplash

TECH:

My current setup includes the following:

  • bspwm (window manager)
    • Tiled, uses a vim-like control scheme
    • Uses sxhkd for control, mapped the same as my old i3 conf
  • lighthouse
    • Simple, scriptable app launcher, using a modification of the skel script
  • Fish
    • Shell, uses simple guessing to help with auto-completion
    • Good for easy-to-forget syntaxes like ln
    • Pretty basic prompt
  • lemonbar
    • Using the XFT fork for more font support
    • Using a custom built bar that was built on the back of a few examples, namely Z3bra's and the BSPWM example BAR
  • Vim
    • Main editor
    • Custom color scheme (taken from the Sublime Brogrammer theme, one of my main inspirations for this whole project)
    • No plugins at the moment, I feel like I still have a lot to learn with default Vim (been using it solely for about 6 months) before I jump to more plugins
  • Compton
    • Used for a few rendering effects

For the font I use Fira Mono, which is a slick font that was developed for Firefox. I really like the style of it, which is a mono font without a mono feel. I'm still working on getting it working across everything (using terminus for lighthouse/b.a.r.), as there are some resizing issues.

STATUS:

This project is currently ACTIVE. Note that updates to the repo will be few and far between, as this is something I work on rarely in my free time, not a full-time project. However, this is something I'm loving working on and will absolutely continue.