[rc/sway] config for new u2518d monitor
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 691480a..6a8d7e8 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -429,6 +429,11 @@ use_apop = True
 type = Maildir
 path = ~/mail/gnu/Inbox/
 
+# [destination]
+# type = MDA_external
+# path = /usr/lib/dovecot/deliver
+# arguments = ('-d', 'amin@aminb.org')
+
 [options]
 delete = True
 #+end_src
@@ -704,7 +709,7 @@ general {
 # order += "ipv6"
 order += "disk /"
 order += "disk /data"
-order += "wireless _first_"
+order += "wireless _first_"
 order += "ethernet _first_"
 order += "battery 0"
 order += "volume master"
@@ -770,8 +775,8 @@ Expunge Both
 
 ######
 IMAPAccount amin
-Host mail.aminb.org
-User amin@aminb.org
+Host mail.bndl.org
+User amin@bndl.org
 PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin.gpg"
 SSLType IMAPS
 
@@ -781,7 +786,7 @@ Account amin
 IMAPAccount amin-dovecot
 Host 127.0.0.1
 Port 143
-User amin@aminb.org
+User amin@bndl.org
 PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin-dovecot.gpg"
 SSLType None
 
@@ -817,6 +822,31 @@ Channel uwaterloo
 Master :uwaterloo-remote:
 Slave :uwaterloo-local:
 Patterns *
+
+######
+IMAPAccount csclub
+Host mail.csclub.uwaterloo.ca
+User abandali
+PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub.gpg"
+SSLType IMAPS
+
+IMAPStore csclub-remote
+Account csclub
+
+IMAPAccount csclub-dovecot
+Host 127.0.0.1
+Port 143
+User abandali@csclub.uw
+PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub-dovecot.gpg"
+SSLType None
+
+IMAPStore csclub-local
+Account csclub-dovecot
+
+Channel csclub
+Master :csclub-remote:
+Slave :csclub-local:
+Patterns *
 #+end_src
 
 *** mbsync.service
@@ -889,6 +919,77 @@ Section "InputClass"
 EndSection
 #+end_src
 
+** mkinitcpio
+
+#+begin_src conf :tangle /sudo::/etc/mkinitcpio.conf :comments none
+# vim:set ft=sh
+# MODULES
+# The following modules are loaded before any boot hooks are
+# run.  Advanced users may wish to specify all system modules
+# in this array.  For instance:
+#     MODULES=(piix ide_disk reiserfs)
+MODULES=(i915)
+
+# BINARIES
+# This setting includes any additional binaries a given user may
+# wish into the CPIO image.  This is run last, so it may be used to
+# override the actual binaries included by a given hook
+# BINARIES are dependency parsed, so you may safely ignore libraries
+BINARIES=()
+
+# FILES
+# This setting is similar to BINARIES above, however, files are added
+# as-is and are not parsed in any way.  This is useful for config files.
+FILES=()
+
+# HOOKS
+# This is the most important setting in this file.  The HOOKS control the
+# modules and scripts added to the image, and what happens at boot time.
+# Order is important, and it is recommended that you do not change the
+# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
+# help on a given hook.
+# 'base' is _required_ unless you know precisely what you are doing.
+# 'udev' is _required_ in order to automatically load modules
+# 'filesystems' is _required_ unless you specify your fs modules in MODULES
+# Examples:
+##   This setup specifies all modules in the MODULES setting above.
+##   No raid, lvm2, or encrypted root is needed.
+#    HOOKS=(base)
+#
+##   This setup will autodetect all modules for your system and should
+##   work as a sane default
+#    HOOKS=(base udev autodetect block filesystems)
+#
+##   This setup will generate a 'full' image which supports most systems.
+##   No autodetection is done.
+#    HOOKS=(base udev block filesystems)
+#
+##   This setup assembles a pata mdadm array with an encrypted root FS.
+##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
+#    HOOKS=(base udev block mdadm encrypt filesystems)
+#
+##   This setup loads an lvm2 volume group on a usb device.
+#    HOOKS=(base udev block lvm2 filesystems)
+#
+##   NOTE: If you have /usr on a separate partition, you MUST include the
+#    usr, fsck and shutdown hooks.
+HOOKS=(base udev autodetect modconf block keyboard encrypt lvm2 resume filesystems fsck)
+
+# COMPRESSION
+# Use this to compress the initramfs image. By default, gzip compression
+# is used. Use 'cat' to create an uncompressed image.
+#COMPRESSION="gzip"
+#COMPRESSION="bzip2"
+#COMPRESSION="lzma"
+#COMPRESSION="xz"
+#COMPRESSION="lzop"
+#COMPRESSION="lz4"
+
+# COMPRESSION_OPTIONS
+# Additional options for the compressor
+#COMPRESSION_OPTIONS=()
+#+end_src
+
 ** mpd
 :PROPERTIES:
 :header-args+: :tangle ~/.config/mpd/mpd.conf
@@ -1318,24 +1419,24 @@ auth on
 #tls_trust_file /etc/ssl/certs/ca-certificates.crt
 logfile ~/.msmtp.log
 
-# aminb
-account aminb
-host mail.aminb.org
-# use `msmtp -a aminb --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
-tls_fingerprint C7:A4:2E:A3:11:FA:80:45:C4:29:D6:62:4D:73:DB:34:43:67:8F:16:F1:2E:54:43:06:1B:41:B6:A9:09:E0:37
+# amin
+account amin
+host mail.bndl.org
+# use `msmtp -a amin --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
+tls_fingerprint B8:17:DF:D7:26:56:4F:CD:F0:51:D5:E5:4C:44:B6:F1:C9:47:E7:A2:C7:36:C9:C1:F2:10:85:18:43:72:9D:ED
 tls_starttls on
-from amin@aminb.org
-user amin@aminb.org
+from amin@bndl.org
+user amin@bndl.org
 passwordeval gpg2 --no-tty -q -d ~/.passwd/amin.gpg
 
-account bandali-me : aminb
-from amin@bandali.me
+account aminb : amin
+from amin@aminb.org
 
 # gnu
 account gnu
 host fencepost.gnu.org
 # use `msmtp -a gnu --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
-tls_fingerprint 93:59:52:1D:A6:95:13:31:7C:81:ED:DB:A5:BA:B5:2B:C8:BC:38:3E:71:A5:DF:8C:80:46:C1:E0:5D:2D:F4:E3
+tls_fingerprint FB:DB:E3:7D:96:22:22:20:9F:4A:FD:70:96:99:50:5C:39:B2:29:D9:47:47:52:A8:5A:4A:DF:70:9D:21:DE:C4
 tls_starttls on
 from bandali@gnu.org
 user bandali
@@ -1358,8 +1459,17 @@ user abandali
 passwordeval gpg2 --no-tty -q -d ~/.passwd/uwaterloo.gpg
 tls_trust_file /etc/ssl/certs/ca-certificates.crt
 
+# csclub
+account csclub
+host mail.csclub.uwaterloo.ca
+tls_starttls on
+from abandali@csclub.uwaterloo.ca
+user abandali
+passwordeval gpg2 --no-tty -q -d ~/.passwd/csclub.gpg
+tls_trust_file /etc/ssl/certs/ca-certificates.crt
+
 # Set a default account
-account default : aminb
+account default : amin
 #+end_src
 
 ** ncmpcpp
@@ -2162,10 +2272,230 @@ Unit=notmuch.service
 WantedBy=timers.target
 #+end_src
 
+** pacman
+
+*** conf
+
+#+begin_src conf :tangle /sudo::/etc/pacman.conf :comments none
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir     = /
+#DBPath      = /var/lib/pacman/
+#CacheDir    = /var/cache/pacman/pkg/
+#LogFile     = /var/log/pacman.log
+#GPGDir      = /etc/pacman.d/gnupg/
+#HookDir     = /etc/pacman.d/hooks/
+HoldPkg     = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta    = 0.7
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg   =
+#IgnoreGroup =
+
+#NoUpgrade   =
+#NoExtract   =
+
+# Misc options
+#UseSyslog
+Color
+TotalDownload
+CheckSpace
+VerbosePkgLists
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel    = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all Arch/Parabola packagers
+# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
+
+#
+# REPOSITORIES
+#   - can be defined here or included from another file
+#   - pacman will search repositories in the order defined here
+#   - local/custom mirrors can be added here or in separate files
+#   - repositories listed first will take precedence when packages
+#     have identical names, regardless of version number
+#   - URLs will have $repo replaced by the name of the current repo
+#   - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+#       [repo-name]
+#       Server = ServerName
+#       Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+# NOTE: Nonprism is a particular repository that aims to provide software built
+# and patched without services under global data surveillance programs like PRISM,
+# XKeyscore and Tempora. For more info see: https://wiki.parabola.nu/Nonprism
+
+#[nonprism-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[nonprism]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre-testing]
+Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# The PCR (Parabola Community Repository) contains packages maintained by trusted
+# members of the Parabola community. It also contains packages maintained by
+# Parabola developers, but that the developer decided didn't belong in core/libre.
+
+#[pcr-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[pcr]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the libre-multilib, multilib and pcr-multilib repositories as required here.
+
+#[nonprism-multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[nonprism-multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+#[libre-multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[libre-multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+#[pcr-multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[pcr-multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# Parabola also supports another community projects and personal repositories, to
+# find them check out this wiki page: https://wiki.parabola.nu/Repositories
+
+# An example of a custom package repository.  See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
+
+Include = /etc/pacman.d/*.conf
+#+end_src
+
+*** mirrorlist
+
+#+begin_src conf :tangle /sudo::/etc/pacman.d/mirrorlist :comments none
+# Parabola GNU/Linux-libre - Last Updated: Wed Dec 20 02:59:35 GMT 2017
+
+Server = http://mirror.fsf.org/parabola/$repo/os/$arch
+Server = http://mirror.fsf.org/parabola/$repo/os/$arch
+Server = http://mirror.fsf.org/parabola/$repo/os/$arch
+Server = http://mirror.fsf.org/parabola/$repo/os/$arch
+
+# Location: London, UK
+# Responsible: Parabola Project
+# Note: Not really a mirror, automatically redirects you to an Arch
+#       mirror when possible. Works best specifying it a few times in a
+#       row (404s workaround).
+# Server = http://redirector.parabola.nu/$repo/os/$arch
+Server = https://redirector.parabola.nu/$repo/os/$arch
+
+# Location: Reykjavík, Iceland
+# Responsible: Parabola Project
+# Note: Not really a mirror, automatically redirects you to a Parabola
+#       mirror that has the file you are looking for.
+# Server = http://repomirror.parabola.nu/$repo/os/$arch
+Server = https://repomirror.parabola.nu/$repo/os/$arch
+
+# Location: Falkenstein, Germany
+# Server = http://mirror.grapentin.org/parabola/$repo/os/$arch
+Server = https://mirror.grapentin.org/parabola/$repo/os/$arch
+
+# Location: Volendam, Netherlands
+Server = https://jeweet.net/repo/parabola/$repo/os/$arch
+
+# Location: Amsterdam, Netherlands
+# Note: Not really a mirror, but a high-speed 10GiB cache for
+#       mirror.yandex.ru/mirrors/parabola
+# Server = http://parabola.isacdaavid.info:8080/$repo/os/$arch
+Server = https://parabola.isacdaavid.info:8081/$repo/os/$arch
+
+# Location: Moscow, Russian Federation
+# Server = http://mirror.yandex.ru/mirrors/parabola/$repo/os/$arch
+Server = https://mirror.yandex.ru/mirrors/parabola/$repo/os/$arch
+
+# Location: Ho Chi Minh City, Vietnam
+# Server = http://mirror.freedif.org/Parabola/$repo/os/$arch
+Server = https://mirror.freedif.org/Parabola/$repo/os/$arch
+
+# Location: Los Angeles, CA, USA
+# Note: Also visit http://alfplayer.com/ for its SNAPSHOTS ARCHIVE
+Server = http://alfplayer.com/parabola/$repo/os/$arch
+
+# Location: Boston, MA, USA
+Server = http://mirror.fsf.org/parabola/$repo/os/$arch
+
+# Location: Austin, TX, USA
+# Server = http://parabola.serverpit.com/
+Server = https://parabola.serverpit.com/
+
+# Location: Reykjavík, Iceland
+# Responsible: Parabola Project
+# Note: Currently pointing to repomirror.parabola.nu
+# Server = http://repo.parabola.nu/$repo/os/$arch
+Server = https://repo.parabola.nu/$repo/os/$arch
+#+end_src
+
 ** pigeonhole
 *** amin.sieve
 :PROPERTIES:
-:header-args+: :tangle ~/mail/aminb.org/amin/sieve/amin.sieve :comments none
+:header-args+: :tangle ~/mail/bndl.org/amin/sieve/amin.sieve :comments none
 :END:
 
 #+begin_src conf
@@ -2184,7 +2514,7 @@ include :personal "lists";
 
 *** lists.sieve
 :PROPERTIES:
-:header-args+: :tangle ~/mail/aminb.org/amin/sieve/lists.sieve :comments none
+:header-args+: :tangle ~/mail/bndl.org/amin/sieve/lists.sieve :comments none
 :END:
 
 #+begin_src conf
@@ -2410,7 +2740,7 @@ clip=primary
 # Options for generating new password entries
 # default_user is also used for password files that have no user field.
 default_user=aminb
-default_user2=aminban
+default_user2=bandali
 password_length=30
 
 # Custom Keybindings
@@ -2464,6 +2794,10 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
 #
 # You can get the names of your outputs by running: swaymsg -t get_outputs
 
+output DP-1 res 2560x1440 pos 0,0
+# 597 = (2560/2) - (1366/2)
+output LVDS-1 pos 597,1440
+
 ### Idle configuration
 
 exec swayidle \
@@ -2592,6 +2926,9 @@ exec swayidle \
     # Make the current focus fullscreen
     bindsym $mod+f fullscreen
 
+    # Toggle sticky-ness of the current (floating) window
+    bindsym $mod+$mod2+space sticky toggle
+
     # Toggle the current focus between tiling and floating mode
     bindsym $mod+Shift+space floating toggle
 
@@ -2691,6 +3028,15 @@ mode screenshot {
     bindsym q      mode default
 }
 
+#
+# Window configurations
+#
+for_window [class="mpv"] floating enable
+for_window [class="TelegramDesktop"] floating enable
+for_window [app_id="pavucontrol"] floating enable
+for_window [app_id="meld"] floating enable
+for_window [app_id="nm-connection-editor"] floating enable
+
 #
 # Status Bar:
 #
@@ -2745,6 +3091,11 @@ input "1:1:AT_Translated_Set_2_keyboard" {
     xkb_layout us_ab,ir
     xkb_options ctrl:nocaps,altwin:swap_alt_win,grp:shifts_toggle
 }
+
+input "65261:24672:technomancy_Atreus" {
+    repeat_delay 200
+    repeat_rate 45
+}
 #+end_src
 
 *** shemshak
@@ -2777,6 +3128,14 @@ input "1:1:AT_Translated_Set_2_keyboard" {
 image=/home/amin/usr/pics/wp/wp2445784-blurred-wallpapers.jpg
 scaling=fill
 #+end_src
+** systemd
+
+Keep boot messages on tty1 (see [[https://wiki.archlinux.org/index.php/getty#Have_boot_messages_stay_on_tty1][here]])
+
+#+begin_src conf :tangle /sudo::/etc/systemd/system/getty@tty1.service.d/noclear.conf
+[Service]
+TTYVTDisallocate=no
+#+end_src
 
 ** TLP
 
@@ -2785,33 +3144,43 @@ scaling=fill
 #+begin_src conf :tangle (when (and (eq system-type 'gnu/linux) (string= (system-name) "langa")) "/sudo::/etc/default/tlp")
 # ------------------------------------------------------------------------------
 # tlp - Parameters for power saving
-# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html
+# See full explanation: https://linrunner.de/en/tlp/docs/tlp-configuration.html
 
-# Hint: some features are disabled by default, remove the leading # to enable
-# them.
+# Notes:
+# - Some parameters are disabled, remove the leading '#' to enable # them;
+#   shown values are suggestions not defaults
+# - Default *: intrinsic default that is effective when the parameter is missing
+#   or disabled by a leading '#'; use PARAM="" to disable intrinsic defaults for
+#   parameters with text string values
+# - Default <none>: do nothing or use kernel/hardware defaults
 
 # Set to 0 to disable, 1 to enable TLP.
+# Default: 0
 TLP_ENABLE=1
 
 # Operation mode when no power supply can be detected: AC, BAT.
 # Concerns some desktop and embedded hardware only.
+# Default: <none>
 TLP_DEFAULT_MODE=AC
 
 # Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
 # Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
+# Default: 0
 TLP_PERSISTENT_DEFAULT=0
 
 # Seconds laptop mode has to wait after the disk goes idle before doing a sync.
 # Non-zero value enables, zero disables laptop mode.
+# Default: 0 (AC), 2 (BAT)
 DISK_IDLE_SECS_ON_AC=0
 DISK_IDLE_SECS_ON_BAT=2
 
 # Dirty page values (timeouts in secs).
+# Default: 15 (AC + BAT)
 MAX_LOST_WORK_SECS_ON_AC=15
 MAX_LOST_WORK_SECS_ON_BAT=60
 
-# Hint: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel default values are used.
+# Note: CPU parameters below are disabled by default, remove the leading #
+# to enable them, otherwise kernel defaults will be used.
 
 # Select a CPU frequency scaling governor.
 # Intel Core i processor with intel_pstate driver:
@@ -2819,19 +3188,21 @@ MAX_LOST_WORK_SECS_ON_BAT=60
 # Older hardware with acpi-cpufreq driver:
 #   ondemand(*), powersave, performance, conservative, schedutil.
 # (*) is recommended.
-# Hint: use tlp-stat -p to show the active driver and available governors.
+# Use tlp-stat -p to show the active driver and available governors.
 # Important:
 #   powersave for intel_pstate and ondemand for acpi-cpufreq are power
 #   efficient for *almost all* workloads and therefore kernel and most
 #   distributions have chosen them as defaults. If you still want to change,
 #   you should know what you're doing! You *must* disable your distribution's
 #   governor settings or conflicts will occur.
+# Default: <none>
 #CPU_SCALING_GOVERNOR_ON_AC=powersave
 #CPU_SCALING_GOVERNOR_ON_BAT=powersave
 
 # Set the min/max frequency available for the scaling governor.
-# Possible values strongly depend on your CPU. For available frequencies see
+# Possible values depend on your CPU. For available frequencies see
 # the output of tlp-stat -p.
+# Default: <none>
 #CPU_SCALING_MIN_FREQ_ON_AC=0
 #CPU_SCALING_MAX_FREQ_ON_AC=0
 #CPU_SCALING_MIN_FREQ_ON_BAT=0
@@ -2841,6 +3212,7 @@ MAX_LOST_WORK_SECS_ON_BAT=60
 #   performance, balance_performance, default, balance_power, power
 # Values are given in order of increasing power saving.
 # Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
+# Default: <none>
 CPU_HWP_ON_AC=balance_performance
 CPU_HWP_ON_BAT=balance_power
 
@@ -2848,6 +3220,7 @@ CPU_HWP_ON_BAT=balance_power
 # Limit the max/min P-state to control the power dissipation of the CPU.
 # Values are stated as a percentage of the available performance.
 # Requires an Intel Core i processor with intel_pstate driver.
+# Default: <none>
 #CPU_MIN_PERF_ON_AC=0
 #CPU_MAX_PERF_ON_AC=100
 #CPU_MIN_PERF_ON_BAT=0
@@ -2858,39 +3231,47 @@ CPU_HWP_ON_BAT=balance_power
 # Important:
 # - This may conflict with your distribution's governor settings
 # - A value of 1 does *not* activate boosting, it just allows it
+# Default: <none>
 #CPU_BOOST_ON_AC=1
 #CPU_BOOST_ON_BAT=0
 
 # Minimize number of used CPU cores/hyper-threads under light load conditions:
 #   0=disable, 1=enable.
+# Default: <none>
 SCHED_POWERSAVE_ON_AC=0
 SCHED_POWERSAVE_ON_BAT=1
 
 # Kernel NMI Watchdog:
 #   0=disable (default, saves power), 1=enable (for kernel debugging only).
+# Default: <none>
 NMI_WATCHDOG=0
 
 # Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
 # Frequency voltage pairs are written to:
 #   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
 # CAUTION: only use this, if you thoroughly understand what you are doing!
+# Default: <none>.
 #PHC_CONTROLS="F:V F:V F:V F:V"
 
 # Set CPU performance versus energy savings policy:
 #   performance, balance-performance, default, balance-power, power.
 # Values are given in order of increasing power saving.
 # Requires kernel module msr and x86_energy_perf_policy from linux-tools.
+# Default: <none>
 ENERGY_PERF_POLICY_ON_AC=performance
 ENERGY_PERF_POLICY_ON_BAT=balance-power
 
-# Disk devices; separate multiple devices with spaces (default: sda).
+# Disk devices; separate multiple devices with spaces.
 # Devices can be specified by disk ID also (lookup with: tlp diskid).
+# Note: DISK parameters below are effective only when this option is configured.
+# Default: "nvme0n1 sda"
 DISK_DEVICES="sda sdb"
 
 # Disk advanced power management level: 1..254, 255 (max saving, min, off).
 # Levels 1..127 may spin down the disk; 255 allowable on most drives.
 # Separate values for multiple disks with spaces. Use the special value 'keep'
 # to keep the hardware default for the particular disk.
+# Default: <none>
 DISK_APM_LEVEL_ON_AC="254 254"
 DISK_APM_LEVEL_ON_BAT="128 128"
 
@@ -2901,179 +3282,249 @@ DISK_APM_LEVEL_ON_BAT="128 128"
 # See 'man hdparm' for details.
 # Separate values for multiple disks with spaces. Use the special value 'keep'
 # to keep the hardware default for the particular disk.
+# Default: <none>
 #DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
 #DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
 
-# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq).
+# Select I/O scheduler for the disk devices.
+# Multi queue (blk-mq) schedulers:
+#   mq-deadline(*), none, kyber, bfq
+# Single queue schedulers:
+#   deadline(*), cfq, bfq, noop
+# (*) recommended.
 # Separate values for multiple disks with spaces. Use the special value 'keep'
 # to keep the kernel default scheduler for the particular disk.
-#DISK_IOSCHED="cfq cfq"
+# Notes:
+# - Multi queue (blk-mq) may need kernel boot option 'scsi_mod.use_blk_mq=1'
+#   and 'modprobe mq-deadline-iosched|kyber|bfq' on kernels < 5.0
+# - Single queue schedulers are legacy now and were removed together with
+#   the old block layer in kernel 5.0
+# Default: keep
+#DISK_IOSCHED="mq-deadline mq-deadline"
 
 # AHCI link power management (ALPM) for disk devices:
 #   min_power, med_power_with_dipm(*), medium_power, max_performance.
 # (*) Kernel >= 4.15 required, then recommended.
 # Multiple values separated with spaces are tried sequentially until success.
+# Default: <none>
 SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
 SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
 
 # Exclude host devices from AHCI link power management.
 # Separate multiple hosts with spaces.
+# Default: <none>
 #SATA_LINKPWR_BLACKLIST="host1"
 
 # Runtime Power Management for AHCI host and disks devices:
 #   on=disable, auto=enable.
-# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss.
+# EXPERIMENTAL ** WARNING: auto may cause system lockups/data loss.
+# Default: <none>
 #AHCI_RUNTIME_PM_ON_AC=on
 #AHCI_RUNTIME_PM_ON_BAT=on
 
 # Seconds of inactivity before disk is suspended.
+# Note: effective only when AHCI_RUNTIME_PM_ON_AC/BAT is activated.
+# Default: 15
 AHCI_RUNTIME_PM_TIMEOUT=15
 
 # PCI Express Active State Power Management (PCIe ASPM):
-#   default, performance, powersave.
-PCIE_ASPM_ON_AC=performance
-PCIE_ASPM_ON_BAT=powersave
+#   default(*), performance, powersave.
+# (*) keeps BIOS ASPM defaults (recommended)
+# Default: <none>
+#PCIE_ASPM_ON_AC=default
+#PCIE_ASPM_ON_BAT=default
+
+# Set the min/max/turbo frequency for the Intel GPU.
+# Possible values depend on your hardware. For available frequencies see
+# the output of tlp-stat -g.
+# Default: <none>
+#INTEL_GPU_MIN_FREQ_ON_AC=0
+#INTEL_GPU_MIN_FREQ_ON_BAT=0
+#INTEL_GPU_MAX_FREQ_ON_AC=0
+#INTEL_GPU_MAX_FREQ_ON_BAT=0
+#INTEL_GPU_BOOST_FREQ_ON_AC=0
+#INTEL_GPU_BOOST_FREQ_ON_BAT=0
 
 # Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC; default = use hardware defaults.
-RADEON_POWER_PROFILE_ON_AC=high
-RADEON_POWER_PROFILE_ON_BAT=low
+# auto = mid on BAT, high on AC.
+# Default: default
+RADEON_POWER_PROFILE_ON_AC=default
+RADEON_POWER_PROFILE_ON_BAT=default
 
 # Radeon dynamic power management method (DPM): battery, performance.
+# Default: <none>
 RADEON_DPM_STATE_ON_AC=performance
 RADEON_DPM_STATE_ON_BAT=battery
 
 # Radeon DPM performance level: auto, low, high; auto is recommended.
+# Note: effective only when RADEON_DPM_STATE_ON_AC/BAT is activated.
+# Default: auto
 RADEON_DPM_PERF_LEVEL_ON_AC=auto
 RADEON_DPM_PERF_LEVEL_ON_BAT=auto
 
 # WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
+# Default: <none>
 WIFI_PWR_ON_AC=off
 WIFI_PWR_ON_BAT=on
 
 # Disable wake on LAN: Y/N.
+# Default: N
 WOL_DISABLE=Y
 
 # Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
 # A value of 0 disables, >=1 enables power saving (recommended: 1).
+# Default: <none>
 SOUND_POWER_SAVE_ON_AC=0
 SOUND_POWER_SAVE_ON_BAT=0
 
 # Disable controller too (HDA only): Y/N.
+# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
+# Default: Y
 SOUND_POWER_SAVE_CONTROLLER=N
 
 # Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
 # Drive can be powered on again by releasing (and reinserting) the eject lever
 # or by pressing the disc eject button on newer models.
 # Note: an UltraBay/MediaBay hard disk is never powered off.
+# Default: 0
 BAY_POWEROFF_ON_AC=0
 BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off (default sr0).
+# Optical drive device to power off
+# Default: sr0
 BAY_DEVICE="sr0"
 
 # Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
+# Default: <none>
 RUNTIME_PM_ON_AC=on
 RUNTIME_PM_ON_BAT=auto
 
 # Exclude PCI(e) device adresses the following list from Runtime PM
 # (separate with spaces). Use lspci to get the adresses (1st column).
+# Default: <none>
 #RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
 
 # Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
 # Default when unconfigured is "amdgpu nouveau nvidia radeon" which
 # prevents accidential power-on of dGPU in hybrid graphics setups.
-# Use "" to disable the feature completely.
 # Separate multiple drivers with spaces.
-#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"
+# Default: "amdgpu mei_me nouveau nvidia pcieport radeon", use "" to disable
+# completely.
+#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon"
 
 # Set to 0 to disable, 1 to enable USB autosuspend feature.
+# Default: 0
 USB_AUTOSUSPEND=1
 
 # Exclude listed devices from USB autosuspend (separate with spaces).
 # Use lsusb to get the ids.
 # Note: input devices (usbhid) are excluded automatically
+# Default: <none>
 #USB_BLACKLIST="1111:2222 3333:4444"
 
 # Bluetooth devices are excluded from USB autosuspend:
 #   0=do not exclude, 1=exclude.
+# Default: 0
 USB_BLACKLIST_BTUSB=0
 
 # Phone devices are excluded from USB autosuspend:
 #   0=do not exclude, 1=exclude (enable charging).
+# Default: 0
 USB_BLACKLIST_PHONE=0
 
 # Printers are excluded from USB autosuspend:
 #   0=do not exclude, 1=exclude.
+# Default: 1
 USB_BLACKLIST_PRINTER=1
 
 # WWAN devices are excluded from USB autosuspend:
 #   0=do not exclude, 1=exclude.
-USB_BLACKLIST_WWAN=1
+# Default: 0
+USB_BLACKLIST_WWAN=0
 
 # Include listed devices into USB autosuspend even if already excluded
-# by the blacklists above (separate with spaces).
-# Use lsusb to get the ids.
+# by the blacklists above (separate with spaces). Use lsusb to get the ids.
+# Default: <none>
 #USB_WHITELIST="1111:2222 3333:4444"
 
 # Set to 1 to disable autosuspend before shutdown, 0 to do nothing
 # (workaround for USB devices that cause shutdown problems).
+# Default: 0
 #USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
 
 # Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
 # on system startup: 0=disable, 1=enable.
-# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled!
+# Note: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
+#   are ignored when this is enabled.
+# Default: 0
 #RESTORE_DEVICE_STATE_ON_STARTUP=0
-RESTORE_DEVICE_STATE_ON_STARTUP=0
+RESTORE_DEVICE_STATE_ON_STARTUP=1
 
 # Radio devices to disable on startup: bluetooth, wifi, wwan.
 # Separate multiple devices with spaces.
+# Default: <none>
 #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
 
 # Radio devices to enable on startup: bluetooth, wifi, wwan.
 # Separate multiple devices with spaces.
+# Default: <none>
 #DEVICES_TO_ENABLE_ON_STARTUP="wifi"
 
 # Radio devices to disable on shutdown: bluetooth, wifi, wwan.
 # (workaround for devices that are blocking shutdown).
+# Default: <none>
 #DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
 
 # Radio devices to enable on shutdown: bluetooth, wifi, wwan.
 # (to prevent other operating systems from missing radios).
+# Default: <none>
 #DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
 
 # Radio devices to enable on AC: bluetooth, wifi, wwan.
+# Default: <none>
 #DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
 
 # Radio devices to disable on battery: bluetooth, wifi, wwan.
+# Default: <none>
 #DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
+DEVICES_TO_DISABLE_ON_BAT="bluetooth"
 
 # Radio devices to disable on battery when not in use (not connected):
 #   bluetooth, wifi, wwan.
+# Default: <none>
 #DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
 
 # Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
 # required). Charging starts when the remaining capacity falls below the
 # START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
 # Main / Internal battery (values in %)
+# Default: <none>
 #START_CHARGE_THRESH_BAT0=75
 #STOP_CHARGE_THRESH_BAT0=80
 # Ultrabay / Slice / Replaceable battery (values in %)
+# Default: <none>
 #START_CHARGE_THRESH_BAT1=75
 #STOP_CHARGE_THRESH_BAT1=80
 
 # Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
+# Default: 0
 #RESTORE_THRESHOLDS_ON_BAT=1
 
+# Battery feature drivers: 0=disable, 1=enable
+# Default: 1 (all)
+NATACPI_ENABLE=1
+TPACPI_ENABLE=1
+TPSMAPI_ENABLE=1
+
 # ------------------------------------------------------------------------------
 # tlp-rdw - Parameters for the radio device wizard
 # Possible devices: bluetooth, wifi, wwan.
 
-# Hints:
+# Notes:
 # - Parameters are disabled by default, remove the leading # to enable them
 # - Separate multiple radio devices with spaces
 
+# Default: <none> (for all parameters below)
+
 # Radio devices to disable on connect.
 #DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
 #DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
@@ -3649,9 +4100,9 @@ Emacs.font: Source Code Pro:size=14
 #+begin_src conf-xdefaults
 ! Font
 URxvt.font:             xft:source code pro:pixelsize=14:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
-URxvt.boldFont:         xft:source code pro semibold:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
-URxvt.italicFont:       xft:source code pro italic:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
-URxvt.bolditalicFont:   xft:source code pro semibold italic:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+URxvt.boldFont:         xft:source code pro:semibold:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+URxvt.italicFont:       xft:source code pro:italic:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+URxvt.bolditalicFont:   xft:source code pro:semibold:italic:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
 
 URxvt.xftAntialias:     true
 URxvt.letterSpace:      0
@@ -3833,8 +4284,6 @@ installed.
 :END:
 
 #+begin_src sh
-
-
 #################
 # CORE SETTINGS #
 #################
@@ -3911,7 +4360,6 @@ ztermtitle='%n@%m:%~'
 #zhighlighters=(main brackets cursor)
 zhighlighters=(main brackets pattern)
 
-
 #
 # SSH
 #
@@ -3919,7 +4367,6 @@ zhighlighters=(main brackets pattern)
 # Load these ssh identities with the ssh module
 zssh_ids=(id_ed25519_bandali)
 
-
 #
 # Pacman
 #
@@ -3929,6 +4376,8 @@ zpacman_frontend='yay'
 
 # Load any helper scripts as defined here
 #zpacman_helper=(aur)
+
+
 #+end_src
 
 *** zlogin
@@ -3937,14 +4386,13 @@ zpacman_frontend='yay'
 :END:
 
 #+begin_src sh
-
-
 #
 # User configuration sourced by login shells
 #
 
 # Initialize zim
 [[ -s ${ZIM_HOME}/login_init.zsh ]] && source ${ZIM_HOME}/login_init.zsh
+
 #+end_src
 
 *** zprofile
@@ -4026,7 +4474,7 @@ TRAPUSR1() { rehash}; precmd() { [[ $history[$[ HISTCMD -1 ]] == *(pacaur|pacman
 # User configuration sourced by interactive shells
 #
 
-# Change default zim location
+# Define zim location
 export ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
 
 # Start zim
@@ -4067,7 +4515,7 @@ alias mv="mv -iv"
 alias cp="cp -iv"
 alias scl=systemctl
 alias jcl=journalctl
-alias m="mbsync uwaterloo; mbsync amin"
+alias m="mbsync csclub; mbsync uwaterloo; mbsync amin"
 alias best="youtube-dl -f best"
 alias sd="ssh deb"
 alias sf="ssh fp"
@@ -4082,6 +4530,7 @@ aur() {
 # i-beam cursor
 echo -e "\033[5 q"
 #echo -e "\033[6 q"
+
 #+end_src
 
 * Scripts