# My dotfiles
Freedom is a state of mind
Author: SqrtMinusOne

A set of my GNU/Linux configuration files. View at GitHub.

The majority of the software is configured with literate configuration strategy via Emacs' Org Mode. This way has its advantages and disadvantages, but overall it’s pretty nice to keep the configs interweaved with comments in a handful of files.

The files themselves are managed and deployed via yadm, but I mostly use Org Mode rich noweb whenever I can instead of what yadm offers.

My current GNU/Linux distribution is GNU Guix. In the context of this repo, Guix allows me to list all the used programs in manifests, which means I have the same set of programs across multiple machines. Look for the tables with “Guix dependency” in the header.

Literate configuration files:

- Emacs.org
- Desktop.org
- Console.org
- Guix.org
- Mail.org

## Programs used

Some of the notable programs are listed in the table below.

Group | Program | Purpose | Status | Documented? | Notes
--- | --- | --- | --- | --- | ---
console | bash | shell | launches fish :) | Console.org |
console | fish | shell | active | Console.org |
console | starship | prompt | active | Console.org |
console | tmux | terminal multiplexer | active | Console.org |
console | alacritty | terminal emulator | active | Console.org |
mail | notmuch | mail indexer | active | Mail.org, post |
mail | lieer | gmail API client | active | Mail.org, post | credentials are encrypted
mail | msmtp | SMTP client | active | Mail.org |
editor | emacs | everything | active | Emacs.org | GitHub renders .org files without labels and `tangle: no`
editor | vim | text edtior | active | - | A minimal config to have a lightweight terminal $EDITOR
editor | neovim | text edtior | archive | - |
documents | latexmk | LaTeX build tool | active | - |
documents | zathura | pdf viewer | active | Desktop.org |
desktop | dunst | notification manager | active | Desktop.org |
desktop | i3wm | tiling WM | active | Desktop.org |
desktop | keynav | control mouse with keyboard | active | Desktop.org |
desktop | polybar | status bar | active | Desktop.org |
desktop | rofi | generic menu | active | Desktop.org |
desktop | flameshot | screenshot | active | Desktop.org |
desktop | picom | X11 compositor | active | Desktop.org |
desktop | i3blocks | status bar | archive | - |
internet | tridactyl | vim bindings for Firefox | active | - | templated with yadm
internet | newsboat | terminal RSS reader | archive | - | urls are encrypted
internet | qutebrowser | browser with vim bindings | archive | - |
internet | buku | bookmarks manager | archive | - |
audio | mpd | music player daemon | active | - |
audio | ncmpcpp | MPD frontend | active | - |
misc | yadm | dotfiles manager | active | - |
misc | sunwait | sunrise calculator | active | - |
misc | vnstat | traffic stats | active | - |

## Posts about my configuration

- Replacing Jupyter Notebook with Org Mode
- Multiple Gmail accounts & labels with Emacs

## Some statistics

If you are viewing the file in Emacs, eval the following to show the pictures with reasonable width:

    (setq-local org-image-actual-width '(1024))

### History

## Misc

### Notes

- `M-u C-c C-v t` to tangle a particular block
- `M-u M-u C-c C-v t` to tangle a particular file
- `C-c C-v d` to demarcate a block

Uses yadm’s `post_alt` hook to create symlinks

### Encrypted files

    .config/newsboat/urls
    .config/filezilla/sitemanager.xml
    .config/filezilla/filezilla.xml
    Mail/thexcloud/.credentials.gmailieer.json
    Mail/progin6304/.credentials.gmailieer.json
    .emacs.d/dired-bookmarks.el
    .emacs.d/elfeed.org
    .emacs.d/private.org
    .emacs.d/prodigy-config.el
    .emacs.d/private.el