Update readme

This commit is contained in:
Daniel Flanagan 2019-03-06 12:34:21 -06:00
parent c889188d70
commit ecb7fc25ec

View file

@ -1,7 +1,5 @@
# My Dotfiles # My Dotfiles
**NOTE**: Readme needs updating!!
This repository contains the majority of application or OS configuration files 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 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 who may not know either how to go about organizing such files or to learn how to
@ -13,7 +11,7 @@ myself when setting up a new machine.
* Clone the repo into `~/.config/dotfiles` * Clone the repo into `~/.config/dotfiles`
* Run `~/.config/dotfiles/setup` * Run `~/.config/dotfiles/setup`
* Read the warning, obey it, backup your files, *then* agree * Read the warning, obey it, backup your files, *then* agree
* Reboot once the script finishes. * **Optional**: Reboot once the script finishes
## Priorities ## Priorities
@ -22,74 +20,57 @@ out in order of priority here:
* These files are primarily configured for Linux, (specifically, Arch Linux) but * 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 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 * 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 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!** about really cool and usable terminal-based software, let me know!**
* I prefer keeping my dotfiles as portable as possible (within reason). * I prefer keeping my dotfiles as portable as possible (within reason) though
* These dotfiles should be very quick to setup and get going. 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 * 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 multiple machines with specific use-cases. For example, a shared laptop should
allow for other non-technical users ease-of-access, while my workstation allow for other non-technical users ease-of-access, while my workstation
should focus on being quick, powerful, and highly usable for me alone. 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 ## Applications
There are several types of applications I use every day, some more than others, 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 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 applications I use:
become my primary or am very interested in using in more depth is in **bold**)
for various tasks:
* **Terminal Emulators**: *rxvt-unicode* * **Terminal Emulator**: Kitty
* **Text Editors**: **vim/Neovim**, Sublime Text * **Text Editor**: Neovim
* **Terminal Multiplexers**: *tmux* * **Terminal Multiplexers**: tmux
* **Web Browser**: *Google Chrome*, **qutebrowser**, luakit * **Web Browser**: Firefox
* **Music**: *Google Play Music* * **Music**: Google Play Music
* **Email**: *Google Inbox*, Gmail, **mutt** * **Email**: Google Inbox, mutt
* **Image Editing**: *GIMP*, *Inkscape*, **Krita** * **Image Editing**: GIMP, Inkscape, Krita, Aseprite
* **Documents**: *Google Drive*, though Dropbox's Paper looks neat and I've * **Documents**: Neovim + Markdown, sc-im, LibreOffice
heard too many good things about LaTeX. * **Gaming**: Steam, various emulators
* **Gaming**: *Steam*, *various emulators*
## Workflow ## Workflow
Here are some bullet points on my workflow as a Web Developer: Here are some bullet points on my workflow:
* **Text Editing**: I use `vim`/`Neovim` in my terminal as my primary text * **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 editor. I usually run it in a `tmux` session alongside a few terminals to
a very flexible IDE-like development environment. More on that in other bullet have a very flexible IDE-like development environment. More on that in other
points. bullet points. I keep a `tmux` session for each project or group of
* **Version Control**: I use `git` in the terminal (sometimes I pop into terminals concerning a similar mind-space.
GitKraken if I need to do anything crazy) and commit often. I work in a branch * **Version Control**: I use `git` in the terminal and commit often. I work in
named "dev" until it's time to go live, then I merge into master. Other feature branches that go to a `dev` branch as sort of a staging area for
branches beyond "dev" are used for trying crazy things or during large testing until it's time to go live, then I merge into master.
refactors so I can very quickly jump back if needed.
* **Compiler/Debugging**: I rely heavily on auto-reloading and * **Compiler/Debugging**: I rely heavily on auto-reloading and
watch-and-test-and-compile features during development to iterate quickly. 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 Language servers, linters, and simple file watches to trigger your tests are
anything to weird or crazy, though, configuring webpack properly can be amazing tools to take care of the cruft of writing code and integrating them
hazardous to the mind. Or I'm just doing things very wrong. Chrome's dev tools heavily into Neovim is my current top need/priority.
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 ## To Do and Improvements
* Add vim in the terminal as the handler for many MIME types (xdg-open and such) * 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`?) * Unify all the common variables... somehow? (and use templates and `envsubst`?)
* Makefile as setup script * Makefile instead of setup script
* Vim `<leader>m` binding should be able to run arbitrary commands, not just * [Vimux](https://github.com/benmills/vimux)?
`make` * Nerd Fonts with ligatures and icons for Kitty
* Dunst and notifications
* Vimux?
* terminal on-the-fly font resizing?
* terminal fontawesome/icons?
* Alacritty as terminal?
* Cloud IRC
* Some kind of notes wiki? (vimwiki with perfect markdown support?)
[xdg-user-dirs]: https://wiki.archlinux.org/index.php/XDG_user_directories