dotfiles/README.org

92 lines
8.7 KiB
Org Mode

#+TITLE: My dotfiles
#+HUGO_ALIASES: /config
[[https://forthebadge.com/images/badges/works-on-my-machine.svg]]
A set of my GNU/Linux configuration files. [[https://github.com/SqrtMinusOne/dotfiles][View at GitHub]].
The majority of the software is configured with [[https://leanpub.com/lit-config/read][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 [[https://yadm.io/][yadm]], but I mostly use Org Mode rich noweb whenever I can instead of what yadm offers.
My current GNU/Linux distribution is [[https://guix.gnu.org/][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 tables with "Guix dependency" in the header.
Literate configuration files:
- [[file:Emacs.org][Emacs.org]]
- [[file:Desktop.org][Desktop.org]]
- [[file:Console.org][Console.org]]
- [[file:Guix.org][Guix.org]]
- [[file:Mail.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 :) | [[file:Console.org::*Bash][Console.org]] | |
| console | [[https://fishshell.com/][fish]] | shell | *active* | [[file:Console.org::*Fish][Console.org]] | |
| console | [[https://github.com/starship/starship][starship]] | prompt | *active* | [[file:Console.org::*Starship][Console.org]] | |
| console | [[https://github.com/tmux/tmux][tmux]] | terminal multiplexer | *active* | [[file:Console.org::*Tmux][Console.org]] | |
| console | [[https://github.com/alacritty/alacritty][alacritty]] | terminal emulator | *active* | [[file:Console.org::*Alacritty][Console.org]] | |
| mail | [[https://notmuchmail.org/][notmuch]] | mail indexer | *active* | [[file:Mail.org][Mail.org,]] [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | |
| mail | [[https://github.com/gauteh/lieer][lieer]] | gmail API client | *active* | [[file:Mail.org][Mail.org]], [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | credentials are encrypted |
| mail | [[https://marlam.de/msmtp/][msmtp]] | SMTP client | *active* | [[file:Mail.org][Mail.org]] | |
| editor | [[https://www.gnu.org/software/emacs/][emacs]] | everything | *active* | [[file:Emacs.org][Emacs.org]] | GitHub renders .org files without labels and =tangle: no= |
| editor | [[https://www.vim.org/][vim]] | text edtior | *active* | - | A minimal config to have a lightweight terminal $EDITOR |
| editor | [[https://neovim.io/][neovim]] | text edtior | archive | - | |
| documents | [[https://mg.readthedocs.io/latexmk.html][latexmk]] | LaTeX build tool | *active* | - | |
| documents | [[https://pwmt.org/projects/zathura/][zathura]] | pdf viewer | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://github.com/dunst-project/dunst][dunst]] | notification manager | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://i3wm.org/][i3wm]] | tiling WM | *active* | [[file:Desktop.org::*i3wm][Desktop.org]] | |
| desktop | [[https://github.com/jordansissel/keynav][keynav]] | control mouse with keyboard | *active* | [[file:Desktop.org::*keynav][Desktop.org]] | |
| desktop | [[https://github.com/polybar/polybar][polybar]] | status bar | *active* | [[file:Desktop.org::*Polybar][Desktop.org]] | |
| desktop | [[https://github.com/davatorium/rofi][rofi]] | generic menu | *active* | [[file:Desktop.org::*Rofi][Desktop.org]] | |
| desktop | [[https://github.com/flameshot-org/flameshot][flameshot]] | screenshot | *active* | [[file:Desktop.org::Flameshot][Desktop.org]] | |
| desktop | [[https://github.com/yshui/picom][picom]] | X11 compositor | *active* | [[file:Desktop.org::*Picom][Desktop.org]] | |
| desktop | [[https://github.com/vivien/i3blocks][i3blocks]] | status bar | archive | - | |
| internet | [[https://github.com/tridactyl/tridactyl][tridactyl]] | vim bindings for Firefox | *active* | - | templated with yadm |
| internet | [[https://newsboat.org/][newsboat]] | terminal RSS reader | archive | - | urls are encrypted |
| internet | [[https://qutebrowser.org/][qutebrowser]] | browser with vim bindings | archive | - | |
| internet | [[https://github.com/jarun/buku][buku]] | bookmarks manager | archive | - | |
| audio | [[https://www.musicpd.org/][mpd]] | music player daemon | *active* | - | |
| audio | [[https://github.com/ncmpcpp/ncmpcpp][ncmpcpp]] | MPD frontend | *active* | - | |
| misc | [[https://yadm.io][yadm]] | dotfiles manager | *active* | - | |
| misc | [[https://github.com/risacher/sunwait][sunwait]] | sunrise calculator | *active* | - | |
| misc | [[https://github.com/vergoh/vnstat][vnstat]] | traffic stats | *active* | - | |
* Posts about my configuration
- [[https://sqrtminusone.xyz/posts/2021-05-01-org-python/][Replacing Jupyter Notebook with Org Mode]]
- [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][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:
#+begin_src elisp :results none
(setq-local org-image-actual-width '(1024))
#+end_src
** History
[[./dot-stats/img/all.png]]
[[./dot-stats/img/emacs-vim.png]]
[[./dot-stats/img/literate-config.png]]
* 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
#+begin_src text :tangle ~/.config/yadm/encrypt
.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/private.org
.emacs.d/private.el
.emacs.d/.trello/sqrtminusone.el
#+end_src