57 lines
4.3 KiB
Markdown
57 lines
4.3 KiB
Markdown
# dotfiles Read-Me and Roadmap
|
|
|
|
## What's in these dotfiles
|
|
|
|
* [x] vim configuration for simple programming tasks (especially go/typescript/python/bash) and prose
|
|
* [x] academic workflow tools, to allow quick citation, pdf compilation, and preview
|
|
* [x] simple, efficient polybar with package update notification, and spotify (mpris) integration
|
|
* [x] tmux session management through `tm` and `tl` tools
|
|
* [x] tmux fuzzy-searching of terminal sessions to switch to with hot-key (`<C-A><C-j>`)
|
|
* [x] system-wide color management (terminals, vim, qutebrowser, polybar, xresources) through `styler` command using [base16](http://chriskempson.com/projects/base16/) themes
|
|
* [x] quick theme switching by activating `styler` and fuzzy-searching themes with hot-key (`<Super>+F8`)
|
|
* [x] many vim color-schemes with quick light/dark switching (`F8`) and individual theme switch (`<Space>+F8`)
|
|
* [x] quick directory jumping using z, with fzf integration
|
|
* [x] fzf integrations for bibtex citation, vim buffer management, most recently used switching, shell command history, and more
|
|
|
|
![Overview](_assets/gaps.png)
|
|
|
|
## Quick-Start
|
|
|
|
The dotfiles use `GNU stow` to link themselves in the home directory. You can clone this repository anywhere (though I have mine in `~/.dotfiles` as it seemed most logical for me).
|
|
|
|
Once in the repository directory, when you then run `./install.sh` it will install many of the packages I use (though they are probably slightly out-of-date) and link the dotfiles into the home directory.
|
|
Since it is based on `stow`, it will not overwrite anything already in the home directory.
|
|
If you do not want to install any packages but only link the dotfiles run `./_bootstrap/autostow.sh -s`, once again from the main repository directory.
|
|
|
|
Both automatic installation paths are presumably somewhat brittle. In any case, I would suggest to manually look through the files for things you want instead of copying and activating everything.
|
|
Dotfiles are too personal to be standardized like that.
|
|
They're pets, not cattle.
|
|
Enjoy!
|
|
|
|
## Main Applications
|
|
|
|
* [`alacritty`](https://github.com/jwilm/alacritty) - Terminal emulator (GPU accelerated and customizable)
|
|
* [`gopass`](https://github.com/gopasspw/gopass) - Password management suite, building on (and largely compatible with)
|
|
`pass` for unix
|
|
* [`i3`](https://i3wm.org/) - Tiling window manager
|
|
* [`nvim`](https://neovim.io/) - Neovim configuration
|
|
* [`pandoc`](https://pandoc.org) - Pandoc plaintext transformation options (mostly latex templates)
|
|
* [`picom`](https://github.com/yshui/picom) - X11 compositor (maintained fork from compton)
|
|
* [`polybar`](https://github.com/polybar/polybar) - Easy to customize statusbar
|
|
* [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser
|
|
* [`rofi`](https://github.com/davatorium/rofi) - Application launcher, dmenu replacement
|
|
* [`sxhkd`](https://github.com/baskerville/sxhkd) - X11 hotkey manager
|
|
* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer
|
|
* [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager
|
|
|
|
## Notes
|
|
|
|
* Generally, most configuration for applications attempts to follow the XDG specifications, keeping configuration in .config directory and supplementary files in .local/share directory. Over time, I am moving more applications to this standard: it keeps the home directory clean, and the separation of configuration, binaries, and data relatively clear.
|
|
* `.config/shell` contains all the general zsh/bash/sh configuration and environment variables usually contained in `.zshrc`, `.zprofile` and similar. It is divided in login shell config (loginrc.d), general shell config (rc.d) and zsh specific (zsh.d). Over time this should be migrated to specific `stow` 'units', but for now here is where it is.
|
|
* `.config/rofi` contains additional scripts and a simple theming framework for rofi and should probably be migrated into the correct directories at some point.
|
|
* `.local/bin` in `scripts` `stow` unit contains most executable user scripts.
|
|
* `.local/share/pandoc` contains configuration for academic latex (pandoc, really) writing and is of interest if you want to use this functionality.
|
|
* `.xinitrc` is used for x initialization and program startup.
|
|
* `.gitlab-ci.yml` is only used for simple CI code linting and static analysis on gitlab, can be deleted on individual deployments.
|
|
|
|
![Gapless](_assets/gapless.png)
|