configurations and the like
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
katherine fb3c9d513f
update readme
1 week ago
.config use tmpdir in vars 1 week ago
.vim detect .h and .re (re2c) as c files 1 week ago
.zkbd not sure why these weren't added already 5 years ago
.Xmodmap misc 3 years ago
.Xresources switch TERM back to rxvt-unicode-256color 2 years ago
.gitmodules move make-gif to submodule 2 years ago
.iex.exs synchronise common prompts 1 year ago
.lambda-term-inputrc add bindings to lambda term rc 1 year ago
.mailcap use w3m for html dump 11 months ago
.muttrc add pgp support for mutt 7 months ago
.ocamlinit synchronise common prompts 1 year ago
.utoprc ocaml support 1 year ago
.vimrc minor changes to vimrc 1 week ago
.xinitrc use tmpdir in vars 1 week ago
.zprofile use tmpdir in vars 1 week ago
.zprofile-dtach use tmpdir in vars 1 week ago
.zshenv move envars to .zshenv where they belong 6 months ago
.zshrc use tmpdir in vars 1 week ago
.zshrc-freebsd clean zsh stuff 4 months ago
.zshrc-linux merge tablet configs 1 year ago
.zshrc-linux-desktop add amutt alias to .zshrc-linux-desktop 6 months ago
README.md update readme 1 week ago

README.md

dotfiles

desktop configurations. function over form, though things being pretty is nice

Screenshots

clean dirty

Structure

.config/init/ contains vars, a file defining shared variables for the desktop which are sourced and used elsewhere. these settings can be overridden by creating a “voverride” file in the same directory. .config/init also contains a series of “gen/*.sh” files, which create configuration files in $tmpdir so programs not configurable via shell scripting will automatically match the current settings as well. i stick symlinks to the $tmpdir version where they would normally be. also included are folders “funcs” and “funcreqs”, which, respectively, contain executable scripts and their prerequisite commands and arbitrary check commands. the latter prerequisites are tested from .zprofile at login and, if passed, the functions are symlinked into $tmpdir/funcs, which is appended to $PATH. thus, this system allows for configs which automatically adapt to the host environment, enabling only what functionality is compatible.

Current Utilities

nvim/vim

using nvim, but no big incompatibilities with base vim yet with the way i use it, so falling back works fine. have a few fun things, including auto-loaded, filetype-specific settings and basic templates, a few fancy mappings, and a simple 16-colour colourscheme. take a look at muh .vimrc for details and things.

herbstluftwm

herbstluftwm has the really interesting concept of allowing manual tiling of frames and then providing automatic layouts for inside those frames. in theory, it’s the best of both worlds, but it gets kind of confusing, so i’ve just set the layout to always be max. this way frames basically just have multiple tabs for me that can by cycled through. it’s really neat for saving screen space! (try splitting a screen with both an editor and a terminal on one side and all your documentation on the other). i3 can do much the same thing, but it comes with lots of slightly annoying things to get rid of.

urxvt

has some quirks, but still nothing else out there with the same functionality. check out urxvt-perls.

ranger/sxiv

both are fantastic for keyboard-driven file management. i’ve forked sxiv to use 4 colours rather than 2, to better fit the theme, but still’ve got to figure out how to write a ranger extension that can receive selections from sxiv, because squinting at filenames is just bleh. python is my bane, though…

pass

a nice password manager-a-ma-bob, gpg locked and easy to sync with git. there’s a firefox addon, but it doesn’t really work, and there’s an existing dmenu frontend, but it’s not very featureful, so i wrote my own.

dunst/dmenu/picom/lemonbar/nitrogen

useful things all around. i’ve “patched” dunst (really just a very bad hack) to auto clean up on-screen messages when notifications are received from mpc-status.sh and pvol.sh, which makes things update cleanly in-place if a key is repeatedly pressed. hopefully this sort of functionality will be added properly, but the documentation is sparse and don’t have the time to figure out how right now x-x

fcitx

input is messy, but fcitx seems like the most functional out there at the moment. fcitx-mozc a nice.