This repository contains different configuration files, which I have been writing since 2005.
cmd/
— shell-related configuration files.utils/
— configuration files for different utilities, like emacs or msmtp.noauto/
— different system configuration files, not for automatic installation. Described below.scripts/
— scripts to:- save private credentials
- backup editor plugins
- install/update JOSM.
deploy.sh
— main deployment script.
hosts
—/etc/hosts
file. This is not a validhosts
file! You should review it and add useful entries to your/etc/hosts
by hands!50trackball.conf
— X configuration for Logitech trackball50-udiskie.rules
— Rules for udiskie. Should be placed in/etc/polkit-1/rules.d/
. Owner should bepolkitd
, and access right should be644
.97-udisks2.rules
— Rules for udiskie [2]. Should be placed in/etc/udev/rules.d/
.userChrome.css
— Disable tabs and tabbar in Librewolf. Should be placed in~/.librewolf/your-profile-folder/chrome/
.user.js
— Setting for chrome to improve security and remove annoyances. Should be placed in~/.librewolf/your-profile-folder/
.
You should have next programs in system before configuration deployment:
- cron
- curl
- make (or gmake executable should be available in FreeBSD)
- python3
- perl
- rsync
- sqlite3
- stow
- syncthing
- sudo
- xsltproc
- udisks
- zsh
- abook
- fdm
- maildrop
- msmtp
- mu
- mu4e
- rss2email
- ctags
- diff-highlight (can be installed with `pip3 install diff-highlight`)
- emacs
- idea
- lacheck
- language-tool
- latex (texlive)
- dunst
- git
- gpg
- jq
- numlockx
- pass
- pass-otp
- picom
- rtorrent
- shred
- ssh-askpass-fullscreen
- wget
- xclip
- yt-dlp
- udiskie
- feh
- gimp
- imagemagick
- lame
- mplayer
- rawtherapee
- sxiv or nsxiv
- librewolf
- i3
- i3blocks
- josm
- qmapshack
- telegram
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:
To work with file synchronization via cloudsync you need to have sync
SSH-key with empty passphrase. This key should be added to remote server to
rsync
account into ~/.ssh/authorized_keys
.
For using GMail with fetchmail
and msmtp
you should specify mail server
passwords in ~/.netrc
.
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.
- Clone this repository to some suitable directory. You mustn’t clone it to
your
~
directory! - Run
deploy.sh
script, which do the next:- Make soft links from our catalog to the user $HOME catalog via stow.
- Create necessary empty directories.
- Create mail directories.
- Set right access rights to some configuration files.
- Store in
~
special file with OS and hardware type of machine where this repository is cloned to. It is necessary to properly handle some functions, which should exists on one machine and shouldn’t on another.
Mu4e
e-mail client should be install via the OS package manager, for example:
sudo pkg install mu4e
Run this after first Emacs run:
M-x all-the-icons-install-fonts
Fonts should be installed to ~/.local/share/fonts/
. After installation:
- Run
fc-cache -f -v ~/.local/share/fonts/
, if not executed byall-the-icons-install-fonts
itself. - Restart Emacs daemon
You should update your /etc/hosts
with data from noauto/hosts
.