~tardypad/dotfiles

ref: 758fecfcb8510fb64f3d71987abe266c8127710b dotfiles/README.md -rw-r--r-- 20.2 KiB
758fecfc — Damien Tardy-Panis move sway xkb options to inputs config 2 years ago

#Dotfiles

Personal configuration files

Used on a Arch Linux system

#Packages

All packages selected are Free Software

Name Purpose Source Fork Version
aria2 download utility Github 1.34.0
coreutils basic utilities GNU 8.30
fontconfig fonts management freedesktop.org 2.13
git version control Github 2.21.0
gnupg OpenPGP client GnuPG 2.2.13
htop system processes manager Github Github 2.2.0 with patches from fork
httpie HTTP client Github 1.0.2
i3blocks window manager status line Github 1.4
less pager GNU 530
libqalculate calculator Github 3.0.0
mopidy music server Github 2.2.2
ncmpcpp MPD client Github 0.8.2
neomutt mail client Github 20180716
newsboat RSS reader Github 2.14.1
openssh SSH client Github 7.9
qutebrowser web browser Github 1.6.0
rbtools Review Board command line Github 1.0.1
sway window manager Github 1.0
swaylock screen locker Github 1.3
systemd system and service manager Github 241
termite terminal emulator Github Github 14.91
tmux terminal multiplexer Github 2.8
translate-shell translator Github 0.9.6.9
universal-ctags sources indexation Github 66b4867b
util-linux system utilities Github 2.33.1
vifm file manager Github 0.10
vim text editor Github 8.1.0283
weechat chat client Github 2.4
xdg-user-dirs user directories manager freedesktop.org 0.17
xdg-utils applications manager freedesktop.org 1.1.3
zathura document viewer pwmt.org 0.4.3
zsh shell Github Github 5.6.2 with patches from fork

See each individual package folder README for more information about versions, extensions, plugins,...

#Setup

The setup is done using Gnu Make. Some tools' setup require curl to download files.

# install config files of all packages
make

# install config files of a single packages
make tmux

# install config files of a selection of packages
make tmux vim zsh

Some packages require some additional manual setup steps, check their own README

#Colors management

All packages are configured to use the same color palette in a consistent way across them.

Colors management is centralized using base variables which get replaced with the correct values during the setup. For example {color/base0A/hex} gets substituted by the hexadecimal value of the base0A color. Similarly {color/base0A/number} is replaced by that color's number.

Consistency is enforced by the use of aliases. For example {color/warning/number} is replaced by the number of the color chosen to represent warnings.

See the colors folder for more information.

#Key bindings

All packages are configured to try to use consistent key bindings across them.

Most key bindings are minimalized to keep only relevant ones and configured to be as much vim-like as possible.

#Required extra packages

Packages required in the setup which have no own dotfiles config

Reasons for non having any dotfiles config:

  • no support for any configuration (e.g., the silver searcher)
  • configuration is only system wide (e.g., networkmanager)
  • none is needed, use defaults (e.g., elinks, only used for basic HTML email display)
  • config is part of another package (e.g., fzf, variables part of shell config)

Doesn't include (yet?) the following kind of packages:

  • common GNU command line packages (e.g., sed)
  • packages not required directly by our own config (e.g., phpctags, dependency via plugin)
  • packages launched with minimal options usage (e.g., chromium, from desktop file)
  • base Arch Linux packages (e.g., pacman)
Name Purpose Source Version
alsa-utils Audio utilities alsa-project.org 1.1.8
aurutils AUR helper tools Github 2.3.1
bluez-utils Bluetooth utilities kernel.org 5.50
curl URL retrieval utility Github 7.64.0
elinks Web browser repo.or.cz 25c2850
fortune-mod fortune cookie Github 2.6.2
otf-font-awesome icons font Github 5.7.2
fzf fuzzy finder Github 0.17.5
gron JSON flattener Github 0.6.0
jp JSON or CSV data plotting Github 1.1.12
jq JSON processor Github 1.6
libxml2 XML parsing Gnome 2.9.9
light backlight controller Github 1.2
mpc MPD command line client Github 0.31
ncdu disk usage analyzer blicky.net 1.14
networkmanager network manager freedesktop.org 1.14.7
pacman-contrib extra pacman scripts Arch Linux 1.1.0
pass password manager zx2c4.com 1.7.3
the_silver_searcher code search Github 2.2.0

#Quotes

"Simplicity is prerequisite for reliability"
        Edsger Wybe Dijkstra
"If a craftsman wants to do good work, he must first sharpen his tools"
        Confucius