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/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.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
48 files changed, 417 insertions, 356 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/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 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..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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
-=zvcZ
+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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 83699e6..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-----
-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
-=2Q9u
+hQUMAwAAAAAAAAAAASgAtR9g/kdAGVpv7lgqECCsusakKI8QaxmO7qTzC/rzTd1C
+k0BFpJzTYNjTmfTM+6ZHxq3WYYT51vz8VJ7CD1PrfXNfZOK9G7bFnylGASvLbAAZ
+7KGE/VrbHzsKqobW5GCELgRVh7RsRKf6+ok/fzYzHav3UJEFbqCyd4tSRlYnc/iG
+xhVNbUGjXPyJjMskLMNdieod4xfva9gZllalETPKSebQEQmsSkm0LvL2uaE9Fl6/
+HSnFEgo65JvVB+nXepjyETh9xCq68ufxOAaHatGW/dP0XI/HFu7QxSG/FfHGupWw
+l4m4DyiJ68SWLbrOE+fQrbopfa1ZZegmy8sq5TEuzerPuLb5JKjNpRlIQYCGEQzZ
+5rEYbfJSNdq26NWIixTw9XrP/KZEoYzz/tiqazJjCWN5t3foziVu4oMuNK7M3tB7
+hP+Yy2DR5W835NA+jdfu35ToyGTgPHW1SjZR5xnAmCIChBbBNQN17VzjomWGdYSh
+DtBrFoW1gYxVDPdu8jRVgtecNz9WXexDpUZCFp48c8JOh8FR3IPVp7oE2hSD2gVy
+yuUMu1i3mtsucaygfFdIx5Vge54yV8JbFgkQZK9CbPUukPHo9/Qol4OBKcqJE8i/
+s2XsEMMRMFEJy4qCcwkNdYO80Ngj79Wmo38UYh59LOqD+nKFqwIrU085pQMNET1x
+mECeoiFrdw2NRuib84y4VzBShSczzxllzzup56QzmD8y8BkcJ4WxBjtOaq4afDZY
+eIK58glzsHUAI7eGfbOjAE5xtBgL3PHUaTUgOA7vvsFxik+3qm/vVpx967L8ZgyV
+P3zTj4jK/zXM+1o2XtGdwiErctArWb2IqZYJPzcN1qh9PIvR1gfBTHWN17/PG06g
+P3Z5Ng/2yfp4tcHh0FeCNP+Zje8ioSAqdJt9u9w6pCGJRSIWbZHcDVRpfdk6Eopx
+ahwPWKAzwqRzvKLUX+dFxzi7FpHlPXIq9gUTSIkJxaf5lPwnCvt+ntCZHpETgUIb
+bd6XjMCPHyCNmRFoGwqxoCio7sUGD7MyYV3jeqxBGp/NY/8MKcFSjQI0j3UN583g
+4Mdyb+fOiMnz1eCw0BULPdPW/VBnAsEgk7iMgF0IraNA/3DhXZ0tr/xQ1tm5A3tJ
+4TdsRtMyOrHZlyVtIm+hpDjY8gu0Vp1cbpnU6GLekj6xJkYWMRb2RiDWefoSbkmU
+nMd6pJfBnWzjzKVv9F1LMB8igBfE7RF5bR7bF7FLFD36AQGX2cQTGwratexzwjhC
+3R9bc738HO2zy+JtXxfwYPVnWa5JxWsMjfTP4j0DkrrBPchE+uUHZsWcY/JSVYpF
+H0OwAtBpTJmF6mvv63UEs8fGFDALz2iEeSifq7cCfjBOL91Shu0JX46IhLY6j50U
+IwbOn8steLGyTj/1ZkvlgSed38CKgcN5Xp5jStv1xa6ZQHo75Wilt0m6LcxA/kQX
+bgv4hZwI41kX/24wOAfr5pF+6706oMwudUoSOBOsvthsxy5gNb8uvXTOWcygYOPn
+Ri0CxrW6qteCbkZ910yQk86u0vH6WsBiNRBD9Ub10qwWRvh7me4+GotfdOP2xGVY
+lmv5Qc3EE+cLetlFlbLt8xElbZqnPLy5PMtX2+qfL6xbhCV5lixLx/iAe/9fAlrf
+8UlXUFH1PP0zI8UfKZgOy6FrKueCXP4gsvYQyYb8aFtjoyqfc0uUy095whxZlvHS
+wJ0BJybuL4f5yIzD1q94VePYgWAKF3p46yXQKDMP5yzYlXYyP7pb747xYy+FY5XV
+Vith4aU6ucAR74TiQDv7UVpJpJjivH29/Dk3DBZlPaOhtnONlAKXjVyZk3pfFtgp
+xNgi/zRyrrPBgZ5iUbLm0APzejjt2CmOel/u2j4iOZc+ymyxqDq7oOqND2njWBkJ
+4UIrdPaW/+fr3+m18GeSujYp2j5HDoFcXlv4Qylf3Gv+7iyW68L5t0c/ZQfR8vzp
++K2xP1T/Glm95KncGV4UNL8q0agSjqQ7W5fSZ8dYt2yEVmjFo7LA3eyQx1ENjHEY
+GaS3Fv2nPOxfpQxbPCA2ezn8W9NUm/uLvzFnYnl9BI9ZS+NrAbQ3xvYLT30FbZHi
+bMnKnzl6N8Op6QKrP6+4W3LjfcBM0vP7dyvEqUIZnn2LpmjosccNoYn49+GJ7079
+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 ceb508f..6853745 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
+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
+zSC7cd2moVnmauhXM7zn
+=7Prt
-----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;
+}