dotfiles/README.md

3.7 KiB

dotfiles Read-Me and Roadmap

What's in these dotfiles

  • vim configuration for simple programming tasks (especially go/typescript/python/bash) and prose
  • academic workflow tools, to allow quick citation, pdf compilation, and preview
  • simple, efficient polybar with package update notification, and spotify integration
  • tmux session management through tm and tl tools
  • quick terminal-wide color management through sd/sD/sl/sL commands, allowing two light and dark color-schemes
  • many vim color-schemes with quick light/dark switching (F8) and theme switch (<Space>+F8)
  • quick directory jumping using z, with fzf integration
  • fzf integrations for bibtex citation, vim buffer management, most recently used switching, shell command history, and more

Quick-Start

The dotfiles are based on a bare-repository residing in your home directory. To enable a faster usage of the dotfile git commands, a dot command is supplied which mirrors the usual git functionality, but solely applies it to your dotfiles.

To install you need git on your system; to effectively use the dotfiles you should be using zsh (chsh -s /bin/zsh to switch your current user to the shell).

Clone the bare repo, rename it and force a checkout with the following command - NOTE this WILL OVERWRITE YOUR EXISTING FILES, so have a look at what is contained beforehand.

git clone https://gitlab.com/marty-oehme/dotfiles.git df && cp -rf df/.git ~/.dotfiles && rm -rf df && cd ~ && git --git-dir=$HOME/.dotfiles/ checkout -f master

It will clone your dotfiles into the .dotfiles directory in your home directory and then force a checkout of the current master branch. Open a new terminal window and you should live in the dotfiles.

Main Applications

  • alacritty - Terminal emulator (GPU accelerated and customizable)
  • gopass - Password management suite, building on (and largely compatible with) pass for unix
  • i3 - Tiling window manager
  • nvim - Neovim configuration
  • pandoc - Pandoc plaintext transformation options (mostly latex templates)
  • picom - X11 compositor (maintained fork from compton)
  • polybar - Easy to customize statusbar
  • qutebrowser - vim-key enabled web browser
  • rofi - Application launcher, dmenu replacement
  • sxhkd - X11 hotkey manager
  • tmux - terminal multiplexer
  • vifm - vim-like file-manager

Notes

  • generally, most configuration for applications follows the XDG specifications, keeping configuration in .config directory and supplementary files in .local/share directory
  • .config/shell contains all the general zsh/bash/sh configuration and environment variables usually contained in .zshrc/.zprofile/..; it is divided in login shell config (loginrc.d), general shell config (rc.d) and zsh specific (zsh.d)
  • .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 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