If I have seen further it is only by standing on the shoulders of giants.
-- Isaac Newton
This repo contains my entire system configuration. The Dockerfile is a simulation of my personal Debian installation which I use to continually verify that my configuration works.
All dotfiles in this repo are installed using minimally invasive commands and most will not overwrite any existing data on your system.
Use make to:
-
visualize how the install will affect your system:
$ make simulate -
install all dotfiles with
stow:$ make dotfiles -
install a single dotfile with
stow:$ make dotfiles pkg=emacs
Bash configuration files and scripts.
This package contains some miscellaneous scripts I use. It also serves as an install dir for user-specific scripts.
dotlocal is a git repo I use to manage "private" dotfiles. I try my best to
minimize the number of files contained in this repo in favor of using pass as
much as possible.
I use emacs for 95% of my work.
C-x dload a new project directoryC-x C-dopen an existing project
once a project is opened:
C-x fload a file
C-c lreload current module in ghciC-c ;load/reload project in ghci repl
stack-tag can compile a
single etags file for a stack project including all transitive
dependencies.
All font configurations. This configuration mostly relies on Xresources to handle fonts but some applications still require higher-level support.
GHC and related Haskell configuration files.
Git configuration files.
GNU Global configuration for source code tags.
NOTE: The gpg-agent pinentry doesn't interoperate well w/ Emacs 25. Because of this, some GPG Agent queries might use the GTK pinenty popup.
Although I use Emacs' sql-mode for most postgresql maintenace, I still
occassionally need psql directly. This package contains a decent
.psqlrc
ssh config files used to configure ssh-agent, identity files, and the
~/.ssh/config.d directory for private drop-in configurations.
My configuration files to the
stack build tool. I rely on
`stack extensively for most Haskell development.
Local systemd user
services. I find it's much easier to manage services in systemd user services
as opposed to starting them in the background from my .xsession.
X11/X.Org configuration files. For most windows I use standard X11 and GTK when necessary.
To install or reinstall xmonad/xmobar:
$ make xmonad
or, type Win-q.
keybindings:
Win-f1open new terminalWin-f2open new emacs sessionWin-SHIFT-f2open new emacsclient sessionWin-popen any program
xmonad can also be re-compiled on the fly using stack:
Win-qrecompile & reload xmonad/xmobar.Win-[0..9]switch workspacesWin-SPCswitch layout
Load these scratchpads on any workspace:
Win-kopen floating terminalWin-jOrg agenda (hitf8when the emacs terminal opens)Win-rMy agenda
Get a list of themes:
$ make theme theme=chalk
Install a theme:
$ make theme q=chalk
Which will take effect when an application, or the entire X session is
restarted. Themes are generated using Xresources. Default settings can be
found in x11/.Xresources.
- Validating JSON Schema documents with Org mode
- webpack-dev-server.el - An Emacs mode to help you manage webpack-dev-server
- Fetch unknown PGP keys in Gnus
- Useful BBDB v3 auto notes
- self-documenting Makefiles
flycheck-haskellin stack projects- clean chromium system fonts