- Emacs Lisp 63.2%
- Common Lisp 20.5%
- Shell 5.6%
- JavaScript 4.9%
- HTML 2.4%
- Other 3.4%
|
eugeneandrienko
cb6c53c105
Replaced AwesomeWM with cwm, sxhkd, xclock, xbatt and standalone rofi configuration. |
||
|---|---|---|
| bin | Simplified X window manager configuration AF | |
| noauto | Properly call fish via default sh shell | |
| scripts | ||
| sys | Simplified X window manager configuration AF | |
| utils | Simplified X window manager configuration AF | |
| .gitignore | ||
| .gitmodules | ||
| .stowrc | ||
| deploy.lisp | Simplified X window manager configuration AF | |
| README.org | Simplified X window manager configuration AF | |
About this repository
This repository contains different configuration files, which I have been writing since 2005.
All configuration files works under the FreeBSD 15.0.
Contents:
-
bin/ - various shell scripts for user and for cron.
-
deploy.lisp - main deployment script.
-
noauto/ - different system configuration files, not for automatic installation.
-
scripts/ -
scripts to:
- save private credentials
- backup editor plugins
- install/update JOSM.
-
sys/ - system-related configuration files for current user, like
~/.profile,~/.inputrc, etc. -
utils/ - configuration files for different utilities, like emacs or msmtp.
Deployment:
You should have next programs in the system before configuration deployment:
- cron
- ecl
- maildrop
- stow
Look at the section to configure some SSH and GPG keys, but the deployment will work even without this step.
Commands to deploy configuration:
cd dotfiles/
STOW_DIR=./utils stow -v lisp
ecl --load deploy.lisp --eval "(progn (deploy:deploy) (ext:quit 0 t))"
This commands perform the next actions:
- Make soft links for files in the
bin/,sys/andutils/catalogs to the$HOMEcatalog via thestow. - Create necessary empty directories.
- Create mail directories.
- Set proper access rights to some configuration files.
- Create crontab for user.
- Make a symlink for
~/.xinitrcto~/.xsession.
Dependencies
The next programs are used by this configuration. The specified versions was checked by me to not contaminated by any slop code, so the programs with specified versions are not slopware.
File management:
- openrsync 0.0.20250127
- syncthing 2.0.13
GUI:
- autorandr 1.15
- cwm 7.9
- picom 12.5
- qt5ct 1.9
- rofi 2.0.0
- sxhkd 0.6.2
- xautolock 2.2
- xclip 0.13.99
- xdm 1.1.14
- xlockmore 5.83
Fonts:
- x11-fonts/dejavu
- x11-fonts/webfonts
- x11-fonts/plex-ttf
- x11-fonts/font-awesome
- x11-fonts/webfonts
- x11-fonts/twemoji-color-font-ttf
-
Monaspace Xenon and Radon fonts, version ≥ v1.440. Install it in the
/usr/local/share/fonts/Monaspace/and run the next commands in the font's catalog:mkfontscale mkfontdir
Fonts' look&feel settings are controlled via symlinks in the
/usr/local/etc/fonts/conf.d/ catalog:
drag0n@drag0n-laptop:~ $ cd /usr/local/etc/fonts/conf.d drag0n@drag0n-laptop:/usr/local/etc/fonts/conf.d $ ls -l total 21 lrwxr-xr-x 1 root wheel 34 Dec 13 16:10 10-hinting-none.conf -> ../conf.avail/10-hinting-none.conf lrwxr-xr-x 1 root wheel 36 Jan 15 05:16 10-hinting-slight.conf -> ../conf.avail/10-hinting-slight.conf lrwxr-xr-x 1 root wheel 40 Jan 15 05:16 10-scale-bitmap-fonts.conf -> ../conf.avail/10-scale-bitmap-fonts.conf lrwxr-xr-x 1 root wheel 36 Jan 15 05:16 10-sub-pixel-none.conf -> ../conf.avail/10-sub-pixel-none.conf lrwxr-xr-x 1 root wheel 35 Mar 21 2025 10-sub-pixel-rgb.conf -> ../conf.avail/10-sub-pixel-rgb.conf lrwxr-xr-x 1 root wheel 30 Dec 13 16:11 10-unhinted.conf -> ../conf.avail/10-unhinted.conf lrwxr-xr-x 1 root wheel 35 Jan 15 05:16 10-yes-antialias.conf -> ../conf.avail/10-yes-antialias.conf lrwxr-xr-x 1 root wheel 39 Jan 15 05:16 11-lcdfilter-default.conf -> ../conf.avail/11-lcdfilter-default.conf lrwxr-xr-x 1 root wheel 51 Jan 15 05:16 20-unhint-small-dejavu-sans-mono.conf -> ../conf.avail/20-unhint-small-dejavu-sans-mono.conf lrwxr-xr-x 1 root wheel 46 Jan 15 05:16 20-unhint-small-dejavu-sans.conf -> ../conf.avail/20-unhint-small-dejavu-sans.conf lrwxr-xr-x 1 root wheel 47 Jan 15 05:16 20-unhint-small-dejavu-serif.conf -> ../conf.avail/20-unhint-small-dejavu-serif.conf lrwxr-xr-x 1 root wheel 39 Jan 15 05:16 20-unhint-small-vera.conf -> ../conf.avail/20-unhint-small-vera.conf lrwxr-xr-x 1 root wheel 36 Jan 15 05:16 30-metric-aliases.conf -> ../conf.avail/30-metric-aliases.conf lrwxr-xr-x 1 root wheel 30 Jan 15 05:16 40-nonlatin.conf -> ../conf.avail/40-nonlatin.conf lrwxr-xr-x 1 root wheel 31 Jan 15 05:16 42-luxi-mono.conf -> ../conf.avail/42-luxi-mono.conf lrwxr-xr-x 1 root wheel 29 Jan 15 05:16 45-generic.conf -> ../conf.avail/45-generic.conf lrwxr-xr-x 1 root wheel 27 Jan 15 05:16 45-latin.conf -> ../conf.avail/45-latin.conf lrwxr-xr-x 1 root wheel 29 Jan 15 05:16 48-spacing.conf -> ../conf.avail/48-spacing.conf lrwxr-xr-x 1 root wheel 31 Jan 15 05:16 49-sansserif.conf -> ../conf.avail/49-sansserif.conf lrwxr-xr-x 1 root wheel 26 Jan 15 05:16 50-user.conf -> ../conf.avail/50-user.conf lrwxr-xr-x 1 root wheel 27 Jan 15 05:16 51-local.conf -> ../conf.avail/51-local.conf lrwxr-xr-x 1 root wheel 38 Jan 15 05:16 57-dejavu-sans-mono.conf -> ../conf.avail/57-dejavu-sans-mono.conf lrwxr-xr-x 1 root wheel 33 Jan 15 05:16 57-dejavu-sans.conf -> ../conf.avail/57-dejavu-sans.conf lrwxr-xr-x 1 root wheel 34 Jan 15 05:16 57-dejavu-serif.conf -> ../conf.avail/57-dejavu-serif.conf lrwxr-xr-x 1 root wheel 29 Jan 15 05:16 60-generic.conf -> ../conf.avail/60-generic.conf lrwxr-xr-x 1 root wheel 27 Jan 15 05:16 60-latin.conf -> ../conf.avail/60-latin.conf lrwxr-xr-x 1 root wheel 35 Jan 15 05:16 65-fonts-persian.conf -> ../conf.avail/65-fonts-persian.conf lrwxr-xr-x 1 root wheel 30 Jan 15 05:16 65-nonlatin.conf -> ../conf.avail/65-nonlatin.conf lrwxr-xr-x 1 root wheel 29 Jan 15 05:16 69-unifont.conf -> ../conf.avail/69-unifont.conf lrwxr-xr-x 1 root wheel 33 Jan 15 05:16 70-yes-bitmaps.conf -> ../conf.avail/70-yes-bitmaps.conf lrwxr-xr-x 1 root wheel 31 Jan 15 05:16 80-delicious.conf -> ../conf.avail/80-delicious.conf lrwxr-xr-x 1 root wheel 31 Jan 15 05:16 90-synthetic.conf -> ../conf.avail/90-synthetic.conf -rw-r--r-- 1 root wheel 978 Jan 15 05:16 README
Icons and theme
Used theme is a Solarized-Light theme:
https://github.com/rtlewis88/rtl88-Themes/tree/Solarized-Light.
For icons there is a Haiku icons.
For cursor there is a Haiku cursor theme.
Mail and IM:
- fdm 2.2
- msmtp 1.8.32
- mu 1.12.15
- profanity 0.15.1
- rss2email 3.14
Multimedia:
- feh 3.11.2
- gimp (definitely not a slopware, see this template)
- GraphicsMagick 1.3.43
- grafx2 2.9
- lame 3.100
- mplayer 1.5.0.20250816
- mypaint 2.0.1
- playerctl 2.3.1
- nsxiv 33
Programming:
- asdf
- clangd19
- ecl
- git
- quicklisp
- slime — to use Common Lisp in Emacs.
- clhs — local copy of CLHS documentation in Emacs (see the
C-c C-d hkeybinding). - slite — Emacs 5am test runner.
Quicklisp installation and setup:
wget -c -e https_proxy=127.0.0.1 20172 https://beta.quicklisp.org/quicklisp.lisp
wget -c -e https_proxy=127.0.0.1 20172 https://beta.quicklisp.org/quicklisp.lisp.asc
gpg --verify quicklisp.lisp.asc quicklisp.lisp
ecl --load quicklisp.lisp
(quicklisp-quickstart:install :proxy "http://localhost:1984/")
(setf (ql-config:config-value "proxy-url") "http://localhost:1984")
(ql:add-to-init-file)
(quit)
Slime installation:
(ql:quickload :quicklisp-slime-helper)
CLHS installation:
(ql:quickload "clhs")
(clhs:install-clhs-use-local)
Slite installation:
cd ~/quicklisp/local-projects/
git clone git@github.com:tdrhq/slite.git
ecl
(ql:quickload "slite")
(quit)
Then the next line should be added to the ~/.eclrc:
(ql:quickload '(:slite) :silent t)
System programs:
- automount 1.6.1 (from vermaden)
- fish 4.3.3
- make (BSD)
- make (GNU)
- opendoas 6.8.2 (the
opendoaspackage orsecurity/opendoasport) - perl 5.42.0
- pinentry-gtk2 1.3.2
- python 3.11.15. Note: python 3 is slopware since 3.13.6.
- sh. Note: it is used for shell scripting.
- sqlite3 3.50.4
- xsltproc (using libxml 21502, libxslt 10145 and libexslt 825).
Text-editing:
- aspell (with en and ru dictionaries) 0.60.8.1 (International Ispell Version 3.1.20)
- emacs 30.2
- lacheck 1.30
- latex (texlive) 3.141592653-2.6-1.40.27
- plantuml (with jar installed in the
~/bin/plantuml/plantuml.jar) 1.2025.1
Utilities:
- gnuplot 5.4 (patchlevel 10)
- gpg 2.4.9
- jackett 0.24.704
- jq 1.8.1
- numlockx 1.2
- pass 1.7.4
- pass-otp 1.1.1
- proxychains-ng 4.17
- screen 5.0.1
- wifimgr 1.26
Web:
- librewolf 147.0.4-1
- lynx 2.8.9
- qbittorrent 5.1.4
- yt-dlp 2025年11月12日
- wget 1.25.0
Better to install yt-dlp from git repository, using prebuild
zip-archived Python script executable. The yt-dlp should be installed
to the ~/bin/yt-dlp/ catalog.
mkdir ~/bin/yt-dlp
cd ~/bin/yt-dlp
wget -c https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
wget -c https://github.com/yt-dlp/yt-dlp/releases/latest/download/SHA2-512SUMS
sha512 yt-dlp
chmod u+x yt-dlp
./yt-dlp --update
Before deployment:
If you need sensitive data (passwords, API keys, etc) in the new machine — use
store_sensitive_data.sh script to save it in archive on the old machine and
move to the new machine.
On the new machine you should do the next, to import sensitive data:
File synchronization:
To work with file synchronization via cloudsync you need to have
cloudsync SSH-key with empty passphrase. This key should be added to
remote server to cloudsync account into ~/.ssh/authorized_keys.
Passwords:
For using GMail with gnus and msmtp you should specify mail server passwords
in ~/.netrc.
Import GPG keys:
Use this commands:
gpg --import pub.key gpg --import priv.key
After that call gpg --edit-key <key-id> and set trust level to 5 via command
trust. Quit gpg console with quit command.
After deployment:
Emacs plugins and fonts installation
Run this after first Emacs run:
M-x nerd-icons-install-fonts
Fonts should be installed to ~/.local/share/fonts/. After installation:
- Run
fc-cache -f -v ~/.local/share/fonts/, if not executed bynerd-icons-install-fontsitself. - Restart Emacs daemon
Byte-compiling Emacs configuration
Open the next catalogs in the Dired, select all *.el files and press B:
utils/emacs/.emacs.d/utils/emacs/.emacs.d/configs/utils/emacs/.emacs.d/eshell/
After that rerun command to deploy configuration to add the symlinks
to *.elc files to the ~/.emacs.d catalog. And restart Emacs daemon.
/etc/hosts:
You should update your /etc/hosts with data from noauto/hosts.
Other files from noauto/ catalog
Edit system configuration with lines from these files.