aboutsummaryrefslogtreecommitdiff
path: root/dot_config
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/environment.d/01_PATH.conf3
-rw-r--r--dot_config/isyncrc.tmpl213
-rw-r--r--dot_config/kanshi/config4
-rw-r--r--dot_config/mimeapps.list4
-rw-r--r--dot_config/mpd/mpd.conf23
-rw-r--r--dot_config/msmtp/config2
-rw-r--r--dot_config/neomutt/accounts.rc6
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc8
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl8
-rw-r--r--dot_config/neomutt/accounts/9rak.queensu.ca/send.rc2
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc3
-rw-r--r--dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc2
-rw-r--r--dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl5
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc40
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc5
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc5
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc12
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc8
-rw-r--r--dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc12
-rw-r--r--dot_config/neomutt/encrypted_private_alias.rc.asc142
-rw-r--r--dot_config/neomutt/neomuttrc.tmpl2
-rw-r--r--dot_config/private_borgmatic/encrypted_private_home.yaml.tmpl.asc76
-rw-r--r--dot_config/private_borgmatic/encrypted_private_music.yaml.asc71
-rw-r--r--dot_config/private_borgmatic/encrypted_private_pictures.yaml.asc71
-rw-r--r--dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc73
-rw-r--r--dot_config/private_borgmatic/rsync.net.yaml1
-rw-r--r--dot_config/private_mpv/input.conf1
-rw-r--r--dot_config/sh/10_aliases26
-rw-r--r--dot_config/sway/config8
-rw-r--r--dot_config/sway/config.d/40_keyboards1
-rw-r--r--dot_config/sway/config.d/99_reload.conf4
-rw-r--r--dot_config/swayidle/.keep0
-rw-r--r--dot_config/swayidle/config4
-rw-r--r--dot_config/systemd/user/borgmatic@.service1
-rw-r--r--dot_config/systemd/user/kanshi.service14
-rw-r--r--dot_config/systemd/user/mbsync@.service (renamed from dot_config/systemd/user/mbsync.service)3
-rw-r--r--dot_config/systemd/user/mbsync@.timer (renamed from dot_config/systemd/user/mbsync.timer)1
-rw-r--r--dot_config/systemd/user/notify-unit-failure@.service5
-rw-r--r--dot_config/systemd/user/plocate-updatedb.service28
-rw-r--r--dot_config/systemd/user/plocate-updatedb.timer11
-rw-r--r--dot_config/systemd/user/sbuild-update.service11
-rw-r--r--dot_config/systemd/user/sbuild-update.timer11
-rw-r--r--dot_config/systemd/user/ssh-agent.service.d/override.conf3
-rw-r--r--dot_config/systemd/user/sway-session-pre.target18
-rw-r--r--dot_config/systemd/user/sway-session.target20
-rw-r--r--dot_config/systemd/user/swaybg-random.service7
-rw-r--r--dot_config/systemd/user/swayidle.service14
-rw-r--r--dot_config/systemd/user/symlink_gcr-ssh-agent.socket1
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer1
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_plocate-updatedb.timer1
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_sbuild-update.timer1
-rw-r--r--dot_config/systemd/user/wayland-session-pre.target18
-rw-r--r--dot_config/systemd/user/wayland-session.target18
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service1
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service (renamed from dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service)0
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service1
-rw-r--r--dot_config/waybar/config25
-rw-r--r--dot_config/waybar/style.css4
58 files changed, 712 insertions, 351 deletions
diff --git a/dot_config/environment.d/01_PATH.conf b/dot_config/environment.d/01_PATH.conf
index 2d43e7a..1913958 100644
--- a/dot_config/environment.d/01_PATH.conf
+++ b/dot_config/environment.d/01_PATH.conf
@@ -6,4 +6,5 @@ PATH="${HOME}/.opam/default/bin:${PATH}"
PATH="${HOME}/.opam/beluga/bin:${PATH}"
PATH="${HOME}/.cabal/bin:${PATH}"
PATH="${HOME}/.cargo/bin:${PATH}"
-PATH="${HOME}/bin:${PATH}"
+PATH="${HOME}/.go/bin:${PATH}"
+PATH="${HOME}/.local/bin:${PATH}"
diff --git a/dot_config/isyncrc.tmpl b/dot_config/isyncrc.tmpl
new file mode 100644
index 0000000..7a2029d
--- /dev/null
+++ b/dot_config/isyncrc.tmpl
@@ -0,0 +1,213 @@
+IMAPAccount UQAM
+Host outlook.office365.com
+User kavanagh.ryan@uqam.ca
+PassCmd "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' $XDG_STATE_HOME/xoauth2-tokens/kavanagh.ryan.uqam.ca"
+AuthMechs XOAUTH2
+TLSType IMAPS
+
+IMAPAccount queensu
+Host outlook.office365.com
+User 9rak@queensu.ca
+PassCmd "mutt_oauth2.py --client-id="08162f7c-0fd2-4200-a84a-f25a4db0b584" --client-secret="TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82" --encryption-pipe="cat" --decryption-pipe="cat" $XDG_STATE_HOME/xoauth2-tokens/9rak.queensu.ca"
+AuthMechs XOAUTH2
+TLSType IMAPS
+
+IMAPAccount CMU
+Host imap.gmail.com
+User rkavanag@alumni.cmu.edu
+PassCmd "mutt_oauth2.py --encryption-pipe=cat --decryption-pipe=cat $XDG_STATE_HOME/xoauth2-tokens/rkavanag.alumni.cmu.edu"
+AuthMechs XOAUTH2
+TLSType IMAPS
+
+IMAPAccount gmail
+Host imap.gmail.com
+User ryanakca@gmail.com
+Pass {{ .password.gmail }}
+AuthMechs PLAIN
+TLSType IMAPS
+
+IMAPAccount ryan.a.kavanagh.gmail.com
+Host imap.gmail.com
+User ryan.a.kavanagh@gmail.com
+PassCmd "mutt_oauth2.py --encryption-pipe=cat --decryption-pipe=cat $XDG_STATE_HOME/xoauth2-tokens/ryan.a.kavanagh.gmail.com"
+AuthMechs XOAUTH2
+TLSType IMAPS
+
+IMAPAccount rak
+Host hades.rak.ac
+User rak
+Pass {{ .password.rakac }}
+AuthMechs PLAIN
+TLSType IMAPS
+
+IMAPStore uqam-remote
+Account UQAM
+
+IMAPStore queensu-remote
+Account queensu
+
+IMAPStore cmu-remote
+Account CMU
+
+IMAPStore rak-remote
+Account rak
+
+IMAPStore gmail-remote
+Account gmail
+
+IMAPStore ryan.a.kavanagh.gmail.com
+Account ryan.a.kavanagh.gmail.com
+
+MaildirStore uqam-maildir
+Subfolders Verbatim
+Path ~/Maildir/UQAM/
+Inbox ~/Maildir/UQAM/INBOX
+
+MaildirStore cmu-maildir
+Subfolders Verbatim
+Path ~/Maildir/CMU/
+Inbox ~/Maildir/CMU/INBOX
+
+MaildirStore rak-maildir
+Subfolders Verbatim
+Path ~/Maildir/rak/
+Inbox ~/Maildir/rak/INBOX
+
+MaildirStore queensu-maildir
+Subfolders Verbatim
+Path ~/Maildir/queensu/
+Inbox ~/Maildir/queensu/INBOX
+
+MaildirStore gmail-maildir
+Subfolders Verbatim
+Path ~/Maildir/gmail/
+Inbox ~/Maildir/gmail/INBOX
+
+MaildirStore archive
+Subfolders Verbatim
+Path ~/Maildir/Archive/
+Inbox ~/Maildir/Archive/INBOX
+
+Channel uqam-inbox
+Far :uqam-remote:
+Near :uqam-maildir:
+Create Both
+Patterns INBOX
+Expunge Both
+Sync All
+
+Channel uqam-others
+Far :uqam-remote:
+Near :uqam-maildir:
+Create Both
+Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Flux RSS" !Journal !Notes !Outbox !Probl*
+Expunge Near
+Sync All
+
+Channel queensu
+Far :queensu-remote:
+Near :queensu-maildir:
+Create Both
+Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Flux RSS" !Journal !Notes !Outbox
+Expunge Both
+Remove Both
+Sync All
+
+Channel cmu
+Far :cmu-remote:
+Near :cmu-maildir:
+Create Both
+Expunge Near
+Patterns * !"[Gmail]/All Mail" !"[Gmail]/Important" !"[Gmail]/Starred"
+Sync All
+
+Channel rak-inbox
+Far :rak-remote:
+Near :rak-maildir:
+Create Both
+Expunge Near
+Patterns INBOX
+Sync All
+
+Channel rak-lists
+Far :rak-remote:
+Near :rak-maildir:
+Create Both
+Expunge Near
+Patterns Lists/*
+Sync All
+
+Channel rak-misc
+Far :rak-remote:
+Near :rak-maildir:
+Create Both
+Remove Both
+Expunge Near
+Patterns * !Archive !Virtual !Virtual/* !INBOX !Lists !Lists/*
+Sync All
+
+Channel rak-archive
+Far :rak-remote:
+Near :rak-maildir:
+Create Both
+Expunge Near
+Patterns Archive
+Sync All
+
+Group rak
+Channel rak-inbox
+Channel rak-lists
+Channel rak-misc
+
+Channel gmail-inbox
+Far :gmail-remote:
+Near :gmail-maildir:
+Create Near
+Expunge Near
+Pattern INBOX
+Sync Pull
+
+Channel gmail-base
+Far :gmail-remote:
+Near :gmail-maildir:
+Create Near
+Expunge Near
+Pattern INBOX "[Google Mail]/Sent Mail" "[Google Mail]/Drafts" "[Google Mail]/Bin"
+Sync Pull
+
+Channel gmail-others
+Far :gmail-remote:
+Near :gmail-maildir:
+Create Near
+Remove Both
+Expunge Near
+Pattern * !INBOX !"[Google Mail]/Sent Mail" !"[Google Mail]/Drafts" !"[Google Mail]/Bin" !"[Google Mail]/All Mail"
+Sync Pull
+
+Channel archive-to-gmail
+Far :ryan.a.kavanagh.gmail.com:
+Near :archive:
+Create Both
+Remove Both
+Expunge Both
+Pattern * !"[Gmail]/All Mail" !"[Gmail]/Important" !"[Gmail]/Spam" !"[Gmail]/Starred" !"[Gmail]/Trash"
+Sync All
+
+Group inboxes
+Channel gmail-inbox
+Channel rak-inbox
+Channel uqam-inbox
+
+Group uqam
+Channel uqam-inbox
+Channel uqam-others
+
+Group gmail
+Channel gmail-base
+Channel gmail-others
+
+Group rak
+Channel rak-inbox
+Channel rak-lists
+Channel rak-misc
+Channel rak-archive
diff --git a/dot_config/kanshi/config b/dot_config/kanshi/config
index ff39e8e..65192a2 100644
--- a/dot_config/kanshi/config
+++ b/dot_config/kanshi/config
@@ -6,8 +6,8 @@ profile thinkpad_L15_home {
output "Ancor Communications Inc VE248 H5LMQS022049" mode 1920x1080 position 0,0
}
profile thinkpad_L15_office {
+ output "Dell Inc. DELL P2722H DZC4GH3" mode 1920x1080 position 0,0
output "AU Optronics 0x25ED Unknown" mode 1920x1080 position 0,1080
- output "Samsung Electric Company LF27T370F HCNRB00047" mode 1920x1080 position 0,0
}
profile thinkpad_L15_SH-2420 {
output "AU Optronics 0x25ED Unknown" mode 1920x1080 position 0,0
@@ -24,5 +24,5 @@ profile thinkpad_T14 {
}
profile thinkpad_T14_home {
output "Ancor Communications Inc VE248 H5LMQS022049" mode 1920x1080 position 0,0
- output "AU Optronics 0x573D Unknown" mode 1920x1080 position 0,1080
+ output "Lenovo Group Limited 0x40A9 Unknown" mode 1920x1080 position 0,1080
}
diff --git a/dot_config/mimeapps.list b/dot_config/mimeapps.list
index cf6cc6f..2c17719 100644
--- a/dot_config/mimeapps.list
+++ b/dot_config/mimeapps.list
@@ -2,8 +2,8 @@
x-scheme-handler/spotify=sp.desktop
[Default Applications]
-application/pdf=org.gnome.Evince.desktop
-application/x-pdf=org.gnome.Evince.desktop
+application/pdf=org.gnome.Papers.desktop
+application/x-pdf=org.gnome.Papers.desktop
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
diff --git a/dot_config/mpd/mpd.conf b/dot_config/mpd/mpd.conf
new file mode 100644
index 0000000..7321d5b
--- /dev/null
+++ b/dot_config/mpd/mpd.conf
@@ -0,0 +1,23 @@
+music_directory "/var/lib/mpd/music"
+playlist_directory "~/.config/mpd/playlists"
+db_file "~/.local/state/mpd/db"
+state_file "~/.local/state/mpd/state"
+filesystem_charset "UTF-8"
+
+auto_update "yes"
+
+input {
+ plugin "curl"
+}
+
+audio_output {
+ type "fifo"
+ name "my_fifo"
+ path "$XDG_RUNTIME_DIR/mpd/mpd.fifo"
+ format "44100:16:2"
+}
+
+audio_output {
+ type "pipewire"
+ name "PipeWire Sound Server"
+}
diff --git a/dot_config/msmtp/config b/dot_config/msmtp/config
index cae5650..ffd7db5 100644
--- a/dot_config/msmtp/config
+++ b/dot_config/msmtp/config
@@ -9,6 +9,6 @@ user kavanagh.ryan@uqam.ca
from kavanagh.ryan@uqam.ca
tls_certcheck on
auth xoauth2
-passwordeval /home/rak/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' -t $XDG_STATE_HOME/xoauth2-tokens/kavanagh.ryan.uqam.ca
+passwordeval mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' $XDG_STATE_HOME/xoauth2-tokens/kavanagh.ryan.uqam.ca
port 587
tls_trust_file /etc/ssl/certs/ca-certificates.crt
diff --git a/dot_config/neomutt/accounts.rc b/dot_config/neomutt/accounts.rc
index 25b2a52..99383ca 100644
--- a/dot_config/neomutt/accounts.rc
+++ b/dot_config/neomutt/accounts.rc
@@ -3,9 +3,6 @@
account-hook imaps://ryanakca@gmail.com@imap.gmail.com \
source $XDG_CONFIG_HOME/neomutt/accounts/ryanakca.gmail.com/main.rc
-account-hook imaps://ryan.kavanagh@mail.mcgill.ca@outlook.office365.com \
- source $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
-
account-hook imaps://9rak@queensu.ca@outlook.office365.com \
source $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/main.rc
@@ -15,9 +12,6 @@ account-hook imaps://kavanagh.ryan@uqam.ca@outlook.office365.com \
account-hook imaps://imap.rak.ac \
source $XDG_CONFIG_HOME/neomutt/accounts/rak.rak.ac/main.rc
-account-hook imaps://mail.cs.mcgill.ca \
- source $XDG_CONFIG_HOME/neomutt/accounts/ryank.mail.cs.mcgill.ca/main.rc
-
account-hook imaps://rkavanag@alumni.cmu.edu@imap.gmail.com \
source $XDG_CONFIG_HOME/neomutt/accounts/rkavanag.alumni.cmu.edu/main.rc
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc
new file mode 100644
index 0000000..e3633e1
--- /dev/null
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc
@@ -0,0 +1,8 @@
+# vim: syntax=neomuttrc
+
+set imap_authenticators = 'xoauth2'
+set imap_oauth_refresh_command = "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' \"$XDG_STATE_HOME/xoauth2-tokens/9rak.queensu.ca\""
+set imap_passive = 'no'
+set imap_user = '9rak@queensu.ca'
+
+unset imap_pass
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl b/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl
deleted file mode 100644
index 407e643..0000000
--- a/dot_config/neomutt/accounts/9rak.queensu.ca/private_read.rc.tmpl
+++ /dev/null
@@ -1,8 +0,0 @@
-# vim: syntax=neomuttrc
-
-set imap_authenticators = 'xoauth2'
-set imap_oauth_refresh_command = '~/bin/mutt_oauth2.py --client-id="08162f7c-0fd2-4200-a84a-f25a4db0b584" --client-secret="TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82" --encryption-pipe="cat" --decryption-pipe="cat" $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/xoauth2-token'
-set imap_passive = 'no'
-set imap_user = '9rak@queensu.ca'
-
-unset imap_pass
diff --git a/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc b/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc
index 8327f7e..fff4c4f 100644
--- a/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc
+++ b/dot_config/neomutt/accounts/9rak.queensu.ca/send.rc
@@ -3,7 +3,7 @@
set copy = yes
set from = 'Ryan Kavanagh <ryan.kavanagh@queensu.ca>'
set smtp_authenticators = 'xoauth2'
-set smtp_oauth_refresh_command = '~/bin/mutt_oauth2.py --client-id="08162f7c-0fd2-4200-a84a-f25a4db0b584" --client-secret="TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82" --encryption-pipe="cat" --decryption-pipe="cat" $XDG_CONFIG_HOME/neomutt/accounts/9rak.queensu.ca/xoauth2-token'
+set smtp_oauth_refresh_command = "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' \"$XDG_STATE_HOME/xoauth2-tokens/9rak.queensu.ca\""
set smtp_url = 'smtp://9rak@queensu.ca@smtp.office365.com:587/'
unset sendmail
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc
index fd74dfa..8c02e30 100644
--- a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/read.rc
@@ -1,7 +1,8 @@
# vim: syntax=neomuttrc
+set imap_keepalive = 60
set imap_authenticators = 'xoauth2'
-set imap_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
+set imap_oauth_refresh_command = "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' \"$XDG_STATE_HOME/xoauth2-tokens/kavanagh.ryan.uqam.ca\""
set imap_passive = 'no'
set imap_user = 'kavanagh.ryan@uqam.ca'
diff --git a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc
index ac1f134..6332649 100644
--- a/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc
+++ b/dot_config/neomutt/accounts/kavanagh.ryan.uqam.ca/send.rc
@@ -5,7 +5,7 @@
set copy = no
set from = 'Ryan Kavanagh <kavanagh.ryan@uqam.ca>'
set smtp_authenticators = 'xoauth2'
-set smtp_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
+set smtp_oauth_refresh_command = "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' \"$XDG_STATE_HOME/xoauth2-tokens/kavanagh.ryan.uqam.ca\""
set smtp_url = 'smtp://kavanagh.ryan@uqam.ca@smtp.office365.com:587/'
set signature = "`pwd`/signature"
diff --git a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl
index 16febff..f6ed07a 100644
--- a/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl
+++ b/dot_config/neomutt/accounts/rkavanag.alumni.cmu.edu/private_read.rc.tmpl
@@ -1,8 +1,7 @@
# vim: syntax=muttrc
set imap_keepalive = 60
-{{- if .password.cmu }}
-set imap_pass = '{{ .password.cmu }}'
-{{- end }}
+set imap_authenticators = 'xoauth2'
+set imap_oauth_refresh_command = "mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' \"$XDG_STATE_HOME/xoauth2-tokens/rkavanag.alumni.cmu.edu\""
set imap_passive = 'no'
set imap_user = 'rkavanag@alumni.cmu.edu'
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc
deleted file mode 100644
index 3acd49e..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/encrypted_alias.rc.asc
+++ /dev/null
@@ -1,40 +0,0 @@
------BEGIN PGP MESSAGE-----
-
-hQUMAwAAAAAAAAAAASgAt/pilEor3JhKFEoqiFwE+Gaq+ukuH5R8MvUuKxihWXv2
-2F0qxKxOdQklxpnkJflfpEhScoEH6MnqySyDTh+pCyQkyXzcP2IvNRUzyKp1EkFo
-HLX6TQBeH/qFi8zHYdKf6EwHbOwZHWIrN6ydOFwbqo9+ouSnnMMRtx1hgqB/hKN0
-myqwpdrSDA8hW/mQtHWH2GPbgcNpEBda2uOSwy1bbJF7EzI5ll2WQ1yu3+RxydlC
-TUogUS4WfgB2ohgVrU8Dlt1Ol0UqaTkU243hyxWn4tnUQjT51h9D0Ae3305O2p6/
-xPNvhdSRsWJ/GRy09mg4YFr0TjO+Znj7u09bx9H65h1nQJ56V7LhbiACQArzfppX
-dedf9HsEJaPpDcl9vyAbmpOKlzVvBi7MV/U5jDIxMYkGA053OC691BumulrNORHS
-sJkKic8nBrywYS0Ug16RCfOBuuRSs+saDsG9b1CYdr7URHbOFzMu7yfYBPCqlX9G
-1H7OkbIAScmiHYZ1h3hMV9iwiziKxNJ03Cy3U4J5zbFjRyOuu0U7aF2o5BKLndyG
-QrPQVAx1cIaLsFlPTgwKxAp6swHChahgfkS+K5GtAwwa2UueTbbAvSZCZVhYTFAn
-1F9omg3+HcbtckiPtQjF5a3DMwOERTZuZFxCoaNUU2TX1zXjPMKkRXhkz91mBkK3
-taSAtMJzyIvi8Q3oF9H1+txGclA4H6C6kLlac6QTDc3jRKheVHlSfj07WVGPpnJ+
-NZXEDhkPBMaD3QQP6AtsCsBrH1dXiE7wr9fF9Xy4i+joRMdtns5H0BPlcsujZvjO
-oOQPxORuiG8HInI5JrpGKdVeWUPvniqtJEtAkTC+c5M4FMv1AsWGV2+NC+E3GC2a
-XqJKvEbBexjJ3s5HkHrNxIYLX1QmxqOC/oXmrJr6vRhgfKLY7KVkn4nMJae6Ks6b
-g8L/oSU2vC/Z8c5rILrGHo6Y9WFXToUxK79NUIV8NgW2I5JiRyFsv5DT37NWOGSI
-v7M/whMb3fCMkZgLlVJi5CsHYBz4rrqa9bV3+yBy66ojRCnpzfq2C/yEcLXzRxpF
-zeBmUgLh+gq+3lHQaOVs9siK2BzoPlUcFmJSNwCNPx1OdOFlNwxfHlJ8q/LjrUEl
-MhnhxFzBRFdFCj9mlAylDmUWjC16plufbNDbHQUdQcAeND4Y1L8ZaHCMjWVwE2Lz
-uJuY3i5E5A9Czu4v4ROQQABQMA28mc639PwK+x7uqpyHd+NniXJADoMefdJmPw8/
-OCLX3ecVs9Jx/Nu+wHcA9YUjbxCi1YiUjaWpvAUVANgo03uH/eIsQiROvvBugdIX
-5mETYqhhg47bGcM80b5n1OJcWPqdXmpb1haQyrvDolgkl9op6q8jWh60/oEGiXcK
-kjn5h/epEw4kEjASLnNkKqM0kW+SjcSql9mTzHg/soc/U1rcImRLAp2e/ukztqc0
-lEQeF46G5B3DmUDxg5KtQkrGO/S+qGwVIfrcyAv3LRf1/CNfl0NyEcilHOJous1L
-en8mqLgUvC3ETeVQlsG5WFfrMmf+lb/Uy23gC5FHWKHximprafoh0/pKQtKae1nW
-8gjVXiGYPy1Qf2NNfGspJOvB9xSsvAN60LsUSpQefyJ+9BnYOuuUqOxfDLTYLCCx
-VPiqeUT6Ee03Vn9uRYX2gg2ieD62Otvdk7ogDuq6rCoRV0C1ptemY0E9ivDeVNvS
-wMkBFn4Gf/rOxYBI7WxNmoIROqNm2qEc39qerRLOK0i1403vewIUXvWyDy6QsI3C
-ppWKYOZk2zgIJUxDb8igrQ+sUhIRToI+eY9vecVDvo2kjZhyeTj3AbNiw4KT9POY
-4aAMk7XmnyE5tLvf2g5S6atjjcNBOSRpevMrLR169eQPYHW3TvYs/r1FSqDLMG9T
-UUUc/1PfWEtwZ2TIE+ZvNvksEiHtzjQQkeGhNWsbDF94UMu2JrcWxwl8VhoiGdMX
-AvXCbjLeSFBRlp03zKIRRiimIUaCNtBQUJNR7/34Oj077xKk4OhBULDlBwOvUjkg
-DTcPvwhCxFVa61H4PiQKBVJSiTtPHD1tyUJJlDehP1VmJbtI0OjkMEIuRJXLIH+B
-wahnfrGIYVy6QgRyyd1Fytx4+68fj14XRJ/67ee0sf0H8TS8WL4RDzW/1kHsgnBD
-3Go+NZsieQI106RVZc1+xpiBE6hceCejhBJrS0LmVDjKsCug+CRXsK14w1asd6Zf
-e4Fo5B9ePsKEYcU=
-=7eze
------END PGP MESSAGE-----
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc
deleted file mode 100644
index fab8acc..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/folders.rc
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: syntax=muttrc
-
-set mbox = '+INBOX/Read'
-set postponed = '+Drafts'
-set record = '+Sent Items'
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc
deleted file mode 100644
index 3d4c8fe..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/format.rc
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: syntax=muttrc
-
-set pager_format = '-%Z-MAIL.MCGILL.CA: %C/%m: %-20.20n %s%* -- (%P)'
-set compose_format = '-- MAIL.MCGILL.CA: Compose [Approx. msg size: %l Atts: %a]%>-'
-set status_format = '-%r-MAIL.MCGILL.CA: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
deleted file mode 100644
index 23b81f9..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/main.rc
+++ /dev/null
@@ -1,12 +0,0 @@
-# vim: syntax=muttrc
-
-cd $XDG_CONFIG_HOME/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca
-
-set folder = 'imaps://ryan.kavanagh@mail.mcgill.ca@outlook.office365.com/'
-
-source folders.rc
-source read.rc
-source send.rc
-source format.rc
-
-cd
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc
deleted file mode 100644
index 055e807..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/read.rc
+++ /dev/null
@@ -1,8 +0,0 @@
-# vim: syntax=neomuttrc
-
-set imap_authenticators = 'xoauth2'
-set imap_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
-set imap_passive = 'no'
-set imap_user = 'ryan.kavanagh@mail.mcgill.ca'
-
-unset imap_pass
diff --git a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc b/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc
deleted file mode 100644
index 146b28a..0000000
--- a/dot_config/neomutt/accounts/ryan.kavanagh.mail.mcgill.ca/send.rc
+++ /dev/null
@@ -1,12 +0,0 @@
-# vim: syntax=muttrc
-
-# Set copy to no so long as you use McGill's smtp,
-# which automatically saves messages to $record
-set copy = no
-set from = 'Ryan Kavanagh <rkavanagh@cs.mcgill.ca>'
-set smtp_authenticators = 'xoauth2'
-set smtp_oauth_refresh_command = "~/bin/mutt_oauth2.py --encryption-pipe='cat' --decryption-pipe='cat' `pwd`/xoauth2-token"
-set smtp_url = 'smtp://ryan.kavanagh@mail.mcgill.ca@smtp.office365.com:587/'
-
-unset sendmail
-unset smtp_pass
diff --git a/dot_config/neomutt/encrypted_private_alias.rc.asc b/dot_config/neomutt/encrypted_private_alias.rc.asc
index 99d9ddb..dc1ce31 100644
--- a/dot_config/neomutt/encrypted_private_alias.rc.asc
+++ b/dot_config/neomutt/encrypted_private_alias.rc.asc
@@ -1,74 +1,74 @@
-----BEGIN PGP MESSAGE-----
-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
-=9dIs
+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
+VdvZZ9Xam9IilMQwG2w+4kC0
+=jTkN
-----END PGP MESSAGE-----
diff --git a/dot_config/neomutt/neomuttrc.tmpl b/dot_config/neomutt/neomuttrc.tmpl
index d2b8811..24a02bc 100644
--- a/dot_config/neomutt/neomuttrc.tmpl
+++ b/dot_config/neomutt/neomuttrc.tmpl
@@ -24,7 +24,7 @@ set pager_stop = yes
# Display HTML mail only if there's no text/plain
alternative_order text/plain text/html *
auto_view text/html
-set display_filter="~/bin/lbdb-fetchaddr-wrapper"
+set display_filter="~/.local/bin/lbdb-fetchaddr-wrapper"
set timeout=15
set mail_check=60
diff --git a/dot_config/private_borgmatic/encrypted_private_home.yaml.tmpl.asc b/dot_config/private_borgmatic/encrypted_private_home.yaml.tmpl.asc
index 3f0f83d..d901639 100644
--- a/dot_config/private_borgmatic/encrypted_private_home.yaml.tmpl.asc
+++ b/dot_config/private_borgmatic/encrypted_private_home.yaml.tmpl.asc
@@ -1,41 +1,41 @@
-----BEGIN PGP MESSAGE-----
-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
-pmkAZOyPA+b/YgBojk+j1Wqe
-=L9tx
+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
+=kx5z
-----END PGP MESSAGE-----
diff --git a/dot_config/private_borgmatic/encrypted_private_music.yaml.asc b/dot_config/private_borgmatic/encrypted_private_music.yaml.asc
index 855f2c1..ea2d684 100644
--- a/dot_config/private_borgmatic/encrypted_private_music.yaml.asc
+++ b/dot_config/private_borgmatic/encrypted_private_music.yaml.asc
@@ -1,38 +1,39 @@
-----BEGIN PGP MESSAGE-----
-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
-ZsHVPzmpX9Hf+uABMIkvYJHRXLF2TK3Abhs=
-=D+FF
+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
+uMAmW+fg4VoA1Vd0UZ8H
+=kLAY
-----END PGP MESSAGE-----
diff --git a/dot_config/private_borgmatic/encrypted_private_pictures.yaml.asc b/dot_config/private_borgmatic/encrypted_private_pictures.yaml.asc
index b676522..9b7b7cb 100644
--- a/dot_config/private_borgmatic/encrypted_private_pictures.yaml.asc
+++ b/dot_config/private_borgmatic/encrypted_private_pictures.yaml.asc
@@ -1,38 +1,39 @@
-----BEGIN PGP MESSAGE-----
-hQUMAwAAAAAAAAAAASf+MAHitAzG9NtiHaN4AfZ86FLOki5Y4oBY+5n2flXWO91e
-PAhUhg1rwzElGHOiGCtWb2v2ZAjkr5kt7yXAUW+4RV7RDg/ovSTnOF4U607TbOZB
-gChqVavoa3O7t8iBC3ueaOBLIwmIvHhgjg2KXxXURJaBJNtsZaYL//ip35+hE/i3
-xBuM7ovBaKxSdpYqQPpA4XlEja/n6Ghvgbk00UncmHVVpUOTMl21tmOP7uEapeAb
-um5dvHv4iKlK6cE+6/+LQpaWgY4rdNF1BgCzPEZrbyJAmueN9IrYJJ+BkIfiZJKI
-ubVEYBzlPwtul4TKrvNo1bcbtSoRxFpLgAVgUbq0KpRr+Bu+2IY4zbCOO61Eh5ol
-ZSCoLka/x6r+NMbCUbJdOs+YuGrWSZVgcP9Wit5ntSepM79ZWMba42e0m/K0TlQo
-9OkpVsLhr2mUbS5L2/ghsTJEcovrFmltjv+wYj4YYTyD73hkamfjX6qmFEF6WjH2
-4ZpeF1UqCQKp92vX1L0ULy6YXWdFjtBt0EDUf+U7zqS6hfI3fundNQCeObULgFg2
-V2jRAAj7nWqi2O9GRD8KKNyjy5WHrHqVEaWdnFQ47K9dnbQ/oYAJb8ETfPxWjFXi
-ONGPT6oNFqLTJVmMYcc9AzRcpQ63FbJSretJUSeZPBbDqdrSC169BlYBpQF97iWr
-AlYMkQ3Fo1QwWG+LvgpD1wmFlRtUFLTash3O1JiGwQngjnnrNDJ0jW+ANa6eiRZ4
-poT5otS1ZY3ium0oxfZ/agx1joecJFwXGLFHXyVYx7Fb0q2Sqp8lheh6U26fibBq
-o6eHFkpS7Hpma0JACODFph8B+T88OhqZKUp+c0UbmUK7s0Fdrw57mFkFnjiOQHWw
-17WDb6RHndzO6d7cn4Vq7Kr8gf3Clk4iTdUcBtAfSIU0smeq/D86kPeGZHOlFGnW
-xv7cwng1tjQ6HOTDHwQZgWn6YwcMdV6FmaEMo+dS1kxe0WjMVUp6hVGUSHbL5OGP
-R7cncN1QX5l+8cThKEdZeuL/Cx6BpvuZvN7wZmQdvX77NN/ey4iIFaNNKiATgHiF
-K6yVkVDqOpqM+TG3bdefbF0GyloOpwzkiWrbga8ynHdb8fvhaIbdYPqiJhGilogh
-hXNJ41/W9VZD7QYa9FBiblIkJA9siEzHty22Y5+TcGdYXxGUWdUi630VOMVVac3h
-AffhY8TDw3aL3mTEH0qve8S17kKfUadCmyb8WKHWyAYaCvzPR1aJEn5idS5isObC
-ZSHie2wuQP64dGSiDu7sPHdnrSvCmiefem/1EQTAtKHdrBHVVGURlDN1aZTGtLOr
-D3EGHJn+4JTL8OGpJOukcPG0fLF1yrjuYtThkKuxJP7WpmY8a+VdBv7M0Ot3Jt8z
-IpU705BCXCVicIGwCPfBM8QKVp94PWKjW7iWY+sS4rnqN6BQsMJOAWb/+fNlhihC
-PQkALvaMe7Gagn2Q0qrvAa/uWSzdDGeydLKQ0J/rxDYppC3uFKDYcm1Y33YOSs/p
-WX/ix3QJ0a1JI3RZSEnovwppTQXy3j83L7fUM5Z3YeWLIB7U7QkOqR+xRXNk6w4k
-Y/wfLoXYhC4FL/w06LMnCj6XDUYh20mTV6PiC0Jr/ROv2przXfXkjQGjriPJ2sfA
-vmz0wdiUW9mOcrFdC8bM/LMpgfmCle222OkPeYflrU3Nn1NtuN1ITtdxWuC8MzDS
-wHYBVt+Y3ubeI5dYkOVJXfxyLATVH4/IXiTXoJAIm1Ay+83Qyk8pMfYzkP0j59sl
-hR3zRPQdLGyjIh0TbuWzG1fEkwFARWByi4KiNEaDq0CMxY2RuQVmyyzQ/EsLxuYi
-Afel2QaUs7pbZFY/3utJwC2KwuafC4qd+/0cZxDMXzhZ1R8H/iLvLngiwWx4YAGS
-Zk7Luft0+0QptneY74cPUgxypPTWkL2gIz9kwD5uYBLoLAgCivI5NluK+YzZE7Z4
-LrBYBwOyXLC7pqKmS9/p3WM5fm1vI0YWB73Exx49kVAF4sOc4syM0P2XGzy9dal4
-6/xXbaiUvyvMNkKXLyK5fyBTMcswbOGzJxrI1i+KrbmTVOv3DHx3HTY2r396CCgv
-ex42EiYQoGQfzvhp+C3w5xuxRJ367Rkx
-=jjHc
+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
+rrITsp7JMDEgHeiKX+X9
+=2Zol
-----END PGP MESSAGE-----
diff --git a/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc b/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc
index 472ea75..6853745 100644
--- a/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc
+++ b/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc
@@ -1,39 +1,40 @@
-----BEGIN PGP MESSAGE-----
-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
-=VB08
+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
+zSC7cd2moVnmauhXM7zn
+=7Prt
-----END PGP MESSAGE-----
diff --git a/dot_config/private_borgmatic/rsync.net.yaml b/dot_config/private_borgmatic/rsync.net.yaml
new file mode 100644
index 0000000..8de26b0
--- /dev/null
+++ b/dot_config/private_borgmatic/rsync.net.yaml
@@ -0,0 +1 @@
+remote_path: borg14
diff --git a/dot_config/private_mpv/input.conf b/dot_config/private_mpv/input.conf
new file mode 100644
index 0000000..b674700
--- /dev/null
+++ b/dot_config/private_mpv/input.conf
@@ -0,0 +1 @@
+r cycle_values video-rotate 90 180 270 0
diff --git a/dot_config/sh/10_aliases b/dot_config/sh/10_aliases
index 1b8f65d..9937b56 100644
--- a/dot_config/sh/10_aliases
+++ b/dot_config/sh/10_aliases
@@ -1,10 +1,28 @@
#!/bin/sh
-alias apt-upgrade='sudo apt-get update && sudo apt-get dist-upgrade'
+apt-upgrade() {
+ sudo apt-get update && sudo apt-get dist-upgrade
+}
-alias 1920s='mplayer -playlist http://kara.fast-serv.com:8398/listen.pls'
-alias dismuke='mplayer -playlist https://early1900s.org/radiodismuke/radiodismuke.pls'
-alias wzum='mplayer http://pubmusic.streamguys1.com/wzum-aac'
+1920s() {
+ mpv -playlist 'http://kara.fast-serv.com:8398/listen.pls'
+}
+dismuke() {
+ mpv -playlist 'https://early1900s.org/radiodismuke/radiodismuke.pls'
+}
+wzum() {
+ mpv 'http://pubmusic.streamguys1.com/wzum-aac'
+}
+wesa() {
+ # WESA JazzWorks
+ mpv 'https://ais-sa3.cdnstream1.com/2558_128.aac'
+}
+wyep() {
+ mpv 'https://ais-sa3.cdnstream1.com/2557_128.aac'
+}
+slpr() {
+ lpr -P PK-4680.A "$@"
+}
alias mplayer-fb='mplayer -vo fbdev'
alias links2-fb='links2 -driver fb'
diff --git a/dot_config/sway/config b/dot_config/sway/config
index 562f48a..2e4a4d8 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -28,10 +28,6 @@ for_window [con_mark=$alphamark] opacity set $trans
include /etc/sway/config-vars.d/*
### Idle configuration
-exec swayidle -w \
- timeout 180 $lock \
- timeout 240 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
- before-sleep $lock
for_window [app_id="dspdfviewer"] inhibit_idle focus
### Input configuration
@@ -77,7 +73,7 @@ bindsym --to-code {
'swaymsg exit'
# Lock screen
- $mod+F5 exec swaymsg 'output * dpms toggle'
+ $mod+F5 exec swaymsg 'output * power toggle'
$mod+F7 exec $lock
# List all windows
@@ -196,5 +192,5 @@ exec_always pkill kanshi; exec kanshi
font pango:Iosevka Regular 8
-include /etc/sway/config.d/*
+include /etc/sway/config.d/50-systemd-user.conf
include ~/.config/sway/config.d/*
diff --git a/dot_config/sway/config.d/40_keyboards b/dot_config/sway/config.d/40_keyboards
index efe2bd8..f8f610a 100644
--- a/dot_config/sway/config.d/40_keyboards
+++ b/dot_config/sway/config.d/40_keyboards
@@ -10,6 +10,7 @@ input "1:1:AT_Translated_Set_2_keyboard" {
# Home Kinesis Advantage Pro
input "1523:7:HID_05f3:0007" {
+ xkb_model "kinesis"
xkb_options "nbsp:level3n,lalt_meta:lalt_meta,ralt_super:ralt_super,caps:swapescape,grp:shifts_toggle,lv3:switch"
}
diff --git a/dot_config/sway/config.d/99_reload.conf b/dot_config/sway/config.d/99_reload.conf
new file mode 100644
index 0000000..14023e0
--- /dev/null
+++ b/dot_config/sway/config.d/99_reload.conf
@@ -0,0 +1,4 @@
+# reload config after parsing once to apply custom keyboard layouts
+exec swaymsg reload
+
+# vim:set ft=swayconfig:
diff --git a/dot_config/swayidle/.keep b/dot_config/swayidle/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dot_config/swayidle/.keep
diff --git a/dot_config/swayidle/config b/dot_config/swayidle/config
new file mode 100644
index 0000000..a4779da
--- /dev/null
+++ b/dot_config/swayidle/config
@@ -0,0 +1,4 @@
+timeout 180 swaylock
+timeout 240 'swaymsg "output * power off"' resume 'swaymsg "output * dpms on"'
+before-sleep swaylock
+after-resume 'swaymsg "output * power on"'
diff --git a/dot_config/systemd/user/borgmatic@.service b/dot_config/systemd/user/borgmatic@.service
index a4ad31e..be1cb96 100644
--- a/dot_config/systemd/user/borgmatic@.service
+++ b/dot_config/systemd/user/borgmatic@.service
@@ -7,6 +7,7 @@ After=network-online.target
ConditionACPower=true
ConditionFileNotEmpty=/home/rak/.config/borgmatic/%I.yaml
Documentation=https://torsion.org/borgmatic/
+OnFailure=notify-unit-failure@%n.service
[Service]
Type=oneshot
diff --git a/dot_config/systemd/user/kanshi.service b/dot_config/systemd/user/kanshi.service
new file mode 100644
index 0000000..381b9e4
--- /dev/null
+++ b/dot_config/systemd/user/kanshi.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Dynamic output configuration
+Documentation=man:kanshi(1)
+PartOf=wayland-session.target
+Requires=wayland-session.target
+After=wayland-session.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/kanshi
+Restart=always
+
+[Install]
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/mbsync.service b/dot_config/systemd/user/mbsync@.service
index da0f146..f8c23b7 100644
--- a/dot_config/systemd/user/mbsync.service
+++ b/dot_config/systemd/user/mbsync@.service
@@ -1,9 +1,10 @@
[Unit]
Description=Mailbox synchronization service
+OnFailure=notify-unit-failure@%n.service
[Service]
Type=oneshot
-ExecStart=/usr/bin/mbsync -a
+ExecStart=/usr/bin/mbsync %i
[Install]
WantedBy=default.target
diff --git a/dot_config/systemd/user/mbsync.timer b/dot_config/systemd/user/mbsync@.timer
index b613c7f..26580a4 100644
--- a/dot_config/systemd/user/mbsync.timer
+++ b/dot_config/systemd/user/mbsync@.timer
@@ -4,7 +4,6 @@ Description=Mailbox synchronization timer
[Timer]
OnBootSec=2m
OnUnitActiveSec=15m
-Unit=mbsync.service
[Install]
WantedBy=timers.target
diff --git a/dot_config/systemd/user/notify-unit-failure@.service b/dot_config/systemd/user/notify-unit-failure@.service
new file mode 100644
index 0000000..f339470
--- /dev/null
+++ b/dot_config/systemd/user/notify-unit-failure@.service
@@ -0,0 +1,5 @@
+[Unit]
+Description=Failure Notification
+
+[Service]
+ExecStart=notify-send --icon /usr/share/icons/Adwaita/symbolic/status/task-past-due-symbolic.svg "systemd unit failure" "systemd unit %I failed"
diff --git a/dot_config/systemd/user/plocate-updatedb.service b/dot_config/systemd/user/plocate-updatedb.service
new file mode 100644
index 0000000..55620c5
--- /dev/null
+++ b/dot_config/systemd/user/plocate-updatedb.service
@@ -0,0 +1,28 @@
+[Unit]
+Description=Update the plocate database
+ConditionACPower=true
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/updatedb.plocate -l 0 -o "${XDG_STATE_HOME}/plocate/home.db" -U "${HOME}"
+LimitNOFILE=131072
+IOSchedulingClass=idle
+Nice=19
+
+CapabilityBoundingSet=CAP_DAC_READ_SEARCH CAP_CHOWN
+IPAddressDeny=any
+LockPersonality=true
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+PrivateTmp=true
+PrivateDevices=true
+PrivateNetwork=true
+ProtectClock=true
+ProtectControlGroups=true
+ProtectHostname=true
+RestrictAddressFamilies=AF_UNIX
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service @chown
diff --git a/dot_config/systemd/user/plocate-updatedb.timer b/dot_config/systemd/user/plocate-updatedb.timer
new file mode 100644
index 0000000..1d25abb
--- /dev/null
+++ b/dot_config/systemd/user/plocate-updatedb.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=Update the plocate database daily
+
+[Timer]
+OnCalendar=daily
+RandomizedDelaySec=1h
+AccuracySec=6h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/dot_config/systemd/user/sbuild-update.service b/dot_config/systemd/user/sbuild-update.service
new file mode 100644
index 0000000..2d93232
--- /dev/null
+++ b/dot_config/systemd/user/sbuild-update.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Update sbuild unshare chroot tarballs
+ConditionACPower=true
+Wants=network-online.target
+
+[Service]
+Type=oneshot
+ExecStart=%h/.local/lib/sbuild/update-chroots.sh
+LimitNOFILE=131072
+IOSchedulingClass=idle
+Nice=19
diff --git a/dot_config/systemd/user/sbuild-update.timer b/dot_config/systemd/user/sbuild-update.timer
new file mode 100644
index 0000000..2576e16
--- /dev/null
+++ b/dot_config/systemd/user/sbuild-update.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=Update sbuild unshare chroot tarballs
+
+[Timer]
+OnCalendar=daily
+RandomizedDelaySec=1h
+AccuracySec=6h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/dot_config/systemd/user/ssh-agent.service.d/override.conf b/dot_config/systemd/user/ssh-agent.service.d/override.conf
deleted file mode 100644
index acb0fb7..0000000
--- a/dot_config/systemd/user/ssh-agent.service.d/override.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-ExecStart=
-ExecStart=/home/rak/.local/lib/openssh/agent-launch start
diff --git a/dot_config/systemd/user/sway-session-pre.target b/dot_config/systemd/user/sway-session-pre.target
new file mode 100644
index 0000000..3215544
--- /dev/null
+++ b/dot_config/systemd/user/sway-session-pre.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session-pre.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Session services which should run early before the sway session is brought up
+Documentation=man:systemd.special(7)
+Requires=basic.target
+Before=sway-session.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=wayland-session-pre.target
+After=wayland-session-pre.target
diff --git a/dot_config/systemd/user/sway-session.target b/dot_config/systemd/user/sway-session.target
index 56029b8..4637f0f 100644
--- a/dot_config/systemd/user/sway-session.target
+++ b/dot_config/systemd/user/sway-session.target
@@ -1,6 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
[Unit]
-Description=Sway session
+Description=Current sway user session
Documentation=man:systemd.special(7)
-BindsTo=graphical-session.target
-Wants=graphical-session-pre.target
-After=graphical-session-pre.target
+Requires=basic.target
+#RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=wayland-session.target
+Wants=wayland-session-pre.target
+After=wayland-session-pre.target
diff --git a/dot_config/systemd/user/swaybg-random.service b/dot_config/systemd/user/swaybg-random.service
index 37cd49d..f35fd77 100644
--- a/dot_config/systemd/user/swaybg-random.service
+++ b/dot_config/systemd/user/swaybg-random.service
@@ -1,12 +1,11 @@
[Unit]
-Description=randomize background
+Description=Randomize Wayland background
[Service]
Type=exec
Restart=always
RuntimeMaxSec=1h
-
-ExecStart=/home/rak/bin/swaybg-random
+ExecStart=%h/.local/bin/swaybg-random
[Install]
-WantedBy=default.target
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/swayidle.service b/dot_config/systemd/user/swayidle.service
new file mode 100644
index 0000000..536eaf9
--- /dev/null
+++ b/dot_config/systemd/user/swayidle.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Idle manager for Wayland
+Documentation=man:swayidle(1)
+PartOf=wayland-session.target
+Requires=wayland-session.target
+After=wayland-session.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/swayidle -w
+Restart=always
+
+[Install]
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/symlink_gcr-ssh-agent.socket b/dot_config/systemd/user/symlink_gcr-ssh-agent.socket
new file mode 100644
index 0000000..dc1dc0c
--- /dev/null
+++ b/dot_config/systemd/user/symlink_gcr-ssh-agent.socket
@@ -0,0 +1 @@
+/dev/null \ No newline at end of file
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer b/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer
deleted file mode 100644
index adba734..0000000
--- a/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer
+++ /dev/null
@@ -1 +0,0 @@
-/home/rak/.config/systemd/user/mbsync.timer
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_plocate-updatedb.timer b/dot_config/systemd/user/timers.target.wants/symlink_plocate-updatedb.timer
new file mode 100644
index 0000000..28d405c
--- /dev/null
+++ b/dot_config/systemd/user/timers.target.wants/symlink_plocate-updatedb.timer
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/plocate-updatedb.timer
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_sbuild-update.timer b/dot_config/systemd/user/timers.target.wants/symlink_sbuild-update.timer
new file mode 100644
index 0000000..24c026e
--- /dev/null
+++ b/dot_config/systemd/user/timers.target.wants/symlink_sbuild-update.timer
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/sbuild-update.timer \ No newline at end of file
diff --git a/dot_config/systemd/user/wayland-session-pre.target b/dot_config/systemd/user/wayland-session-pre.target
new file mode 100644
index 0000000..e4057ed
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session-pre.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session-pre.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Session services which should run early before the wayland session is brought up
+Documentation=man:systemd.special(7)
+Requires=basic.target
+Before=wayland-session.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=graphical-session-pre.target
+After=graphical-session-pre.target
diff --git a/dot_config/systemd/user/wayland-session.target b/dot_config/systemd/user/wayland-session.target
new file mode 100644
index 0000000..f4cc2b7
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Current wayland user session
+Documentation=man:systemd.special(7)
+Requires=basic.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=graphical-session.target
+Wants=graphical-session-pre.target
+After=graphical-session-pre.target
diff --git a/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service
new file mode 100644
index 0000000..7d5903e
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/kanshi.service
diff --git a/dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service
index 2ebb1f9..2ebb1f9 100644
--- a/dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service
diff --git a/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service
new file mode 100644
index 0000000..a53991f
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/swayidle.service
diff --git a/dot_config/waybar/config b/dot_config/waybar/config
index 234ba92..f1ded1a 100644
--- a/dot_config/waybar/config
+++ b/dot_config/waybar/config
@@ -7,7 +7,7 @@
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"],
"modules-center": ["sway/window"],
- "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "battery", "battery#bat2", "clock", "tray"],
+ "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "battery", "battery#bat2", "clock", "tray", "custom/notification"],
// "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
@@ -161,8 +161,27 @@
"default": "🎜"
},
"escape": true,
- "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
+ "exec": "/usr/share/waybar/custom_modules/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
+ },
+ "custom/notification": {
+ "tooltip": false,
+ "format": "{icon}",
+ "format-icons": {
+ "notification": "ï‚¢<span foreground='red'><sup>ï‘„</sup></span>",
+ "none": "ï‚¢",
+ "dnd-notification": "<span foreground='red'><sup></sup></span>",
+ "dnd-none": "",
+ "inhibited-notification": "ï‚¢<span foreground='red'><sup>ï‘„</sup></span>",
+ "inhibited-none": "ï‚¢",
+ "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
+ "dnd-inhibited-none": ""
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
}
}
-
diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css
index ebddece..645bf9e 100644
--- a/dot_config/waybar/style.css
+++ b/dot_config/waybar/style.css
@@ -279,3 +279,7 @@ label:focus {
#scratchpad.empty {
background-color: transparent;
}
+#custom-notification {
+ font-family: "NotoSansMono Nerd Font";
+ margin: 0 5px;
+}