This is a collection of setup scripts, configuration files and notes that I find useful for my daily workflow and my choice of tools and environments.
This will install and set up terminal programs like vim, zsh, tmux and some more tools.
When setting up a vanilla system (Debian based, i.e. Ubuntu 14.04 and 16.04 as well as Stretch), I do:
git clone --recursive https://github.com/pylipp/dotfiles ~/.files
bash ~/.files/setup/basic_setup.bash
My DE of choice is i3. After some experiments, I decided to strive for a minimalistic configuration using package-built-in tools (i3status, i3lock). Additional scripts for system interaction (screen locking, shutdown, volume control, sensor information) can be found in i3/
.
For installation, run
bash ~/.files/setup/setup_i3.bash
Run
bash ~/.files/setup/install_core_utils.bash
See setup/
for specific installation scripts.
Functionality | Program name | Notes |
---|---|---|
Window manager | i3 |
using i3status , i3lock and additional scripts in i3/ |
Terminal | st |
solarized color scheme |
Shell | bash |
forked theme from liquidprompt |
Terminal multiplexer | tmux |
plugins loaded by tpm |
VCS | git |
additionally using hub for managing GitHub workflows from the CL and tig for a git-log TUI. Improved diff using delta |
Editor | vim |
built from source, see vim/startup for personal settings |
Python development | virtualenvwrapper fork |
|
Python app managment | pipx |
|
Python REPL | ptpython |
vi-like editing; usually installing it in venvs |
Python Debugger | pudb |
vi-like editing; usually installing it in venvs |
Auto environment loading | direnv |
handy for activating venvs |
Webbrowser | qutebrowser |
vi-like key bindings |
PDF reader | zathura |
|
In-file search | ripgrep |
|
Command-line utility | fzf |
|
Tex utility | latexmk |
|
Time tracking | watson |
|
Backup | borg |
|
Pager | bat |
|
File finder | fd |
|
Image Viewer | feh |
|
JSON processing | jq |
Goal: Have distribution-agnostic system management (program configuration, installation and maintenance)
Requirement | Specification |
---|---|
It is straightforward to set up a new system. | A setup routine exists. |
It is straightforward to update the system. | An update routine exists. |
Setting up the system is distribution-agnostic. | The setup routine is verified in a containerized environment. |