My configuration ("dot") files

Alex Kost b03b67d853 zathura: Use "C-s"/"C-r" to search forward/backward %!s(int64=2) %!d(string=hai) anos
X 0739888990 xorg: Add some comments %!s(int64=3) %!d(string=hai) anos
dunst 9e219ab412 dunst: Rewrite the config file %!s(int64=6) %!d(string=hai) anos
etc 95e5711ea8 etc/hosts: Add "holomorph" host %!s(int64=2) %!d(string=hai) anos
fontconfig 2201c1f625 Add 'fontconfig' config %!s(int64=8) %!d(string=hai) anos
git 7a291d44f5 git: Add 'signingkey' %!s(int64=8) %!d(string=hai) anos
gtk 01a67fcc1e gtk: Display all scroll-bar stepper buttons %!s(int64=8) %!d(string=hai) anos
kbd 0a9febf0c6 Rename "keymaps" into "kbd" %!s(int64=9) %!d(string=hai) anos
lirc 97750e3790 lirc: Bind number keys to "osd-sleep" %!s(int64=7) %!d(string=hai) anos
mime 2919eb05ec Add mime.types %!s(int64=8) %!d(string=hai) anos
mosd db6fa1207c mosd: Use dejavu font everywhere %!s(int64=9) %!d(string=hai) anos
mplayer ae72916bae mplayer: Use 'rotate' video filter %!s(int64=8) %!d(string=hai) anos
mpv dab22e1d10 mpv: Update keys %!s(int64=2) %!d(string=hai) anos
nbfc 741469684a Add 'nbfc' config %!s(int64=4) %!d(string=hai) anos
openbox 5f03b8660a openbox: Update sound keys to use 'osd-sound' %!s(int64=7) %!d(string=hai) anos
postgresql 86378f9896 Add 'postgresql' config %!s(int64=6) %!d(string=hai) anos
rtorrent e68b4f412b rtorrent: Raise 'upload_rate' to 500 %!s(int64=8) %!d(string=hai) anos
sbcl 416431c337 Initial commit %!s(int64=9) %!d(string=hai) anos
sxiv 906e327132 sxiv: Add a note that my config is for version 24 %!s(int64=2) %!d(string=hai) anos
syslog c206271cb7 Add "syslog.conf" %!s(int64=9) %!d(string=hai) anos
top 416431c337 Initial commit %!s(int64=9) %!d(string=hai) anos
tvtime 9c8b23c950 tvtime: Bind more keys %!s(int64=7) %!d(string=hai) anos
wget 9890bb3b32 wget: Enable 'continue' option %!s(int64=7) %!d(string=hai) anos
youtube-dl 014e618f4d youtube-dl: Use "--no-continue" option %!s(int64=2) %!d(string=hai) anos
yt-dlp 80b6fc809d Add 'yt-dlp' config %!s(int64=2) %!d(string=hai) anos
zathura b03b67d853 zathura: Use "C-s"/"C-r" to search forward/backward %!s(int64=2) %!d(string=hai) anos
.gitignore 849194c2b1 gitignore: Ignore "/mpv/watch_later" %!s(int64=5) %!d(string=hai) anos
COPYING 71a35d5dd9 Add COPYING and README %!s(int64=9) %!d(string=hai) anos
README.org 36d7cbce8c Updates for making "guile-config" repository %!s(int64=8) %!d(string=hai) anos
bootstrap 8f572617cb bootstrap: Do not execute 'main' procedure %!s(int64=8) %!d(string=hai) anos
config.scm 80b6fc809d Add 'yt-dlp' config %!s(int64=2) %!d(string=hai) anos
help 51101b36d8 help: Remove a note about "/usr/bin/env" %!s(int64=7) %!d(string=hai) anos

README.org

About

This repository contains:

  • My configuration files (aka "dot-files") for various programs. But
  • not all: several "big" (usually programmable) configs (for guix, emacs, stumpwm, etc.) live in their own repositories (they may be found in [[https://gitlab.com/alezost-config]] group).
  • A tool (config.scm Guile script) to deal with my configs.

config.scm

So to deploy my config files, appropriate symlinks are being created (for example, ~/.bashrc is becoming a symlink to bash/bashrc from this repo). For this purpose (and for other useful actions, like listing available configs or removing old configuration files), I use =config.scm= script from this repo. It relies on my guile modules.

Examples

config.scm deploys (symlinks) itself to ~/bin/config and as ~/bin directory is in my PATH, I can refer to it as config. Although it provides "-h"/"--help" option, here are some examples anyway:

  • Clone all repositories with my configs to appropriate places and make
  • the required symlinks:

#+BEGIN_SRC shell config --fetch --deploy #+END_SRC

  • Display a list of names of all available configurations:

#+BEGIN_SRC shell config -l #+END_SRC

  • Show verbose descriptions (git repositories, directories where they
  • will cloned and symlinks that will be created during deploying) of "emacs" and "shepherd" configurations:

#+BEGIN_SRC shell config --show emacs shepherd #+END_SRC

Bootstrapping

After installing a new operating system, my first wish is to have all my configs deployed! So I just clone this repo and run bootstrap shell script which does the job for me (it downloads my guile modules and executes config.scm using them). There is also help shell script to remind me the details of bootstrapping process on a fresh system.