[emacs] skeleton for irc setup with ERC and ZNC
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 0454dec..f1af18c 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
@@ -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,18 +1419,18 @@ 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 DE:5F:73:0C:F7:9A:7B:1D:55:AA:49:28:E7:28:49:24:A4:08:55:00:7A:7E:D8:7F:30:06:26:24:11:29:61:07
+# 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
@@ -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
@@ -2789,6 +3119,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
 
@@ -3036,12 +3374,11 @@ USB_BLACKLIST_WWAN=1
 # Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
 #   are ignored when this is enabled!
 #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.
 #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.
@@ -3060,6 +3397,7 @@ DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
 
 # Radio devices to disable on battery: bluetooth, wifi, wwan.
 #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.
@@ -3845,8 +4183,6 @@ installed.
 :END:
 
 #+begin_src sh
-
-
 #################
 # CORE SETTINGS #
 #################
@@ -3923,7 +4259,6 @@ ztermtitle='%n@%m:%~'
 #zhighlighters=(main brackets cursor)
 zhighlighters=(main brackets pattern)
 
-
 #
 # SSH
 #
@@ -3931,7 +4266,6 @@ zhighlighters=(main brackets pattern)
 # Load these ssh identities with the ssh module
 zssh_ids=(id_ed25519_bandali)
 
-
 #
 # Pacman
 #
@@ -3941,6 +4275,8 @@ zpacman_frontend='yay'
 
 # Load any helper scripts as defined here
 #zpacman_helper=(aur)
+
+
 #+end_src
 
 *** zlogin
@@ -3949,14 +4285,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
@@ -4038,7 +4373,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
@@ -4079,7 +4414,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"
@@ -4094,6 +4429,7 @@ aur() {
 # i-beam cursor
 echo -e "\033[5 q"
 #echo -e "\033[6 q"
+
 #+end_src
 
 * Scripts