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
2019-03-27 10:05:58 -05:00
apps sc-im dice should result in strings for more flexible formatting and more handy key bindings 2019-03-27 10:05:58 -05:00
de Fix crappy auto dpi stuff 2019-03-13 22:12:37 -05:00
scripts Add host to tmux status bar 2019-03-25 10:56:41 -05:00
shell Add host to tmux status bar 2019-03-25 10:56:41 -05:00
.editorconfig Add editorconfig 2018-11-16 16:36:54 -06:00
.gitignore Work on tmux stuff 2017-04-23 06:47:00 -05:00
Makefile WIP 2018-11-08 07:32:36 -06:00
readme.md Bullets! ••• 2019-03-19 10:58:51 -05:00
setup Kitty! 2019-03-06 12:20:34 -06:00
sudo_setup Sway stuff and setup scripts overhaul 2018-11-08 09:34:17 -06:00

My Dotfiles

🖥️ Upstream🐙 GitHub Mirror

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
  • Optional: 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 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) though this is obviously very difficult since I only run one OS.
  • Setup should be very quick (downloading and installing packages aside).
  • 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.

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:

  • Terminal Emulator: Kitty
  • Text Editor: Neovim
  • Terminal Multiplexers: tmux
  • Web Browser: Firefox
  • Music: Google Play Music
  • Email: Google Inbox, mutt
  • Image Editing: GIMP, Inkscape, Krita, Aseprite
  • Documents: Neovim + Markdown, sc-im, LibreOffice
  • Gaming: Steam, various emulators

Workflow

Here are some bullet points on my workflow:

  • Text Editing: I use 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. I keep a tmux session for each project or group of terminals concerning a similar mind-space.
  • Version Control: I use git in the terminal and commit often. I work in feature branches that go to a dev branch as sort of a staging area for testing until it's time to go live, then I merge into master.
  • Compiler/Debugging: I rely heavily on auto-reloading and watch-and-test-and-compile features during development to iterate quickly. Language servers, linters, and simple file watches to trigger your tests are amazing tools to take care of the cruft of writing code and integrating them heavily into Neovim is my current top need/priority.

To Do and Improvements

  • Add vim in the terminal as the handler for many MIME types (xdg-open and such) for the rare time I'm in a file manager or for opening easily from the browser.
  • Unify all the common variables... somehow? (and use templates and envsubst?)
  • Makefile instead of setup script
  • Vimux?
  • Nerd Fonts with ligatures and icons for Kitty