From 36a274dbc066068ff25b839e21ce3b82ec292c88 Mon Sep 17 00:00:00 2001 From: Mohammad Reza Karimi Date: Mon, 23 Feb 2026 15:03:10 -0500 Subject: big updates --- aerc/dot-config/aerc/accounts.conf | 50 ++-- aerc/dot-config/aerc/aerc.conf | 4 +- alacritty/dot-config/alacritty/alacritty.toml | 6 +- .../dot-config/autostart/at-spi-dbus-bus.desktop | 1 + applications/dot-config/mimeapps.list | 53 ++++ .../dot-local/share/applications/file.desktop | 4 + .../dot-local/share/applications/img.desktop | 1 + .../dot-local/share/applications/imv.desktop | 7 + .../share/applications/mail-viewer.desktop | 7 + .../dot-local/share/applications/mail.desktop | 7 + .../dot-local/share/applications/mimeapps.list | 1 + .../dot-local/share/applications/mpv.desktop | 10 + .../dot-local/share/applications/nvim.desktop | 2 + .../dot-local/share/applications/pdf.desktop | 4 + .../dot-local/share/applications/text.desktop | 13 + .../dot-local/share/applications/video.desktop | 1 + astroid/dot-config/astroid/config | 141 +++++++++ astroid/dot-config/astroid/poll.sh | 8 + bash/dot-bashrc | 15 +- bash/dot-config/dir_colors | 274 ++++++++++++++++++ bash/dot-config/shellshort/bm-dirs | 4 +- bash/dot-config/shellshort/shortcutenvrc | 5 - bash/dot-config/shellshort/shortcutrc | 5 - bash/dot-config/shellshort/zshnameddirs | 4 - bash/dot-profile | 11 +- email/.stow-local-ignore | 4 + email/dot-config/isyncrc | 84 +++--- email/dot-config/msmtp/config | 16 +- email/dot-config/notmuch/default/hooks/post-new | 2 - env/dot-config/environment.d/wayland.conf | 19 ++ .../fontconfig/conf.d/52-default-fonts.conf | 14 +- fonts/dot-config/fontconfig/conf.d/66-emoji.conf | 4 +- .../fonts/IosevkaInput/IosevkaInput-Heavy.ttf | Bin 7254864 -> 0 bytes .../IosevkaInput/IosevkaInput-HeavyOblique.ttf | Bin 7538712 -> 0 bytes .../share/fonts/IosevkaInput/IosevkaInput-W360.ttf | Bin 7239104 -> 0 bytes .../IosevkaInput/IosevkaInput-W360Oblique.ttf | Bin 7478388 -> 0 bytes .../IosevkaInput/IosevkaInput-build-plans.toml | 208 -------------- fonts/dot-local/share/fonts/lambda/Lambda-Bold.ttf | Bin 411428 -> 0 bytes .../share/fonts/lambda/Lambda-BoldItalic.ttf | Bin 106564 -> 0 bytes .../dot-local/share/fonts/lambda/Lambda-Italic.ttf | Bin 100448 -> 0 bytes fonts/dot-local/share/fonts/lambda/Lambda.ttf | Bin 425288 -> 0 bytes fuzzel/dot-config/fuzzel/fuzzel.ini | 131 +++++++++ git/dot-config/git/config | 17 +- gtk/dot-config/Kvantum/kvantum.kvconfig | 2 - gtk/dot-config/gtk-3.0/settings.ini | 4 +- gtk/dot-config/gtk-4.0/settings.ini | 2 +- lf/dot-config/lf/lfrc | 12 +- lf/dot-config/lf/previewer | 13 - lf/dot-config/lf/scripts/previewer | 13 + lf/dot-config/lf/scripts/safe_extract | 25 ++ .../lf/scripts/seccomp_default_filter.bpf | Bin 0 -> 504 bytes lf/dot-config/lf/shortcutrc | 4 - mako/dot-config/mako/config | 40 +++ mpv/dot-config/mpv/mpv.conf | 3 + niri-dms/dot-config/niri/config.kdl | 305 ++++++++++++++++++++ niri-dms/dot-config/niri/dms/alttab.kdl | 10 + niri-dms/dot-config/niri/dms/binds.kdl | 3 + niri-dms/dot-config/niri/dms/colors.kdl | 39 +++ niri-dms/dot-config/niri/dms/cursor.kdl | 0 niri-dms/dot-config/niri/dms/layout.kdl | 22 ++ niri-dms/dot-config/niri/dms/outputs.kdl | 0 niri-dms/dot-config/niri/dms/windowrules.kdl | 0 niri-dms/dot-config/niri/dms/wpblur.kdl | 9 + .../dot-config/systemd/user/app-graphical.slice | 7 + niri/dot-config/niri/animations.kdl | 2 + niri/dot-config/niri/binds.kdl | 107 +++++++ niri/dot-config/niri/config.kdl | 316 +-------------------- niri/dot-config/niri/decorations.kdl | 16 ++ niri/dot-config/niri/input.kdl | 21 ++ niri/dot-config/niri/layout.kdl | 39 +++ niri/dot-config/niri/misc.kdl | 29 ++ niri/dot-config/niri/outputs.kdl | 6 + niri/dot-config/niri/rules.kdl | 5 + niri/dot-config/niri/workspaces.kdl | 5 + niri/dot-config/systemd/user/app-graphical.slice | 7 - psd/dot-config/psd/.psd.conf | 10 + psd/dot-config/psd/psd.conf | 2 +- qute/dot-config/qutebrowser/config.py | 14 +- qute/dot-config/qutebrowser/quickmarks | 2 + qute/dot-config/qutebrowser/themes/doomone.py | 305 ++++++++++++++++++++ scripts/.stow-local-ignore | 6 + scripts/dot-local/bin/fontpreview | 215 ++++++++++++++ scripts/dot-local/bin/safe_extract | 22 -- scripts/dot-local/bin/shortcuts | 4 +- services/dot-config/systemd/user/kanshi.service | 13 + services/dot-config/systemd/user/soteria.service | 12 + services/dot-config/systemd/user/swaybg.service | 12 + services/dot-config/systemd/user/swayidle.service | 12 + .../dot-config/systemd/user/swayosd-server.service | 12 + .../systemd/user/wl-clip-persist.service | 13 + services/dot-config/systemd/user/wlsunset.service | 14 + swaylock/dot-config/swaylock/config | 4 + waybar-vert/dot-config/waybar/config.jsonc | 136 +++++++++ waybar-vert/dot-config/waybar/style.css | 161 +++++++++++ waybar/dot-config/waybar/config.jsonc | 167 +++++------ waybar/dot-config/waybar/style.css | 205 ++++++++----- .../dot-config/autostart/at-spi-dbus-bus.desktop | 1 - .../dot-config/environment.d/10-home-manager.conf | 1 - .../dot-config/environment.d/90-dms.conf | 2 - .../dot-config/environment.d/wayland.conf | 19 -- wayland-basics/dot-config/fuzzel/fuzzel.ini | 131 --------- wayland-basics/dot-config/mako/config | 40 --- wayland-basics/dot-config/mimeapps.list | 53 ---- wayland-basics/dot-config/mpv/mpv.conf | 3 - wayland-basics/dot-config/swaylock/config | 4 - .../dot-config/systemd/user/kanshi.service | 13 - .../dot-config/systemd/user/minibar.service | 13 - .../dot-config/systemd/user/polkit-kde.service | 12 - .../dot-config/systemd/user/soteria.service | 12 - .../dot-config/systemd/user/swaybg.service | 12 - .../dot-config/systemd/user/swayidle.service | 12 - .../dot-config/systemd/user/swayosd-server.service | 12 - .../systemd/user/wl-clip-persist.service | 13 - .../dot-config/systemd/user/wlsunset.service | 16 -- .../wireplumber.conf.d/disable-bluetooth.conf | 6 - wayland-basics/dot-config/zathura/zathurarc | 22 -- .../dot-local/share/applications/chromium.desktop | 21 -- .../dot-local/share/applications/file.desktop | 4 - .../dot-local/share/applications/gf2.desktop | 7 - .../dot-local/share/applications/img.desktop | 1 - .../dot-local/share/applications/imv.desktop | 7 - .../share/applications/mail-viewer.desktop | 7 - .../dot-local/share/applications/mail.desktop | 7 - .../dot-local/share/applications/mpv.desktop | 10 - .../dot-local/share/applications/nvim.desktop | 12 - .../dot-local/share/applications/pdf.desktop | 4 - .../dot-local/share/applications/text.desktop | 1 - .../dot-local/share/applications/video.desktop | 1 - .../wireplumber.conf.d/disable-bluetooth.conf | 6 + zathura/dot-config/zathura/zathurarc | 22 ++ 130 files changed, 2704 insertions(+), 1347 deletions(-) create mode 100644 applications/dot-config/autostart/at-spi-dbus-bus.desktop create mode 100644 applications/dot-config/mimeapps.list create mode 100755 applications/dot-local/share/applications/file.desktop create mode 120000 applications/dot-local/share/applications/img.desktop create mode 100755 applications/dot-local/share/applications/imv.desktop create mode 100755 applications/dot-local/share/applications/mail-viewer.desktop create mode 100755 applications/dot-local/share/applications/mail.desktop create mode 120000 applications/dot-local/share/applications/mimeapps.list create mode 100755 applications/dot-local/share/applications/mpv.desktop create mode 100644 applications/dot-local/share/applications/nvim.desktop create mode 100755 applications/dot-local/share/applications/pdf.desktop create mode 100755 applications/dot-local/share/applications/text.desktop create mode 120000 applications/dot-local/share/applications/video.desktop create mode 100644 astroid/dot-config/astroid/config create mode 100755 astroid/dot-config/astroid/poll.sh create mode 100644 bash/dot-config/dir_colors delete mode 100644 bash/dot-config/shellshort/shortcutenvrc delete mode 100644 bash/dot-config/shellshort/shortcutrc delete mode 100644 bash/dot-config/shellshort/zshnameddirs create mode 100644 email/.stow-local-ignore create mode 100644 env/dot-config/environment.d/wayland.conf delete mode 100644 fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-Heavy.ttf delete mode 100644 fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-HeavyOblique.ttf delete mode 100644 fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360.ttf delete mode 100644 fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360Oblique.ttf delete mode 100644 fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-build-plans.toml delete mode 100644 fonts/dot-local/share/fonts/lambda/Lambda-Bold.ttf delete mode 100644 fonts/dot-local/share/fonts/lambda/Lambda-BoldItalic.ttf delete mode 100644 fonts/dot-local/share/fonts/lambda/Lambda-Italic.ttf delete mode 100644 fonts/dot-local/share/fonts/lambda/Lambda.ttf create mode 100644 fuzzel/dot-config/fuzzel/fuzzel.ini delete mode 100644 gtk/dot-config/Kvantum/kvantum.kvconfig delete mode 100755 lf/dot-config/lf/previewer create mode 100755 lf/dot-config/lf/scripts/previewer create mode 100755 lf/dot-config/lf/scripts/safe_extract create mode 100644 lf/dot-config/lf/scripts/seccomp_default_filter.bpf delete mode 100644 lf/dot-config/lf/shortcutrc create mode 100644 mako/dot-config/mako/config create mode 100644 mpv/dot-config/mpv/mpv.conf create mode 100644 niri-dms/dot-config/niri/config.kdl create mode 100644 niri-dms/dot-config/niri/dms/alttab.kdl create mode 100644 niri-dms/dot-config/niri/dms/binds.kdl create mode 100644 niri-dms/dot-config/niri/dms/colors.kdl create mode 100644 niri-dms/dot-config/niri/dms/cursor.kdl create mode 100644 niri-dms/dot-config/niri/dms/layout.kdl create mode 100644 niri-dms/dot-config/niri/dms/outputs.kdl create mode 100644 niri-dms/dot-config/niri/dms/windowrules.kdl create mode 100644 niri-dms/dot-config/niri/dms/wpblur.kdl create mode 100644 niri-dms/dot-config/systemd/user/app-graphical.slice create mode 100644 niri/dot-config/niri/animations.kdl create mode 100644 niri/dot-config/niri/binds.kdl create mode 100644 niri/dot-config/niri/decorations.kdl create mode 100644 niri/dot-config/niri/input.kdl create mode 100644 niri/dot-config/niri/layout.kdl create mode 100644 niri/dot-config/niri/misc.kdl create mode 100644 niri/dot-config/niri/outputs.kdl create mode 100644 niri/dot-config/niri/rules.kdl create mode 100644 niri/dot-config/niri/workspaces.kdl delete mode 100644 niri/dot-config/systemd/user/app-graphical.slice create mode 100644 psd/dot-config/psd/.psd.conf create mode 100644 qute/dot-config/qutebrowser/themes/doomone.py create mode 100755 scripts/dot-local/bin/fontpreview delete mode 100755 scripts/dot-local/bin/safe_extract create mode 100644 services/dot-config/systemd/user/kanshi.service create mode 100644 services/dot-config/systemd/user/soteria.service create mode 100644 services/dot-config/systemd/user/swaybg.service create mode 100644 services/dot-config/systemd/user/swayidle.service create mode 100644 services/dot-config/systemd/user/swayosd-server.service create mode 100644 services/dot-config/systemd/user/wl-clip-persist.service create mode 100644 services/dot-config/systemd/user/wlsunset.service create mode 100644 swaylock/dot-config/swaylock/config create mode 100644 waybar-vert/dot-config/waybar/config.jsonc create mode 100644 waybar-vert/dot-config/waybar/style.css delete mode 100644 wayland-basics/dot-config/autostart/at-spi-dbus-bus.desktop delete mode 120000 wayland-basics/dot-config/environment.d/10-home-manager.conf delete mode 100644 wayland-basics/dot-config/environment.d/90-dms.conf delete mode 100644 wayland-basics/dot-config/environment.d/wayland.conf delete mode 100644 wayland-basics/dot-config/fuzzel/fuzzel.ini delete mode 100644 wayland-basics/dot-config/mako/config delete mode 100644 wayland-basics/dot-config/mimeapps.list delete mode 100644 wayland-basics/dot-config/mpv/mpv.conf delete mode 100644 wayland-basics/dot-config/swaylock/config delete mode 100644 wayland-basics/dot-config/systemd/user/kanshi.service delete mode 100644 wayland-basics/dot-config/systemd/user/minibar.service delete mode 100644 wayland-basics/dot-config/systemd/user/polkit-kde.service delete mode 100644 wayland-basics/dot-config/systemd/user/soteria.service delete mode 100644 wayland-basics/dot-config/systemd/user/swaybg.service delete mode 100644 wayland-basics/dot-config/systemd/user/swayidle.service delete mode 100644 wayland-basics/dot-config/systemd/user/swayosd-server.service delete mode 100644 wayland-basics/dot-config/systemd/user/wl-clip-persist.service delete mode 100644 wayland-basics/dot-config/systemd/user/wlsunset.service delete mode 100644 wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf delete mode 100644 wayland-basics/dot-config/zathura/zathurarc delete mode 100644 wayland-basics/dot-local/share/applications/chromium.desktop delete mode 100755 wayland-basics/dot-local/share/applications/file.desktop delete mode 100644 wayland-basics/dot-local/share/applications/gf2.desktop delete mode 120000 wayland-basics/dot-local/share/applications/img.desktop delete mode 100755 wayland-basics/dot-local/share/applications/imv.desktop delete mode 100755 wayland-basics/dot-local/share/applications/mail-viewer.desktop delete mode 100755 wayland-basics/dot-local/share/applications/mail.desktop delete mode 100755 wayland-basics/dot-local/share/applications/mpv.desktop delete mode 100755 wayland-basics/dot-local/share/applications/nvim.desktop delete mode 100755 wayland-basics/dot-local/share/applications/pdf.desktop delete mode 120000 wayland-basics/dot-local/share/applications/text.desktop delete mode 120000 wayland-basics/dot-local/share/applications/video.desktop create mode 100644 wireplumber/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf create mode 100644 zathura/dot-config/zathura/zathurarc diff --git a/aerc/dot-config/aerc/accounts.conf b/aerc/dot-config/aerc/accounts.conf index ccfca5b..1c5a524 100644 --- a/aerc/dot-config/aerc/accounts.conf +++ b/aerc/dot-config/aerc/accounts.conf @@ -13,28 +13,28 @@ check-mail-cmd = mbsync mit check-mail-timeout = 20s folders-sort = INBOX,Sent,Drafts,Archive -[Gmail] -source = maildir://~/.local/share/mail/m.r.karimi.j@gmail.com -outgoing = msmtp -a gmail -default = INBOX -from = Mohammad Reza Karimi -copy-to = Sent -postpone = Drafts -cache-headers = true -check-mail-cmd = mbsync m.r.karimi.j@gmail.com -check-mail-timeout = 60s -folders-sort = INBOX,Sent - -[Notmuch-MIT] -source = notmuch://~/.local/share/mail -outgoing = msmtp -a mit -default = 18650 -from = Mohammad Reza Karimi -copy-to = Sent -maildir-store = ~/.local/share/mail -maildir-account-path = mit -query-map = ~/.config/aerc/Notmuch-MIT.qmap -check-mail-cmd = mbsync mit && notmuch new -check-mail-timeout = 20s -folders = 18650,18650-thr,18650-org,Sent,Archive,INBOX -folders-sort = 18650,18650-thr,18650-org,Sent,INBOX,Archive +# [Gmail] +# source = maildir://~/.local/share/mail/m.r.karimi.j@gmail.com +# outgoing = msmtp -a gmail +# default = INBOX +# from = Mohammad Reza Karimi +# copy-to = Sent +# postpone = Drafts +# cache-headers = true +# check-mail-cmd = mbsync m.r.karimi.j@gmail.com +# check-mail-timeout = 60s +# folders-sort = INBOX,Sent +# +# [Notmuch-MIT] +# source = notmuch://~/.local/share/mail +# outgoing = msmtp -a mit +# default = 18650 +# from = Mohammad Reza Karimi +# copy-to = Sent +# maildir-store = ~/.local/share/mail +# maildir-account-path = mit +# query-map = ~/.config/aerc/Notmuch-MIT.qmap +# check-mail-cmd = mbsync mit && notmuch new +# check-mail-timeout = 20s +# folders = 18650,18650-thr,18650-org,Sent,Archive,INBOX +# folders-sort = 18650,18650-thr,18650-org,Sent,INBOX,Archive diff --git a/aerc/dot-config/aerc/aerc.conf b/aerc/dot-config/aerc/aerc.conf index f2ce995..aeca242 100644 --- a/aerc/dot-config/aerc/aerc.conf +++ b/aerc/dot-config/aerc/aerc.conf @@ -192,8 +192,8 @@ application/pdf=pdftotext - -l 10 -nopgbrk -q - | fmt -w 100 [openers] # x-scheme-handler/http*=printf '%s' {} | wl-copy -text/html=runapp -o -- qutebrowser -text/plain=runapp -o -- alacritty -e nvim {} +125 +text/html=qutebrowser +text/plain=st -e nvim {} +125 [hooks] # diff --git a/alacritty/dot-config/alacritty/alacritty.toml b/alacritty/dot-config/alacritty/alacritty.toml index 733dc4b..99abd74 100644 --- a/alacritty/dot-config/alacritty/alacritty.toml +++ b/alacritty/dot-config/alacritty/alacritty.toml @@ -8,8 +8,12 @@ padding = { x = 6, y = 6 } [font] # normal = { family = "Comic Code", style = "Regular" } +normal = { family = "Cascadia Code", style = "SemiLight" } +italic = { family = "Cascadia Code", style = "SemiLight Italic" } +bold = { family = "Cascadia Code", style = "SemiBold" } +bold_italic = { family = "Cascadia Code", style = "SemiBold Italic" } # normal = { family = "SF Mono", style = "Regular" } -normal = { family = "Hack", style = "Regular" } +# normal = { family = "Hack", style = "Regular" } size = 12 [scrolling] diff --git a/applications/dot-config/autostart/at-spi-dbus-bus.desktop b/applications/dot-config/autostart/at-spi-dbus-bus.desktop new file mode 100644 index 0000000..9baab50 --- /dev/null +++ b/applications/dot-config/autostart/at-spi-dbus-bus.desktop @@ -0,0 +1 @@ +Hidden=true diff --git a/applications/dot-config/mimeapps.list b/applications/dot-config/mimeapps.list new file mode 100644 index 0000000..a9a0695 --- /dev/null +++ b/applications/dot-config/mimeapps.list @@ -0,0 +1,53 @@ +[Default Applications] +x-scheme-handler/mailto=mail.desktop; +x-scheme-handler/mid=mail.desktop; +message/rfc822=mail-viewer.desktop; + +text/x-shellscript=text.desktop; +text/plain=text.desktop; +text/x-tex=text.desktop; +text/x-bibtex=text.desktop; + +application/postscript=pdf.desktop; +application/pdf=pdf.desktop; + +image/png=img.desktop; +image/jpeg=img.desktop; +image/gif=img.desktop; +image/heif=img.desktop; +image/svg+xml=img.desktop; +image/svg=img.desktop; + +video/x-matroska=video.desktop; +video/mp4=video.desktop; +video/webm=video.desktop; +video/mp4=video.desktop; +video/x-msvideo=video.desktop; +video/x-matroska=video.desktop; +video/x-flv=video.desktop; +video/x-ms-wmv=video.desktop; +video/mpeg=video.desktop; +video/ogg=video.desktop; +video/webm=video.desktop; +video/quicktime=video.desktop; +video/3gpp=video.desktop; +video/3gpp2=video.desktop; +video/x-ms-asf=video.desktop; +video/x-ogm+ogg=video.desktop; +video/x-theora+ogg=video.desktop; +application/ogg=video.desktop; + +inode/directory=file.desktop; + +x-scheme-handler/http=browser.desktop; +x-scheme-handler/https=browser.desktop; +x-scheme-handler/chrome=browser.desktop; +text/html=browser.desktop; +application/x-extension-htm=browser.desktop; +application/x-extension-html=browser.desktop; +application/x-extension-shtml=browser.desktop; +application/xhtml+xml=browser.desktop; +application/x-extension-xhtml=browser.desktop; +application/x-extension-xht=browser.desktop; +x-scheme-handler/about=browser.desktop; +x-scheme-handler/unknown=browser.desktop; diff --git a/applications/dot-local/share/applications/file.desktop b/applications/dot-local/share/applications/file.desktop new file mode 100755 index 0000000..a7e84c3 --- /dev/null +++ b/applications/dot-local/share/applications/file.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=File Manager +Exec=alacritty -e lf %u diff --git a/applications/dot-local/share/applications/img.desktop b/applications/dot-local/share/applications/img.desktop new file mode 120000 index 0000000..6dacb85 --- /dev/null +++ b/applications/dot-local/share/applications/img.desktop @@ -0,0 +1 @@ +imv.desktop \ No newline at end of file diff --git a/applications/dot-local/share/applications/imv.desktop b/applications/dot-local/share/applications/imv.desktop new file mode 100755 index 0000000..d41f33d --- /dev/null +++ b/applications/dot-local/share/applications/imv.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=IMV Image viewer +Icon=imv +Exec=/usr/bin/imv %f +Terminal=false +Categories=Graphics;Viewer; diff --git a/applications/dot-local/share/applications/mail-viewer.desktop b/applications/dot-local/share/applications/mail-viewer.desktop new file mode 100755 index 0000000..725de38 --- /dev/null +++ b/applications/dot-local/share/applications/mail-viewer.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Mail Viewer (aerc) + +Exec=/usr/bin/alacritty -e aerc :eml %f +Terminal=false +MimeType=message/rfc822 diff --git a/applications/dot-local/share/applications/mail.desktop b/applications/dot-local/share/applications/mail.desktop new file mode 100755 index 0000000..6942566 --- /dev/null +++ b/applications/dot-local/share/applications/mail.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Mail + +Exec=alacritty -e aerc %u +Terminal=false +MimeType=x-scheme-handler/mailto diff --git a/applications/dot-local/share/applications/mimeapps.list b/applications/dot-local/share/applications/mimeapps.list new file mode 120000 index 0000000..488cfb8 --- /dev/null +++ b/applications/dot-local/share/applications/mimeapps.list @@ -0,0 +1 @@ +../../../dot-config/mimeapps.list \ No newline at end of file diff --git a/applications/dot-local/share/applications/mpv.desktop b/applications/dot-local/share/applications/mpv.desktop new file mode 100755 index 0000000..282ae48 --- /dev/null +++ b/applications/dot-local/share/applications/mpv.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=MPV Media Player +Icon=mpv +TryExec=/usr/bin/mpv +Exec=/usr/bin/mpv --player-operation-mode=pseudo-gui -- %U +Terminal=false +Categories=AudioVideo;Audio;Video;Player;TV; +StartupWMClass=mpv +Keywords=mpv;media;player;video;audio;tv; diff --git a/applications/dot-local/share/applications/nvim.desktop b/applications/dot-local/share/applications/nvim.desktop new file mode 100644 index 0000000..e1e3e17 --- /dev/null +++ b/applications/dot-local/share/applications/nvim.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/applications/dot-local/share/applications/pdf.desktop b/applications/dot-local/share/applications/pdf.desktop new file mode 100755 index 0000000..8c38677 --- /dev/null +++ b/applications/dot-local/share/applications/pdf.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=PDF reader +Exec=/usr/bin/zathura %u diff --git a/applications/dot-local/share/applications/text.desktop b/applications/dot-local/share/applications/text.desktop new file mode 100755 index 0000000..8d5ba0c --- /dev/null +++ b/applications/dot-local/share/applications/text.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Neovim +GenericName=Text Editor +Comment=Edit text files +TryExec=nvim +Exec=/usr/bin/alacritty -e nvim %F +Terminal=false +Type=Application +Keywords=Text;editor; +Icon=nvim +Categories=Utility;TextEditor;Development; +StartupNotify=false +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/applications/dot-local/share/applications/video.desktop b/applications/dot-local/share/applications/video.desktop new file mode 120000 index 0000000..0da0c22 --- /dev/null +++ b/applications/dot-local/share/applications/video.desktop @@ -0,0 +1 @@ +mpv.desktop \ No newline at end of file diff --git a/astroid/dot-config/astroid/config b/astroid/dot-config/astroid/config new file mode 100644 index 0000000..4d7a818 --- /dev/null +++ b/astroid/dot-config/astroid/config @@ -0,0 +1,141 @@ +{ + "astroid": { + "config": { + "version": "11" + }, + "notmuch_config": "\/home\/moreka\/.config\/notmuch\/default\/config", + "debug": { + "dryrun_sending": "false" + }, + "hints": { + "level": "0" + }, + "log": { + "syslog": "false", + "stdout": "true", + "level": "info" + } + }, + "accounts": { + "mit": { + "name": "Mohammad Reza Karimi", + "email": "moreka@mit.edu", + "gpgkey": "", + "always_gpg_sign": "false", + "sendmail": "msmtp -i -t", + "default": "true", + "save_sent": "true", + "save_sent_to": "\/home\/moreka\/.local\/share\/mail\/mit\/Sent\/cur\/", + "additional_sent_tags": "sent", + "save_drafts_to":"\/home\/moreka\/.local\/share\/mail\/mit\/Drafts\/cur\/", + "signature_separate": "false", + "signature_file": "", + "signature_file_markdown": "", + "signature_default_on": "true", + "signature_attach": "false", + "select_query": "" + } + }, + "startup": { + "queries": { + "inbox": "tag:inbox and not tag:18650", + "18650": "tag:18650" + } + }, + "terminal": { + "height": "10", + "font_description": "monospace 10" + }, + "thread_index": { + "page_jump_rows": "6", + "sort_order": "newest", + "cell": { + "font_description": "monospace 10", + "line_spacing": "2", + "date_length": "10", + "message_count_length": "4", + "authors_length": "20", + "show_left_icons": "true", + "subject_color": "#807d74", + "subject_color_selected": "#000000", + "background_color_selected": "", + "background_color_marked": "#fff584", + "background_color_marked_selected": "#bcb559", + "tags_length": "80", + "tags_upper_color": "#e5e5e5", + "tags_lower_color": "#333333", + "tags_alpha": "0.5", + "hidden_tags": "attachment,flagged,unread" + } + }, + "general": { + "time": { + "clock_format": "24h", + "same_year": "%b %-e", + "diff_year": "%d-%m-%Y" + }, + "tagbar_move": "tag" + }, + "editor": { + "cmd": "alacritty -e nvim -c 'set ft=mail' %1", + "external_editor": "true", + "charset": "utf-8", + "save_draft_on_force_quit": "true", + "attachment_words": "attach", + "attachment_directory": "~", + "markdown_processor": "cmark", + "markdown_on": "false" + }, + "mail": { + "reply": { + "quote_processor": "w3m -dump -T text\/html", + "quote_line": "On %2, %1 wrote:", + "mailinglist_reply_to_sender": "true" + }, + "forward": { + "quote_line": "Forwarded message from %1 on %2:", + "disposition": "inline" + }, + "sent_tags": "sent", + "message_id_fqdn": "", + "message_id_user": "", + "user_agent": "", + "send_delay": "0", + "close_on_success": "false", + "format_flowed": "true" + }, + "poll": { + "interval": "60", + "always_full_refresh": "true" + }, + "attachment": { + "external_open_cmd": "xdg-open" + }, + "thread_view": { + "open_html_part_external": "false", + "preferred_type": "plain", + "preferred_html_only": "false", + "allow_remote_when_encrypted": "false", + "open_external_link": "xdg-open", + "default_save_directory": "~", + "indent_messages": "false", + "gravatar": { + "enable": "true" + }, + "mark_unread_delay": "0.5", + "expand_flagged": "true" + }, + "crypto": { + "gpg": { + "path": "gpg2", + "always_trust": "true", + "enabled": "true" + } + }, + "saved_searches": { + "show_on_startup": "false", + "save_history": "true", + "history_lines_to_show": "15", + "history_lines": "1000" + } +} diff --git a/astroid/dot-config/astroid/poll.sh b/astroid/dot-config/astroid/poll.sh new file mode 100755 index 0000000..e0bf94e --- /dev/null +++ b/astroid/dot-config/astroid/poll.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -e + +# Fetch new mail. +mbsync mit + +notmuch new +# https://github.com/astroidmail/astroid/wiki/Advanced-Polling-and-Processing-mail#automatic-tagging diff --git a/bash/dot-bashrc b/bash/dot-bashrc index cc15ea0..8159104 100644 --- a/bash/dot-bashrc +++ b/bash/dot-bashrc @@ -9,6 +9,7 @@ export HISTCONTROL='ignoredups' export HISTFILESIZE=100000 export HISTSIZE=10000 +shopt -s histappend shopt -s autocd shopt -s checkwinsize shopt -u promptvars @@ -38,11 +39,17 @@ alias p='sudo pacman' alias SS='sudo systemctl' alias Su='systemctl --user' alias v='nvim' -alias vn='NVIM_APPNAME=nvim-min nvim' alias vv='uv run nvim' alias neofetch='fastfetch -c examples/13' -alias cvim='nvim -c "cd ~/.config/nvim" -c "Ex"' -alias hm='home-manager --flake ~/nix' +alias cvim='nvim -c "cd ~/.config/nvim" -c "Oil"' + +if [[ -f ~/.config/dir_colors ]]; then + eval "$(COLORTERM=1 dircolors -b -- ~/.config/dir_colors)" +else + eval "$(COLORTERM=1 dircolors -b)" +fi +export MANPAGER="sh -c 'bat --paging always --theme ansi -p -l man'" +# export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat --paging always --theme ansi -p -l man'" # source: https://wiki.archlinux.org/title/GnuPG#Configure_pinentry_to_use_the_correct_TTY GPG_TTY="$(tty)" @@ -53,7 +60,7 @@ gpg-connect-agent updatestartuptty /bye >/dev/null source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/functions.bash # shellcheck source=notes.bash -source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/notes.bash +# source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/notes.bash bind '"\C-o":"\C-ulf\C-m"' diff --git a/bash/dot-config/dir_colors b/bash/dot-config/dir_colors new file mode 100644 index 0000000..e9e01be --- /dev/null +++ b/bash/dot-config/dir_colors @@ -0,0 +1,274 @@ +# vim: ft=conf +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. + +# Copyright (C) 1996-2025 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. + +# +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. + +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# Global config options can be specified before TERM or COLORTERM entries + +# =================================================================== +# Terminal filters +# =================================================================== +# Below are TERM or COLORTERM entries, which can be glob patterns, which +# restrict following config to systems with matching environment variables. +COLORTERM ?* +TERM Eterm +TERM ansi +TERM *color* +TERM con[0-9]*x[0-9]* +TERM cons25 +TERM console +TERM cygwin +TERM *direct* +TERM dtterm +TERM gnome +TERM hurd +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mlterm +TERM putty +TERM rxvt* +TERM screen* +TERM st +TERM terminator +TERM tmux* +TERM vt100 +TERM vt220 +TERM xterm* + +# =================================================================== +# Basic file attributes +# =================================================================== +# Below are the color init strings for the basic file types. +# One can use codes for 256 or more colors supported by modern terminals. +# The default color codes use the capabilities of an 8 color terminal +# with some additional attributes as per the following codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +#NORMAL 00 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 01;34 # directory +LINK 01;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 01;37;41 # symlink to nonexistent file, or non-stat'able file ... +MISSING 0 # ... and the files they point to +SETUID 37;41 # regular file that is setuid (u+s) +SETGID 30;43 # regular file that is setgid (g+s) +CAPABILITY 00 # regular file with capability (very expensive to lookup) +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable + +# This is for regular files with execute permission: +EXEC 01;32 + +# =================================================================== +# File extension attributes +# =================================================================== +# List any file extensions like '.gz' or '.tar' that you would like ls +# to color below. Put the suffix, a space, and the color init string. +# (and any comments you want to add after a '#'). +# Suffixes are matched case insensitively, but if you define different +# init strings for separate cases, those will be honored. +# + +# If you use DOS-style suffixes, you may want to uncomment the following: +#.cmd 01;32 # executables (bright green) +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +# Or if you want to color scripts even if they do not have the +# executable bit actually set. +#.sh 01;32 +#.csh 01;32 + +# archives or compressed (bright red) +.7z 01;31 +.ace 01;31 +.alz 01;31 +.apk 01;31 +.arc 01;31 +.arj 01;31 +.bz 01;31 +.bz2 01;31 +.cab 01;31 +.cpio 01;31 +.crate 01;31 +.deb 01;31 +.drpm 01;31 +.dwm 01;31 +.dz 01;31 +.ear 01;31 +.egg 01;31 +.esd 01;31 +.gz 01;31 +.jar 01;31 +.lha 01;31 +.lrz 01;31 +.lz 01;31 +.lz4 01;31 +.lzh 01;31 +.lzma 01;31 +.lzo 01;31 +.pyz 01;31 +.rar 01;31 +.rpm 01;31 +.rz 01;31 +.sar 01;31 +.swm 01;31 +.t7z 01;31 +.tar 01;31 +.taz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tgz 01;31 +.tlz 01;31 +.txz 01;31 +.tz 01;31 +.tzo 01;31 +.tzst 01;31 +.udeb 01;31 +.war 01;31 +.whl 01;31 +.wim 01;31 +.xz 01;31 +.z 01;31 +.zip 01;31 +.zoo 01;31 +.zst 01;31 + +# image formats +.avif 01;35 +.jpg 01;35 +.jpeg 01;35 +.jxl 01;35 +.mjpg 01;35 +.mjpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.svg 01;35 +.svgz 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.webm 01;35 +.webp 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.flv 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.cgm 01;35 +.emf 01;35 + +# https://wiki.xiph.org/MIME_Types_and_File_Extensions +.ogv 01;35 +.ogx 01;35 + +# Text/document files +.cfg 00;32 +.conf 00;32 +.diff 00;32 +.doc 00;32 +.ini 00;32 +.log 00;32 +.patch 00;32 +.pdf 00;32 +.ps 00;32 +.tex 00;32 +.txt 00;32 + +# audio formats +.aac 00;36 +.au 00;36 +.flac 00;36 +.m4a 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 + +# https://wiki.xiph.org/MIME_Types_and_File_Extensions +.oga 00;36 +.opus 00;36 +.spx 00;36 +.xspf 00;36 + +# backup files +*~ 00;90 +*# 00;90 +.bak 00;90 +.crdownload 00;90 +.dpkg-dist 00;90 +.dpkg-new 00;90 +.dpkg-old 00;90 +.dpkg-tmp 00;90 +.old 00;90 +.orig 00;90 +.part 00;90 +.rej 00;90 +.rpmnew 00;90 +.rpmorig 00;90 +.rpmsave 00;90 +.swp 00;90 +.tmp 00;90 +.ucf-dist 00;90 +.ucf-new 00;90 +.ucf-old 00;90 + diff --git a/bash/dot-config/shellshort/bm-dirs b/bash/dot-config/shellshort/bm-dirs index 4ecd6c0..1b26d16 100644 --- a/bash/dot-config/shellshort/bm-dirs +++ b/bash/dot-config/shellshort/bm-dirs @@ -1,2 +1,2 @@ -mit $HOME/mit/18.650-spring-26/ -linatt $HOME/mit/linear-attention/ +mit $HOME/teaching/18.650-spring-26/ +linatt $HOME/research/linear-attention/ diff --git a/bash/dot-config/shellshort/shortcutenvrc b/bash/dot-config/shellshort/shortcutenvrc deleted file mode 100644 index 8f0b3fb..0000000 --- a/bash/dot-config/shellshort/shortcutenvrc +++ /dev/null @@ -1,5 +0,0 @@ -# vim: filetype=sh -[ -n "mit" ] && export mit="/home/moreka/mit/18.650-spring-26/" -[ -n "linatt" ] && export linatt="/home/moreka/mit/linear-attention/" -[ -n "cala" ] && export cala="/home/moreka/.config/alacritty/alacritty.toml" -[ -n "cnir" ] && export cnir="/home/moreka/.config/niri/config.kdl" diff --git a/bash/dot-config/shellshort/shortcutrc b/bash/dot-config/shellshort/shortcutrc deleted file mode 100644 index e8571c1..0000000 --- a/bash/dot-config/shellshort/shortcutrc +++ /dev/null @@ -1,5 +0,0 @@ -# vim: filetype=sh -alias mit="cd /home/moreka/mit/18.650-spring-26/ && ls -A" \ -linatt="cd /home/moreka/mit/linear-attention/ && ls -A" \ -cala="$EDITOR /home/moreka/.config/alacritty/alacritty.toml" \ -cnir="$EDITOR /home/moreka/.config/niri/config.kdl" \ diff --git a/bash/dot-config/shellshort/zshnameddirs b/bash/dot-config/shellshort/zshnameddirs deleted file mode 100644 index d7453ec..0000000 --- a/bash/dot-config/shellshort/zshnameddirs +++ /dev/null @@ -1,4 +0,0 @@ -hash -d mit=/home/moreka/mit/18.650-spring-26/ -hash -d linatt=/home/moreka/mit/linear-attention/ -hash -d cala=/home/moreka/.config/alacritty/alacritty.toml -hash -d cnir=/home/moreka/.config/niri/config.kdl diff --git a/bash/dot-profile b/bash/dot-profile index ca4932c..ee18485 100644 --- a/bash/dot-profile +++ b/bash/dot-profile @@ -3,7 +3,7 @@ export EDITOR=nvim export SUDO_EDITOR=$EDITOR -export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat --paging always -p -lman'" + export XDG_CONFIG_HOME="$HOME"/.config export XDG_CACHE_HOME="$HOME"/.cache @@ -11,13 +11,16 @@ export XDG_DATA_HOME="$HOME"/.local/share export XDG_STATE_HOME="$HOME"/.local/state export XDG_BIN_HOME="$HOME"/.local/bin -PATH="${PATH}:${XDG_BIN_HOME}:$HOME/.nix-profile/bin" +PATH="${PATH}:${XDG_BIN_HOME}" +# PATH="${PATH}:$HOME/.nix-profile/bin" export PATH -XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS" -export XDG_DATA_DIRS +# XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS" +# export XDG_DATA_DIRS export LESSHISTFILE="$XDG_CACHE_HOME"/lesshst +export LESS="-R -M --shift 5" + export CARGO_HOME="$XDG_DATA_HOME"/cargo export TEXMFHOME="$XDG_DATA_HOME"/texmf export TEXMFVAR="$XDG_CACHE_HOME"/texlive/texmf-var diff --git a/email/.stow-local-ignore b/email/.stow-local-ignore new file mode 100644 index 0000000..0162589 --- /dev/null +++ b/email/.stow-local-ignore @@ -0,0 +1,4 @@ +systemd +imapnotify +maildir\-rank\-addr +oama diff --git a/email/dot-config/isyncrc b/email/dot-config/isyncrc index b785916..00bc368 100644 --- a/email/dot-config/isyncrc +++ b/email/dot-config/isyncrc @@ -1,7 +1,7 @@ IMAPAccount mit Host outlook.office365.com User moreka@mit.edu -PassCmd "oama access moreka@mit.edu" +PassCmd "mutt_oauth2.py ~/.local/state/mit-oauth-token" Port 993 AuthMechs XOAUTH2 TLSType IMAPS @@ -48,44 +48,44 @@ Channel sync-mit-sent Channel sync-mit-deleted Channel sync-mit-junk -IMAPAccount gmail-mrkarimij -Host imap.gmail.com -User m.r.karimi.j@gmail.com -PassCmd "oama access m.r.karimi.j@gmail.com" -TLSType IMAPS -CertificateFile /etc/ssl/certs/ca-certificates.crt -Timeout 360 - -IMAPStore gmail-mrkarimij-remote -Account gmail-mrkarimij - -MaildirStore gmail-mrkarimij-local -SubFolders Verbatim -Path /home/moreka/.local/share/mail/m.r.karimi.j@gmail.com/ -Inbox /home/moreka/.local/share/mail/m.r.karimi.j@gmail.com/INBOX - -Channel gmail-mrkarimij-inbox -Far :gmail-mrkarimij-remote:INBOX -Near :gmail-mrkarimij-local:INBOX -Create Near -Expunge Both -SyncState * - -Channel gmail-mrkarimij-sent -Far :gmail-mrkarimij-remote:"[Gmail]/Sent Mail" -Near :gmail-mrkarimij-local:Sent -Create Near -Expunge Both -SyncState * - -Channel gmail-mrkarimij-drafts -Far :gmail-mrkarimij-remote:"[Gmail]/Drafts" -Near :gmail-mrkarimij-local:Drafts -Create Near -Expunge Both -SyncState * - -Group m.r.karimi.j@gmail.com -Channel gmail-mrkarimij-inbox -Channel gmail-mrkarimij-sent -Channel gmail-mrkarimij-drafts +# IMAPAccount gmail-mrkarimij +# Host imap.gmail.com +# User m.r.karimi.j@gmail.com +# PassCmd "oama access m.r.karimi.j@gmail.com" +# TLSType IMAPS +# CertificateFile /etc/ssl/certs/ca-certificates.crt +# Timeout 360 +# +# IMAPStore gmail-mrkarimij-remote +# Account gmail-mrkarimij +# +# MaildirStore gmail-mrkarimij-local +# SubFolders Verbatim +# Path /home/moreka/.local/share/mail/m.r.karimi.j@gmail.com/ +# Inbox /home/moreka/.local/share/mail/m.r.karimi.j@gmail.com/INBOX +# +# Channel gmail-mrkarimij-inbox +# Far :gmail-mrkarimij-remote:INBOX +# Near :gmail-mrkarimij-local:INBOX +# Create Near +# Expunge Both +# SyncState * +# +# Channel gmail-mrkarimij-sent +# Far :gmail-mrkarimij-remote:"[Gmail]/Sent Mail" +# Near :gmail-mrkarimij-local:Sent +# Create Near +# Expunge Both +# SyncState * +# +# Channel gmail-mrkarimij-drafts +# Far :gmail-mrkarimij-remote:"[Gmail]/Drafts" +# Near :gmail-mrkarimij-local:Drafts +# Create Near +# Expunge Both +# SyncState * +# +# Group m.r.karimi.j@gmail.com +# Channel gmail-mrkarimij-inbox +# Channel gmail-mrkarimij-sent +# Channel gmail-mrkarimij-drafts diff --git a/email/dot-config/msmtp/config b/email/dot-config/msmtp/config index 19f6746..bc0da9e 100644 --- a/email/dot-config/msmtp/config +++ b/email/dot-config/msmtp/config @@ -13,14 +13,14 @@ from moreka@mit.edu user moreka passwordeval pass show mail/smtp -account gmail -host smtp.gmail.com -port 587 -auth oauthbearer -tls_starttls on -from m.r.karimi.j@gmail.com -user m.r.karimi.j@gmail.com -passwordeval oama access m.r.karimi.j@gmail.com +# account gmail +# host smtp.gmail.com +# port 587 +# auth oauthbearer +# tls_starttls on +# from m.r.karimi.j@gmail.com +# user m.r.karimi.j@gmail.com +# passwordeval oama access m.r.karimi.j@gmail.com account default : mit diff --git a/email/dot-config/notmuch/default/hooks/post-new b/email/dot-config/notmuch/default/hooks/post-new index 5a02ff0..f94c08e 100755 --- a/email/dot-config/notmuch/default/hooks/post-new +++ b/email/dot-config/notmuch/default/hooks/post-new @@ -8,14 +8,12 @@ notmuch tag +archived -unread -inbox -- folder:mit/Archive # tag emails in the Deleted folder as deleted notmuch tag +sent -unread -inbox -- folder:mit/Sent -notmuch tag +sent -unread -inbox -- folder:m.r.karimi.j@gmail.com/Sent # remove "unread" from "replied" notmuch tag -unread -- tag:replied # tag my replies as "sent" notmuch tag -unread +sent -- '(from:"moreka@mit.edu*" not to:"moreka@mit.edu*" not to:"moreka@MIT.EDU*" not tag:archived)' -notmuch tag -unread +sent -- '(from:"m.r.karimi.j@gmail.com*" not to:"m.r.karimi.j@gmail.com*" not tag:archived)' # tag 18650 stuff for spring 26 correctly notmuch tag +18650 -- '(("18650" or "18.650" or body:"/18\.?650/" or subject:"/18\.?650/" or from:"18.650 on Piazza" or from:"MIT-Canvas") and date:2025-12-22..)' diff --git a/env/dot-config/environment.d/wayland.conf b/env/dot-config/environment.d/wayland.conf new file mode 100644 index 0000000..016d8a8 --- /dev/null +++ b/env/dot-config/environment.d/wayland.conf @@ -0,0 +1,19 @@ +# graphical apps +BROWSER=qutebrowser +TERMINAL=alacritty + +# QT app theming +QT_QPA_PLATFORM=wayland +QT_QPA_PLATFORMTHEME=qt6ct + +# SDL +SDL_VIDEODRIVER=wayland +SDL_VIDEO_DRIVER=wayland + +# Ozone +OZONE_PLATFORM=wayland +ELECTRON_OZONE_PLATFORM_HINT=wayland + +# disable accessibility +NO_AT_BRIDGE=1 +GTK_A11Y=none diff --git a/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf b/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf index 51e40b5..4f28d21 100644 --- a/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf +++ b/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf @@ -2,23 +2,23 @@ - serif + monospace - Libertinus Serif + Hack Noto Color Emoji Symbols Nerd Font - sans-serif + serif - Open Sans + Liberation Serif Noto Color Emoji Symbols Nerd Font - sans + sans-serif Open Sans Noto Color Emoji @@ -26,9 +26,9 @@ - monospace + sans - Dejavu Sans Mono + Open Sans Noto Color Emoji Symbols Nerd Font diff --git a/fonts/dot-config/fontconfig/conf.d/66-emoji.conf b/fonts/dot-config/fontconfig/conf.d/66-emoji.conf index 139d78a..2348c05 100644 --- a/fonts/dot-config/fontconfig/conf.d/66-emoji.conf +++ b/fonts/dot-config/fontconfig/conf.d/66-emoji.conf @@ -21,10 +21,10 @@ Comic Code - IosevkaInput + Dejavu Sans Mono - Dejavu Sans Mono + Liberation Mono diff --git a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-Heavy.ttf b/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-Heavy.ttf deleted file mode 100644 index 60f7c1f..0000000 Binary files a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-Heavy.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-HeavyOblique.ttf b/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-HeavyOblique.ttf deleted file mode 100644 index 2a2a36c..0000000 Binary files a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-HeavyOblique.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360.ttf b/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360.ttf deleted file mode 100644 index e5ad0e5..0000000 Binary files a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360Oblique.ttf b/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360Oblique.ttf deleted file mode 100644 index 3c0f160..0000000 Binary files a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-W360Oblique.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-build-plans.toml b/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-build-plans.toml deleted file mode 100644 index c273c74..0000000 --- a/fonts/dot-local/share/fonts/IosevkaInput/IosevkaInput-build-plans.toml +++ /dev/null @@ -1,208 +0,0 @@ -# Custom build with intention to have similar proportions and most symbols as -# Input Mono (line height 1, Light+Bold). -# -# Build instructions: -# - `git clone --depth=1 https://github.com/be5invis/Iosevka` -# This build plan is tested for v33.2.1 version. -# - `cd Iosevka` -# - `npm install` -# - Copy this file into project's root as 'private-build-plans.toml'. -# - `npm run build -- --jCmd=4 ttf::IosevkaInput`. -# !!! This will probably take a lot of time (at least 4 minutes) with 100% -# CPU usage on 4 cores and significant amount of RAM used !!! -# - Move files from 'dist/IosevkaInput/TTF' to 'fonts' dotfiles directory and -# follow its README. - -[buildPlans.IosevkaInput] -family = "IosevkaInput" -spacing = "fixed" -serifs = "sans" -exportGlyphNames = false -noLigation = true - -# Define all available major characters for completeness. -# Overall approach for choosing a character is to *usually* prefer: -# "serifless", "straight", "toothless", "earless", "corner", "flat-top", -# "flat-hook". With some exceptions for readability: -# - Serifed `Iij`. -# - Serifed or curly captial letter if similar to lowercase. Like `CSVXYZ`. -[buildPlans.IosevkaInput.variants.design] -one = "base" -two = "curly-neck-serifless" -three = "flat-top-serifless" -four = "closed-serifless" -five = "upright-flat-serifless" -six = "closed-contour" -seven = "straight-serifless" -eight = "two-circles" -nine = "closed-contour" -zero = "oval-long-dotted" -capital-a = "straight-serifless" -capital-b = "standard-serifless" -capital-c = "bilateral-inward-serifed" -capital-d = "standard-serifless" -capital-e = "serifless" -capital-f = "serifless" -capital-g = "toothless-corner-serifless-hooked" -capital-h = "serifless" -capital-i = "serifed" -capital-j = "serifless" -capital-k = "symmetric-connected-serifless" -capital-l = "serifless" -capital-m = "hanging-serifless" -capital-n = "standard-serifless" -capital-p = "closed-serifless" -capital-q = "crossing-curly-tailed" -capital-r = "straight-serifless" -capital-s = "bilateral-inward-serifed" -capital-t = "serifless" -capital-u = "toothless-rounded-serifless" -capital-v = "curly-serifless" -capital-w = "straight-vertical-sides-serifless" -capital-x = "curly-serifless" -capital-y = "curly-serifless" -capital-z = "straight-serifed" -a = "double-storey-toothless-corner" -b = "toothless-corner-serifless" -c = "serifless" -d = "toothless-corner-serifless" -e = "flat-crossbar" -f = "flat-hook-serifless-crossbar-at-x-height" -g = "double-storey" -h = "straight-serifless" -i = "zshaped" -j = "flat-hook-serifed" -k = "straight-serifless" -l = "zshaped" -m = "earless-rounded-double-arch-short-leg-serifless" -n = "earless-corner-straight-serifless" -p = "earless-corner-serifless" -q = "earless-corner-straight-serifless" -r = "earless-corner-serifless" -s = "serifless" -t = "flat-hook" -u = "toothless-corner-serifless" -v = "straight-serifless" -w = "rounded-vertical-sides-serifless" -x = "straight-serifless" -y = "straight-turn-serifless" -z = "straight-serifless" -capital-eszet = "corner-serifless" -long-s = "bent-hook-serifless" -eszet = "sulzbacher-serifless" -lower-eth = "straight-bar" -capital-thorn = "serifless" -lower-thorn = "serifless" -lower-alpha = "crossing" -lower-beta = "standard" -capital-gamma = "serifless" -lower-gamma = "casual" -capital-delta = "straight" -lower-delta = "flat-top" -lower-eta = "earless-corner-serifless" -lower-theta = "capsule" -lower-iota = "serifed-semi-tailed" -lower-kappa = "straight-serifless" -capital-lambda = "straight-serifless" -lower-lambda = "straight" -lower-mu = "toothless-corner-serifless" -lower-nu = "casual" -lower-xi = "flat-top" -lower-pi = "tailless" -lower-tau = "semi-tailed" -lower-upsilon = "casual-serifless" -lower-phi = "cursive" -lower-chi = "semi-chancery-straight-serifless" -lower-psi = "flat-top-serifless" -partial-derivative = "straight-bar" -cyrl-a = "single-storey-earless-corner-tailed" -cyrl-ve = "standard-serifless" -cyrl-capital-zhe = "symmetric-connected" -cyrl-zhe = "symmetric-connected" -cyrl-capital-ze = "bilateral-inward-serifed" -cyrl-ze = "serifless" -cyrl-capital-ka = "symmetric-connected-bottom-right-serifed" -cyrl-ka = "symmetric-connected-serifless" -cyrl-el = "straight" -cyrl-em = "flat-bottom-serifless" -cyrl-capital-en = "serifed" -cyrl-en = "serifless" -cyrl-capital-er = "closed-serifed" -cyrl-er = "eared-serifed" -cyrl-capital-u = "cursive-serifless" -cyrl-u = "cursive-serifless" -cyrl-ef = "serifless" -cyrl-che = "standard" -cyrl-yeri = "corner" -cyrl-yery = "corner" -cyrl-capital-e = "bilateral-inward-serifed" -cyrl-e = "serifless" -cyrl-capital-ya = "standing-serifless" -cyrl-ya = "standing-serifless" -tittle = "round" -diacritic-dot = "round" -punctuation-dot = "round" -braille-dot = "square" -tilde = "low" -asterisk = "hex-low" -underscore = "above-baseline" -caret = "medium" -ascii-grave = "straight" -ascii-single-quote = "straight" -paren = "normal" -brace = "curly-flat-boundary" -guillemet = "straight" -number-sign = "upright" -ampersand = "closed" -at = "fourfold" -dollar = "through" -cent = "through" -percent = "rings-continuous-slash" -bar = "force-upright" -question = "corner" -pilcrow = "high" -micro-sign = "tailed-serifless" -decorative-angle-brackets = "middle" - -# Use two weights with more visible bolds -[buildPlans.IosevkaInput.weights.W360] -shape = 360 -menu = 360 -css = 360 - -[buildPlans.IosevkaInput.weights.Heavy] -shape = 900 -menu = 900 -css = 900 - -# Make upright upright and obligue with maximum angle for visibility -[buildPlans.IosevkaInput.slopes.Upright] -angle = 0 -shape = "upright" -menu = "upright" -css = "normal" - -[buildPlans.IosevkaInput.slopes.Oblique] -angle = 15 -shape = "oblique" -menu = "oblique" -css = "oblique" - -# Make font more square-ish with about 1:2 ratio -# Notes: -# - Adjusting sidebearings (`sb`) seems to lead to slightly worse results. -# Instead opt-in for adjusting overall dimensions, increasing various glyph -# height (capital, ascending, x), and using smaller size. -[buildPlans.IosevkaInput.widths.Normal] -shape = 575 -menu = 5 -css = "normal" - -[buildPlans.IosevkaInput.metricOverride] -leading = 1100 # Overall "cell" height -parenSize = 950 # Height of parenthesis -cap = 800 # Height of capital (`H`) -ascender = 800 # Height of ascending (`b`) -xHeight = 600 # Height of lowercase (`x`) -dotSize = "blend(weight, [100, 50], [360, 140], [900, 190])" # Size of dots in diacritic marks (!?ij) -periodSize = "blend(weight, [100, 55], [360, 160], [900, 215])" # Size of dots in period (.,;:) diff --git a/fonts/dot-local/share/fonts/lambda/Lambda-Bold.ttf b/fonts/dot-local/share/fonts/lambda/Lambda-Bold.ttf deleted file mode 100644 index 34761b2..0000000 Binary files a/fonts/dot-local/share/fonts/lambda/Lambda-Bold.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/lambda/Lambda-BoldItalic.ttf b/fonts/dot-local/share/fonts/lambda/Lambda-BoldItalic.ttf deleted file mode 100644 index 8a26ef9..0000000 Binary files a/fonts/dot-local/share/fonts/lambda/Lambda-BoldItalic.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/lambda/Lambda-Italic.ttf b/fonts/dot-local/share/fonts/lambda/Lambda-Italic.ttf deleted file mode 100644 index 1e34287..0000000 Binary files a/fonts/dot-local/share/fonts/lambda/Lambda-Italic.ttf and /dev/null differ diff --git a/fonts/dot-local/share/fonts/lambda/Lambda.ttf b/fonts/dot-local/share/fonts/lambda/Lambda.ttf deleted file mode 100644 index b055282..0000000 Binary files a/fonts/dot-local/share/fonts/lambda/Lambda.ttf and /dev/null differ diff --git a/fuzzel/dot-config/fuzzel/fuzzel.ini b/fuzzel/dot-config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..0c5ae6a --- /dev/null +++ b/fuzzel/dot-config/fuzzel/fuzzel.ini @@ -0,0 +1,131 @@ +# output= +# font=monospace +# dpi-aware=auto +# use-bold=no +# prompt="> " +# placeholder= +# icon-theme=default +# icons-enabled=yes +# hide-before-typing=no +# fields=filename,name,generic +# password-character=* +# filter-desktop=no +# match-mode=fzf +# sort-result=yes +# match-counter=no +# delayed-filter-ms=300 +# delayed-filter-limit=20000 +# show-actions=no +terminal=alacritty -e +# launch-prefix=runapp -o +# list-executables-in-path=no + +# anchor=center +# x-margin=0 +# y-margin=0 +# lines=15 +# minimal-lines=no +# width=30 +# tabs=8 +# horizontal-pad=40 +# vertical-pad=8 +# inner-pad=0 + +# scaling-filter=box +# image-size-ratio=0.5 + +# gamma-correct-blending=no +# line-height= +# letter-spacing=0 + +# layer=overlay +# keyboard-focus=exclusive +# exit-on-keyboard-focus-loss=yes + +# cache= + +# render-workers= +# match-workers= + +# enable-mouse=yes + +[colors] +background=282a36dd +text=f8f8f2ff +match=8be9fdff +selection-match=8be9fdff +selection=44475add +selection-text=f8f8f2ff +border=bd93f9ff +# background=fdf6e3ff +# text=657b83ff +# prompt=586e75ff +# placeholder=93a1a1ff +# input=657b83ff +# match=cb4b16ff +# selection=eee8d5ff +# selection-text=586e75ff +# selection-match=cb4b16ff +# counter=93a1a1ff +# border=002b36ff + +[border] +width=2 +radius=0 + +[dmenu] +# mode=text # text|index +# exit-immediately-if-empty=no + +[key-bindings] +# cancel=Escape Control+g Control+c Control+bracketleft +# execute=Return KP_Enter Control+y +# execute-or-next=Tab +# execute-input=Shift+Return Shift+KP_Enter +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-line=Control+Shift+BackSpace +# delete-prev=BackSpace Control+h +# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w +# delete-line-backward=Control+u +# delete-next=Delete KP_Delete Control+d +# delete-next-word=Mod1+d Control+Delete Control+KP_Delete +# delete-line-forward=Control+k +# prev=Up Control+p +# prev-with-wrap=ISO_Left_Tab +# prev-page=Page_Up KP_Page_Up +# next=Down Control+n +# next-with-wrap=none +# next-page=Page_Down KP_Page_Down +# expunge=Shift+Delete +# clipboard-paste=Control+v XF86Paste +# primary-paste=Shift+Insert Shift+KP_Insert + +# custom-N: *dmenu mode only*. Like execute, but with a non-zero +# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3 +# with 12, and so on. + +# custom-1=Mod1+1 +# custom-2=Mod1+2 +# custom-3=Mod1+3 +# custom-4=Mod1+4 +# custom-5=Mod1+5 +# custom-6=Mod1+6 +# custom-7=Mod1+7 +# custom-8=Mod1+8 +# custom-9=Mod1+9 +# custom-10=Mod1+0 +# custom-11=Mod1+exclam +# custom-12=Mod1+at +# custom-13=Mod1+numbersign +# custom-14=Mod1+dollar +# custom-15=Mod1+percent +# custom-16=Mod1+dead_circumflex +# custom-17=Mod1+ampersand +# custom-18=Mod1+asterix +# custom-19=Mod1+parentleft +# vim: commentstring=#\ %s diff --git a/git/dot-config/git/config b/git/dot-config/git/config index 3a89c6f..4e4c1b8 100644 --- a/git/dot-config/git/config +++ b/git/dot-config/git/config @@ -11,7 +11,7 @@ [user] name = Mohammad Reza Karimi email = m.r.karimi.j@gmail.com - signingkey = 802D310CAC1F1CE6EDD55DF10A777EAC5BCAEB1B + signingkey = 802BD02B4E3FE968B8AA2E974EC3BC726F3E7C5F [commit] verbose = true gpgsign = true @@ -22,26 +22,25 @@ [difftool "difftastic"] cmd = difft "$LOCAL" "$REMOTE" [difftool] - prompt = false + prompt = false [diff] algorithm = histogram - tool = difftastic + tool = nvim_difftool [mergetool "fugitive"] - cmd = nvim -c \"Gvdiffsplit!\" \"$MERGED\" + cmd = nvim -c \"Gvdiffsplit!\" \"$MERGED\" [merge] - tool = fugitive + tool = fugitive conflictstyle = zdiff3 [grep] lineNumber = true column = true patternType = extended [pager] - difftool = true + difftool = true [rerere] - enabled = true + enabled = true [fetch] - prune = true - + prune = true [credential "https://git.overleaf.com"] helper = !pass git/overleaf@mit [url "https://github.com/"] diff --git a/gtk/dot-config/Kvantum/kvantum.kvconfig b/gtk/dot-config/Kvantum/kvantum.kvconfig deleted file mode 100644 index 14c5b92..0000000 --- a/gtk/dot-config/Kvantum/kvantum.kvconfig +++ /dev/null @@ -1,2 +0,0 @@ -[General] -theme=KvGnomeDark diff --git a/gtk/dot-config/gtk-3.0/settings.ini b/gtk/dot-config/gtk-3.0/settings.ini index 0ce71ef..ec44b30 100644 --- a/gtk/dot-config/gtk-3.0/settings.ini +++ b/gtk/dot-config/gtk-3.0/settings.ini @@ -1,14 +1,14 @@ [Settings] gtk-theme-name=Adwaita-dark gtk-icon-theme-name=Yaru-dark -gtk-font-name=Sans 10 +gtk-font-name=SF Pro Text 11 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=0 -gtk-enable-event-sounds=0 +gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=0 gtk-xft-antialias=1 gtk-xft-hinting=1 diff --git a/gtk/dot-config/gtk-4.0/settings.ini b/gtk/dot-config/gtk-4.0/settings.ini index e54cedf..3d069ae 100644 --- a/gtk/dot-config/gtk-4.0/settings.ini +++ b/gtk/dot-config/gtk-4.0/settings.ini @@ -1,7 +1,7 @@ [Settings] gtk-theme-name=Adwaita-dark gtk-icon-theme-name=Yaru-dark -gtk-font-name=Sans 10 +gtk-font-name=SF Pro Text 11 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=24 gtk-application-prefer-dark-theme=1 diff --git a/lf/dot-config/lf/lfrc b/lf/dot-config/lf/lfrc index ee30df9..137c3ce 100644 --- a/lf/dot-config/lf/lfrc +++ b/lf/dot-config/lf/lfrc @@ -8,17 +8,17 @@ set icons set scrolloff 10 set period 1 # set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml" -set previewer "~/.config/lf/previewer" +set previewer "~/.config/lf/scripts/previewer" cmd open ${{ case $(file --mime-type "$(readlink -f "$f")" -b) in text/* | application/json | inode/x-empty | application/x-subrip) $EDITOR "$fx" ;; - image/*) setsid -f runapp -o -- imv -d $(rotdir "$f" | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$") 2>/dev/null | while read -r file; do + image/*) setsid -f imv -d $(rotdir "$f" | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$") 2>/dev/null | while read -r file; do [ -z "$file" ] && continue lf -remote "send select \"$file\"" done & ;; - audio/* | video/x-ms-asf) setsid -f runapp -o -- mpv --audio-display=no "$f" ;; - video/*) setsid -f runapp -o -- mpv "$f" -quiet >/dev/null 2>&1 ;; + audio/* | video/x-ms-asf) setsid -f mpv --audio-display=no "$f" ;; + video/*) setsid -f mpv "$f" -quiet >/dev/null 2>&1 ;; application/pgp-encrypted) $EDITOR "$fx" ;; *) for f in $fx; do setsid -f xdg-open "$f" >/dev/null 2>&1; done ;; esac @@ -32,7 +32,7 @@ cmd extract ${{ while IFS= read -r filename; do filelist+=" $(basename "$filename")" done <<< "$fx" - if safe_extract "$fx"; then + if ~/.config/lf/scripts/safe_extract "$fx"; then lf -remote "send $id echomsg \"Extracted"$filelist" with ouch.\"" else lf -remote "send $id echoerr \"Cannot extract"$filelist" with ouch.\"" @@ -58,7 +58,7 @@ cmd fzf_jump ${{ }} cmd dragon ${{ - IFS="$(printf '\n\t')"; setsid -f runapp -o -- dragon-drop $fx + IFS="$(printf '\n\t')"; setsid -f dragon-drop $fx }} cmd git_branch ${{ diff --git a/lf/dot-config/lf/previewer b/lf/dot-config/lf/previewer deleted file mode 100755 index 1ce24f3..0000000 --- a/lf/dot-config/lf/previewer +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Arguments sent to this script: -# (1) current filename, (2) width, (3) height, (4) horizontal position, -# (5) vertical position, and (6) mode ("preview" or "preload") - -case "$(file --dereference --brief --mime-type -- "$1")" in - application/*zip) ouch list "$1";; - */pdf) pdftotext "$1" -;; - text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1";; -esac - -exit 1 diff --git a/lf/dot-config/lf/scripts/previewer b/lf/dot-config/lf/scripts/previewer new file mode 100755 index 0000000..1ce24f3 --- /dev/null +++ b/lf/dot-config/lf/scripts/previewer @@ -0,0 +1,13 @@ +#!/bin/sh + +# Arguments sent to this script: +# (1) current filename, (2) width, (3) height, (4) horizontal position, +# (5) vertical position, and (6) mode ("preview" or "preload") + +case "$(file --dereference --brief --mime-type -- "$1")" in + application/*zip) ouch list "$1";; + */pdf) pdftotext "$1" -;; + text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1";; +esac + +exit 1 diff --git a/lf/dot-config/lf/scripts/safe_extract b/lf/dot-config/lf/scripts/safe_extract new file mode 100755 index 0000000..619690a --- /dev/null +++ b/lf/dot-config/lf/scripts/safe_extract @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +( + exec bwrap \ + --ro-bind /usr/bin /usr/bin/ \ + --ro-bind /usr/share /usr/share \ + --ro-bind /usr/lib /usr/lib \ + --ro-bind /usr/lib64 /usr/lib64 \ + --symlink /usr/lib64 /lib64 \ + --symlink /usr/lib /lib \ + --symlink /usr/bin /bin \ + --symlink /usr/bin /sbin \ + --proc /proc \ + --dev /dev \ + --bind "$PWD" "$PWD" \ + --unshare-all \ + --new-session \ + --seccomp 10 \ + 10< "$SCRIPT_DIR"/seccomp_default_filter.bpf \ + /usr/bin/ouch decompress "$@" +) diff --git a/lf/dot-config/lf/scripts/seccomp_default_filter.bpf b/lf/dot-config/lf/scripts/seccomp_default_filter.bpf new file mode 100644 index 0000000..8b23eca Binary files /dev/null and b/lf/dot-config/lf/scripts/seccomp_default_filter.bpf differ diff --git a/lf/dot-config/lf/shortcutrc b/lf/dot-config/lf/shortcutrc deleted file mode 100644 index 09f9ae1..0000000 --- a/lf/dot-config/lf/shortcutrc +++ /dev/null @@ -1,4 +0,0 @@ -map Cmit cd "/home/moreka/mit/18.650-spring-26/" -map Clinatt cd "/home/moreka/mit/linear-attention/" -map Ecala $$EDITOR "/home/moreka/.config/alacritty/alacritty.toml" -map Ecnir $$EDITOR "/home/moreka/.config/niri/config.kdl" diff --git a/mako/dot-config/mako/config b/mako/dot-config/mako/config new file mode 100644 index 0000000..55bd1cd --- /dev/null +++ b/mako/dot-config/mako/config @@ -0,0 +1,40 @@ +# vim: ft=dosini + +# include=~/.cache/wal/colors-mako + +text-color=#bbbbbb +border-color=#005577 +background-color=#222222 +padding=10 +border-size=2 +max-icon-size=32 +outer-margin=20 + +font=Caskaydia Code 11 + +width=420 +height=110 +anchor=top-right +default-timeout=5000 +max-history=10 +icon-path=/usr/share/icons/Adwaita + +[actionable=true] +on-button-right=exec makoctl menu -n "${id}" wmenu + +[app-name=Spotify] +invisible=1 + +[mode=do-not-disturb] +invisible=true + +[mode=do-not-disturb app-name=notify-send] +invisible=false + +[app-name=Mail] +default-timeout=10000 +on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga +on-button-left=exec runapp -o -- alacritty -e aerc + +[urgency=critical] +default-timeout=0 diff --git a/mpv/dot-config/mpv/mpv.conf b/mpv/dot-config/mpv/mpv.conf new file mode 100644 index 0000000..14c6e81 --- /dev/null +++ b/mpv/dot-config/mpv/mpv.conf @@ -0,0 +1,3 @@ +vo=gpu-next +hwdec=yes +ytdl-format="bestvideo[height<=?1800]+bestaudio/best" diff --git a/niri-dms/dot-config/niri/config.kdl b/niri-dms/dot-config/niri/config.kdl new file mode 100644 index 0000000..ec3663d --- /dev/null +++ b/niri-dms/dot-config/niri/config.kdl @@ -0,0 +1,305 @@ +output "eDP-1" { + mode "2880x1800@120.000" + scale 1.75 + transform "normal" + position x=0 y=0 +} + +gestures { + hot-corners { + off + } +} + +input { + keyboard { + xkb { + layout "us,ir" + variant ",pes_keypad" + options "grp:shifts_toggle" + } + repeat-delay 300 + repeat-rate 50 + } + + touchpad { + tap + } + + mouse { + } + + trackpoint { + } + + // warp-mouse-to-focus + // focus-follows-mouse max-scroll-amount="0%" +} + +layout { + background-color "transparent" + gaps 4 + + focus-ring { + width 2 + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + border { + width 2 + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + shadow { + off + } + + tab-indicator { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + insert-hint { + color "#80aa9e80" + } + + center-focused-column "never" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + default-column-width { proportion 0.5; } + + struts { + } +} + +overview { + workspace-shadow { + off + } +} + +environment { + XDG_CURRENT_DESKTOP "niri" +} + +hotkey-overlay { + skip-at-startup +} + +prefer-no-csd + +screenshot-path "~/Pictures/scrots/screenshot-%Y-%m-%d_%H-%M-%S.png" + +animations { + // workspace-switch { + // spring damping-ratio=0.80 stiffness=523 epsilon=0.0001 + // } + window-open { + duration-ms 150 + curve "ease-out-expo" + } + window-close { + duration-ms 150 + curve "ease-out-quad" + } + // horizontal-view-movement { + // spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 + // } + // window-movement { + // spring damping-ratio=0.75 stiffness=323 epsilon=0.0001 + // } + // window-resize { + // spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 + // } + // config-notification-open-close { + // spring damping-ratio=0.65 stiffness=923 epsilon=0.001 + // } + screenshot-ui-open { + duration-ms 200 + curve "ease-out-quad" + } + // overview-open-close { + // spring damping-ratio=0.85 stiffness=800 epsilon=0.0001 + // } +} + +window-rule { + match app-id=r#"^org\.gnome\."# + draw-border-with-background false + geometry-corner-radius 12 + clip-to-geometry true +} + +window-rule { + match app-id=r#"^pavucontrol$"# + default-column-width { proportion 0.5; } + open-floating false +} + +window-rule { + match app-id=r#"^org\.gnome\.Nautilus$"# + match app-id=r#"^xdg-desktop-portal$"# + open-floating true +} + +window-rule { + match app-id="gay.vaskel.soteria" + match app-id="Pinentry-gtk" + open-floating true + open-focused true +} + +window-rule { + match app-id="Alacritty" + match app-id="com.mitchellh.ghostty" + draw-border-with-background false +} + +// Open dms windows as floating by default +window-rule { + match app-id=r#"org.quickshell$"# + open-floating true +} + +window-rule { + geometry-corner-radius 6 + clip-to-geometry true + tiled-state true + draw-border-with-background false +} + +debug { + honor-xdg-activation-with-invalid-serial +} + +// Override to disable super+tab +recent-windows { + highlight { + active-color "#0d3138" + urgent-color "#e96962" + } + binds { + Alt+Tab { next-window scope="output"; } + Alt+Shift+Tab { previous-window scope="output"; } + Alt+grave { next-window filter="app-id"; } + Alt+Shift+grave { previous-window filter="app-id"; } + } +} + +binds { + Mod+Shift+Slash { show-hotkey-overlay; } + + Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn-sh "runapp -o alacritty"; } + Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } + Mod+X hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } + Mod+B hotkey-overlay-title="Open browser" { spawn-sh "runapp -o qutebrowser"; } + Mod+M hotkey-overlay-title="Open mail" { spawn-sh "runapp -o -- alacritty -e aerc"; } + Mod+S hotkey-overlay-title="Open schedule" { spawn-sh "runapp -o -- alacritty -e ikhal"; } + + Mod+Shift+B { spawn "toggle-waybar"; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; } + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && update-led-mute source"; } + + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } + + Mod+O repeat=false { toggle-overview; } + + Mod+Shift+C repeat=false { close-window; } + + Mod+H { focus-column-left; } + Mod+J { focus-window-or-workspace-down; } + Mod+K { focus-window-or-workspace-up; } + Mod+L { focus-column-right; } + + Mod+Shift+H { move-column-left-or-to-monitor-left; } + Mod+Shift+J { move-window-down-or-to-workspace-down; } + Mod+Shift+K { move-window-up-or-to-workspace-up; } + Mod+Shift+L { move-column-right-or-to-monitor-right; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Shift+Home { move-column-to-first; } + Mod+Shift+End { move-column-to-last; } + + Mod+Ctrl+Left { focus-monitor-left; } + Mod+Ctrl+Down { focus-monitor-down; } + Mod+Ctrl+Up { focus-monitor-up; } + Mod+Ctrl+Right { focus-monitor-right; } + + Mod+Shift+Left { move-column-to-monitor-left; } + Mod+Shift+Down { move-column-to-monitor-down; } + Mod+Shift+Up { move-column-to-monitor-up; } + Mod+Shift+Right { move-column-to-monitor-right; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + + Mod+Shift+1 { move-column-to-workspace 1 focus=false; } + Mod+Shift+2 { move-column-to-workspace 2 focus=false; } + Mod+Shift+3 { move-column-to-workspace 3 focus=false; } + Mod+Shift+4 { move-column-to-workspace 4 focus=false; } + Mod+Shift+5 { move-column-to-workspace 5 focus=false; } + Mod+Shift+6 { move-column-to-workspace 6 focus=false; } + Mod+Shift+7 { move-column-to-workspace 7 focus=false; } + Mod+Shift+8 { move-column-to-workspace 8 focus=false; } + Mod+Shift+9 { move-column-to-workspace 9 focus=false; } + + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + + Mod+R { switch-preset-column-width-back; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+Ctrl+F { maximize-window-to-edges; } + + Mod+C { center-column; } + Mod+Ctrl+C { center-visible-columns; } + + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + Mod+Shift+Space { toggle-window-floating; } + Mod+Space { switch-focus-between-floating-and-tiling; } + + Mod+W { toggle-column-tabbed-display; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + Mod+Print { spawn-sh "dms color pick -a"; } + + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + Mod+Shift+E { quit; } + + Mod+Shift+P { power-off-monitors; } +} diff --git a/niri-dms/dot-config/niri/dms/alttab.kdl b/niri-dms/dot-config/niri/dms/alttab.kdl new file mode 100644 index 0000000..2d49f89 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/alttab.kdl @@ -0,0 +1,10 @@ +// ! DO NOT EDIT ! + // ! AUTO-GENERATED BY DMS ! + // ! CHANGES WILL BE OVERWRITTEN ! + // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + + recent-windows { + highlight { + corner-radius 6 + } + } diff --git a/niri-dms/dot-config/niri/dms/binds.kdl b/niri-dms/dot-config/niri/dms/binds.kdl new file mode 100644 index 0000000..e34bd8a --- /dev/null +++ b/niri-dms/dot-config/niri/dms/binds.kdl @@ -0,0 +1,3 @@ +binds { + Mod+X { spawn "dms" "ipc" "lock" "lock"; } +} diff --git a/niri-dms/dot-config/niri/dms/colors.kdl b/niri-dms/dot-config/niri/dms/colors.kdl new file mode 100644 index 0000000..cde2c23 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/colors.kdl @@ -0,0 +1,39 @@ +// ! Auto-generated file. Do not edit directly. +// Remove `include "dms/colors.kdl"` from your config to override. + +layout { + background-color "transparent" + + focus-ring { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + border { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#80aa9e" + inactive-color "#a89984" + urgent-color "#e96962" + } + + insert-hint { + color "#80aa9e80" + } +} + +recent-windows { + highlight { + active-color "#0d3138" + urgent-color "#e96962" + } +} diff --git a/niri-dms/dot-config/niri/dms/cursor.kdl b/niri-dms/dot-config/niri/dms/cursor.kdl new file mode 100644 index 0000000..e69de29 diff --git a/niri-dms/dot-config/niri/dms/layout.kdl b/niri-dms/dot-config/niri/dms/layout.kdl new file mode 100644 index 0000000..ed234cf --- /dev/null +++ b/niri-dms/dot-config/niri/dms/layout.kdl @@ -0,0 +1,22 @@ +// ! DO NOT EDIT ! + // ! AUTO-GENERATED BY DMS ! + // ! CHANGES WILL BE OVERWRITTEN ! + // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + + layout { + gaps 4 + + border { + width 2 + } + + focus-ring { + width 2 + } + } + window-rule { + geometry-corner-radius 6 + clip-to-geometry true + tiled-state true + draw-border-with-background false + } diff --git a/niri-dms/dot-config/niri/dms/outputs.kdl b/niri-dms/dot-config/niri/dms/outputs.kdl new file mode 100644 index 0000000..e69de29 diff --git a/niri-dms/dot-config/niri/dms/windowrules.kdl b/niri-dms/dot-config/niri/dms/windowrules.kdl new file mode 100644 index 0000000..e69de29 diff --git a/niri-dms/dot-config/niri/dms/wpblur.kdl b/niri-dms/dot-config/niri/dms/wpblur.kdl new file mode 100644 index 0000000..3d58802 --- /dev/null +++ b/niri-dms/dot-config/niri/dms/wpblur.kdl @@ -0,0 +1,9 @@ +// ! DO NOT EDIT ! +// ! AUTO-GENERATED BY DMS ! +// ! CHANGES WILL BE OVERWRITTEN ! +// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + +layer-rule { + match namespace="dms:blurwallpaper" + place-within-backdrop true +} diff --git a/niri-dms/dot-config/systemd/user/app-graphical.slice b/niri-dms/dot-config/systemd/user/app-graphical.slice new file mode 100644 index 0000000..bc5ea6d --- /dev/null +++ b/niri-dms/dot-config/systemd/user/app-graphical.slice @@ -0,0 +1,7 @@ +[Unit] +Description=User Graphical Application Slice +Documentation=man:systemd.special(7) +PartOf=graphical-session.target +After=graphical-session.target +Conflicts=niri-shutdown.target +Before=niri-shutdown.target diff --git a/niri/dot-config/niri/animations.kdl b/niri/dot-config/niri/animations.kdl new file mode 100644 index 0000000..946e7ae --- /dev/null +++ b/niri/dot-config/niri/animations.kdl @@ -0,0 +1,2 @@ +animations { +} diff --git a/niri/dot-config/niri/binds.kdl b/niri/dot-config/niri/binds.kdl new file mode 100644 index 0000000..b8b34ad --- /dev/null +++ b/niri/dot-config/niri/binds.kdl @@ -0,0 +1,107 @@ +binds { + Mod+Shift+Slash { show-hotkey-overlay; } + + Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } + Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } + Mod+X hotkey-overlay-title="Lock the Screen: swaylock" { spawn-sh "swaylock -c 000000"; } + Mod+B hotkey-overlay-title="Launch browser: qutebrowser" { spawn "qutebrowser"; } + + // Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc. + // Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`. + // For example, this is a standard bind to toggle the screen reader (orca). + Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + // Using spawn-sh allows to pass multiple arguments together with the command. + // "-l 1.0" limits the volume to 100%. + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; } + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && update-led-mute source"; } + + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+5%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "5%-"; } + + Mod+O repeat=false { toggle-overview; } + + Mod+Shift+C repeat=false { close-window; } + + Mod+H { focus-column-left; } + Mod+L { focus-column-right; } + Mod+J { focus-window-or-workspace-down; } + Mod+K { focus-window-or-workspace-up; } + + Mod+Shift+H { move-column-left-or-to-monitor-left; } + Mod+Shift+L { move-column-right-or-to-monitor-right; } + Mod+Shift+J { move-window-down-or-to-workspace-down; } + Mod+Shift+K { move-window-up-or-to-workspace-up; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + + Mod+Shift+Home { move-column-to-first; } + Mod+Shift+End { move-column-to-last; } + + Mod+Ctrl+H { focus-monitor-left; } + Mod+Ctrl+J { focus-monitor-down; } + Mod+Ctrl+K { focus-monitor-up; } + Mod+Ctrl+L { focus-monitor-right; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+Ctrl+F { maximize-window-to-edges; } + + Mod+C { center-column; } + Mod+Ctrl+C { center-visible-columns; } + + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + Mod+Shift+Space { toggle-window-floating; } + Mod+Space { switch-focus-between-floating-and-tiling; } + + Mod+W { toggle-column-tabbed-display; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + Mod+Print { spawn "colorpick"; } + + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + Mod+Shift+E { quit; } + Mod+Shift+P { power-off-monitors; } +} diff --git a/niri/dot-config/niri/config.kdl b/niri/dot-config/niri/config.kdl index ec3663d..e30839b 100644 --- a/niri/dot-config/niri/config.kdl +++ b/niri/dot-config/niri/config.kdl @@ -1,305 +1,11 @@ -output "eDP-1" { - mode "2880x1800@120.000" - scale 1.75 - transform "normal" - position x=0 y=0 -} - -gestures { - hot-corners { - off - } -} - -input { - keyboard { - xkb { - layout "us,ir" - variant ",pes_keypad" - options "grp:shifts_toggle" - } - repeat-delay 300 - repeat-rate 50 - } - - touchpad { - tap - } - - mouse { - } - - trackpoint { - } - - // warp-mouse-to-focus - // focus-follows-mouse max-scroll-amount="0%" -} - -layout { - background-color "transparent" - gaps 4 - - focus-ring { - width 2 - active-color "#80aa9e" - inactive-color "#a89984" - urgent-color "#e96962" - } - - border { - width 2 - active-color "#80aa9e" - inactive-color "#a89984" - urgent-color "#e96962" - } - - shadow { - off - } - - tab-indicator { - active-color "#80aa9e" - inactive-color "#a89984" - urgent-color "#e96962" - } - - insert-hint { - color "#80aa9e80" - } - - center-focused-column "never" - - preset-column-widths { - proportion 0.33333 - proportion 0.5 - proportion 0.66667 - } - - default-column-width { proportion 0.5; } - - struts { - } -} - -overview { - workspace-shadow { - off - } -} - -environment { - XDG_CURRENT_DESKTOP "niri" -} - -hotkey-overlay { - skip-at-startup -} - -prefer-no-csd - -screenshot-path "~/Pictures/scrots/screenshot-%Y-%m-%d_%H-%M-%S.png" - -animations { - // workspace-switch { - // spring damping-ratio=0.80 stiffness=523 epsilon=0.0001 - // } - window-open { - duration-ms 150 - curve "ease-out-expo" - } - window-close { - duration-ms 150 - curve "ease-out-quad" - } - // horizontal-view-movement { - // spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 - // } - // window-movement { - // spring damping-ratio=0.75 stiffness=323 epsilon=0.0001 - // } - // window-resize { - // spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 - // } - // config-notification-open-close { - // spring damping-ratio=0.65 stiffness=923 epsilon=0.001 - // } - screenshot-ui-open { - duration-ms 200 - curve "ease-out-quad" - } - // overview-open-close { - // spring damping-ratio=0.85 stiffness=800 epsilon=0.0001 - // } -} - -window-rule { - match app-id=r#"^org\.gnome\."# - draw-border-with-background false - geometry-corner-radius 12 - clip-to-geometry true -} - -window-rule { - match app-id=r#"^pavucontrol$"# - default-column-width { proportion 0.5; } - open-floating false -} - -window-rule { - match app-id=r#"^org\.gnome\.Nautilus$"# - match app-id=r#"^xdg-desktop-portal$"# - open-floating true -} - -window-rule { - match app-id="gay.vaskel.soteria" - match app-id="Pinentry-gtk" - open-floating true - open-focused true -} - -window-rule { - match app-id="Alacritty" - match app-id="com.mitchellh.ghostty" - draw-border-with-background false -} - -// Open dms windows as floating by default -window-rule { - match app-id=r#"org.quickshell$"# - open-floating true -} - -window-rule { - geometry-corner-radius 6 - clip-to-geometry true - tiled-state true - draw-border-with-background false -} - -debug { - honor-xdg-activation-with-invalid-serial -} - -// Override to disable super+tab -recent-windows { - highlight { - active-color "#0d3138" - urgent-color "#e96962" - } - binds { - Alt+Tab { next-window scope="output"; } - Alt+Shift+Tab { previous-window scope="output"; } - Alt+grave { next-window filter="app-id"; } - Alt+Shift+grave { previous-window filter="app-id"; } - } -} - -binds { - Mod+Shift+Slash { show-hotkey-overlay; } - - Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn-sh "runapp -o alacritty"; } - Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Mod+X hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } - Mod+B hotkey-overlay-title="Open browser" { spawn-sh "runapp -o qutebrowser"; } - Mod+M hotkey-overlay-title="Open mail" { spawn-sh "runapp -o -- alacritty -e aerc"; } - Mod+S hotkey-overlay-title="Open schedule" { spawn-sh "runapp -o -- alacritty -e ikhal"; } - - Mod+Shift+B { spawn "toggle-waybar"; } - - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; } - XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && update-led-mute source"; } - - XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } - XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } - - Mod+O repeat=false { toggle-overview; } - - Mod+Shift+C repeat=false { close-window; } - - Mod+H { focus-column-left; } - Mod+J { focus-window-or-workspace-down; } - Mod+K { focus-window-or-workspace-up; } - Mod+L { focus-column-right; } - - Mod+Shift+H { move-column-left-or-to-monitor-left; } - Mod+Shift+J { move-window-down-or-to-workspace-down; } - Mod+Shift+K { move-window-up-or-to-workspace-up; } - Mod+Shift+L { move-column-right-or-to-monitor-right; } - - Mod+Home { focus-column-first; } - Mod+End { focus-column-last; } - Mod+Shift+Home { move-column-to-first; } - Mod+Shift+End { move-column-to-last; } - - Mod+Ctrl+Left { focus-monitor-left; } - Mod+Ctrl+Down { focus-monitor-down; } - Mod+Ctrl+Up { focus-monitor-up; } - Mod+Ctrl+Right { focus-monitor-right; } - - Mod+Shift+Left { move-column-to-monitor-left; } - Mod+Shift+Down { move-column-to-monitor-down; } - Mod+Shift+Up { move-column-to-monitor-up; } - Mod+Shift+Right { move-column-to-monitor-right; } - - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - - Mod+Shift+1 { move-column-to-workspace 1 focus=false; } - Mod+Shift+2 { move-column-to-workspace 2 focus=false; } - Mod+Shift+3 { move-column-to-workspace 3 focus=false; } - Mod+Shift+4 { move-column-to-workspace 4 focus=false; } - Mod+Shift+5 { move-column-to-workspace 5 focus=false; } - Mod+Shift+6 { move-column-to-workspace 6 focus=false; } - Mod+Shift+7 { move-column-to-workspace 7 focus=false; } - Mod+Shift+8 { move-column-to-workspace 8 focus=false; } - Mod+Shift+9 { move-column-to-workspace 9 focus=false; } - - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - - Mod+Comma { consume-window-into-column; } - Mod+Period { expel-window-from-column; } - - Mod+R { switch-preset-column-width-back; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } - Mod+Shift+F { fullscreen-window; } - Mod+Ctrl+F { maximize-window-to-edges; } - - Mod+C { center-column; } - Mod+Ctrl+C { center-visible-columns; } - - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } - - Mod+Shift+Space { toggle-window-floating; } - Mod+Space { switch-focus-between-floating-and-tiling; } - - Mod+W { toggle-column-tabbed-display; } - - Print { screenshot; } - Ctrl+Print { screenshot-screen; } - Alt+Print { screenshot-window; } - Mod+Print { spawn-sh "dms color pick -a"; } - - Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } - - Mod+Shift+E { quit; } - - Mod+Shift+P { power-off-monitors; } -} +include "input.kdl" +include "outputs.kdl" +include "workspaces.kdl" +include "layout.kdl" +include "animations.kdl" +include "misc.kdl" +include "binds.kdl" +include "decorations.kdl" +include "rules.kdl" + +spawn-at-startup "/usr/lib/soteria-polkit/soteria" diff --git a/niri/dot-config/niri/decorations.kdl b/niri/dot-config/niri/decorations.kdl new file mode 100644 index 0000000..736bd27 --- /dev/null +++ b/niri/dot-config/niri/decorations.kdl @@ -0,0 +1,16 @@ +prefer-no-csd + +layout { + background-color "#1f666c" +} + +window-rule { + match app-id="^Alacritty$" + match app-id="^Alacritty-floating$" + + clip-to-geometry true + tiled-state true + draw-border-with-background false + + shadow { on; } +} diff --git a/niri/dot-config/niri/input.kdl b/niri/dot-config/niri/input.kdl new file mode 100644 index 0000000..692b99f --- /dev/null +++ b/niri/dot-config/niri/input.kdl @@ -0,0 +1,21 @@ +input { + keyboard { + xkb { + layout "us,ir" + variant ",pes_keypad" + options "grp:shifts_toggle" + } + repeat-delay 300 + repeat-rate 50 + } + + touchpad { + tap + } + + mouse { + } + + trackpoint { + } +} diff --git a/niri/dot-config/niri/layout.kdl b/niri/dot-config/niri/layout.kdl new file mode 100644 index 0000000..1d4f811 --- /dev/null +++ b/niri/dot-config/niri/layout.kdl @@ -0,0 +1,39 @@ +layout { + gaps 8 + center-focused-column "never" + preset-column-widths { + proportion 0.333333333333 + proportion 0.5 + proportion 0.66667 + } + default-column-width { proportion 0.5; } + + focus-ring { + width 2 + active-color "#7fc8ff" + inactive-color "transparent" + active-gradient from="#E5989B" to="#FFB4A2" angle=45 relative-to="workspace-view" in="oklch longer hue" + } + + border { + off + width 2 + active-color "#6c7086" + inactive-color "#6c7086" + urgent-color "#9b0000" + + active-gradient from="#E5989B" to="#FFB4A2" angle=45 relative-to="workspace-view" in="oklch longer hue" + } + + insert-hint { + color "#ffc87f80" + gradient from="#f38ba880" to="#f9e2af80" angle=0 relative-to="workspace-view" + } + + shadow { + off + } + + struts { + } +} diff --git a/niri/dot-config/niri/misc.kdl b/niri/dot-config/niri/misc.kdl new file mode 100644 index 0000000..4fcf644 --- /dev/null +++ b/niri/dot-config/niri/misc.kdl @@ -0,0 +1,29 @@ +recent-windows { + highlight { + corner-radius 14 + } + previews { + max-height 320 + } +} + +environment { + _JAVA_AWT_WM_NONREPARENTING "1" + ANV_DEBUG "video-decode,video-encode" +} + +gestures { + hot-corners { + off + } +} + +clipboard { + disable-primary +} + +hotkey-overlay { + skip-at-startup +} + +screenshot-path "~/Pictures/scrots/screenshot-%Y-%m-%d_%H-%M-%S.png" diff --git a/niri/dot-config/niri/outputs.kdl b/niri/dot-config/niri/outputs.kdl new file mode 100644 index 0000000..adbde2f --- /dev/null +++ b/niri/dot-config/niri/outputs.kdl @@ -0,0 +1,6 @@ +output "eDP-1" { + mode "2880x1800@120.000" + scale 1.75 + transform "normal" + position x=0 y=0 +} diff --git a/niri/dot-config/niri/rules.kdl b/niri/dot-config/niri/rules.kdl new file mode 100644 index 0000000..03cd555 --- /dev/null +++ b/niri/dot-config/niri/rules.kdl @@ -0,0 +1,5 @@ +window-rule { + match app-id="imv-preview" + open-focused false + open-floating true +} diff --git a/niri/dot-config/niri/workspaces.kdl b/niri/dot-config/niri/workspaces.kdl new file mode 100644 index 0000000..ee7e1c7 --- /dev/null +++ b/niri/dot-config/niri/workspaces.kdl @@ -0,0 +1,5 @@ +/-workspace "notes" { +} + +/-workspace "browser" { +} diff --git a/niri/dot-config/systemd/user/app-graphical.slice b/niri/dot-config/systemd/user/app-graphical.slice deleted file mode 100644 index bc5ea6d..0000000 --- a/niri/dot-config/systemd/user/app-graphical.slice +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=User Graphical Application Slice -Documentation=man:systemd.special(7) -PartOf=graphical-session.target -After=graphical-session.target -Conflicts=niri-shutdown.target -Before=niri-shutdown.target diff --git a/psd/dot-config/psd/.psd.conf b/psd/dot-config/psd/.psd.conf new file mode 100644 index 0000000..826129b --- /dev/null +++ b/psd/dot-config/psd/.psd.conf @@ -0,0 +1,10 @@ +# Automatically generated file; DO NOT EDIT! +# The purpose is to snapshot the settings used when psd was activated. +# Any edits to the live config: /home/moreka/.config/psd/psd.conf +# will be applied the _next_ time psd is activated. +# +USE_OVERLAYFS="yes" +USE_SUSPSYNC="" +BROWSERS="firefox chromium qutebrowser" +USE_BACKUPS="yes" +BACKUP_LIMIT="5" diff --git a/psd/dot-config/psd/psd.conf b/psd/dot-config/psd/psd.conf index efdb163..95967f8 100644 --- a/psd/dot-config/psd/psd.conf +++ b/psd/dot-config/psd/psd.conf @@ -58,7 +58,7 @@ USE_OVERLAYFS="yes" # vivaldi # vivaldi-snapshot # -BROWSERS=(chromium qutebrowser) +BROWSERS=(firefox chromium qutebrowser) # Uncomment and set to "no" to completely disable the crash recovery feature. # diff --git a/qute/dot-config/qutebrowser/config.py b/qute/dot-config/qutebrowser/config.py index b9a5e51..df8048a 100644 --- a/qute/dot-config/qutebrowser/config.py +++ b/qute/dot-config/qutebrowser/config.py @@ -5,6 +5,8 @@ c.url.searchengines = { "!aur": "https://aur.archlinux.org/packages?O=0&SeB=nd&K={}&outdated=&SB=p&SO=d&PP=50&submit=Go", "!gh": "https://github.com/search?o=desc&q={}&s=stars", "!yt": "https://www.youtube.com/results?search_query={}", + "!gw": "https://wiki.gentoo.org/index.php?title=Special%3ASearch&search={}&fulltext=Search", + "!gp": "https://packages.gentoo.org/packages/search?q={}", } c.url.default_page = "file:///home/moreka/.config/qutebrowser/startpage.html" @@ -50,12 +52,12 @@ config.bind( config.bind( ",m", - "spawn setsid runapp -o -- mpv {url}", + "spawn setsid mpv {url}", ) config.bind( ",M", - "hint links spawn setsid runapp -o -- mpv {hint-url}", + "hint links spawn mpv {hint-url}", ) config.bind( @@ -72,7 +74,7 @@ c.editor.command = ["alacritty", "-e", "nvim", "{file}", "-c", "normal {line}G{c # } # ) -c.colors.statusbar.private.bg = "#CF87E8" +config.source("themes/doomone.py") c.colors.webpage.preferred_color_scheme = "dark" c.colors.webpage.darkmode.algorithm = "lightness-cielab" @@ -89,13 +91,15 @@ with config.pattern("*://*.slack.com/*") as p: with config.pattern("*://accounts.google.com/*") as p: p.content.headers.user_agent = ( - "Mozilla/5.0 (X11; Linux x86_64; rv:147.0) Gecko/20100101 Firefox/147.0" + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36" ) c.content.blocking.enabled = True c.content.blocking.method = "both" -# c.content.blocking.adblock.lists = [ +c.content.blocking.adblock.lists.extend([ + "https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/list.txt", +]) # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/legacy.txt", # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters.txt", # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2020.txt", diff --git a/qute/dot-config/qutebrowser/quickmarks b/qute/dot-config/qutebrowser/quickmarks index b7a9abf..54d8b1d 100644 --- a/qute/dot-config/qutebrowser/quickmarks +++ b/qute/dot-config/qutebrowser/quickmarks @@ -28,3 +28,5 @@ good aerc tutorial https://wilw.dev/notes/aerc good aerc tutorial 2 https://bence.ferdinandy.com/2023/07/20/email-in-the-terminal-a-complete-guide-to-the-unix-way-of-email/ gradescope now https://www.gradescope.com/courses/1247846 mit library https://mit.primo.exlibrisgroup.com/discovery/search?vid=01MIT_INST:MIT&lang=en +github folder downloader http://danielcregg.is-a.dev/github-folder-downloader/ +seandewar neovim config https://github.com/seandewar/dotfiles/tree/master/neovim/dot-config/nvim diff --git a/qute/dot-config/qutebrowser/themes/doomone.py b/qute/dot-config/qutebrowser/themes/doomone.py new file mode 100644 index 0000000..742f16e --- /dev/null +++ b/qute/dot-config/qutebrowser/themes/doomone.py @@ -0,0 +1,305 @@ +palette = { + "background": "#282c34", # gray + "foreground": "#dfdfdf", # white + "black": "#181920", + "dark-gray": "#21242b", + "gray": "#282c34", + "cool-gray": "#3b404d", + "medium-gray": "#3f444a", + "light-gray": "#5b6268", + "lighter-gray": "#73797e", + "pale-gray": "#9ca0a4", + "white": "#dfdfdf", + "bright-white": "#fefefe", + "pure-white": "#ffffff", + "darker-purple": "#724f9b", + "dark-purple": "#8c68b7", + "purple": "#AD89DB", + "dark-pink": "#945aa6", + "pink": "#c678dd", + "dark-blue": "#2257a0", + "blue": "#51afef", + "light-blue": "#7bb6e2", + "cyan": "#46d9ff", + "dark-green": "#668044", + "green": "#98be65", + "teal": "#4db5bd", + "red": "#ff6c6b", + "orange": "#da8548", + "yellow": "#ecbe7b", + "manjaro": "#006a6a", +} + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = f"qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 {palette["manjaro"]}, stop:0.5 #1e7979 stop:1 {palette["manjaro"]})" + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = palette["dark-gray"] + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = palette["manjaro"] + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = palette["white"] + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = palette["background"] + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = palette["dark-gray"] + +# Text color of the completion widget. +c.colors.completion.fg = palette["foreground"] + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = palette["medium-gray"] + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = palette["medium-gray"] + +# Top border color of the completion widget category headers. +c.colors.completion.item.selected.border.top = palette["medium-gray"] + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = palette["foreground"] + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = palette["purple"] + +# Foreground color of the selected matched text in the completion. +c.colors.completion.item.selected.match.fg = palette["light-blue"] + +# Color of the scrollbar in completion view +c.colors.completion.scrollbar.bg = palette["medium-gray"] + +# Color of the scrollbar handle in completion view. +c.colors.completion.scrollbar.fg = palette["light-gray"] + +# Background color for the download bar. +c.colors.downloads.bar.bg = palette["dark-gray"] + +# Background color for downloads with errors. +c.colors.downloads.error.bg = palette["red"] + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = palette["pure-white"] + +# Color gradient start for download grays. +c.colors.downloads.start.bg = palette["blue"] + +# Color gradient stop for download grays. +c.colors.downloads.stop.bg = palette["dark-green"] + +# Color gradient start for download foregrounds. +c.colors.downloads.start.fg = palette["pure-white"] + +# Color gradient stop for download foregrounds. +c.colors.downloads.stop.fg = palette["pure-white"] + +# Color gradient interpolation system for download backgrounds. +# Valid values: +# - rgb: Interpolate in the RGB color system. +# - hsv: Interpolate in the HSV color system. +# - hsl: Interpolate in the HSL color system. +# - none: Don't show a gradient. +c.colors.downloads.system.bg = "hsl" + +# Color gradient interpolation system for download foregrounds. +c.colors.downloads.system.fg = "hsl" + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = palette["yellow"] + +# Font color for hints. +c.colors.hints.fg = palette["gray"] + +c.hints.border = "1px solid " + palette["dark-gray"] + +# Font color for the matched part of hints. +c.colors.hints.match.fg = palette["dark-green"] + +# Background color of the keyhint widget. +c.colors.keyhint.bg = palette["dark-gray"] + +# Text color for the keyhint widget. +c.colors.keyhint.fg = palette["blue"] + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = palette["green"] + +# Background color of an error message. +c.colors.messages.error.bg = palette["dark-gray"] + +# Border color of an error message. +c.colors.messages.error.border = palette["light-gray"] + +# Foreground color of an error message. +c.colors.messages.error.fg = palette["red"] + +# Background color of an info message. +c.colors.messages.info.bg = palette["background"] + +# Border color of an info message. +c.colors.messages.info.border = palette["light-gray"] + +# Foreground color an info message. +c.colors.messages.info.fg = palette["foreground"] + +# Background color of a warning message. +c.colors.messages.warning.bg = palette["background"] + +# Border color of a warning message. +c.colors.messages.warning.border = palette["light-gray"] + +# Foreground color a warning message. +c.colors.messages.warning.fg = palette["red"] + +# Background color for prompts. +c.colors.prompts.bg = palette["background"] + +# Border used around UI elements in prompts. +c.colors.prompts.border = "1px solid " + palette["light-gray"] + +# Foreground color for prompts. +c.colors.prompts.fg = palette["foreground"] + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = palette["light-gray"] + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = palette["dark-purple"] + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = palette["foreground"] + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = palette["dark-pink"] + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = palette["foreground"] + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = palette["cool-gray"] + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = palette["foreground"] + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = palette["background"] + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = palette["foreground"] + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = palette["dark-blue"] + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = palette["foreground"] + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = palette["background"] + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = palette["foreground"] + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = palette["darker-purple"] + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = palette["foreground"] + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = palette["light-gray"] + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = palette["foreground"] + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = palette["background"] + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = palette["red"] + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = palette["foreground"] + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = palette["cyan"] + +# Foreground color of the URL in the statusbar on successful load +c.colors.statusbar.url.success.http.fg = palette["green"] +c.colors.statusbar.url.success.https.fg = palette["green"] + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = palette["yellow"] + +# Background color of the tab bar. +c.colors.tabs.bar.bg = palette["light-gray"] + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = palette["pale-gray"] + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = palette["bright-white"] + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = palette["red"] + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = palette["blue"] + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = palette["green"] + +# Color gradient interpolation system for the tab indicator. +# Valid values: +# - rgb: Interpolate in the RGB color system. +# - hsv: Interpolate in the HSV color system. +# - hsl: Interpolate in the HSL color system. +# - none: Don't show a gradient. +c.colors.tabs.indicator.system = "rgb" + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = palette["lighter-gray"] + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = palette["bright-white"] + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = palette["pale-gray"] + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = palette["bright-white"] + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = palette["lighter-gray"] + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = palette["bright-white"] + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = palette["background"] + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = palette["bright-white"] + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = palette["background"] + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = palette["bright-white"] + +# Background color of selected even tabs. +# c.colors.tabs.selected.even.bg = palette["background"] +c.colors.tabs.selected.even.bg = palette["manjaro"] + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = palette["bright-white"] + +# Background color of selected odd tabs. +# c.colors.tabs.selected.odd.bg = palette["background"] +c.colors.tabs.selected.odd.bg = palette["manjaro"] + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = palette["bright-white"] diff --git a/scripts/.stow-local-ignore b/scripts/.stow-local-ignore index 8b7b2fa..7151b83 100644 --- a/scripts/.stow-local-ignore +++ b/scripts/.stow-local-ignore @@ -1,2 +1,8 @@ aconfmgr\-patcher screenshot\-hypr +mail_html_view +mailsync +pywal +toggle-waybar +viml +void-vm diff --git a/scripts/dot-local/bin/fontpreview b/scripts/dot-local/bin/fontpreview new file mode 100755 index 0000000..831bc16 --- /dev/null +++ b/scripts/dot-local/bin/fontpreview @@ -0,0 +1,215 @@ +#!/usr/bin/env bash +# License: GPLv3 +# Credits: Felipe Facundes + +SCRIPT="${0##*/}" +TMPDIR="${TMPDIR:-/tmp}" +FONTPREVIEWTEMPDIR="${TMPDIR}/${SCRIPT%.*}" +TEMP_FILE="$FONTPREVIEWTEMPDIR/temp_prev.jpg" + +[[ -d "${FONTPREVIEWTEMPDIR}" ]] && rm -rf "${FONTPREVIEWTEMPDIR}" +[[ ! -d "${FONTPREVIEWTEMPDIR}" ]] && mkdir -p "${FONTPREVIEWTEMPDIR}" + + +VERSION=1.0 +FONT_SIZE="${FONT_SIZE:-24}" +SIZE="${SIZE:-1000x700}" + +BG_COLOR=${BG_COLOR:-"#ffffff"} +FG_COLOR=${FG_COLOR:-"#000000"} +PREVIEW_TEXT="${PREVIEW_TEXT:-$( + cat <<-EOF + {} + + ABCDEFGHIJKLMNOPQRSTUVWXYZ + + abcdefghijklmnopqrstuvwxyz + + 1234567890 + + '$\!/\%|&*@+=#?()[]' + + A white sheep peacefully + grazes on the green pasture. + EOF +)}" + +# Check if fzf and ImageMagick are installed +if ! command -v fzf magick &> /dev/null; then + echo "Error: This script requires 'fzf' and 'ImageMagick' to be installed." + exit 1 +fi + +imv -s none -i imv-preview 1>&2 2>/dev/null & +IMV_PID=$! + +cleanup() { [[ -d "${FONTPREVIEWTEMPDIR}" ]] && rm -rf "${FONTPREVIEWTEMPDIR}" && kill -9 "$IMV_PID"; } +trap cleanup INT EXIT + +MODE="$TEMP_FILE && (imv-msg $IMV_PID close all && imv-msg $IMV_PID open $TEMP_FILE)" + +read -ra cmd <<< "$MODE" + +clipboard_copy() { + echo "$1" | wl-copy + echo "Font copied to clipboard!" +} + +show_requirements() { +printf "%s" "\ +usage: $SCRIPT [--requirements] + +Essential dependencies and their purposes: + +Core requirements: + fzf Fuzzy finder for interactive font selection + ImageMagick Font preview generation and display (magick command) + +Optional dependencies: + wl-copy (Wayland) Copy fonts to clipboard + xclip (X11) Copy fonts to clipboard + termux-clipboard-set (Termux) Copy fonts to clipboard + feh Fallback image viewer for terminals without Sixel support + xdg-open Fallback image viewer for Desktops without feh +" +} + +show_help() { +printf "%s" "\ +usage: $SCRIPT [-h] [--size \"px\"] [--font-size \"FONT_SIZE\"] [--bg-color \"BG_COLOR\"] + [--fg-color \"FG_COLOR\"] [--preview-text \"PREVIEW_TEXT\"] [-i font.otf] + [-o fontpreview.png] [--dark] [--version] + +┌─┐┌─┐┌┐┌┌┬┐┌─┐┬─┐┌─┐┬ ┬┬┌─┐┬ ┬ +├┤ │ ││││ │ ├─┘├┬┘├┤ └┐┌┘│├┤ │││ +└ └─┘┘└┘ ┴ ┴ ┴└─└─┘ └┘ ┴└─┘└┴┘ +Very customizable and minimal font previewer written in bash + +optional arguments: + -h, --help show this help message and exit + -r, --requirements show dependencies and their purposes + -i, --input filename of the input font (.otf, .ttf, .woff are supported) + -o, --output filename of the output preview image (input.png if not set) + -s, --size size of the font preview window (default: $SIZE) + -fs, --font-size font size (default: $FONT_SIZE) + -bg, --bg-color background color of the font preview window (default: $BG_COLOR) + -fg, --fg-color foreground color of the font preview window (default: $FG_COLOR) + -t, --text preview text that should be displayed in the font preview window + -v, --version show the version of fontpreview you are using + -d, --dark switch to dark mode + +Environment Variables: + FONT_SIZE Set default font size (currently: $FONT_SIZE) + SIZE Set default preview size (currently: $SIZE) + BG_COLOR Set default background color (currently: $BG_COLOR) + FG_COLOR Set default foreground color (currently: $FG_COLOR) + PREVIEW_TEXT Set default preview text +" +echo +show_requirements +} + +while [[ $# -gt 0 ]]; do + case "$1" in + -s|--size) + shift + SIZE="$1" + ;; + -mr|--margin-right) + shift + FZF_MARGIN_R="$1" + ;; + -mh|--margin-height) + shift + FZF_MARGIN_H="$1" + ;; + -h|--help) + show_help + exit + ;; + -r|--requirements) + show_requirements + exit + ;; + -v|--version) + echo "$VERSION" + exit + ;; + -i|--input) + shift + input_font="$1" + ;; + -in|--install) + shift + install_font + ;; + -o|--output) + shift + output_file="$1" + ;; + -fs|--font-size) + shift + FONT_SIZE="$1" + ;; + -bg|--bg-color) + shift + BG_COLOR="$1" + ;; + -fg|--fg-color) + shift + FG_COLOR="$1" + ;; + -t|--text) + shift + PREVIEW_TEXT="$1" + ;; + -d|--dark) + shift + DARK=1 + ;; + --) + shift + break + ;; + *) + shift + break + ;; + esac + shift +done + +if [[ -n "$DARK" ]]; then + _tmpcolor="$BG_COLOR" + BG_COLOR="$FG_COLOR" + FG_COLOR="$_TMPCOL" + unset _tmpcolor +fi + +# If an input file was specified, use only that +if [[ -f "$input_font" ]]; then + font_list="$input_font" +else + # Generate font list only if no input file was specified + font_list=$(magick -list font | grep "Font:" | awk '{print $2}' | sort -u) +fi + +if [[ -n "$output_file" ]]; then + [[ ! -f "$font_list" ]] && echo "Use -i to specify the font file and -o to extract the image" && exit 1 + magick -size "$SIZE" -background "$BG_COLOR" -fill "$FG_COLOR" -font "$font_list" \ + -pointsize "$FONT_SIZE" label:"$PREVIEW_TEXT" -geometry "$SIZE" "$output_file" + exit 0 +elif [[ -z "$output_file" ]]; then + # Use fzf for interactive selection with Sixel preview + selected_font=$(echo "$font_list" | fzf \ + --prompt="Select a font: " \ + --preview="magick -size \"$SIZE\" -background \"$BG_COLOR\" -fill \"$FG_COLOR\" -font '{}' \ + -pointsize \"$FONT_SIZE\" label:\"$PREVIEW_TEXT\" -geometry \"$SIZE\" ${cmd[*]}") + # If a font was selected, show confirmation + if [[ -n "$selected_font" ]]; then + echo "Selected font: $selected_font" + clipboard_copy "$selected_font" + else + echo "No font selected." + fi +fi diff --git a/scripts/dot-local/bin/safe_extract b/scripts/dot-local/bin/safe_extract deleted file mode 100755 index 3b7b88c..0000000 --- a/scripts/dot-local/bin/safe_extract +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail -( - exec bwrap \ - --ro-bind /usr/bin /usr/bin/ \ - --ro-bind /usr/share /usr/share \ - --ro-bind /usr/lib /usr/lib \ - --ro-bind /usr/lib64 /usr/lib64 \ - --symlink /usr/lib64 /lib64 \ - --symlink /usr/lib /lib \ - --symlink /usr/bin /bin \ - --symlink /usr/bin /sbin \ - --proc /proc \ - --dev /dev \ - --bind "$PWD" "$PWD" \ - --unshare-all \ - --new-session \ - --seccomp 10 \ - 10< /home/moreka/probe/bwrap/seccomp_default_filter.bpf \ - /usr/bin/ouch decompress "$@" -) diff --git a/scripts/dot-local/bin/shortcuts b/scripts/dot-local/bin/shortcuts index e2d59f6..cfeb53f 100755 --- a/scripts/dot-local/bin/shortcuts +++ b/scripts/dot-local/bin/shortcuts @@ -8,8 +8,8 @@ bmfiles="$confdir/bm-files" # Output locations. Unactivated progs should go to /dev/null. shell_shortcuts="$confdir/shortcutrc" shell_env_shortcuts="$confdir/shortcutenvrc" -zsh_named_dirs="$confdir/zshnameddirs" -lf_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcutrc" +zsh_named_dirs="/dev/null" +lf_shortcuts="/dev/null" vim_shortcuts="/dev/null" qute_shortcuts="/dev/null" fish_shortcuts="/dev/null" diff --git a/services/dot-config/systemd/user/kanshi.service b/services/dot-config/systemd/user/kanshi.service new file mode 100644 index 0000000..4554384 --- /dev/null +++ b/services/dot-config/systemd/user/kanshi.service @@ -0,0 +1,13 @@ +[Unit] +Description=Kanshi Wayland output manager +PartOf=graphical-session.target +After=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/kanshi +ExecReload=kill -SIGHUP $MAINPID +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/soteria.service b/services/dot-config/systemd/user/soteria.service new file mode 100644 index 0000000..61961ef --- /dev/null +++ b/services/dot-config/systemd/user/soteria.service @@ -0,0 +1,12 @@ +[Unit] +Description=GTK-based polkit authentication agent +PartOf=graphical-session.target +After=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/lib/soteria-polkit/soteria +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/swaybg.service b/services/dot-config/systemd/user/swaybg.service new file mode 100644 index 0000000..9fd3e56 --- /dev/null +++ b/services/dot-config/systemd/user/swaybg.service @@ -0,0 +1,12 @@ +[Unit] +Description=Swaybg wallpaper utility +PartOf=graphical-session.target +After=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/swaybg -m fill -i %h/Pictures/wallpapers/galaxy.jpg +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/swayidle.service b/services/dot-config/systemd/user/swayidle.service new file mode 100644 index 0000000..9160750 --- /dev/null +++ b/services/dot-config/systemd/user/swayidle.service @@ -0,0 +1,12 @@ +[Unit] +Description=swayidle for setting timeouts for idling +PartOf=graphical-session.target +After=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/swayidle -w timeout 601 'niri msg action power-off-monitors' timeout 600 'swaylock -f' before-sleep 'swaylock -f' +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/swayosd-server.service b/services/dot-config/systemd/user/swayosd-server.service new file mode 100644 index 0000000..a43dd08 --- /dev/null +++ b/services/dot-config/systemd/user/swayosd-server.service @@ -0,0 +1,12 @@ +[Unit] +Description=SwayOSD server +After=graphical-session.target +PartOf=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/swayosd-server +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/wl-clip-persist.service b/services/dot-config/systemd/user/wl-clip-persist.service new file mode 100644 index 0000000..57c6a6c --- /dev/null +++ b/services/dot-config/systemd/user/wl-clip-persist.service @@ -0,0 +1,13 @@ +[Unit] +Description=Clipboard history manager for wayland +Documentation=https://github.com/Linus789/wl-clip-persist +After=graphical-session.target +PartOf=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/wl-clip-persist --clipboard regular --disable-timestamps +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/services/dot-config/systemd/user/wlsunset.service b/services/dot-config/systemd/user/wlsunset.service new file mode 100644 index 0000000..53751c1 --- /dev/null +++ b/services/dot-config/systemd/user/wlsunset.service @@ -0,0 +1,14 @@ +[Unit] +PartOf=graphical-session.target +Description=WLSunset for better screen colors +Documentation=man:wlsunset(1) +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/wlsunset -l 42.3 -L '-71.0' -t 4000 -T 6500 +Restart=on-failure + +[Install] +WantedBy=graphical-session.target diff --git a/swaylock/dot-config/swaylock/config b/swaylock/dot-config/swaylock/config new file mode 100644 index 0000000..3be82fa --- /dev/null +++ b/swaylock/dot-config/swaylock/config @@ -0,0 +1,4 @@ +ignore-empty-password +show-failed-attempts +color=000000 +font=monospace diff --git a/waybar-vert/dot-config/waybar/config.jsonc b/waybar-vert/dot-config/waybar/config.jsonc new file mode 100644 index 0000000..8788765 --- /dev/null +++ b/waybar-vert/dot-config/waybar/config.jsonc @@ -0,0 +1,136 @@ +{ + "position": "right", + "exclusive": false, + "layer": "top", + "margin": "5 2 5 0", + // "height": 18, + "spacing": 5, + "reload_style_on_change": true, + "modules-left": [ + ], + "modules-right": [ + ], + "modules-center": [ + "niri/workspaces", + "custom/weather", + "idle_inhibitor", + "wireplumber", + "network", + "power-profiles-daemon", + "backlight", + "niri/language", + "battery", + "tray", + "clock" + ], + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "󰒳", + "deactivated": "󰒲" + } + }, + "tray": { + "icon-size": 12, + "spacing": 5 + }, + "clock": { + "interval": 60, + "format": "{:%a\n%d\n%b\n\n%H\n%M}", + "tooltip-format": "{:%Y %B}\n{calendar}", + "justify": "center" + }, + "backlight": { + "format": "{icon}", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "tooltip-format": "{percent}%" + }, + "battery": { + "states": { + "warning": 30, + "critical": 10 + }, + "format": "{icon}\n{capacity}", + "format-full": "{icon}", + "format-charging": "󰢝\n{capacity}%", + "format-plugged": "", + "format-icons": [ + "", + "", + "", + "", + "" + ], + "justify": "center", + "tooltip-format": "{capacity}% {power}W ({time})" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "performance": "", + "balanced": "󰞍", + "power-saver": "" + } + }, + "network": { + "format-wifi": "", + "format-ethernet": "", + "format-disconnected": "󰲛", + "tooltip-format-ethernet": "{ipaddr}/{cidr}", + "tooltip-format-wifi": "{essid} ({signalStrength}%) {gwaddr}", + "tooltip-format-disconnected": "Disconnected", + "format-linked": "-", + "justify": "center", + "on-click": "runapp -o -- alacritty -e impala" + }, + "wireplumber": { + "format": "{icon}", + "format-muted": "", + "on-click": "runapp -o -- alacritty -e bash -c 'wpctl status | less'", + "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink", + "max-volume": 100, + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [ + "", + "", + "" + ] + }, + "justify": "center" + }, + "niri/language": { + "format": "{}", + "format-en": "en", + "format-fa": "فا" + }, + "niri/window": { + "icon": true, + "icon-size": 13 + }, + "custom/weather": { + "format": "{}°", + "tooltip": true, + "interval": 3600, + "exec": "wttrbar", + "return-type": "json" + } +} diff --git a/waybar-vert/dot-config/waybar/style.css b/waybar-vert/dot-config/waybar/style.css new file mode 100644 index 0000000..357f320 --- /dev/null +++ b/waybar-vert/dot-config/waybar/style.css @@ -0,0 +1,161 @@ +@import url("file:///home/moreka/.cache/wal/colors-waybar.css"); +@define-color transp alpha(@background, 0); +@define-color effort2 alpha(@background, 0.8); +@define-color border lighter(@background); +@define-color shadow darker(@background); +/* @define-color foreground #eeeeee; */ + +* { + font-family: Dejavu Sans Mono, Vazirmatn UI; + font-size: 12px; + min-width: 0; +} + +window#waybar { + background-color: @transp; + background-blend-mode: screen; + color: @foreground; +} + +.modules-center { + background: @effort2; + background-blend-mode: overlay; + padding: 4px 2px; + margin: 0px 5px; + border-radius: 20px; + border: 2px solid @border; + box-shadow: 0px 0px 3px 4px @shadow; +} + +tooltip { + background: #000000; + padding: 4px; +} + +tooltip label { + color: white; + padding: 0; + margin: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +#workspaces button:hover { + background: inherit; +} + +#workspaces button { + padding: 0px; + border: none; + border-radius: 40px; + background-color: transparent; + margin-bottom: 4px; +} + +#workspaces:last-child { + margin-bottom: 0px; +} + +#workspaces button label { + color: #bbbbbb; + font-size: 10px; + padding: 0px; + margin: 0px; +} + +#workspaces button:hover { + background-color: rgba(0, 0, 0, 0.2); +} + + +#workspaces button.active.empty { + background-color: #005577; +} + +#workspaces button.active:not(.empty) { + background-color: #005577; + /* border: 1px solid #0088aa; */ +} + +#workspaces button.active label { + font-weight: 900; + color: #eeeeee; +} + +#workspaces button:not(.active):not(.empty) { + /* border: 1px solid #444444; */ +} + + +#workspaces button.urgent { + background-color: #eb4d4b; +} + + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 5px 0px; +} + +#clock { + font-weight: bold; + border-top: 1px solid #777777; + padding-top: 10px; +} + +#window, +#workspaces { + margin: 4px 0px; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon.performance { + color: #f53c3c; +} + +label:focus { + background-color: #000000; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor.activated { + color: #f53c3c; +} diff --git a/waybar/dot-config/waybar/config.jsonc b/waybar/dot-config/waybar/config.jsonc index 8788765..d6859b2 100644 --- a/waybar/dot-config/waybar/config.jsonc +++ b/waybar/dot-config/waybar/config.jsonc @@ -1,136 +1,111 @@ +// vim: ft=jsonc { - "position": "right", - "exclusive": false, "layer": "top", - "margin": "5 2 5 0", - // "height": 18, - "spacing": 5, + "position": "bottom", + "height": 20, + "spacing": 0, "reload_style_on_change": true, "modules-left": [ - ], - "modules-right": [ + "niri/workspaces", + "niri/window" ], "modules-center": [ - "niri/workspaces", - "custom/weather", + ], + "modules-right": [ "idle_inhibitor", - "wireplumber", + "wireplumber#sink", "network", "power-profiles-daemon", + "cpu", + "memory", + "temperature", "backlight", "niri/language", "battery", - "tray", - "clock" + "clock", + "tray" ], "idle_inhibitor": { "format": "{icon}", "format-icons": { - "activated": "󰒳", - "deactivated": "󰒲" + "activated": "", + "deactivated": "" } }, "tray": { "icon-size": 12, - "spacing": 5 + "spacing": 10 }, "clock": { - "interval": 60, - "format": "{:%a\n%d\n%b\n\n%H\n%M}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "justify": "center" + "format": "{:%a %d %b %H:%M}", + "tooltip-format": "{:%Y %B}\n{calendar}", + "interval": 60 + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + // "format-critical": "{temperatureC}°C {icon}", + "critical-threshold": 80, + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] }, "backlight": { - "format": "{icon}", - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "tooltip-format": "{percent}%" + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] }, "battery": { "states": { + // "good": 95, "warning": 30, - "critical": 10 + "critical": 15 }, - "format": "{icon}\n{capacity}", - "format-full": "{icon}", - "format-charging": "󰢝\n{capacity}%", - "format-plugged": "", - "format-icons": [ - "", - "", - "", - "", - "" - ], - "justify": "center", - "tooltip-format": "{capacity}% {power}W ({time})" + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] }, "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "performance": "", - "balanced": "󰞍", - "power-saver": "" - } + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } }, "network": { - "format-wifi": "", - "format-ethernet": "", - "format-disconnected": "󰲛", - "tooltip-format-ethernet": "{ipaddr}/{cidr}", - "tooltip-format-wifi": "{essid} ({signalStrength}%) {gwaddr}", - "tooltip-format-disconnected": "Disconnected", - "format-linked": "-", - "justify": "center", - "on-click": "runapp -o -- alacritty -e impala" + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" }, - "wireplumber": { - "format": "{icon}", + "wireplumber#sink": { + "node-type": "Audio/Sink", + "format": "{volume}% ", "format-muted": "", - "on-click": "runapp -o -- alacritty -e bash -c 'wpctl status | less'", - "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && update-led-mute sink", - "max-volume": 100, - "scroll-step": 5, - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": [ - "", - "", - "" - ] - }, - "justify": "center" + "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", + "scroll-step": 4 }, "niri/language": { "format": "{}", - "format-en": "en", - "format-fa": "فا" - }, - "niri/window": { - "icon": true, - "icon-size": 13 - }, - "custom/weather": { - "format": "{}°", - "tooltip": true, - "interval": 3600, - "exec": "wttrbar", - "return-type": "json" + "format-en": "en", + "format-fa": "فا" } } diff --git a/waybar/dot-config/waybar/style.css b/waybar/dot-config/waybar/style.css index 357f320..d6f56ec 100644 --- a/waybar/dot-config/waybar/style.css +++ b/waybar/dot-config/waybar/style.css @@ -1,95 +1,65 @@ -@import url("file:///home/moreka/.cache/wal/colors-waybar.css"); -@define-color transp alpha(@background, 0); -@define-color effort2 alpha(@background, 0.8); -@define-color border lighter(@background); -@define-color shadow darker(@background); -/* @define-color foreground #eeeeee; */ - * { - font-family: Dejavu Sans Mono, Vazirmatn UI; + font-family: monospace, "Nerd Font Symbols"; font-size: 12px; - min-width: 0; + min-height: 0; } window#waybar { - background-color: @transp; - background-blend-mode: screen; - color: @foreground; + background-color: rgba(43, 48, 59, 1.0); + color: #ffffff; + transition-property: background-color; + transition-duration: .2s; } -.modules-center { - background: @effort2; - background-blend-mode: overlay; - padding: 4px 2px; - margin: 0px 5px; - border-radius: 20px; - border: 2px solid @border; - box-shadow: 0px 0px 3px 4px @shadow; +window#waybar.hidden { + opacity: 0.2; } -tooltip { - background: #000000; - padding: 4px; +window#waybar.termite { + background-color: #3F3F3F; } -tooltip label { - color: white; - padding: 0; - margin: 0; +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -1px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; } /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ -#workspaces button:hover { +button:hover { background: inherit; + box-shadow: inset 0 -1px #ffffff; } #workspaces button { - padding: 0px; - border: none; - border-radius: 40px; + padding: 0 5px; background-color: transparent; - margin-bottom: 4px; -} - -#workspaces:last-child { - margin-bottom: 0px; -} - -#workspaces button label { - color: #bbbbbb; - font-size: 10px; - padding: 0px; - margin: 0px; + color: #ffffff; } #workspaces button:hover { - background-color: rgba(0, 0, 0, 0.2); -} - - -#workspaces button.active.empty { - background-color: #005577; -} - -#workspaces button.active:not(.empty) { - background-color: #005577; - /* border: 1px solid #0088aa; */ -} - -#workspaces button.active label { - font-weight: 900; - color: #eeeeee; + background: rgba(0, 0, 0, 0.2); } -#workspaces button:not(.active):not(.empty) { - /* border: 1px solid #444444; */ +#workspaces button.focused, #workspaces button.active { + background-color: #64727D; + box-shadow: inset 0 -1px #ebebeb; } - #workspaces button.urgent { background-color: #eb4d4b; } +#window { + padding-left: 5px; +} #clock, #battery, @@ -108,27 +78,47 @@ tooltip label { #scratchpad, #power-profiles-daemon, #mpd { - padding: 5px 0px; + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; } #clock { font-weight: bold; - border-top: 1px solid #777777; - padding-top: 10px; } -#window, -#workspaces { - margin: 4px 0px; +#battery { + /* background-color: #ffffff; */ + /* color: #000000; */ +} + +#battery.charging, #battery.plugged { + /* color: #ffffff; */ + /* background-color: #26A65B; */ } @keyframes blink { to { - background-color: #ffffff; - color: #000000; + background-color: #000000; + color: #ffffff; } } +/* Using steps() instead of linear as a timing function to limit cpu usage */ #battery.critical:not(.charging) { background-color: #f53c3c; color: #ffffff; @@ -139,14 +129,73 @@ tooltip label { animation-direction: alternate; } +#power-profiles-daemon { + padding: 0 5px; + min-width: 16px; + /* padding-right: 15px; */ +} + #power-profiles-daemon.performance { - color: #f53c3c; + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + /* background-color: #2980b9; */ + /* color: #ffffff; */ +} + +#power-profiles-daemon.power-saver { + /* background-color: #2ecc71; */ + /* color: #000000; */ } label:focus { background-color: #000000; } +#cpu { + /* background-color: #2ecc71; */ + /* color: #000000; */ +} + +#memory { + /* background-color: #9b59b6; */ +} + +#backlight { + /* background-color: #90b1b1; */ +} + +#network { + /* background-color: #2980b9; */ +} + +#network.disconnected { + background-color: #f53c3c; +} + +#wireplumber { + /* background-color: #f1c40f; */ + /* color: #000000; */ +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#temperature { + /* background-color: #f0932b; */ +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /* background-color: #2980b9; */ +} + #tray > .passive { -gtk-icon-effect: dim; } @@ -156,6 +205,18 @@ label:focus { background-color: #eb4d4b; } +#idle_inhibitor { + /* background-color: #2d3436; */ +} + #idle_inhibitor.activated { - color: #f53c3c; + background-color: #ecf0f1; + color: #2d3436; +} + +#language { + /* background: #00b093; */ + /* color: #740864; */ + padding: 0 5px; + min-width: 16px; } diff --git a/wayland-basics/dot-config/autostart/at-spi-dbus-bus.desktop b/wayland-basics/dot-config/autostart/at-spi-dbus-bus.desktop deleted file mode 100644 index 9baab50..0000000 --- a/wayland-basics/dot-config/autostart/at-spi-dbus-bus.desktop +++ /dev/null @@ -1 +0,0 @@ -Hidden=true diff --git a/wayland-basics/dot-config/environment.d/10-home-manager.conf b/wayland-basics/dot-config/environment.d/10-home-manager.conf deleted file mode 120000 index 72f9854..0000000 --- a/wayland-basics/dot-config/environment.d/10-home-manager.conf +++ /dev/null @@ -1 +0,0 @@ -/nix/store/g7vq71db7zyyg0hav0psmm4v7fda87sw-home-manager-files/.config/environment.d/10-home-manager.conf \ No newline at end of file diff --git a/wayland-basics/dot-config/environment.d/90-dms.conf b/wayland-basics/dot-config/environment.d/90-dms.conf deleted file mode 100644 index 747ba92..0000000 --- a/wayland-basics/dot-config/environment.d/90-dms.conf +++ /dev/null @@ -1,2 +0,0 @@ -DMS_DISABLE_MATUGEN=1 -DMS_DISABLE_POLKIT=1 diff --git a/wayland-basics/dot-config/environment.d/wayland.conf b/wayland-basics/dot-config/environment.d/wayland.conf deleted file mode 100644 index 016d8a8..0000000 --- a/wayland-basics/dot-config/environment.d/wayland.conf +++ /dev/null @@ -1,19 +0,0 @@ -# graphical apps -BROWSER=qutebrowser -TERMINAL=alacritty - -# QT app theming -QT_QPA_PLATFORM=wayland -QT_QPA_PLATFORMTHEME=qt6ct - -# SDL -SDL_VIDEODRIVER=wayland -SDL_VIDEO_DRIVER=wayland - -# Ozone -OZONE_PLATFORM=wayland -ELECTRON_OZONE_PLATFORM_HINT=wayland - -# disable accessibility -NO_AT_BRIDGE=1 -GTK_A11Y=none diff --git a/wayland-basics/dot-config/fuzzel/fuzzel.ini b/wayland-basics/dot-config/fuzzel/fuzzel.ini deleted file mode 100644 index 4659b80..0000000 --- a/wayland-basics/dot-config/fuzzel/fuzzel.ini +++ /dev/null @@ -1,131 +0,0 @@ -# output= -# font=monospace -# dpi-aware=auto -# use-bold=no -# prompt="> " -# placeholder= -# icon-theme=default -# icons-enabled=yes -# hide-before-typing=no -# fields=filename,name,generic -# password-character=* -# filter-desktop=no -# match-mode=fzf -# sort-result=yes -# match-counter=no -# delayed-filter-ms=300 -# delayed-filter-limit=20000 -# show-actions=no -terminal=runapp -o -- alacritty -e -launch-prefix=runapp -o -# list-executables-in-path=no - -# anchor=center -# x-margin=0 -# y-margin=0 -# lines=15 -# minimal-lines=no -# width=30 -# tabs=8 -# horizontal-pad=40 -# vertical-pad=8 -# inner-pad=0 - -# scaling-filter=box -# image-size-ratio=0.5 - -# gamma-correct-blending=no -# line-height= -# letter-spacing=0 - -# layer=overlay -# keyboard-focus=exclusive -# exit-on-keyboard-focus-loss=yes - -# cache= - -# render-workers= -# match-workers= - -# enable-mouse=yes - -[colors] -background=282a36dd -text=f8f8f2ff -match=8be9fdff -selection-match=8be9fdff -selection=44475add -selection-text=f8f8f2ff -border=bd93f9ff -# background=fdf6e3ff -# text=657b83ff -# prompt=586e75ff -# placeholder=93a1a1ff -# input=657b83ff -# match=cb4b16ff -# selection=eee8d5ff -# selection-text=586e75ff -# selection-match=cb4b16ff -# counter=93a1a1ff -# border=002b36ff - -[border] -width=2 -radius=0 - -[dmenu] -# mode=text # text|index -# exit-immediately-if-empty=no - -[key-bindings] -# cancel=Escape Control+g Control+c Control+bracketleft -# execute=Return KP_Enter Control+y -# execute-or-next=Tab -# execute-input=Shift+Return Shift+KP_Enter -# cursor-left=Left Control+b -# cursor-left-word=Control+Left Mod1+b -# cursor-right=Right Control+f -# cursor-right-word=Control+Right Mod1+f -# cursor-home=Home Control+a -# cursor-end=End Control+e -# delete-line=Control+Shift+BackSpace -# delete-prev=BackSpace Control+h -# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w -# delete-line-backward=Control+u -# delete-next=Delete KP_Delete Control+d -# delete-next-word=Mod1+d Control+Delete Control+KP_Delete -# delete-line-forward=Control+k -# prev=Up Control+p -# prev-with-wrap=ISO_Left_Tab -# prev-page=Page_Up KP_Page_Up -# next=Down Control+n -# next-with-wrap=none -# next-page=Page_Down KP_Page_Down -# expunge=Shift+Delete -# clipboard-paste=Control+v XF86Paste -# primary-paste=Shift+Insert Shift+KP_Insert - -# custom-N: *dmenu mode only*. Like execute, but with a non-zero -# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3 -# with 12, and so on. - -# custom-1=Mod1+1 -# custom-2=Mod1+2 -# custom-3=Mod1+3 -# custom-4=Mod1+4 -# custom-5=Mod1+5 -# custom-6=Mod1+6 -# custom-7=Mod1+7 -# custom-8=Mod1+8 -# custom-9=Mod1+9 -# custom-10=Mod1+0 -# custom-11=Mod1+exclam -# custom-12=Mod1+at -# custom-13=Mod1+numbersign -# custom-14=Mod1+dollar -# custom-15=Mod1+percent -# custom-16=Mod1+dead_circumflex -# custom-17=Mod1+ampersand -# custom-18=Mod1+asterix -# custom-19=Mod1+parentleft -# vim: commentstring=#\ %s diff --git a/wayland-basics/dot-config/mako/config b/wayland-basics/dot-config/mako/config deleted file mode 100644 index 17bc9be..0000000 --- a/wayland-basics/dot-config/mako/config +++ /dev/null @@ -1,40 +0,0 @@ -# vim: ft=dosini - -# include=~/.cache/wal/colors-mako - -text-color=#bbbbbb -border-color=#005577 -background-color=#222222 -padding=10 -border-size=2 -max-icon-size=32 -outer-margin=20 - -font=monospace 11 - -width=420 -height=110 -anchor=top-right -default-timeout=5000 -max-history=10 -icon-path=/usr/share/icons/Adwaita - -[actionable=true] -on-button-right=exec makoctl menu -n "${id}" wmenu - -[app-name=Spotify] -invisible=1 - -[mode=do-not-disturb] -invisible=true - -[mode=do-not-disturb app-name=notify-send] -invisible=false - -[app-name=Mail] -default-timeout=10000 -on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga -on-button-left=exec runapp -o -- alacritty -e aerc - -[urgency=critical] -default-timeout=0 diff --git a/wayland-basics/dot-config/mimeapps.list b/wayland-basics/dot-config/mimeapps.list deleted file mode 100644 index a9a0695..0000000 --- a/wayland-basics/dot-config/mimeapps.list +++ /dev/null @@ -1,53 +0,0 @@ -[Default Applications] -x-scheme-handler/mailto=mail.desktop; -x-scheme-handler/mid=mail.desktop; -message/rfc822=mail-viewer.desktop; - -text/x-shellscript=text.desktop; -text/plain=text.desktop; -text/x-tex=text.desktop; -text/x-bibtex=text.desktop; - -application/postscript=pdf.desktop; -application/pdf=pdf.desktop; - -image/png=img.desktop; -image/jpeg=img.desktop; -image/gif=img.desktop; -image/heif=img.desktop; -image/svg+xml=img.desktop; -image/svg=img.desktop; - -video/x-matroska=video.desktop; -video/mp4=video.desktop; -video/webm=video.desktop; -video/mp4=video.desktop; -video/x-msvideo=video.desktop; -video/x-matroska=video.desktop; -video/x-flv=video.desktop; -video/x-ms-wmv=video.desktop; -video/mpeg=video.desktop; -video/ogg=video.desktop; -video/webm=video.desktop; -video/quicktime=video.desktop; -video/3gpp=video.desktop; -video/3gpp2=video.desktop; -video/x-ms-asf=video.desktop; -video/x-ogm+ogg=video.desktop; -video/x-theora+ogg=video.desktop; -application/ogg=video.desktop; - -inode/directory=file.desktop; - -x-scheme-handler/http=browser.desktop; -x-scheme-handler/https=browser.desktop; -x-scheme-handler/chrome=browser.desktop; -text/html=browser.desktop; -application/x-extension-htm=browser.desktop; -application/x-extension-html=browser.desktop; -application/x-extension-shtml=browser.desktop; -application/xhtml+xml=browser.desktop; -application/x-extension-xhtml=browser.desktop; -application/x-extension-xht=browser.desktop; -x-scheme-handler/about=browser.desktop; -x-scheme-handler/unknown=browser.desktop; diff --git a/wayland-basics/dot-config/mpv/mpv.conf b/wayland-basics/dot-config/mpv/mpv.conf deleted file mode 100644 index 14c6e81..0000000 --- a/wayland-basics/dot-config/mpv/mpv.conf +++ /dev/null @@ -1,3 +0,0 @@ -vo=gpu-next -hwdec=yes -ytdl-format="bestvideo[height<=?1800]+bestaudio/best" diff --git a/wayland-basics/dot-config/swaylock/config b/wayland-basics/dot-config/swaylock/config deleted file mode 100644 index 3be82fa..0000000 --- a/wayland-basics/dot-config/swaylock/config +++ /dev/null @@ -1,4 +0,0 @@ -ignore-empty-password -show-failed-attempts -color=000000 -font=monospace diff --git a/wayland-basics/dot-config/systemd/user/kanshi.service b/wayland-basics/dot-config/systemd/user/kanshi.service deleted file mode 100644 index 4554384..0000000 --- a/wayland-basics/dot-config/systemd/user/kanshi.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kanshi Wayland output manager -PartOf=graphical-session.target -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/kanshi -ExecReload=kill -SIGHUP $MAINPID -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/minibar.service b/wayland-basics/dot-config/systemd/user/minibar.service deleted file mode 100644 index 2d00d3a..0000000 --- a/wayland-basics/dot-config/systemd/user/minibar.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=My minimal bar made with GTK4-rs -PartOf=graphical-session.target -After=graphical-session.target -Requisite=graphical-session.target - -[Service] -ExecStart=/home/moreka/.local/bin/minibar -Restart=on-failure -Slice=app-graphical.slice - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/polkit-kde.service b/wayland-basics/dot-config/systemd/user/polkit-kde.service deleted file mode 100644 index 8b39695..0000000 --- a/wayland-basics/dot-config/systemd/user/polkit-kde.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=KDE polkit authentication agent -PartOf=graphical-session.target -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/lib/polkit-kde-authentication-agent-1 -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/soteria.service b/wayland-basics/dot-config/systemd/user/soteria.service deleted file mode 100644 index 61961ef..0000000 --- a/wayland-basics/dot-config/systemd/user/soteria.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=GTK-based polkit authentication agent -PartOf=graphical-session.target -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/lib/soteria-polkit/soteria -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/swaybg.service b/wayland-basics/dot-config/systemd/user/swaybg.service deleted file mode 100644 index ba035a1..0000000 --- a/wayland-basics/dot-config/systemd/user/swaybg.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Swaybg wallpaper utility -PartOf=graphical-session.target -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/swaybg -m fill -i /home/moreka/Pictures/wallpapers/galaxy.jpg -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/swayidle.service b/wayland-basics/dot-config/systemd/user/swayidle.service deleted file mode 100644 index 9160750..0000000 --- a/wayland-basics/dot-config/systemd/user/swayidle.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=swayidle for setting timeouts for idling -PartOf=graphical-session.target -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/swayidle -w timeout 601 'niri msg action power-off-monitors' timeout 600 'swaylock -f' before-sleep 'swaylock -f' -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/swayosd-server.service b/wayland-basics/dot-config/systemd/user/swayosd-server.service deleted file mode 100644 index a43dd08..0000000 --- a/wayland-basics/dot-config/systemd/user/swayosd-server.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=SwayOSD server -After=graphical-session.target -PartOf=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/swayosd-server -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/wl-clip-persist.service b/wayland-basics/dot-config/systemd/user/wl-clip-persist.service deleted file mode 100644 index 57c6a6c..0000000 --- a/wayland-basics/dot-config/systemd/user/wl-clip-persist.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Clipboard history manager for wayland -Documentation=https://github.com/Linus789/wl-clip-persist -After=graphical-session.target -PartOf=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/wl-clip-persist --clipboard regular --disable-timestamps -Restart=on-failure - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/wlsunset.service b/wayland-basics/dot-config/systemd/user/wlsunset.service deleted file mode 100644 index 7b2683b..0000000 --- a/wayland-basics/dot-config/systemd/user/wlsunset.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -PartOf=graphical-session.target -Description=WLSunset for better screen colors -Documentation=man:wlsunset(1) -After=graphical-session.target -After=kanshi.service -Requisite=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/wlsunset -l 42.3 -L '-71.0' -t 4000 -T 6500 -Restart=on-failure -Slice=background-graphical.slice - -[Install] -WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf b/wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf deleted file mode 100644 index 9c4be34..0000000 --- a/wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf +++ /dev/null @@ -1,6 +0,0 @@ -wireplumber.profiles = { - main = { - hardware.bluetooth = disabled - monitor.bluez.seat-monitoring = disabled - } -} diff --git a/wayland-basics/dot-config/zathura/zathurarc b/wayland-basics/dot-config/zathura/zathurarc deleted file mode 100644 index 8322b0e..0000000 --- a/wayland-basics/dot-config/zathura/zathurarc +++ /dev/null @@ -1,22 +0,0 @@ -set statusbar-h-padding 0 -set statusbar-v-padding 0 -set selection-clipboard clipboard -set database sqlite -set synctex true -# set synctex-editor-command "nvim -v --not-a-term -T dumb -c \"VimtexInverseSearch %{line}:%{column} '%{input}'\"" -set font "monospace 9" - -map u scroll half-up -map d scroll half-down -map D toggle_page_mode -map r reload -map R rotate -map K zoom in -map J zoom out -map i recolor -map p print -map g goto top - -set render-loading true - -# vim: ft=zathurarc diff --git a/wayland-basics/dot-local/share/applications/chromium.desktop b/wayland-basics/dot-local/share/applications/chromium.desktop deleted file mode 100644 index cb36f62..0000000 --- a/wayland-basics/dot-local/share/applications/chromium.desktop +++ /dev/null @@ -1,21 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Chromium -GenericName=Web Browser -Comment=Access the Internet -Exec=launch-chromium %U -StartupNotify=true -Terminal=false -Icon=chromium -Type=Application -Categories=Network;WebBrowser; -MimeType=application/xhtml+xml;application/xhtml_xml;application/xml;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/chromium; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=New Window -Exec=launch-chromium - -[Desktop Action new-private-window] -Name=New Incognito Window -Exec=launch-chromium --incognito diff --git a/wayland-basics/dot-local/share/applications/file.desktop b/wayland-basics/dot-local/share/applications/file.desktop deleted file mode 100755 index a7e84c3..0000000 --- a/wayland-basics/dot-local/share/applications/file.desktop +++ /dev/null @@ -1,4 +0,0 @@ -[Desktop Entry] -Type=Application -Name=File Manager -Exec=alacritty -e lf %u diff --git a/wayland-basics/dot-local/share/applications/gf2.desktop b/wayland-basics/dot-local/share/applications/gf2.desktop deleted file mode 100644 index 70aba4e..0000000 --- a/wayland-basics/dot-local/share/applications/gf2.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=GF -Comment=A GDB Frontend -Type=Application -Icon=application-x-executable -Exec=/home/moreka/opt/gf2/gf2 -Terminal=false diff --git a/wayland-basics/dot-local/share/applications/img.desktop b/wayland-basics/dot-local/share/applications/img.desktop deleted file mode 120000 index 6dacb85..0000000 --- a/wayland-basics/dot-local/share/applications/img.desktop +++ /dev/null @@ -1 +0,0 @@ -imv.desktop \ No newline at end of file diff --git a/wayland-basics/dot-local/share/applications/imv.desktop b/wayland-basics/dot-local/share/applications/imv.desktop deleted file mode 100755 index d41f33d..0000000 --- a/wayland-basics/dot-local/share/applications/imv.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=IMV Image viewer -Icon=imv -Exec=/usr/bin/imv %f -Terminal=false -Categories=Graphics;Viewer; diff --git a/wayland-basics/dot-local/share/applications/mail-viewer.desktop b/wayland-basics/dot-local/share/applications/mail-viewer.desktop deleted file mode 100755 index 725de38..0000000 --- a/wayland-basics/dot-local/share/applications/mail-viewer.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Mail Viewer (aerc) - -Exec=/usr/bin/alacritty -e aerc :eml %f -Terminal=false -MimeType=message/rfc822 diff --git a/wayland-basics/dot-local/share/applications/mail.desktop b/wayland-basics/dot-local/share/applications/mail.desktop deleted file mode 100755 index 6942566..0000000 --- a/wayland-basics/dot-local/share/applications/mail.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Mail - -Exec=alacritty -e aerc %u -Terminal=false -MimeType=x-scheme-handler/mailto diff --git a/wayland-basics/dot-local/share/applications/mpv.desktop b/wayland-basics/dot-local/share/applications/mpv.desktop deleted file mode 100755 index 282ae48..0000000 --- a/wayland-basics/dot-local/share/applications/mpv.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Type=Application -Name=MPV Media Player -Icon=mpv -TryExec=/usr/bin/mpv -Exec=/usr/bin/mpv --player-operation-mode=pseudo-gui -- %U -Terminal=false -Categories=AudioVideo;Audio;Video;Player;TV; -StartupWMClass=mpv -Keywords=mpv;media;player;video;audio;tv; diff --git a/wayland-basics/dot-local/share/applications/nvim.desktop b/wayland-basics/dot-local/share/applications/nvim.desktop deleted file mode 100755 index 5da6b49..0000000 --- a/wayland-basics/dot-local/share/applications/nvim.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Name=Neovim -GenericName=Text Editor -Comment=Edit text files -Exec=sh -c "alacritty -e nvim %F" -Terminal=false -Type=Application -Keywords=Text;editor; -Icon=nvim -Categories=Utility;TextEditor; -StartupNotify=false -MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/wayland-basics/dot-local/share/applications/pdf.desktop b/wayland-basics/dot-local/share/applications/pdf.desktop deleted file mode 100755 index 8c38677..0000000 --- a/wayland-basics/dot-local/share/applications/pdf.desktop +++ /dev/null @@ -1,4 +0,0 @@ -[Desktop Entry] -Type=Application -Name=PDF reader -Exec=/usr/bin/zathura %u diff --git a/wayland-basics/dot-local/share/applications/text.desktop b/wayland-basics/dot-local/share/applications/text.desktop deleted file mode 120000 index 15e1f2a..0000000 --- a/wayland-basics/dot-local/share/applications/text.desktop +++ /dev/null @@ -1 +0,0 @@ -nvim.desktop \ No newline at end of file diff --git a/wayland-basics/dot-local/share/applications/video.desktop b/wayland-basics/dot-local/share/applications/video.desktop deleted file mode 120000 index 0da0c22..0000000 --- a/wayland-basics/dot-local/share/applications/video.desktop +++ /dev/null @@ -1 +0,0 @@ -mpv.desktop \ No newline at end of file diff --git a/wireplumber/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf b/wireplumber/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf new file mode 100644 index 0000000..9c4be34 --- /dev/null +++ b/wireplumber/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf @@ -0,0 +1,6 @@ +wireplumber.profiles = { + main = { + hardware.bluetooth = disabled + monitor.bluez.seat-monitoring = disabled + } +} diff --git a/zathura/dot-config/zathura/zathurarc b/zathura/dot-config/zathura/zathurarc new file mode 100644 index 0000000..8322b0e --- /dev/null +++ b/zathura/dot-config/zathura/zathurarc @@ -0,0 +1,22 @@ +set statusbar-h-padding 0 +set statusbar-v-padding 0 +set selection-clipboard clipboard +set database sqlite +set synctex true +# set synctex-editor-command "nvim -v --not-a-term -T dumb -c \"VimtexInverseSearch %{line}:%{column} '%{input}'\"" +set font "monospace 9" + +map u scroll half-up +map d scroll half-down +map D toggle_page_mode +map r reload +map R rotate +map K zoom in +map J zoom out +map i recolor +map p print +map g goto top + +set render-loading true + +# vim: ft=zathurarc -- cgit v1.2.3-71-gdd5e