Compare commits

...

5 Commits

Author SHA1 Message Date
tdehaeze 3bb6d2fac7 Add some installation documentation 2026-04-16 23:34:03 +02:00
tdehaeze 128f6f1bab Installation script for mails 2026-04-16 23:33:47 +02:00
tdehaeze 6f7db148b8 Music setup now relies on jellyfin-tui 2026-04-16 23:33:30 +02:00
tdehaeze ce4c61ad35 Better stig theme 2026-04-16 23:33:19 +02:00
tdehaeze de2dc3c62a Add missing dependency 2026-04-16 23:33:03 +02:00
8 changed files with 731 additions and 191 deletions
+1
View File
@@ -24,6 +24,7 @@ tangle() {
echo "==> Calendar and contacts packages"
paru -S --needed --noconfirm \
vdirsyncer \
python-aiohttp-oauthlib \
khal \
khard
#+end_src
+1 -1
View File
@@ -761,4 +761,4 @@ delay = 200
rate = 40
#+end_src
And then enable the service with: =systemctl --user enable xautocfg.service=
And then enable the service with: =systemctl --user enable --now xautocfg.service=
+110 -28
View File
@@ -118,7 +118,7 @@ tangle() {
#+begin_src bash
echo "==> Shell and Terminal"
paru -S --needed --noconfirm \
bash bash-completion zsh \
bash bash-completion \
kitty \
tmux
#+end_src
@@ -131,6 +131,7 @@ paru -S --needed --noconfirm \
echo "==> Fonts"
paru -S --needed --noconfirm \
ttf-hack-nerd \
otf-libertinus \
ttf-sourcecodepro-nerd \
adobe-source-code-pro-fonts \
noto-fonts-emoji
@@ -169,6 +170,8 @@ paru -S --needed --noconfirm \
Generate a GPG key:
#+begin_src bash :tangle no
mkdir -p ~/.local/share/gnupg
gpg-agent --daemon
gpg --full-gen-key
#+end_src
@@ -184,6 +187,95 @@ pass git init
pass git remote add origin https://github.com/tdehaeze/pass.git
#+end_src
Or =cd ~/.local/share= and =git clone https://git.tdehaeze.xyz/tdehaeze/pass=
*** Setup password store on new computer (B)
**** On computer B (new)
1. Generate key:
#+begin_src bash :tangle no
gpg --full-generate-key
#+end_src
Remember the fingerprint (e.g., ~FBDA20B263C0C74A462D06F417F6BC48C15759C1~)
2. Export public key:
#+begin_src bash :tangle no
gpg --export FBDA20B263C0C74A462D06F417F6BC48C15759C1 > B.pub
#+end_src
3. Copy ~B.pub~ to computer A (USB, scp, etc.)
**** On computer A (existing)
4. Import B's public key:
#+begin_src bash :tangle no
gpg --import B.pub
#+end_src
5. Trust the key:
#+begin_src bash :tangle no
gpg --edit-key FBDA20B263C0C74A462D06F417F6BC48C15759C1
#+end_src
#+begin_example
trust
5
save
#+end_example
6. Find A's fingerprint:
#+begin_src bash :tangle no
gpg --fingerprint dehaeze.thomas@gmail.com
#+end_src
Note the fingerprint of the key used for pass (e.g., ~453D80FAF9BBDF56CB4167699C30DC293122F6C6~)
7. Re-encrypt store to both keys:
#+begin_src bash :tangle no
pass init "453D80FAF9BBDF56CB4167699C30DC293122F6C6" "FBDA20B263C0C74A462D06F417F6BC48C15759C1"
#+end_src
8. Export A's public key:
#+begin_src bash :tangle no
gpg --export 453D80FAF9BBDF56CB4167699C30DC293122F6C6 > A.pub
#+end_src
9. Push password store changes:
#+begin_src bash :tangle no
pass git push
#+end_src
10. Copy ~A.pub~ to computer B
**** Back on computer B
11. Import A's public key:
#+begin_src bash :tangle no
gpg --import A.pub
#+end_src
12. Trust the key:
#+begin_src bash :tangle no
gpg --edit-key 453D80FAF9BBDF56CB4167699C30DC293122F6C6
#+end_src
#+begin_example
trust
5
save
#+end_example
13. Clone password store (if using git):
#+begin_src bash :tangle no
git clone <your-pass-git-url> ~/.password-store
cd ~/.password-store
pass git pull
#+end_src
14. Verify:
#+begin_src bash :tangle no
pass show some-password
pass insert test/new-password
pass show test/new-password
#+end_src
** SSH
Generate a new SSH key:
@@ -264,6 +356,7 @@ paru -S --needed --noconfirm \
tesseract tesseract-data-eng tesseract-data-fra tesseract-data-osd \
zathura zathura-pdf-mupdf zathura-djvu zathura-ps zathura-cb \
pdfpc \
f3d \
gst-plugins-ugly gst-plugins-good gst-plugins-base-libs gst-plugins-base gst-plugins-bad gst-libav
#+end_src
@@ -331,12 +424,16 @@ paru -S --needed --noconfirm \
gotify-dunst-git \
gomuks \
yt-dlp \
freerdp \
xautocfg \
python ipython python-pip
#+end_src
Enable Syncthing:
Enable Syncthing and Gotify-dunst:
#+begin_src bash :tangle no
systemctl --user enable --now syncthing
systemctl --user enable --now gotify-dunst
systemctl --user enable --now xautocfg
#+end_src
** Misc Utilities
@@ -447,44 +544,29 @@ xdg-mime default qutebrowser.desktop x-scheme-handler/http
xdg-mime default qutebrowser.desktop x-scheme-handler/https
#+end_src
* Mail Install Script
* Specific Applications
:PROPERTIES:
:header-args:bash: :tangle scripts/install-mail.sh :shebang "#!/bin/bash" :mkdirp yes
:header-args:bash: :tangle scripts/install-gui.sh :shebang "#!/bin/bash" :mkdirp yes
:END:
Mail setup documentation: [[file:mail.org][mail.org]]
#+begin_src bash
set -euo pipefail
#+end_src
** Packages
#+begin_src bash
echo "==> Mail packages"
echo "==> GUI applications"
paru -S --needed --noconfirm \
isync \
msmtp \
neomutt \
mu \
lynx urlview
inkscape \
freecad \
bambustudio-bin \
pcmanfm \
jellyfin-desktop \
xournalpp \
anydesk-bin
#+end_src
** Initialize mu
[[file:bash.org][Bash]] configuration: =~/.bashrc=, =~/.bash_profile=, =~/.config/bash/=, =~/.profile=
#+begin_src bash :tangle no
echo "==> Initializing mu index"
mu init -m ~/.mail/
mu index
#+end_src
** Systemd Timers
#+begin_src bash :tangle no
echo "==> Enabling mail timers"
systemctl --user enable --now checkmail.timer
systemctl --user enable --now syncmail.timer
#+end_src
* LaTeX Install Script
:PROPERTIES:
+62 -8
View File
@@ -1,9 +1,69 @@
#+TITLE: Mail Configuration
#+SETUPFILE: ./setup/org-setup-file.org
Installation:
* Mail Install Script
:PROPERTIES:
:header-args:bash: :tangle scripts/install-mail.sh :shebang "#!/bin/bash" :mkdirp yes
:END:
Mail setup documentation: [[file:mail.org][mail.org]]
#+begin_src bash
set -euo pipefail
#+end_src
** Packages
#+begin_src bash
echo "==> Mail packages"
paru -S --needed --noconfirm \
isync \
msmtp \
neomutt \
mu \
lynx urlview
#+end_src
** Tangle Configuration
#+begin_src bash
echo "==> Tangling mail.org"
emacsclient -e '(org-babel-tangle-file "/home/thomas/.config/literate-dotfiles/mail.org")'
#+end_src
** Mail Directories
#+begin_src bash
echo "==> Creating mail directories"
mkdir -p ~/.local/share/mails/{gmail,esrf,search,empty}
mkdir -p ~/.local/share/mails/gmail/{Inbox,Sent,Drafts,Archive,Trash}
mkdir -p ~/.local/share/mails/esrf/{Inbox,Sent,Drafts,Archive,Trash}
mkdir -p ~/.local/share/mails/search/{cur,new,tmp}
mkdir -p ~/.local/share/mails/empty/gmail/{cur,new,tmp}
mkdir -p ~/.local/share/mails/empty/esrf/{cur,new,tmp}
#+end_src
** Getting the emails
#+begin_src bash
echo "==> Getting all the emails"
mbsync -a
#+end_src
** Initialize mu
#+begin_src bash :tangle no
paru -S mbsync msmtp neomutt lynx urlview
echo "==> Initializing mu index"
mu init -m ~/.local/share/mails
mu index
#+end_src
** Systemd Timers
#+begin_src bash :tangle no
echo "==> Enabling mail timers"
systemctl --user enable --now checkmail.timer
systemctl --user enable --now syncmail.timer
#+end_src
* Claude Code — Email Assistant
@@ -227,12 +287,6 @@ account default : esrf
#+END_SRC
* =mu= - Mail Indexer
:PROPERTIES:
:header-args:conf: :tangle ~/.config/neomutt/neomuttrc
:header-args:conf+: :comments both :mkdirp yes
:CUSTOM_ID: mu
:END:
=Mu= ([[https://github.com/djcb/mu][github]]) it used as a "maildir indexer/searcher".
Useful commands are described in the [[http://www.djcbsoftware.nl/code/mu/cheatsheet.html][Cheat-sheet]].
+26 -154
View File
@@ -1,170 +1,42 @@
#+TITLE: Music/Sound Configuration
#+TITLE:Music Setup
#+SETUPFILE: ./setup/org-setup-file.org
* =pwvucontrol= - Volume Control for Pipewire
* =mopidy= - Music Server
* Music Install Script
:PROPERTIES:
:header-args:conf: :tangle ~/.config/mopidy/mopidy.conf
:header-args:conf+: :comments none :mkdirp yes :noweb no-export
:CUSTOM_ID: mopidy
:header-args:bash: :tangle scripts/install-music.sh :shebang "#!/bin/bash" :mkdirp yes
:END:
Things done to get mopidy to work:
#+begin_src bash :eval no :tangle no
cd ~/.local/soft/
git clone git@github.com:jellyfin/mopidy-jellyfin.git && cd mopidy-jellyfin
python -m venv env --system-site-packages
env/bin/python setup.py develop
env/bin/pip install mopidy-mpd
#+begin_src bash
set -euo pipefail
#+end_src
To run mopidy:
#+begin_src bash :eval no :tangle no
~/.local/soft/mopidy-jellyfin/env/bin/mopidy
** Packages
#+begin_src bash
echo "==> Music packages"
paru -S --needed --noconfirm jellyfin-tui playerctl
#+end_src
#+begin_src conf
[core]
cache_dir = ~/.cache/mopidy
config_dir = ~/.config/mopidy
data_dir = ~/.local/data/mopidy
** Tangle Configuration
[audio]
output = queue2 max-size-buffers=20000 max-size-time=0 max-size-bytes=0 ! audioconvert ! pulsesink
[stream]
enabled = true
protocols =
http
https
timeout = 30000
[mpd]
enabled = true
hostname = 127.0.0.1
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist = listall,listallinfo
default_playlist_scheme = m3u
[jellyfin]
hostname = https://jellyfin.tdehaeze.xyz
username = tdehaeze
password = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>>
libraries = Music
albumartistsort = True
album_format = {ProductionYear} - {Name}
[file]
enabled = false
[logging]
verbosity = 4
format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
color = true
#+begin_src bash
echo "==> Tangling music.org"
emacsclient -e '(org-babel-tangle-file "/home/thomas/.config/literate-dotfiles/music.org")'
#+end_src
* =ncmpcpp= - Ncurses based MPD client
:PROPERTIES:
:CUSTOM_ID: ncmpcpp
:END:
* Jellyfin-tui config
https://rybczak.net/ncmpcpp/
Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/
#+begin_src conf :noweb yes :tangle ~/.config/jellyfin-tui/config.yaml
servers:
- name: Home Server
password: <<get-password(passname="jellyfin.tdehaeze.xyz/tdehaeze")>>
url: https://jellyfin.tdehaeze.xyz
username: tdehaeze
** Config
:PROPERTIES:
:header-args:conf: :tangle ~/.config/ncmpcpp/config
:header-args:conf+: :comments both :mkdirp yes
:END:
persist: true
always_show_lyrics: false
keymap:
q: !Shell "tmux detach"
Configuration directory.
#+begin_src conf
ncmpcpp_directory = ~/.config/ncmpcpp
lyrics_directory = ~/.local/share/lyrics
#+end_src
MPD Configuration.
#+begin_src conf
mpd_host = localhost
mpd_port = 6600
mpd_music_dir = ~/Music
#+end_src
Notification of song change.
#+begin_src conf
execute_on_song_change = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)"
#+end_src
Better user interface
#+begin_src conf
user_interface = "alternative"
playlist_editor_display_mode = "columns"
search_engine_display_mode = "columns"
browser_display_mode = "columns"
playlist_display_mode = "columns"
#+end_src
Lyrics
#+begin_src conf
lyrics_fetchers = musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
#+end_src
Sorting by tracking number and then title
#+begin_src conf
browser_sort_mode = "format"
browser_sort_format = '{%n - %t}|{%t}'
#+end_src
#+begin_src conf
ask_before_clearing_playlists = "no"
#+end_src
** Bindings
:PROPERTIES:
:header-args:conf: :tangle ~/.config/ncmpcpp/bindings
:header-args:conf+: :comments none :mkdirp yes
:END:
#+begin_src conf
def_key "q"
run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'"
def_key "Q"
quit
def_key "g"
move_home
def_key "G"
move_end
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
def_key "ctrl-d"
page_down
def_key "l"
enter_directory
def_key "h"
jump_to_parent_directory
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "d"
delete_playlist_items
def_key "+"
volume_up
def_key "-"
volume_down
#+end_src
+2
View File
@@ -3,6 +3,8 @@
#+PROPERTY: header-args :comments both :mkdirp yes
#+PROPERTY: header-args+ :tangle ~/.config/dunst/dunstrc
After tangling this config, restart the service with =systemctl --user restart dunst=.
* Global
#+begin_src conf
[global]
+1
View File
@@ -104,6 +104,7 @@ paru -S --needed --noconfirm \
gotify-dunst-git \
gomuks \
yt-dlp \
freerdp \
python ipython python-pip
echo "==> Misc Utilities"
+528
View File
@@ -13,6 +13,7 @@ set connect.password <<get-password(passname="nas/transmission")>>
# Update torrent/peer/file/etc lists every 10 seconds
set tui.poll 10
set tui.theme gruvbox.theme
# Tabs
tab ls all --columns size,ratio,status,rate-down,rate-up,%downloaded,name
@@ -28,6 +29,533 @@ set columns.trackers tier domain error last-announce next-announce leeches seeds
set columns.settings name value default description
#+end_src
** Gruvbox Theme
#+begin_src conf :comments none :mkdirp yes :tangle ~/.config/stig/gruvbox.theme
# Gruvbox Dark theme for stig
# Based on https://github.com/morhetz/gruvbox
# Background colors
$bg0 = #282828
$bg1 = #32302f
$bg2 = #3c3836
$bg3 = #504945
$bg4 = #665c54
# Foreground colors
$fg0 = #f5f0e1
$fg1 = #ebdbb2
$fg2 = #d5c4a1
$fg3 = #bdae93
$fg4 = #a89984
# Colors
$red = #fb4934
$green = #b8bb26
$yellow = #fabd2f
$blue = #83a598
$purple = #d3869b
$aqua = #8ec07c
$orange = #fe8019
$gray = #928374
cli $fg1 on $bg1
prompt $bg0 on $yellow
find.highlight $bg0 on $yellow
tabs.unfocused $fg4 on $bg0
tabs.focused $bg0 on $fg1
tabs.torrentlist.unfocused $aqua on $bg1
tabs.torrentlist.focused $bg0 on $aqua
tabs.torrentdetails.unfocused $blue on $bg1
tabs.torrentdetails.focused $bg0 on $blue
tabs.filelist.unfocused $purple on $bg1
tabs.filelist.focused $bg0 on $purple
tabs.peerlist.unfocused $green on $bg1
tabs.peerlist.focused $bg0 on $green
tabs.trackerlist.unfocused $fg4 on $bg1
tabs.trackerlist.focused $bg0 on $fg4
tabs.settinglist.unfocused $yellow on $bg0
tabs.settinglist.focused $bg0 on $yellow
tabs.help.unfocused $green on $bg0
tabs.help.focused $bg0 on $green
$topbar_bg = $bg0
topbar $fg3 on $topbar_bg
topbar.host.connected $green on $topbar_bg
topbar.host.connecting $bg0 on $purple
topbar.host.disconnected $bg0 on $red
topbar.help.key $aqua on $topbar_bg
topbar.help.equals $aqua on $topbar_bg
topbar.help.label $aqua on $topbar_bg
topbar.help.space $aqua on $topbar_bg
$bottombar_bg = $bg1
bottombar $fg2 on $bottombar_bg
bottombar.important $red,bold on $bottombar_bg
bottombar.marked $bg0 on $yellow
bottombar.bandwidth.up $green on $bottombar_bg
bottombar.bandwidth.up.highlighted $fg1 on $bottombar_bg
bottombar.bandwidth.down $aqua on $bottombar_bg
bottombar.bandwidth.down.highlighted $fg1 on $bottombar_bg
$log_bg = $bg1
log $fg2 on $log_bg
log.timestamp $aqua on $log_bg
log.info $green on $log_bg
log.error $red,bold on $log_bg
log.debug $yellow on $log_bg
log.dupecount $aqua on $log_bg
log.scrollbar $fg2 on $bg1
$keychains_bg = $bg0
keychains $fg2 on $keychains_bg
keychains.header $fg2 on $bg2
keychains.keys $fg2 on $keychains_bg
keychains.keys.next $yellow on $keychains_bg
keychains.action $fg1 on $keychains_bg
keychains.description $fg1 on $keychains_bg
$completion_bg = $bg1
completion $fg2 on $completion_bg
completion.category $fg2,bold,underline on $completion_bg
completion.item $fg2 on $completion_bg
completion.item.focused $bg0,bold on $yellow
completion.scrollbar $fg2 on $completion_bg
helptext $fg2 on $bg0
helptext.scrollbar $fg2 on $bg1
$tlist_bg.uf = $bg0
$tlist_bg.f = $bg1
torrentlist default on $tlist_bg.uf
torrentlist.focused default on $tlist_bg.f
torrentlist.header $fg4,underline on $tlist_bg.uf
torrentlist.scrollbar $fg4 on $bg1
$id_fg = $fg3
torrentlist.id.header $id_fg,underline on $tlist_bg.uf
torrentlist.id.unfocused $id_fg on $tlist_bg.uf
torrentlist.id.focused $id_fg on $tlist_bg.f
torrentlist.infohash.header $id_fg,underline on $tlist_bg.uf
torrentlist.infohash.unfocused $id_fg on $tlist_bg.uf
torrentlist.infohash.focused $id_fg on $tlist_bg.f
torrentlist.downloaded.header $aqua,underline on $tlist_bg.uf
torrentlist.downloaded.unfocused $aqua on $tlist_bg.uf
torrentlist.downloaded.focused $aqua on $tlist_bg.f
torrentlist.downloaded.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.downloaded.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.uploaded.header $green,underline on $tlist_bg.uf
torrentlist.uploaded.unfocused $green on $tlist_bg.uf
torrentlist.uploaded.focused $green on $tlist_bg.f
torrentlist.uploaded.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.uploaded.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.available.header $blue,underline on $tlist_bg.uf
torrentlist.available.unfocused $blue on $tlist_bg.uf
torrentlist.available.focused $blue on $tlist_bg.f
torrentlist.available.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.available.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.marked.header $fg1,underline on $tlist_bg.uf
torrentlist.marked.unfocused $fg1 on $tlist_bg.uf
torrentlist.marked.focused $fg1 on $tlist_bg.f
torrentlist.path.header $fg3,underline on $tlist_bg.uf
torrentlist.path.unfocused $fg3 on $tlist_bg.uf
torrentlist.path.focused $fg3 on $tlist_bg.f
torrentlist.peers.header $fg3,underline on $tlist_bg.uf
torrentlist.peers.unfocused $fg3 on $tlist_bg.uf
torrentlist.peers.focused $fg3 on $tlist_bg.f
torrentlist.peers.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.peers.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.seeds.header $fg3,underline on $tlist_bg.uf
torrentlist.seeds.unfocused $fg3 on $tlist_bg.uf
torrentlist.seeds.focused $fg3 on $tlist_bg.f
torrentlist.seeds.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.seeds.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.%downloaded.header $blue,underline on $tlist_bg.uf
torrentlist.%downloaded.unfocused $blue on $tlist_bg.uf
torrentlist.%downloaded.focused $blue on $tlist_bg.f
torrentlist.%downloaded.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.%downloaded.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.%available.header $blue,underline on $tlist_bg.uf
torrentlist.%available.unfocused $blue on $tlist_bg.uf
torrentlist.%available.focused $blue on $tlist_bg.f
torrentlist.%available.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.%available.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.rate-down.header $aqua,underline on $tlist_bg.uf
torrentlist.rate-down.unfocused $aqua on $tlist_bg.uf
torrentlist.rate-down.focused $aqua on $tlist_bg.f
torrentlist.rate-down.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.rate-down.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.rate-up.header $green,underline on $tlist_bg.uf
torrentlist.rate-up.unfocused $green on $tlist_bg.uf
torrentlist.rate-up.focused $green on $tlist_bg.f
torrentlist.rate-up.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.rate-up.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.limit-rate-down.header $aqua,underline on $tlist_bg.uf
torrentlist.limit-rate-down.unfocused $aqua on $tlist_bg.uf
torrentlist.limit-rate-down.focused $aqua on $tlist_bg.f
torrentlist.limit-rate-down.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.limit-rate-down.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.limit-rate-up.header $green,underline on $tlist_bg.uf
torrentlist.limit-rate-up.unfocused $green on $tlist_bg.uf
torrentlist.limit-rate-up.focused $green on $tlist_bg.f
torrentlist.limit-rate-up.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.limit-rate-up.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.ratio.header $blue,underline on $tlist_bg.uf
torrentlist.ratio.unfocused $blue on $tlist_bg.uf
torrentlist.ratio.focused $blue on $tlist_bg.f
torrentlist.ratio.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.ratio.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.size.header $purple,underline on $tlist_bg.uf
torrentlist.size.unfocused $purple on $tlist_bg.uf
torrentlist.size.focused $purple on $tlist_bg.f
torrentlist.tracker.header $fg3,underline on $tlist_bg.uf
torrentlist.tracker.unfocused $fg3 on $tlist_bg.uf
torrentlist.tracker.focused $fg3 on $tlist_bg.f
torrentlist.error.header $red,underline on $tlist_bg.uf
torrentlist.error.unfocused $red on $tlist_bg.uf
torrentlist.error.focused $red on $tlist_bg.f
torrentlist.added.header $orange,underline on $tlist_bg.uf
torrentlist.added.unfocused $orange on $tlist_bg.uf
torrentlist.added.focused $orange on $tlist_bg.f
torrentlist.activity.header $orange,underline on $tlist_bg.uf
torrentlist.activity.unfocused $orange on $tlist_bg.uf
torrentlist.activity.focused $orange on $tlist_bg.f
torrentlist.created.header $orange,underline on $tlist_bg.uf
torrentlist.created.unfocused $orange on $tlist_bg.uf
torrentlist.created.focused $orange on $tlist_bg.f
torrentlist.completed.header $yellow,underline on $tlist_bg.uf
torrentlist.completed.unfocused $yellow on $tlist_bg.uf
torrentlist.completed.focused $yellow on $tlist_bg.f
torrentlist.completed.highlighted.unfocused $fg1 on $tlist_bg.uf
torrentlist.completed.highlighted.focused $fg1 on $tlist_bg.f
torrentlist.eta.header $orange,underline on $tlist_bg.uf
torrentlist.eta.unfocused $orange on $tlist_bg.uf
torrentlist.eta.focused $orange on $tlist_bg.f
torrentlist.eta.highlighted.unfocused $yellow on $tlist_bg.uf
torrentlist.eta.highlighted.focused $yellow on $tlist_bg.f
torrentlist.started.header $orange,underline on $tlist_bg.uf
torrentlist.started.unfocused $orange on $tlist_bg.uf
torrentlist.started.focused $orange on $tlist_bg.f
$status.idle_fg = $fg3
$status.downloading_fg = $aqua
$status.uploading_fg = $green
$status.connected_fg = $purple
$status.seeding_fg = $fg3
$status.stopped_fg = $blue
$status.queued_fg = $orange
$status.isolated_fg = $red
$status.verifying_fg = $yellow
$status.discovering_fg = $blue
torrentlist.status.header $status.idle_fg,underline on $tlist_bg.uf
torrentlist.status.idle.unfocused $status.idle_fg on $tlist_bg.uf
torrentlist.status.idle.focused $status.idle_fg on $tlist_bg.f
torrentlist.status.uploading.unfocused $status.uploading_fg on $tlist_bg.uf
torrentlist.status.uploading.focused $status.uploading_fg on $tlist_bg.f
torrentlist.status.downloading.unfocused $status.downloading_fg on $tlist_bg.uf
torrentlist.status.downloading.focused $status.downloading_fg on $tlist_bg.f
torrentlist.status.connected.unfocused $status.connected_fg on $tlist_bg.uf
torrentlist.status.connected.focused $status.connected_fg on $tlist_bg.f
torrentlist.status.seeding.unfocused $status.seeding_fg on $tlist_bg.uf
torrentlist.status.seeding.focused $status.seeding_fg on $tlist_bg.f
torrentlist.status.stopped.unfocused $status.stopped_fg on $tlist_bg.uf
torrentlist.status.stopped.focused $status.stopped_fg on $tlist_bg.f
torrentlist.status.isolated.unfocused $status.isolated_fg on $tlist_bg.uf
torrentlist.status.isolated.focused $status.isolated_fg on $tlist_bg.f
torrentlist.status.queued.unfocused $status.queued_fg on $tlist_bg.uf
torrentlist.status.queued.focused $status.queued_fg on $tlist_bg.f
torrentlist.status.verifying.unfocused $status.verifying_fg on $tlist_bg.uf
torrentlist.status.verifying.focused $status.verifying_fg on $tlist_bg.f
torrentlist.status.discovering.unfocused $status.discovering_fg on $tlist_bg.uf
torrentlist.status.discovering.focused $status.discovering_fg on $tlist_bg.f
$name.idle_fg = $status.idle_fg
torrentlist.name.header $name.idle_fg,underline on $tlist_bg.uf
torrentlist.name.idle.progress1.unfocused $name.idle_fg,underline on $tlist_bg.uf
torrentlist.name.idle.progress1.focused $name.idle_fg,underline on $tlist_bg.f
torrentlist.name.idle.progress2.unfocused $name.idle_fg on $tlist_bg.uf
torrentlist.name.idle.progress2.focused $name.idle_fg on $tlist_bg.f
torrentlist.name.idle.complete.unfocused $name.idle_fg on $tlist_bg.uf
torrentlist.name.idle.complete.focused $name.idle_fg on $tlist_bg.f
$name.seeding_fg = $status.seeding_fg
torrentlist.name.seeding.progress1.unfocused $name.seeding_fg,underline on $tlist_bg.uf
torrentlist.name.seeding.progress1.focused $name.seeding_fg,underline on $tlist_bg.f
torrentlist.name.seeding.progress2.unfocused $name.seeding_fg on $tlist_bg.uf
torrentlist.name.seeding.progress2.focused $name.seeding_fg on $tlist_bg.f
torrentlist.name.seeding.complete.unfocused $name.seeding_fg on $tlist_bg.uf
torrentlist.name.seeding.complete.focused $name.seeding_fg on $tlist_bg.f
$name.uploading_fg = $status.uploading_fg
torrentlist.name.uploading.progress1.unfocused $name.uploading_fg,underline on $tlist_bg.uf
torrentlist.name.uploading.progress1.focused $name.uploading_fg,underline on $tlist_bg.f
torrentlist.name.uploading.progress2.unfocused $name.uploading_fg on $tlist_bg.uf
torrentlist.name.uploading.progress2.focused $name.uploading_fg on $tlist_bg.f
torrentlist.name.uploading.complete.unfocused $name.uploading_fg on $tlist_bg.uf
torrentlist.name.uploading.complete.focused $name.uploading_fg on $tlist_bg.f
$name.downloading_fg = $status.downloading_fg
torrentlist.name.downloading.progress1.unfocused $name.downloading_fg,underline on $tlist_bg.uf
torrentlist.name.downloading.progress1.focused $name.downloading_fg,underline on $tlist_bg.f
torrentlist.name.downloading.progress2.unfocused $name.downloading_fg on $tlist_bg.uf
torrentlist.name.downloading.progress2.focused $name.downloading_fg on $tlist_bg.f
torrentlist.name.downloading.complete.unfocused $name.downloading_fg on $tlist_bg.uf
torrentlist.name.downloading.complete.focused $name.downloading_fg on $tlist_bg.f
$name.isolated_fg = $status.isolated_fg
torrentlist.name.isolated.progress1.unfocused $name.isolated_fg,underline on $tlist_bg.uf
torrentlist.name.isolated.progress1.focused $name.isolated_fg,underline on $tlist_bg.f
torrentlist.name.isolated.progress2.unfocused $name.isolated_fg on $tlist_bg.uf
torrentlist.name.isolated.progress2.focused $name.isolated_fg on $tlist_bg.f
torrentlist.name.isolated.complete.unfocused $name.isolated_fg on $tlist_bg.uf
torrentlist.name.isolated.complete.focused $name.isolated_fg on $tlist_bg.f
$name.connected_fg = $status.connected_fg
torrentlist.name.connected.progress1.unfocused $name.connected_fg,underline on $tlist_bg.uf
torrentlist.name.connected.progress1.focused $name.connected_fg,underline on $tlist_bg.f
torrentlist.name.connected.progress2.unfocused $name.connected_fg on $tlist_bg.uf
torrentlist.name.connected.progress2.focused $name.connected_fg on $tlist_bg.f
torrentlist.name.connected.complete.unfocused $name.connected_fg on $tlist_bg.uf
torrentlist.name.connected.complete.focused $name.connected_fg on $tlist_bg.f
$name.queued_fg = $status.queued_fg
torrentlist.name.queued.progress1.unfocused $name.queued_fg,underline on $tlist_bg.uf
torrentlist.name.queued.progress1.focused $name.queued_fg,underline on $tlist_bg.f
torrentlist.name.queued.progress2.unfocused $name.queued_fg on $tlist_bg.uf
torrentlist.name.queued.progress2.focused $name.queued_fg on $tlist_bg.f
torrentlist.name.queued.complete.unfocused $name.queued_fg on $tlist_bg.uf
torrentlist.name.queued.complete.focused $name.queued_fg on $tlist_bg.f
$name.stopped_fg = $status.stopped_fg
torrentlist.name.stopped.progress1.unfocused $name.stopped_fg,underline on $tlist_bg.uf
torrentlist.name.stopped.progress1.focused $name.stopped_fg,underline on $tlist_bg.f
torrentlist.name.stopped.progress2.unfocused $name.stopped_fg on $tlist_bg.uf
torrentlist.name.stopped.progress2.focused $name.stopped_fg on $tlist_bg.f
torrentlist.name.stopped.complete.unfocused $name.stopped_fg on $tlist_bg.uf
torrentlist.name.stopped.complete.focused $name.stopped_fg on $tlist_bg.f
$name.verifying_fg = $status.verifying_fg
torrentlist.name.verifying.progress1.unfocused $name.verifying_fg,underline on $tlist_bg.uf
torrentlist.name.verifying.progress1.focused $name.verifying_fg,underline on $tlist_bg.f
torrentlist.name.verifying.progress2.unfocused $name.verifying_fg on $tlist_bg.uf
torrentlist.name.verifying.progress2.focused $name.verifying_fg on $tlist_bg.f
torrentlist.name.verifying.complete.unfocused $name.verifying_fg on $tlist_bg.uf
torrentlist.name.verifying.complete.focused $name.verifying_fg on $tlist_bg.f
$name.discovering_fg = $status.discovering_fg
torrentlist.name.discovering.progress1.unfocused $name.discovering_fg,underline on $tlist_bg.uf
torrentlist.name.discovering.progress1.focused $name.discovering_fg,underline on $tlist_bg.f
torrentlist.name.discovering.progress2.unfocused $name.discovering_fg on $tlist_bg.uf
torrentlist.name.discovering.progress2.focused $name.discovering_fg on $tlist_bg.f
torrentlist.name.discovering.complete.unfocused $name.discovering_fg on $tlist_bg.uf
torrentlist.name.discovering.complete.focused $name.discovering_fg on $tlist_bg.f
torrentdetails $fg2 on $bg0
torrentdetails.error $red on $bg0
torrentdetails.scrollbar $fg2 on $bg1
$flist_bg.uf = $bg0
$flist_bg.f = $bg1
filelist default on $flist_bg.uf
filelist.focused default on $flist_bg.f
filelist.header $fg4,underline on $flist_bg.uf
filelist.scrollbar $fg4 on $bg1
filelist.marked.header $fg1,underline on $flist_bg.uf
filelist.marked.unfocused $fg1 on $flist_bg.uf
filelist.marked.focused $fg1 on $flist_bg.f
filelist.name.header $fg4,underline on $flist_bg.uf
filelist.name.file.unfocused $fg3 on $flist_bg.uf
filelist.name.file.focused $fg3 on $flist_bg.f
filelist.name.folder.unfocused $fg1 on $flist_bg.uf
filelist.name.folder.focused $fg1 on $flist_bg.f
filelist.size.header $purple,underline on $flist_bg.uf
filelist.size.unfocused $purple on $flist_bg.uf
filelist.size.focused $purple on $flist_bg.f
filelist.downloaded.header $aqua,underline on $flist_bg.uf
filelist.downloaded.unfocused $aqua on $flist_bg.uf
filelist.downloaded.focused $aqua on $flist_bg.f
filelist.downloaded.highlighted.unfocused $fg1 on $flist_bg.uf
filelist.downloaded.highlighted.focused $fg1 on $flist_bg.f
filelist.%downloaded.header $blue,underline on $flist_bg.uf
filelist.%downloaded.unfocused $blue on $flist_bg.uf
filelist.%downloaded.focused $blue on $flist_bg.f
filelist.%downloaded.highlighted.unfocused $fg1 on $flist_bg.uf
filelist.%downloaded.highlighted.focused $fg1 on $flist_bg.f
filelist.priority.header $orange,underline on $flist_bg.uf
filelist.priority.unfocused $orange on $flist_bg.uf
filelist.priority.focused $orange on $flist_bg.f
filelist.priority.low.unfocused $orange on $flist_bg.uf
filelist.priority.low.focused $orange on $flist_bg.f
filelist.priority.high.unfocused $yellow on $flist_bg.uf
filelist.priority.high.focused $yellow on $flist_bg.f
filelist.priority.off.unfocused $blue on $flist_bg.uf
filelist.priority.off.focused $blue on $flist_bg.f
$plist_bg = $bg0
peerlist default on $plist_bg
peerlist.focused default on $plist_bg
peerlist.header $fg4,underline on $plist_bg
peerlist.scrollbar $fg4 on $bg1
peerlist.torrent.header $fg3,underline on $plist_bg
peerlist.torrent.unfocused $fg3 on $plist_bg
peerlist.host.header $fg3,underline on $plist_bg
peerlist.host.unfocused $fg3 on $plist_bg
peerlist.port.header $fg3,underline on $plist_bg
peerlist.port.unfocused $fg3 on $plist_bg
peerlist.client.header $purple,underline on $plist_bg
peerlist.client.unfocused $purple on $plist_bg
peerlist.%downloaded.header $blue,underline on $plist_bg
peerlist.%downloaded.unfocused $blue on $plist_bg
peerlist.%downloaded.highlighted.unfocused $fg1 on $plist_bg
peerlist.rate-down.header $aqua,underline on $plist_bg
peerlist.rate-down.unfocused $aqua on $plist_bg
peerlist.rate-down.highlighted.unfocused $fg1 on $plist_bg
peerlist.rate-up.header $green,underline on $plist_bg
peerlist.rate-up.unfocused $green on $plist_bg
peerlist.rate-up.highlighted.unfocused $fg1 on $plist_bg
peerlist.rate-est.header $green,underline on $plist_bg
peerlist.rate-est.unfocused $green on $plist_bg
peerlist.rate-est.highlighted.unfocused $fg1 on $plist_bg
peerlist.eta.header $orange,underline on $plist_bg
peerlist.eta.unfocused $orange on $plist_bg
peerlist.eta.highlighted.unfocused $yellow on $plist_bg
$trklist_bg.uf = $bg0
$trklist_bg.f = $bg1
trackerlist default on $trklist_bg.uf
trackerlist.focused default on $trklist_bg.f
trackerlist.header $fg4,underline on $trklist_bg.uf
trackerlist.scrollbar $fg4 on $bg1
trackerlist.torrent.header $fg3,underline on $trklist_bg.uf
trackerlist.torrent.unfocused $fg3 on $trklist_bg.uf
trackerlist.torrent.focused $fg3 on $trklist_bg.f
trackerlist.tier.header $orange,underline on $trklist_bg.uf
trackerlist.tier.unfocused $orange on $trklist_bg.uf
trackerlist.tier.focused $orange on $trklist_bg.f
trackerlist.domain.header $purple,underline on $trklist_bg.uf
trackerlist.domain.unfocused $purple on $trklist_bg.uf
trackerlist.domain.focused $purple on $trklist_bg.f
trackerlist.url-announce.header $blue,underline on $trklist_bg.uf
trackerlist.url-announce.unfocused $blue on $trklist_bg.uf
trackerlist.url-announce.focused $blue on $trklist_bg.f
trackerlist.url-scrape.header $blue,underline on $trklist_bg.uf
trackerlist.url-scrape.unfocused $blue on $trklist_bg.uf
trackerlist.url-scrape.focused $blue on $trklist_bg.f
trackerlist.status.header $aqua,underline on $trklist_bg.uf
trackerlist.status.unfocused $aqua on $trklist_bg.uf
trackerlist.status.focused $aqua on $trklist_bg.f
trackerlist.error.header $red,underline on $trklist_bg.uf
trackerlist.error.unfocused $red on $trklist_bg.uf
trackerlist.error.focused $red on $trklist_bg.f
trackerlist.error-announce.header $red,underline on $trklist_bg.uf
trackerlist.error-announce.unfocused $red on $trklist_bg.uf
trackerlist.error-announce.focused $red on $trklist_bg.f
trackerlist.error-scrape.header $red,underline on $trklist_bg.uf
trackerlist.error-scrape.unfocused $red on $trklist_bg.uf
trackerlist.error-scrape.focused $red on $trklist_bg.f
trackerlist.downloads.header $fg3,underline on $trklist_bg.uf
trackerlist.downloads.unfocused $fg3 on $trklist_bg.uf
trackerlist.downloads.focused $fg3 on $trklist_bg.f
trackerlist.leeches.header $fg3,underline on $trklist_bg.uf
trackerlist.leeches.unfocused $fg3 on $trklist_bg.uf
trackerlist.leeches.focused $fg3 on $trklist_bg.f
trackerlist.seeds.header $fg3,underline on $trklist_bg.uf
trackerlist.seeds.unfocused $fg3 on $trklist_bg.uf
trackerlist.seeds.focused $fg3 on $trklist_bg.f
trackerlist.last-announce.header $fg1,underline on $trklist_bg.uf
trackerlist.last-announce.unfocused $fg1 on $trklist_bg.uf
trackerlist.last-announce.focused $fg1 on $trklist_bg.f
trackerlist.next-announce.header $fg1,underline on $trklist_bg.uf
trackerlist.next-announce.unfocused $fg1 on $trklist_bg.uf
trackerlist.next-announce.focused $fg1 on $trklist_bg.f
trackerlist.last-scrape.header $fg1,underline on $trklist_bg.uf
trackerlist.last-scrape.unfocused $fg1 on $trklist_bg.uf
trackerlist.last-scrape.focused $fg1 on $trklist_bg.f
trackerlist.next-scrape.header $fg1,underline on $trklist_bg.uf
trackerlist.next-scrape.unfocused $fg1 on $trklist_bg.uf
trackerlist.next-scrape.focused $fg1 on $trklist_bg.f
$slist_bg.uf = $bg0
$slist_bg.f = $bg1
settinglist default on $slist_bg.uf
settinglist.focused default on $slist_bg.f
settinglist.header $fg4,underline on $slist_bg.uf
settinglist.scrollbar $fg4 on $bg1
settinglist.name.header $blue,underline on $slist_bg.uf
settinglist.name.unfocused $blue on $slist_bg.uf
settinglist.name.focused $blue on $slist_bg.f
settinglist.value.header $fg3,underline on $slist_bg.uf
settinglist.value.unfocused $fg3 on $slist_bg.uf
settinglist.value.focused $fg3 on $slist_bg.f
settinglist.value.highlighted.unfocused $fg1,bold on $slist_bg.uf
settinglist.value.highlighted.focused $fg1,bold on $slist_bg.f
settinglist.default.header $fg3,underline on $slist_bg.uf
settinglist.default.unfocused $fg3 on $slist_bg.uf
settinglist.default.focused $fg3 on $slist_bg.f
settinglist.description.header $fg3,underline on $slist_bg.uf
settinglist.description.unfocused $fg3 on $slist_bg.uf
settinglist.description.focused $fg3 on $slist_bg.f
#+end_src
* =aria2c= - Lightweight download utility
#+begin_src conf :comments none :mkdirp yes :tangle ~/.config/aria2/aria2.conf :noweb no-export
continue