aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-24 19:24:55 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-24 19:24:55 -0500
commite2a70a92822b22633562e9695c300efec2b5cbeb (patch)
treefbd1658be1ab5edb1470d9a8e4b758818cc7124c
parent4052357e021085bc1c761108446ee09a778ade15 (diff)
updates
-rw-r--r--aerc/dot-config/aerc/aerc.conf25
-rw-r--r--aerc/dot-config/aerc/binds.conf21
-rw-r--r--alacritty/dot-config/alacritty/alacritty.toml4
-rw-r--r--bash/dot-config/bash/functions.bash56
-rw-r--r--bash/dot-profile1
-rw-r--r--cal/dot-config/khal/config4
-rw-r--r--email/dot-config/maildir-rank-addr/config10
-rw-r--r--fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf2
-rw-r--r--gdb/dot-config/gdb/gdbinit1
-rw-r--r--git/dot-config/git/config33
-rw-r--r--ironbar/dot-config/ironbar/config.toml36
-rw-r--r--ironbar/dot-config/ironbar/style.css83
-rw-r--r--ironbar/dot-config/systemd/user/ironbar.service14
-rw-r--r--niri/dot-config/niri/config.kdl15
-rw-r--r--paru/dot-config/ccache/ccache.conf4
-rw-r--r--paru/dot-config/paru/paru.conf11
-rwxr-xr-xparu/dot-config/paru/patcher5
-rwxr-xr-xparu/dot-local/bin/makepkg-smart51
-rwxr-xr-xpywal/dot-config/wal/scripts/niri-colors.sh16
-rw-r--r--pywal/dot-config/wal/templates/colors-wal.lua25
-rw-r--r--qute/dot-config/qutebrowser/config.py2
-rw-r--r--qute/dot-config/qutebrowser/quickmarks6
-rwxr-xr-xscripts/dot-local/bin/colorpick6
-rwxr-xr-xscripts/dot-local/bin/mailsync4
-rwxr-xr-xscripts/dot-local/bin/pywal17
-rwxr-xr-xscripts/dot-local/bin/toggle-alacritty-font-size8
-rwxr-xr-xscripts/dot-local/bin/toggle-waybar3
-rwxr-xr-xscripts/dot-local/bin/void-vm3
-rw-r--r--waybar/dot-config/waybar/config.jsonc3
-rw-r--r--waybar/dot-config/waybar/style.css13
-rw-r--r--wayland-basics/dot-config/environment.d/wayland.conf2
-rw-r--r--wayland-basics/dot-config/mako/config10
-rw-r--r--wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf6
33 files changed, 429 insertions, 71 deletions
diff --git a/aerc/dot-config/aerc/aerc.conf b/aerc/dot-config/aerc/aerc.conf
index 4e3b133..084d07e 100644
--- a/aerc/dot-config/aerc/aerc.conf
+++ b/aerc/dot-config/aerc/aerc.conf
@@ -23,6 +23,22 @@ default-menu-cmd=fzf --multi
# width specifier is set, '*' is used by default.
index-columns=flags:5,name<20%,subject,date>=
+threading-enabled = false
+reverse-thread-order = true
+
+thread-prefix-tip = "> "
+# thread-prefix-indent = ""
+# thread-prefix-stem = "│"
+thread-prefix-limb = ""
+# thread-prefix-folded = "+"
+# thread-prefix-unfolded = ""
+# thread-prefix-first-child = "┬"
+# thread-prefix-has-siblings = "├"
+# thread-prefix-orphan = "┌"
+# thread-prefix-dummy = "┬"
+# thread-prefix-lone = " "
+thread-prefix-last-sibling = "╰─"
+thread-prefix-last-sibling-reverse = "╭─"
# Each name in index-columns must have a corresponding column-$name setting.
# All column-$name settings accept golang text/template syntax. See
@@ -48,7 +64,7 @@ timestamp-format=2006 Jan 02
this-day-time-format=15:04
this-week-time-format=Mon Jan 02
this-year-time-format=Jan 02
-message-view-timestamp-format=2006 Jan 02, 15:04 GMT-0700
+message-view-timestamp-format=Mon 02 Jan 2006, 15:04 GMT-0700
sidebar-width=14
# message-list-split=horizontal 20
mouse-enabled=false
@@ -88,7 +104,7 @@ column-name = {{if .To}}{{index (.To | names) 0}}{{else}} malformed email{{end}}
column-flags = {{.Flags | join " "}}
[statusline]
-status-columns = account<=,3973e022e932<=,folder<=,status<=,cbe5cfdf7c21<=,cwd<=,e3b0c44298fc<*,e3b0c44298fc>=,tray>=
+status-columns = account<=,3973e022e932<=,folder<=,status<*,cbe5cfdf7c21>*,cwd>=,e3b0c44298fc>=,e3b0c44298fc>=,tray>=
column-cwd = {{cwd}}
column-e3b0c44298fc =
column-tray = {{.TrayInfo}}
@@ -118,7 +134,6 @@ address-book-cmd=addr-book-combine \
-c "rg -F -i -- '%s' ~/.cache/maildir-rank-addr/addressbook.tsv" \
-c "khard email --remove-first-line --parsable '%s' | cut -f 1,2"
-
file-picker-cmd=lf -selection-path '%f'
reply-to-self=false
@@ -168,8 +183,8 @@ text/plain=wrap -w 100 | colorize
text/calendar=calendar
message/delivery-status=colorize
message/rfc822=colorize
-#text/html=pandoc -f html -t plain | colorize
-text/html=! html
+text/html=pandoc -f html -t plain | colorize
+# text/html=! html
#text/html=! w3m -T text/html -I UTF-8
text/*=bat -fP --file-name="$AERC_FILENAME"
application/pdf=pdftotext - -l 10 -nopgbrk -q - | fmt -w 100
diff --git a/aerc/dot-config/aerc/binds.conf b/aerc/dot-config/aerc/binds.conf
index 7c0eb80..b14d7ba 100644
--- a/aerc/dot-config/aerc/binds.conf
+++ b/aerc/dot-config/aerc/binds.conf
@@ -1,3 +1,5 @@
+# vim: ft=confini
+
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
@@ -7,6 +9,7 @@
<C-c> = :prompt 'Quit?' quit<Enter>
<C-q> = :prompt 'Quit?' quit<Enter>
<C-z> = :suspend<Enter>
+gt = :next-tab<Enter>
[messages]
# q = :prompt 'Quit?' quit<Enter>
@@ -16,14 +19,13 @@ q = :quit<Enter>
<C-o> = :menu -ad :cf -a<Enter>
j = :next<Enter>
-<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<PgDn> = :next 100%<Enter>
k = :prev<Enter>
-<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<PgUp> = :prev 100%<Enter>
+
gg = :select 0<Enter>
G = :select -1<Enter>
@@ -31,8 +33,8 @@ gi = :cf -a MIT INBOX<Enter>
gs = :cf -a MIT Sent<Enter>
ga = :cf -a MIT Archive<Enter>
-J = :next-folder<Enter>
-K = :prev-folder<Enter>
+<C-j> = :next-folder<Enter>
+<C-k> = :prev-folder<Enter>
v = :mark -t<Enter>
<Space> = :mark -t<Enter>:next<Enter>
@@ -57,6 +59,7 @@ D = :delete<Enter>
a = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
u = :read -t<Enter>:next<Enter>
+f = :forward -A<Enter>
m = :compose<Enter>
@@ -99,17 +102,17 @@ A = :archive flat<Enter>
<C-y> = :copy-link <space>
<C-l> = :open-link <space>
-f = :forward<Enter>
+f = :forward -A<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
H = :toggle-headers<Enter>
-K = :prev-part<Enter>
-J = :next-part<Enter>
-<C-j> = :next<Enter>
-<C-k> = :prev<Enter>
+<C-k> = :prev-part<Enter>
+<C-j> = :next-part<Enter>
+# <C-j> = :next<Enter>
+# <C-k> = :prev<Enter>
[view::passthrough]
$noinherit = true
diff --git a/alacritty/dot-config/alacritty/alacritty.toml b/alacritty/dot-config/alacritty/alacritty.toml
index 6f6af7d..7b0897a 100644
--- a/alacritty/dot-config/alacritty/alacritty.toml
+++ b/alacritty/dot-config/alacritty/alacritty.toml
@@ -1,5 +1,6 @@
[general]
live_config_reload = true
+import = [ "~/.cache/wal/colors-alacritty.toml" ]
[font]
# normal = { family = "Dejavu Sans Mono", style = "Book" }
@@ -25,6 +26,9 @@ unfocused_hollow = true
[mouse]
hide_when_typing = true
+# [colors.primary]
+# background = "#1e1e1e"
+
[keyboard]
bindings = [
{ key = "C", mods = "Alt", mode = "~Vi", action = "Copy" },
diff --git a/bash/dot-config/bash/functions.bash b/bash/dot-config/bash/functions.bash
index a8c0a65..2c9e873 100644
--- a/bash/dot-config/bash/functions.bash
+++ b/bash/dot-config/bash/functions.bash
@@ -3,64 +3,70 @@ source "${XDG_CONFIG_HOME:-$HOME/.config}"/bash/vardump.bash
colors()
{
- local i
- for i in {0..255}; do
- printf "\x1b[38;5;${i}mcolor %d\n" "$i"
- done
- tput sgr0
+ local i
+ for i in {0..255}; do
+ printf "\x1b[38;5;${i}mcolor %d\n" "$i"
+ done
+ tput sgr0
}
nman()
{
- nvim -c "Man $*" -c "wincmd o" -c "nmap q :q"
+ nvim -c "Man $*" -c "wincmd o" -c "nmap q :q"
}
lf()
{
- export LF_CD_FILE=/tmp/.lfcd-$$
- command lf "$@"
- if [ -s "$LF_CD_FILE" ]; then
- local DIR
- DIR="$(realpath "$(cat "$LF_CD_FILE")")"
- if [ "$DIR" != "$PWD" ]; then
- echo "cd to $DIR"
- cd "$DIR" || exit
+ export LF_CD_FILE=/tmp/.lfcd-$$
+ command lf "$@"
+ if [ -s "$LF_CD_FILE" ]; then
+ local DIR
+ DIR="$(realpath "$(cat "$LF_CD_FILE")")"
+ if [ "$DIR" != "$PWD" ]; then
+ echo "cd to $DIR"
+ cd "$DIR" || exit
+ fi
+ command rm "$LF_CD_FILE"
fi
- command rm "$LF_CD_FILE"
- fi
- unset LF_CD_FILE
+ unset LF_CD_FILE
}
se()
{
- choice="$(fd . ~/.local/bin -d1 -tx -tl --format '{/}' | fzf)"
- [ -f "$HOME/.local/bin/$choice" ] && $EDITOR "$HOME/.local/bin/$choice"
+ choice="$(fd . ~/.local/bin -d1 -tx -tl --format '{/}' | fzf)"
+ [ -f "$HOME/.local/bin/$choice" ] && $EDITOR "$HOME/.local/bin/$choice"
}
pS()
{
- pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
+ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
}
paruS()
{
- paru -Slq | fzf --multi --preview 'paru -Si {1}' | xargs -ro paru -S
+ paru -Slq | fzf --multi --preview 'paru -Si {1}' | xargs -ro paru -S
}
yayS()
{
- yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S
+ yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S
}
# cp and mv but with rsync
# source: https://wiki.archlinux.org/title/Rsync#As_cp/mv_alternative
cpr()
{
- rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 "$@"
+ set -xe
+ local rsync_args="--archive -hh --partial --info=stats1,progress2 --modify-window=1"
+ if [ "$1" = "-sudo" ]; then
+ shift
+ sudo rsync $rsync_args "$@"
+ else
+ rsync $rsync_args "$@"
+ fi
}
mvr()
{
- rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 --remove-source-files "$@"
+ rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 --remove-source-files "$@"
}
-
diff --git a/bash/dot-profile b/bash/dot-profile
index 072595b..4faa2ee 100644
--- a/bash/dot-profile
+++ b/bash/dot-profile
@@ -2,7 +2,6 @@
export EDITOR=nvim
export SUDO_EDITOR=$EDITOR
-export BAT_THEME=ansi
export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat --paging always -p -lman'"
diff --git a/cal/dot-config/khal/config b/cal/dot-config/khal/config
index b2f5c2f..5e8b68a 100644
--- a/cal/dot-config/khal/config
+++ b/cal/dot-config/khal/config
@@ -44,6 +44,10 @@ frame = top
[highlight_days]
multiple = yellow
+[keybindings]
+external_edit = E
+save = S
+
[palette]
# 1. Foreground color and settings for 16-color (normal) mode
# 2. Background color for normal mode
diff --git a/email/dot-config/maildir-rank-addr/config b/email/dot-config/maildir-rank-addr/config
index 0ba5932..c4dccae 100644
--- a/email/dot-config/maildir-rank-addr/config
+++ b/email/dot-config/maildir-rank-addr/config
@@ -1,9 +1,11 @@
# vim: ft=toml
-maildir = "~/.local/share/mail/mit"
+maildir = [
+ "~/.local/share/mail/mit",
+ "~/.local/share/mail/m.r.karimi.j@gmail.com",
+]
addresses = [
- "moreka@mit.edu",
- "moreka@MIT.EDU",
- "m.r.karimi.j@gmail.com",
+ "(?i:moreka@mit\\.edu)",
+ "(?i:m\\.?r\\.?karimi\\.?j(?:\\+[[:alpha:]])?@gmail\\.com)",
]
addr-book-cmd = "khard email -p --remove-first-line"
addr-book-add-unmatched = true
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 c278060..51e40b5 100644
--- a/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf
+++ b/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf
@@ -28,7 +28,7 @@
<alias>
<family>monospace</family>
<prefer>
- <family>Liberation Mono</family>
+ <family>Dejavu Sans Mono</family>
<family>Noto Color Emoji</family>
<family>Symbols Nerd Font</family>
</prefer>
diff --git a/gdb/dot-config/gdb/gdbinit b/gdb/dot-config/gdb/gdbinit
index 2bcfa21..f81ee8e 100644
--- a/gdb/dot-config/gdb/gdbinit
+++ b/gdb/dot-config/gdb/gdbinit
@@ -1,3 +1,4 @@
set disassembly-flavor intel
+set breakpoint pending on
set history save on
set history filename ~/.cache/gdb_history
diff --git a/git/dot-config/git/config b/git/dot-config/git/config
index 62ddc08..3a89c6f 100644
--- a/git/dot-config/git/config
+++ b/git/dot-config/git/config
@@ -4,30 +4,49 @@
ci = commit
s = status -sb
l = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%ai%C(reset) - %C(bold white)%an%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n %C(white)%s%C(reset)'
-
[pull]
rebase = true
-
[init]
defaultBranch = main
-
[user]
name = Mohammad Reza Karimi
email = m.r.karimi.j@gmail.com
signingkey = 802D310CAC1F1CE6EDD55DF10A777EAC5BCAEB1B
-
[commit]
verbose = true
gpgsign = true
-
[tag]
gpgsign = true
-
+[difftool "nvim_difftool"]
+ cmd = nvim -c \"packadd nvim.difftool\" -c \"DiffTool $LOCAL $REMOTE\"
+[difftool "difftastic"]
+ cmd = difft "$LOCAL" "$REMOTE"
+[difftool]
+ prompt = false
[diff]
algorithm = histogram
-
+ tool = difftastic
+[mergetool "fugitive"]
+ cmd = nvim -c \"Gvdiffsplit!\" \"$MERGED\"
[merge]
+ tool = fugitive
conflictstyle = zdiff3
+[grep]
+ lineNumber = true
+ column = true
+ patternType = extended
+[pager]
+ difftool = true
+[rerere]
+ enabled = true
+[fetch]
+ prune = true
[credential "https://git.overleaf.com"]
helper = !pass git/overleaf@mit
+[url "https://github.com/"]
+ insteadOf = gh:
+[url "https://codeberg.org/"]
+ insteadOf = cb:
+
+# vim: ft=gitconfig
diff --git a/ironbar/dot-config/ironbar/config.toml b/ironbar/dot-config/ironbar/config.toml
new file mode 100644
index 0000000..fe63477
--- /dev/null
+++ b/ironbar/dot-config/ironbar/config.toml
@@ -0,0 +1,36 @@
+position = "bottom"
+height = 15
+
+[[start]]
+type = "workspaces"
+
+[[center]]
+type = "focused"
+icon_size = 12
+
+[[end]]
+type = "battery"
+show_if = "ls /sys/class/power_supply/ | grep --quiet '^BAT'"
+icon_size = 12
+
+[[end]]
+type = "sys_info"
+format = [
+ "{cpu_percent}% ",
+ "{memory_percent}% ",
+]
+
+[end.interval]
+cpu = 1
+
+[[end]]
+type = "tray"
+icon_size = 12
+
+[[end]]
+type = "clock"
+format = "%d/%m/%Y %H:%M:%S"
+
+# start = []
+# center = []
+# end = []
diff --git a/ironbar/dot-config/ironbar/style.css b/ironbar/dot-config/ironbar/style.css
new file mode 100644
index 0000000..96cf9c2
--- /dev/null
+++ b/ironbar/dot-config/ironbar/style.css
@@ -0,0 +1,83 @@
+@import url("file:///home/moreka/.cache/wal/colors.css");
+
+:root {
+ --opacity: 0.8;
+ --color-dark-primary: alpha(var(--background), var(--opacity));
+ --color-dark-secondary: alpha(lighter(var(--background)), var(--opacity));
+ --color-white: var(--foreground);
+ --color-active: var(--color2);
+ --color-urgent: var(--color9);
+
+ --margin-lg: 1em;
+ --margin-sm: 0.5em;
+}
+
+* {
+ border-radius: 0;
+ border: none;
+ box-shadow: none;
+ background-image: none;
+ background: transparent;
+ font-family: monospace;
+ font-size: 11px;
+ color: var(--foreground);
+}
+
+#bar, popover, popover contents, calendar {
+ background-color: var(--color-dark-primary);
+}
+
+#bar, button, label {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+box, button, label {
+ background-color: #0000;
+ color: var(--color-white);
+}
+
+button {
+ padding-left: var(--margin-sm);
+ padding-right: var(--margin-sm);
+}
+
+button:hover, button:active {
+ background-color: var(--color-dark-secondary);
+}
+
+#end > * + * {
+ margin-left: var(--margin-lg);
+}
+
+.sysinfo > * + * {
+ margin-left: var(--margin-sm);
+}
+
+.clock {
+ font-weight: bold;
+}
+
+.popup-clock .calendar-clock {
+ font-size: 2.0em;
+}
+
+.popup-clock .calendar .today {
+ background-color: var(--color-active);
+}
+
+.workspaces .item.visible {
+ box-shadow: inset 0 -1px var(--color-white);
+}
+
+.workspaces .item.focused {
+ box-shadow: inset 0 -2px var(--color-active);
+ background-color: var(--color-dark-secondary);
+ font-weight: bold;
+}
+
+.workspaces .item.urgent {
+ background-color: var(--color-urgent);
+}
diff --git a/ironbar/dot-config/systemd/user/ironbar.service b/ironbar/dot-config/systemd/user/ironbar.service
new file mode 100644
index 0000000..e9d1e5e
--- /dev/null
+++ b/ironbar/dot-config/systemd/user/ironbar.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Customisable Wayland GTK4 bar
+Documentation=https://github.com/JakeStanger/ironbar
+PartOf=graphical-session.target
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+ExecStart=/usr/bin/ironbar
+ExecReload=kill -SIGUSR2 $MAINPID
+Restart=on-failure
+
+[Install]
+WantedBy=graphical-session.target
diff --git a/niri/dot-config/niri/config.kdl b/niri/dot-config/niri/config.kdl
index 5758fd0..7300b76 100644
--- a/niri/dot-config/niri/config.kdl
+++ b/niri/dot-config/niri/config.kdl
@@ -37,7 +37,7 @@ output "eDP-1" {
layout {
gaps 10
center-focused-column "never"
- always-center-single-column
+ // always-center-single-column
preset-column-widths {
proportion 0.33333
proportion 0.5
@@ -48,8 +48,8 @@ layout {
focus-ring {
width 2
- active-color "#7fc8ff"
- inactive-color "#505050"
+ active-color "#627777"
+ inactive-color "#627777"
}
border {
@@ -73,10 +73,12 @@ animations {
off
}
window-open {
- off
+ duration-ms 100
+ curve "ease-out-expo"
}
window-close {
- off
+ duration-ms 100
+ curve "ease-out-quad"
}
}
@@ -93,7 +95,8 @@ binds {
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"; }
+ 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"; }
diff --git a/paru/dot-config/ccache/ccache.conf b/paru/dot-config/ccache/ccache.conf
new file mode 100644
index 0000000..c3c3cb7
--- /dev/null
+++ b/paru/dot-config/ccache/ccache.conf
@@ -0,0 +1,4 @@
+cache_dir = /home/moreka/.cache/ccache
+max_size = 50G
+compression = true
+sloppiness = time_macros
diff --git a/paru/dot-config/paru/paru.conf b/paru/dot-config/paru/paru.conf
new file mode 100644
index 0000000..e0e68a8
--- /dev/null
+++ b/paru/dot-config/paru/paru.conf
@@ -0,0 +1,11 @@
+[options]
+PgpFetch
+Devel
+Provides
+DevelSuffixes = -git
+BottomUp
+KeepSrc
+
+[bin]
+Makepkg = makepkg-smart
+PreBuildCommand = ~/.config/paru/patcher
diff --git a/paru/dot-config/paru/patcher b/paru/dot-config/paru/patcher
new file mode 100755
index 0000000..a75b80f
--- /dev/null
+++ b/paru/dot-config/paru/patcher
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+case "$PKGBASE" in
+*) ;;
+esac
diff --git a/paru/dot-local/bin/makepkg-smart b/paru/dot-local/bin/makepkg-smart
new file mode 100755
index 0000000..e231d25
--- /dev/null
+++ b/paru/dot-local/bin/makepkg-smart
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+echo "==> makepkg-smart: got input "$@"" >&2
+
+DEFAULT_BUILDDIR="/tmp/makepkg"
+
+PERSIST_ROOT="$HOME/.cache/makepkg/build"
+
+KEEP_PKGS="
+neovim-bundled-git
+"
+
+pkgname_from_pkgbuild()
+{
+ local _pkgname pkgname
+ pkgname="$(awk -F= '/^pkgname=/{gsub(/[()"]/,"",$2); print $2; exit}' PKGBUILD 2>/dev/null)"
+ if echo "$pkgname" | grep -q "\$_pkgname" 2>/dev/null; then
+ _pkgname="$(awk -F= '/^_pkgname=/{gsub(/[()"]/,"",$2); print $2; exit}' PKGBUILD 2>/dev/null)"
+ echo "${pkgname//\$_pkgname/"$_pkgname"}"
+ else
+ echo "$pkgname"
+ fi
+}
+
+PKGNAME="$(pkgname_from_pkgbuild)"
+
+[ -z "$PKGNAME" ] && exec makepkg "$@"
+
+KEEP=false
+for p in $KEEP_PKGS; do
+ [ "$PKGNAME" = "$p" ] && KEEP=true && break
+done
+
+if $KEEP; then
+ export BUILDDIR="$PERSIST_ROOT/$PKGNAME"
+ mkdir -p "$BUILDDIR"
+
+ export CC=gcc
+ export CXX=g++
+ export CMAKE_C_COMPILER_LAUNCHER=ccache
+ export CMAKE_CXX_COMPILER_LAUNCHER=ccache
+ export CCACHE_DIR="$HOME/.cache/ccache"
+ export CCACHE_BASEDIR="$PWD"
+ export CCACHE_SLOPPINESS="time_macros"
+
+ echo "==> makepkg-smart: using persistent BUILDDIR=$BUILDDIR with ccache" >&2
+else
+ export BUILDDIR="$DEFAULT_BUILDDIR"
+fi
+
+exec makepkg "$@"
diff --git a/pywal/dot-config/wal/scripts/niri-colors.sh b/pywal/dot-config/wal/scripts/niri-colors.sh
new file mode 100755
index 0000000..b6da5df
--- /dev/null
+++ b/pywal/dot-config/wal/scripts/niri-colors.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+. "${HOME}/.cache/wal/colors.sh"
+
+conffile="$HOME/.config/niri/config.kdl"
+
+declare -A colors
+colors=(
+ ["active-color"]="$color8"
+ ["inactive-color"]="$color8"
+)
+
+for key in "${!colors[@]}"; do
+ new_color=${colors[$key]}
+ sed -i "s|$key \"[^\"]*\"|$key \"$new_color\"|g" $conffile
+done
diff --git a/pywal/dot-config/wal/templates/colors-wal.lua b/pywal/dot-config/wal/templates/colors-wal.lua
new file mode 100644
index 0000000..0f328c7
--- /dev/null
+++ b/pywal/dot-config/wal/templates/colors-wal.lua
@@ -0,0 +1,25 @@
+return {
+ -- Special
+ wallpaper = "{wallpaper}",
+ background = "{background}",
+ foreground = "{foreground}",
+ cursor = "{cursor}",
+
+ -- Colors
+ color0 = "{color0}",
+ color1 = "{color1}",
+ color2 = "{color2}",
+ color3 = "{color3}",
+ color4 = "{color4}",
+ color5 = "{color5}",
+ color6 = "{color6}",
+ color7 = "{color7}",
+ color8 = "{color8}",
+ color9 = "{color9}",
+ color10 = "{color10}",
+ color11 = "{color11}",
+ color12 = "{color12}",
+ color13 = "{color13}",
+ color14 = "{color14}",
+ color15 = "{color15}",
+}
diff --git a/qute/dot-config/qutebrowser/config.py b/qute/dot-config/qutebrowser/config.py
index feaf581..21cfdbf 100644
--- a/qute/dot-config/qutebrowser/config.py
+++ b/qute/dot-config/qutebrowser/config.py
@@ -87,7 +87,7 @@ with config.pattern("*://*.slack.com/*") as p:
with config.pattern("*://accounts.google.com/*") as p:
p.content.headers.user_agent = (
- "Mozilla/5.0 ({os_info}; rv:131.0) Gecko/20100101 Firefox/131.0"
+ "Mozilla/5.0 (X11; Linux x86_64; rv:147.0) Gecko/20100101 Firefox/147.0"
)
c.content.blocking.enabled = True
diff --git a/qute/dot-config/qutebrowser/quickmarks b/qute/dot-config/qutebrowser/quickmarks
index 3699cfc..cce35b8 100644
--- a/qute/dot-config/qutebrowser/quickmarks
+++ b/qute/dot-config/qutebrowser/quickmarks
@@ -13,3 +13,9 @@ nice https://henry.codes/writing/a-website-to-destroy-all-websites/
reboot https://takes.jamesomalley.co.uk/p/this-might-be-oversharing
qute https://gitlab.com/jgkamat/dotfiles/-/tree/master/qutebrowser/.config/qutebrowser
dcli https://gitlab.com/theblackdon/dcli/-/blob/main/CHEAT-SHEET.md?ref_type=heads
+org config https://github.com/kristijanhusak/neovim-config/blob/master/nvim/lua/partials/orgmode_config.lua
+pack config https://github.com/kristijanhusak/neovim-config/blob/master/nvim/lua/partials/utils/pack.lua
+bach and khayyam https://www.eventbrite.com/e/bach-khayyam-tickets-1977425791774#location
+frederic church https://wallhaven.cc/search?q=id:40583
+base16 https://dt.iki.fi/base16-previews#albino-bark-on-a-tree
+whatsapp https://web.whatsapp.com/
diff --git a/scripts/dot-local/bin/colorpick b/scripts/dot-local/bin/colorpick
new file mode 100755
index 0000000..6159387
--- /dev/null
+++ b/scripts/dot-local/bin/colorpick
@@ -0,0 +1,6 @@
+#!/bin/sh
+color=$(grim -g "$(slurp -p -b00000000)" -t ppm - | magick convert - -format '%[pixel:p{0,0}]' txt:- | tail -n 1 | awk '{print $3}')
+if [ -n "$color" ]; then
+ notify-send "ColorPick" "$color"
+ wl-copy "$color"
+fi
diff --git a/scripts/dot-local/bin/mailsync b/scripts/dot-local/bin/mailsync
index 7e16626..be2f93d 100755
--- a/scripts/dot-local/bin/mailsync
+++ b/scripts/dot-local/bin/mailsync
@@ -8,7 +8,7 @@ fi
mbsync_running()
{
- account_escaped=$(printf '%s\n' "$1" | sed 's/[.[\*^$()+?{|\\]/\\&/g')
+ local account_escaped=$(printf '%s\n' "$1" | sed 's/[.[\*^$()+?{|\\]/\\&/g')
pgrep -f "^mbsync([[:space:]]+[^ ]+)*[[:space:]]+$account_escaped($|[[:space:]])" >/dev/null ||
pgrep -f "^mbsync([[:space:]]+[^ ]+)*[[:space:]]+-a($|[[:space:]])" >/dev/null
@@ -53,6 +53,7 @@ sync_and_notify()
{
mbsync $mbsync_flag "$1"
+ local new newcount
new=$(fd --type f --changed-after "@$time_lastrun" . "$MAILDIR/$1/INBOX/new/" "$MAILDIR/$1/INBOX/cur/" 2>/dev/null)
newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l)
@@ -64,6 +65,7 @@ sync_and_notify()
$((newcount > 0)))
echo "$newcount new mail for $1."
for file in $new; do
+ local subject from
# Extract and decode subject and sender from mail.
subject=$(awk '/^Subject: / && ++n == 1,/^.*: / && ++i == 2' "$file" | head -n-1 |
perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' |
diff --git a/scripts/dot-local/bin/pywal b/scripts/dot-local/bin/pywal
new file mode 100755
index 0000000..ef494a0
--- /dev/null
+++ b/scripts/dot-local/bin/pywal
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+wal_args=
+if [ "$1" = -i ]; then
+ shift
+ wal_args="-i $@"
+elif [ "$1" = -l ]; then
+ shift
+ theme=$(ls /usr/lib/python3.14/site-packages/pywal/colorschemes/dark | sed 's/\.json$//' | fzf)
+ wal_args="--theme $theme $@"
+elif [ -z "$1" ]; then
+ wal_args="--theme random_dark"
+else
+ wal_args="--theme $@"
+fi
+
+wal $wal_args --cols16 -o ~/.config/wal/scripts/niri-colors.sh && touch -m ~/.config/ironbar/style.css
diff --git a/scripts/dot-local/bin/toggle-alacritty-font-size b/scripts/dot-local/bin/toggle-alacritty-font-size
new file mode 100755
index 0000000..9ea9a8c
--- /dev/null
+++ b/scripts/dot-local/bin/toggle-alacritty-font-size
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+size=$(alacritty msg get-config | jq -r '.font.size')
+if [ $size = "25.0" ]; then
+ alacritty msg config 'font.size=12'
+else
+ alacritty msg config 'font.size=25'
+fi
diff --git a/scripts/dot-local/bin/toggle-waybar b/scripts/dot-local/bin/toggle-waybar
new file mode 100755
index 0000000..fe3bc53
--- /dev/null
+++ b/scripts/dot-local/bin/toggle-waybar
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+kill -s USR1 $(pgrep waybar)
diff --git a/scripts/dot-local/bin/void-vm b/scripts/dot-local/bin/void-vm
new file mode 100755
index 0000000..0c935a2
--- /dev/null
+++ b/scripts/dot-local/bin/void-vm
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec qemu-system-x86_64 -drive file=$HOME/probe/qemu/void-linux.img,format=qcow2,if=virtio -m 16G -enable-kvm -machine q35 -device intel-iommu -cpu host -smp cores=2,threads=4,sockets=1 -nic user,model=virtio-net-pci -device virtio-vga-gl -display sdl,gl=on -drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.4m.fd -drive if=pflash,format=raw,file=$HOME/probe/qemu/OVMF_VARS.4m.fd -monitor unix:/tmp/monitor.sock,server,nowait
diff --git a/waybar/dot-config/waybar/config.jsonc b/waybar/dot-config/waybar/config.jsonc
index d3aee7f..8788765 100644
--- a/waybar/dot-config/waybar/config.jsonc
+++ b/waybar/dot-config/waybar/config.jsonc
@@ -52,7 +52,8 @@
"",
"",
""
- ]
+ ],
+ "tooltip-format": "{percent}%"
},
"battery": {
"states": {
diff --git a/waybar/dot-config/waybar/style.css b/waybar/dot-config/waybar/style.css
index c232813..357f320 100644
--- a/waybar/dot-config/waybar/style.css
+++ b/waybar/dot-config/waybar/style.css
@@ -1,6 +1,9 @@
-@define-color transp rgba(54, 54, 54, 0);
-@define-color effort2 rgba(54, 54, 54, 0.8);
-@define-color foreground #eeeeee;
+@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;
@@ -20,8 +23,8 @@ window#waybar {
padding: 4px 2px;
margin: 0px 5px;
border-radius: 20px;
- border: 2px solid #333333;
- box-shadow: 0px 0px 3px 4px #222222;
+ border: 2px solid @border;
+ box-shadow: 0px 0px 3px 4px @shadow;
}
tooltip {
diff --git a/wayland-basics/dot-config/environment.d/wayland.conf b/wayland-basics/dot-config/environment.d/wayland.conf
index e55cd48..016d8a8 100644
--- a/wayland-basics/dot-config/environment.d/wayland.conf
+++ b/wayland-basics/dot-config/environment.d/wayland.conf
@@ -4,7 +4,7 @@ TERMINAL=alacritty
# QT app theming
QT_QPA_PLATFORM=wayland
-QT_QPA_PLATFORMTHEME=qt6ct;qt5ct
+QT_QPA_PLATFORMTHEME=qt6ct
# SDL
SDL_VIDEODRIVER=wayland
diff --git a/wayland-basics/dot-config/mako/config b/wayland-basics/dot-config/mako/config
index 54b25dd..fefbb02 100644
--- a/wayland-basics/dot-config/mako/config
+++ b/wayland-basics/dot-config/mako/config
@@ -1,8 +1,10 @@
# vim: ft=dosini
-text-color=#bbbbbb
-border-color=#005577
-background-color=#222222
+include=~/.cache/wal/colors-mako
+
+# text-color=#bbbbbb
+# border-color=#005577
+# background-color=#222222
padding=10
border-size=2
max-icon-size=32
@@ -32,7 +34,7 @@ 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-mod
+on-button-left=exec runapp -o -- alacritty -e aerc
[urgency=critical]
default-timeout=0
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
new file mode 100644
index 0000000..9c4be34
--- /dev/null
+++ b/wayland-basics/dot-config/wireplumber/wireplumber.conf.d/disable-bluetooth.conf
@@ -0,0 +1,6 @@
+wireplumber.profiles = {
+ main = {
+ hardware.bluetooth = disabled
+ monitor.bluez.seat-monitoring = disabled
+ }
+}