This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2017-04-07 11:19:12 -05:00
bin add bin dir 2017-03-02 18:44:38 -06:00
browser stuff 2017-02-07 16:16:45 -06:00
common/colors remove base16 from git, ignore color gen base16 clone dir, finished color gen script, added more arch packages 2017-02-08 12:32:58 -06:00
de Fix method of spawning a floating terminal 2017-04-03 16:44:38 -05:00
env/x laptop fixes 2017-02-11 14:00:54 -06:00
misc Add some git config stuff and a git plugin for vim 2017-03-21 19:04:13 -05:00
os-specific/arch-linux Add php and nginx 2017-04-07 11:19:12 -05:00
shell Change tmux dev layout to set right column 90 characters wide 2017-04-03 15:46:45 -05:00
text-editor/neovim Fix nvidia provisioning script and work on vim make commands 2017-04-02 16:35:39 -05:00
.gitignore initial commit 2017-02-05 14:38:57 -06:00
readme.md app-launcher, some other laptop fixes 2017-02-20 22:11:11 -06:00
setup Fix GTK theme not working 2017-04-03 15:45:21 -05:00

My Dotfiles

This repository contains the majority of application or OS configuration files I use on a daily basis. I keep the here and public in an effort to inform others who may not know either how to go about organizing such files or to learn how to achieve certain behavior in their software and to have quick and easy access for myself when setting up a new machine.

Setup

  • Clone the repo into ~/.config/dotfiles
  • Run ~/.config/dotfiles/setup
  • Read the warning, obey it, backup your files, then agree
  • Reboot once the script finishes.

Priorities

I have specific needs and desires (as does any developer) and I will lay those out in order of priority here:

  • These files are primarily configured for Linux, (specifically, Arch Linux) but I try to keep the OS-specific stuff in the os-specific directory.
  • I am also primarily a Web Developer, so my configuration will reflect that.
  • I rely heavily on Google's products and services. I know some are eager to avoid that.
  • I also prefer apps in my terminal. If I could, I would do everything that makes sense to do so in a terminal using only my keyboard. So if you know about really cool and usable terminal-based software, let me know!
  • I prefer keeping my dotfiles as portable as possible (within reason).
  • These dotfiles should be very quick to setup and get going.
  • I aim to keep the dotfiles flexible and extendible, as I usually use them on multiple machines with specific use-cases. For example, a shared laptop should allow for other non-technical users ease-of-access, while my workstation should focus on being quick, powerful, and highly usable for me alone.
  • The only dependencies should be git and bash for the very basics.

Applications

There are several types of applications I use every day, some more than others, and sometimes different applications that have the same purpose. Here are the applications I use (the primary one is italicized, the one I would like to become my primary or am very interested in using in more depth is in bold) for various tasks:

  • Terminal Emulators: rxvt-unicode
  • Text Editors: vim/Neovim, Sublime Text, Kakoune
  • Terminal Multiplexers: tmux
  • Web Browser: Google Chrome, qutebrowser, luakit
  • Music: Google Play Music
  • Email: Google Inbox, Gmail, mutt
  • Image Editing: GIMP, Inkscape, Krita
  • Documents: Google Drive, though Dropbox's Paper looks neat and I've heard too many good things about LaTeX.
  • Gaming: Steam, various emulators

Workflow

Here are some bullet points on my workflow as a Web Developer:

  • Text Editing: I use vim/Neovim in my terminal as my primary text editor. I usually run it in a tmux session alongside a few terminals to have a very flexible IDE-like development environment. More on that in other bullet points.
  • Version Control: I use git in the terminal (sometimes I pop into GitKraken if I need to do anything crazy) and commit often. I work in a branch named "dev" until it's time to go live, then I merge into master. Other branches beyond "dev" are used for trying crazy things or during large refactors so I can very quickly jump back if needed.
  • Compiler/Debugging: I rely heavily on auto-reloading and watch-and-test-and-compile features during development to iterate quickly. Tools such as webpack and webpack-dev-server are amazing. If you try to do anything to weird or crazy, though, configuring webpack properly can be hazardous to the mind. Or I'm just doing things very wrong. Chrome's dev tools are also killer in this department.
  • Testing: I don't do much testing. This is bad and I'm working on it!

To Do and Improvements

  • Add a file containing common variables in common/.
  • Add more content to the other sections?
  • GTK theme
  • Disable caps lock?