aboutsummaryrefslogtreecommitdiff
path: root/dot_config
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dot_config/environment.d/01_PATH.conf3
-rw-r--r--dot_config/isyncrc.tmpl30
-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/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.asc74
-rw-r--r--dot_config/private_mpv/input.conf1
-rw-r--r--dot_config/sh/10_aliases26
-rw-r--r--dot_config/sway/config2
-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/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.conf11
-rw-r--r--dot_config/systemd/user/swaybg-random.service2
-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/waybar/config25
-rw-r--r--dot_config/waybar/style.css4
47 files changed, 346 insertions, 285 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
index 0d4db33..7a2029d 100644
--- a/dot_config/isyncrc.tmpl
+++ b/dot_config/isyncrc.tmpl
@@ -8,15 +8,15 @@ TLSType IMAPS
IMAPAccount queensu
Host outlook.office365.com
User 9rak@queensu.ca
-PassCmd "~/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_STATE_HOME/xoauth2-tokens/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
-Pass {{ .password.cmu }}
-AuthMechs PLAIN
+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
@@ -29,7 +29,7 @@ TLSType IMAPS
IMAPAccount ryan.a.kavanagh.gmail.com
Host imap.gmail.com
User ryan.a.kavanagh@gmail.com
-PassCmd "~/bin/mutt_oauth2.py --encryption-pipe=cat --decryption-pipe=cat $XDG_STATE_HOME/xoauth2-tokens/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
@@ -100,7 +100,7 @@ Channel uqam-others
Far :uqam-remote:
Near :uqam-maildir:
Create Both
-Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Deleted Items" !"Flux RSS" !Journal !Notes !Outbox !Probl*
+Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Flux RSS" !Journal !Notes !Outbox !Probl*
Expunge Near
Sync All
@@ -108,7 +108,7 @@ Channel queensu
Far :queensu-remote:
Near :queensu-maildir:
Create Both
-Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Deleted Items" !"Flux RSS" !Journal !Notes !Outbox
+Patterns * !Calendar !Calendar/* !Contacts !"Conversation History" !"Flux RSS" !Journal !Notes !Outbox
Expunge Both
Remove Both
Sync All
@@ -118,7 +118,7 @@ Far :cmu-remote:
Near :cmu-maildir:
Create Both
Expunge Near
-Patterns * !"[Gmail]/All Mail" !"[Gmail]/Important" !"[Gmail]/Starred" !"[Gmail]/Bin"
+Patterns * !"[Gmail]/All Mail" !"[Gmail]/Important" !"[Gmail]/Starred"
Sync All
Channel rak-inbox
@@ -172,7 +172,7 @@ Far :gmail-remote:
Near :gmail-maildir:
Create Near
Expunge Near
-Pattern INBOX "[Google Mail]/Sent Mail" "[Google Mail]/Drafts" "[Google Mail]/Bin"
+Pattern INBOX "[Google Mail]/Sent Mail" "[Google Mail]/Drafts" "[Google Mail]/Bin"
Sync Pull
Channel gmail-others
@@ -197,3 +197,17 @@ 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-----
-
-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
-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/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 aa4828e..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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
-=71/j
+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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 6166b3f..d199f76 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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
-=zvcZ
+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
+ycxThJXf0KgoBN6JMD9x42gxuHYV
+=HPZ7
-----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 83699e6..115ce95 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-----
-hQUMAwAAAAAAAAAAASgAvzLkoUY/ZL6LHZL+/OY+IXHg8IApGZ8moDD9a4sfUMQn
-aEKJLpqv8Fn0LLS5/UvdcV6EbxPIHXpgxZIMr6uAsHXV4JGrMREzvmDR9nOhz2fO
-z1rclebwtbzyhvymH4YgvbYjeFMMwyC/u+HLugcJP3bEtmRKVd684vXwT0LljSu5
-goxU5LNBlng8RZB/FaQQSopj3NZSjAj2I6Xui4MqblM3JcYAs6kBhq86aYQwbVYt
-XH/dJITu9VSbEc+n0Fo3rCCodcsAiak9rX9HkXg4PVOssNK++8ZFMME2XsdzcS/o
-j81LIcFjt75F7uoHMOUrCl+ISr99RZ6iYXGBd72FgH1nAgRSXtoza34M6HkSQ5p7
-f/jaQBl836jV8Ha1nJM4tyqTr5NvHZWf569KmArt/0/HJ/oSqBzEDnC9zCPxZR66
-+2kK26uQX1kY+Q6gkQuwR+G1pyi6PzrucMy4UlsxwMLohRSF56zBfJ7kgEVUMBlR
-fcpF+b4SxjFk9QDp7h6C7g+dpVkX/Oczh0ZgDgZW4f93SWBLkA2AyvUNM4qVzSEQ
-X1NnKIBHZ3pByKmrT6eaB2ESsENLz/nFPkC5oLgTan9Yu+78ckCGeap34lOg6HWS
-0FvrIew5aRVRD6dgVjW7TGvQ3q4117ruBKjxMcGbc2LDJ4su2uEsKHVEzpYuvH1k
-+YRtVR4kPeXffwgoGouRrDU6YIzw2Ur/Q/ppGGVxTyXJ463xYszYYf6mLzrrOWGJ
-o5GTuDxHQbdn2DmOboxf/8ccWwJzmEij8Ftfx1B2vNMnmUlWIyv/pKXw3eeEKabe
-m37PGBze7bIE6c5kb8sOs3kFC/emPgStRolsDtPsQCULRx4hnJ9CniCB4cZfUVzf
-c6anWKq/t1JJ3mA5yxMMNCAuVvEnNb22e9Tjn0BDCC5j8GdaCrikel9lZ391cCuH
-jXDJnqNrsHeax7HGJEf7AYsaAo9Vh5cQVm/hKsx8csMs+mnRmlRrgwXx3uXcaD0p
-XB6o2bRivl5hyKUUVjH60GqC+7wrQ8H4zBxlXDSM4nKmj8XwAfVzPBsWceGPpylq
-FZcN04dBhf9p/qRMxfxI+tVelCTi5cY/lU67+KyFqVicLfvZGAPbbgeAuFVdy85F
-4JjXM6d0aFLMswxrA8Kso9GJtFpPo6iLqAa3cR6cKIJpSpYGyjm6PbIbq9uWMKm3
-v+DkENmZ9SEY+kXd6C0AiBKg7QHZX28bPko/v2p50NlsAFt6X/CNN/EvLzMVqI9V
-RLhq+sVdxSnoetjCA0mtJOolhHS6+so9i4B1tPtyNn1sg6UDgZB4jOyXpJpaKejK
-ksdK1vtF1bQ7a1fX+ybH/g0+NQtK+6gDm1wOIMP+cjOiRU67BiTBwONwYR9rZKee
-Y/yp9t9vy41Zwr0Ny+O3bcBGlALXHpPKTbvxN4drbKT51CcbaF8z5Ok9lwa/+NgN
-Zs+pne7PtSeWoJLQoYpRCTRB+vuGepmjcX93F6daQ9bs6MRQg9HQa3vAtHo9cXRe
-34ZUVSsOswZAje/KXLH75g8Vw3KcLwIGdNZguVarI9Ar+i8QfI9oxjnJsCXBjtX/
-GYk4IwGSTlnvzGemAIKX04mbrDsBaRvYYYWvNIJCeXbtsYfy7oBCTPXuUXMySblQ
-GH9oBwJyRY3bSrU6XxcmoHY7zDzh+Ma/p0iVAT0zAPjq5l9TkZ2HZVnC9R/W7QXS
-wIEB/JORDaCDXnBgqVfNTMOFu4hLI1u+hwjACq/Hk1ngp/QZuXzJTNEz7c3fjiT7
-fzwXOLtEwx8IK1JRSFWQphRM+EO+AUc/8R7zyJNOTsjQHZgjpLDDNag/IpFfeMza
-8gd3LVLIXKaOEphSmd5cmtvmxqq2OiQ2QI3R0z5tQDP2cZ7EpZNrEeTnLcWbMakc
-iTqmQEF7QTqTfmqjlTx8AjS3rGUg9o2UPT1gTh2maY+4OUgOdWAfcxoLWqIB3AMl
-YB7fzO//miLATV6XJ6EfjnR3IYAKMtqNLxdw3WT1CLTkPZRMUwG4kX4qvkZZydOt
-HtJSN/xtC26cv28IabwllfxfxJRDpBaSf5dswEnkyH93LZxlapBMgJG/tjPyr/bM
-wIoQHUo1flSqn7R3jkFmbH8XnLb2lRpLf3rJ3DEnAwl2jDo=
-=2Q9u
+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
+cAzyhl5bFABDApO4cECE8XiGDJxJoA==
+=GEh1
-----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 ceb508f..ffa041b 100644
--- a/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc
+++ b/dot_config/private_borgmatic/encrypted_private_tosh.yaml.asc
@@ -1,40 +1,40 @@
-----BEGIN PGP MESSAGE-----
-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
-YAdd1SsI0BLu96No
-=fuxo
+hQUMAwAAAAAAAAAAASgAlT7FqUq5x+/t3vqGnxOsxeoUm1mit+Sjjd3gx3y7FRhO
+sWZvfhIrMXhpGcKO0iotDe5eFJJ8xK71oobMpDivDufra9UWJD3BPoRDDP0wesEo
+LvmtM7MlprEwd8D3hNqjlURpOWrteMxT9gJtUqHj1Un0AoV3GniVlbbmNB2/wTh/
+IK8QEwd1G9AslkErGLZdjl0PTg6yao7cJSeJBVdZeE4dYzdC34G+SEdvvPYa5mJJ
+vgGz8R1AYtIHgabjF9aTeJt/Ng+83jMf22JQLPlf8zbK8ROPoFpjQeUt29lNvhib
+PhxnqxPXVgjBnKZ0esUxke6WfxJ2x134e1n7doaSeZ3cSL252na9nRcIqdN2870R
+a8WZ9BvreSehjjSIjF63BHgHJTm3xZSgpX0pga/3iZCtwBKd1huG6UnE5UrpU188
+ZCUDqxPhXLdfqjW+8VtkT3mV4op3lRFTJHXGE7XSmFtG7WUtDK4p+0VNpbpg6o/R
+oneSTzhq2q0nwhhMrbKq32I4wvvuzTY2tNGu7pyKC7SKmr48/nk9PIRjCYTeRiSB
+BP+LMNZApVuoKXw/QwUTX26sallB/r19+TcQGWT9VIt0tW3WbBfqppJYmCV6c+A2
+fUIrbbGI6aLVTLA2677t2cVjBvw6hs2wVyqxLnTtS9d6YdJheF2BN9zq8+qQYAar
+5+PO93ZOwvWT9KR7xcZhUMtzirmo7xbH+9raZEdPuEALcUUw7JmpIgHOTryLEcwo
+8OubTDrdnz6brDRPefXmz69xjdak1v+/2AW0EqL7Iq21pM0sZNhvOY2KI9AHleoB
+pmdDeOdsmaeMJUrP4XVXPjGHJ6E5IHzsRFhlP4Ij50Xn3yQ/fPDMWV4akzkZ11Fd
+LCpRIakuG/tptuUB8G8/WQCw4ffsagxry7/GVdsb+TrXPcts5Ia8UeJkeLnCFmvL
+quFhnM5wRXlrwNrkT6IuJrQyaN1yC8rxvD46DWDsUzWhUACrVLZoyzd/FworgPnC
+/I4MN1kxumAFXpuVWP6r2wj6RHEU+Al1hlZbqj7+d/AFk97aKkFKNhDUpbgbgmfl
+WPWoZJcWKgY5Bb8PNyfBaGihZRZ47B/eWiBDODWGHZdpehPOd+Xq/4NncWySnI2T
+OkkhmphDACume+L/HlPi7H53+IWA7mbSO9IWa12hdVWFNqYxxDwfrJDn8o751E0T
+QblN+vg42oOzwZFEisdwR1V7Q0X+MDuqNx8ud42hXzZp+9Z3KaGhOHb7ZA52f9Ve
+Fhlh/LTZSIZj42zsKTjnCtnrK9Z/rrWe2XK8FP2FZx7Hu/9ufZ6SBgDQOqBh1VfM
+H3Tq8/KSXHZ0JDQ//GmalikXCGABTMSJmCGqAkqTZBhfwMxboMQZdaXRZzX1On9/
+hhJChUoHJGrXujnVWs7WL0KP0r7HQujxRzZ81kA8CHD95NJOhQlzDEF5jSzqJTCY
+4J6jIVYyknqECv8h9voUnxLtUjC44CNhfjL+YTC/h/6PmoQWCH328PLUthqWh/X9
+fk2ff9CxZD5MRHQyxOJUxZi3LwN5xf2LibolbYXRomnsnGYd+w2qZBT215KhR4nR
+IR/a0iZVHN7oghfwyd+39Cq12GS5aK8LDrHShHUtspNTE2+fWLewAcFzuzTwAU4k
+zCXL0cgw/FWS1UF96K9ePkAlbx0jeCDq94WHpHBDxIf99HZw0Qovb/VnTkxpzkTS
+wNYBAf1E29ULw3ZP3mRKNonfFBJ7agJVkFyxUMUqkv30yPdesk+hBXQjsNsjuFVB
+NXcYD8OrT94sNNSr93z36sLoHkyWKi+fD5ptn9kmMN62iRGd9R6fctf/rCf1VekS
+d2URGIQzhEgiabD1oG7C807SiWZI7kLd8rLAnaGP4UfsVMifXLPNAoToy8rUfiw8
+aShYZ1WubIZ4wdFrFmhPD+K3w9jgiuyrzu0suzW5D/atu8ABLObmbnWVNNX32Idj
+53VAkHsHljj1xs6H3liRtlEerIGp6lJZNXNgCwkts/iLEMmX+imHzm8LzTgtwfzK
+Yp/JZ6jxnJkeRQbOlxUyKR+YhJaE0Xb7ryWUGJHy8SdWIZtfRA0kEiRkhfdlq41h
+1vZmhfvvaYNaT8SOOmBr1VEjLyQu7Pdd2SdKfoj2a/3mOr6jdjGKuJc6HkS5qOmJ
+q+SbKPA1ubfrbVny9BQTBHnTP13l05Tjq+npgK4AMs3TT4aO6gFhOnJuvIpRw6iK
+Jh1q3/XGAG79dPixBWKmVmgdWla2aUm9
+=OQp5
-----END PGP MESSAGE-----
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 80c392e..2e4a4d8 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -73,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
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/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 a3b6435..0000000
--- a/dot_config/systemd/user/ssh-agent.service.d/override.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=OpenSSH Agent
-Documentation=man:ssh-agent(1)
-Before=basic.target
-ConditionPathExists=/etc/X11/Xsession.options
-Wants=dbus.socket
-After=dbus.socket
-
-[Service]
-ExecStart=
-ExecStart=/home/rak/.local/lib/openssh/agent-launch start
diff --git a/dot_config/systemd/user/swaybg-random.service b/dot_config/systemd/user/swaybg-random.service
index 06d7c29..f35fd77 100644
--- a/dot_config/systemd/user/swaybg-random.service
+++ b/dot_config/systemd/user/swaybg-random.service
@@ -5,7 +5,7 @@ Description=Randomize Wayland background
Type=exec
Restart=always
RuntimeMaxSec=1h
-ExecStart=/home/rak/bin/swaybg-random
+ExecStart=%h/.local/bin/swaybg-random
[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/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;
+}