Skip to content

eugeneandrienko/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About this repository

This repository contains different configuration files, which I have been writing since 2005.

Contents:

  • 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.

noauto/ contents:

  • hosts/etc/hosts file. This is not a valid hosts file! You should review it and add useful entries to your /etc/hosts by hands!
  • 50trackball.conf — X configuration for Logitech trackball
  • 50-udiskie.rules — Rules for udiskie. Should be placed in /etc/polkit-1/rules.d/. Owner should be polkitd, and access right should be 644.
  • 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/.

Dependencies:

You should have next programs in system before configuration deployment:

System programs:

  • cron
  • curl
  • make (or gmake executable should be available in FreeBSD)
  • python3
  • perl
  • rsync
  • sqlite3
  • stow
  • syncthing
  • sudo
  • xsltproc
  • udisks
  • zsh

Mail and IM:

Editing:

  • ctags
  • diff-highlight (can be installed with `pip3 install diff-highlight`)
  • emacs
  • idea
  • lacheck
  • language-tool
  • latex (texlive)

Utilities:

  • dunst
  • git
  • gpg
  • jq
  • numlockx
  • pass
  • pass-otp
  • picom
  • rtorrent
  • shred
  • ssh-askpass-fullscreen
  • wget
  • xclip
  • yt-dlp
  • udiskie

Multimedia:

  • feh
  • gimp
  • imagemagick
  • lame
  • mplayer
  • rawtherapee
  • sxiv or nsxiv

GUI:

  • librewolf
  • i3
  • i3blocks
  • josm
  • qmapshack
  • telegram

Fonts:

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 sync SSH-key with empty passphrase. This key should be added to remote server to rsync account into ~/.ssh/authorized_keys.

Passwords:

For using GMail with fetchmail 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.

Deployment:

  1. Clone this repository to some suitable directory. You mustn’t clone it to your ~ directory!
  2. Run deploy.sh script, which do the next:
    1. Make soft links from our catalog to the user $HOME catalog via stow.
    2. Create necessary empty directories.
    3. Create mail directories.
    4. Set right access rights to some configuration files.
    5. 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.

After deployment:

Emacs plugins and fonts installation

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 by all-the-icons-install-fonts itself.
  • Restart Emacs daemon

/etc/hosts:

You should update your /etc/hosts with data from noauto/hosts.