My Linux Dotfiles

5 minute read Published: 2019-08-21

Dotfiles for my Arch Linux build.

I've been using Linux as a daily driver for a few months now, so I figured it was about time I gather my dotfiles all together in one place. As a member of Notre Dame's Linux Users Group for roughly a year now (I'm now a System Administrator and Secratary for the club), I've been using Linux for a good amount of time. It wasn't until a sale at the Notre Dame surplus store that I decided to switch full time to Linux on my laptop - how can a college student turn down a $75 Thinkpad?? Since taking advantage of that deal, I'm now a full-fledged Arch Linux user. In honor of the meme, I named my machine 'btw', short for 'By the way [I run Arch Linux]' :)

Below are descriptions, pictures, and useful links pertaining to the dotfiles and programs I use on my machine.

main

Some things I use:

vim

Objective, non-controversial statement: vim is the best text editor. I can't use other programs/editors like vscodium without installing a plugin for vim keybindings. vim has increased my productivity since learning to use it, and it still feels like I'm learning a new vim trick every day. You can find my .vimrc in my dotfiles repository. Plugins I use for vim:

I typically use VimAwesome to find new plugins. Most of the plugins I use today were either recommended by friends who found them on this site, or I found them myself on this site.

vim

i3-gaps

I use i3-gaps as my window manager. I don't think I've changed much to the default config. I've added some custom keybinds and replaced the i3bar with polybar. I'm excited for what's to come with the project - I had read a few weeks back that there are plans to merge the i3-gaps fork back into the main i3 repository.

xfce4-terminal

I recently switched over to xfce's terminal from st. st was just a bit too much for my needs, and made some things more difficult than they needed to be (i.e., scrolling in the terminal). xfce has already proven to be much more fitting for my use case. I use the Nord theme for xfce-terminal with some extra tweaks to the background coloration to fit in with the rest of my overall theme.

I use a custom PS1 that can be found in my .bashrc. A handy bash function I have for parsing git branches is in there as well. It makes keeping track of the branch I'm on in a repo/project much easier. I recently added a check to allow for it to ignore this repo, since it's in my home dir. Nothing better than when your regular expressions are working.

parse_git_branch() {
 if [ $(git remote get-url origin 2> /dev/null | sed -En 's/.*[/](.*)[.].*/\1/p') != dotfiles  ]; then
 	git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
 fi
}

polybar

Most of my changes to polybar are purely aesthetic. I use Material Icons instead of the default, and I've changed some coloring up to match the rest of my theme.

rofi

rofi is a dmenu replacement, and a good one at that. rofi is an application launcher. I use it primarily for programs that I don't run on a daily basis (those I run via keybindings in my i3 config) Here's what it looks like with some Dracula theming:

rofi

Again, just some aesthetic changes to fit my theme.

I use rofimoji so I can more easily copy-paste emojis or insert them in text. Having come from macOS, this is more or less a replacement to the Ctrl-Cmd-Space keybind for pulling up the emoji keyboard.

ranger

I use ranger as my filemanager, a Python project that I have actually contributed to (barely but hey, everything helps in open source 😄). I don't use it particularly often, but it is definitely handy when I need to quickly view an image, gif, or video. Gotta love those vim keybindings.

ranger

Other cool stuff I use