diff --git a/.gitignore b/.gitignore
index 2a4b4b0..3188322 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,6 @@ __pycache__
/emacs.mine/.config/emacs.mine/straight/
/emacs.mine/.config/emacs.mine/var/
/hypr/.face
+/emacs.mine/.config/emacs.mine/eln-cache/
+/emacs.mine/.config/emacs.mine/elpy/
+/haskell/.ghc/ghci_history
diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml
index 5af7099..a8321ff 100644
--- a/alacritty/.config/alacritty/alacritty.toml
+++ b/alacritty/.config/alacritty/alacritty.toml
@@ -74,7 +74,7 @@ foreground = "#ebdbb2"
TERM = "xterm-256color"
[font]
-size = 6.0
+size = 9.0
[font.bold]
style = "Bold"
@@ -94,6 +94,11 @@ action = "SpawnNewInstance"
key = "Return"
mods = "Shift|Super"
+[[keyboard.bindings]]
+action = "CreateNewTab"
+key = "T"
+mods = "Control|Shift"
+
#[schemes.flinty_dark.bright]
#black = "#686868"
#blue = "#57c7ff"
diff --git a/bash/.bashrc b/bash/.bashrc
index 9db22a1..6b9e43e 100644
--- a/bash/.bashrc
+++ b/bash/.bashrc
@@ -1,7 +1,8 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
-TERM=xterm
+export TERM=xterm-256color
+exec zsh
# If not running interactively, don't do anything
case $- in
*i*) ;;
@@ -72,3 +73,5 @@ if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases ; fi
export QSYS_ROOTDIR="/home/lambda/Programs/intelQuartus/quartus/sopc_builder/bin"
+
+[ -f "/home/lambda/.ghcup/env" ] && . "/home/lambda/.ghcup/env" # ghcup-env
\ No newline at end of file
diff --git a/bash/.profile b/bash/.profile
index 5b920b9..0b0e6e1 100644
--- a/bash/.profile
+++ b/bash/.profile
@@ -55,3 +55,5 @@ fi
export QSYS_ROOTDIR="/home/lambda/Programs/intelQuartus/quartus/sopc_builder/bin"
+
+[ -f "/home/lambda/.ghcup/env" ] && . "/home/lambda/.ghcup/env" # ghcup-env
\ No newline at end of file
diff --git a/bin/bin/matlab b/bin/bin/matlab
index 00fc29c..25be6d1 100755
--- a/bin/bin/matlab
+++ b/bin/bin/matlab
@@ -3,8 +3,7 @@
# FOR openGL from arch wiki
export LD_PRELOAD=/usr/lib/libstdc++.so
export LD_LIBRARY_PATH=/usr/lib/xorg/modules/dri/
-#export _JAVA_AWT_WM_NONREPARENTING=1
+export _JAVA_AWT_WM_NONREPARENTING=1
-~/Programs/MATLAB/R2024a/bin/matlab "$@"
-
+~/Programs/Matlab/bin/matlab "$@"
diff --git a/bin/bin/poly.sh b/bin/bin/poly.sh
new file mode 100755
index 0000000..c301fc9
--- /dev/null
+++ b/bin/bin/poly.sh
@@ -0,0 +1,4 @@
+for m in $(polybar --list-monitors | cut -d":" -f1); do
+MONITOR=$m ~/.config/polybar/launch.sh --hack &
+done
+
diff --git a/bin/bin/prayer-times b/bin/bin/prayer-times
index 395e0d7..0de9d9b 100755
--- a/bin/bin/prayer-times
+++ b/bin/bin/prayer-times
@@ -1,18 +1,18 @@
-#!/bin/bash
+#!/usr/bin/env bash
# ----- Parameters ------ #
# Coordinates: https://www.mapcoordinates.net/en
-# Set explicitly, or leave commented to get them automatically from ipinfo.io
-# lat='100.00000'
-# long='100.00000'
+# Set lat and long explicitly, or leave commented to get them automatically from ipinfo.io
+lat="${lat:-}"
+long="${long:-}"
# Calculation Method: https://api.aladhan.com/v1/methods
method='4'
# Print Text Language (en/ar)
-print_lang="en"
+print_lang='en'
# Notifcation Daemon
-notify="mako"
+notify='mako'
# ----------------------- #
-prayers_json="$HOME/.local/share/prayers.json"
+prayers_json="${HOME}/.local/share/prayers.json"
prayers=("Fajr" "Dhuhr" "Asr" "Maghrib" "Isha")
declare -A date
declare -A epochtimes
@@ -33,43 +33,42 @@ date=(
)
nameof() {
- if [[ "$print_lang" != "en" ]]; then
- local array_name="prayers_$print_lang"
- eval "echo -n \${${array_name}[$1]}"
+ if [[ "${print_lang}" != "en" ]]; then
+ local array_name="prayers_${print_lang}"
+ eval "echo -n \${${array_name}[${1}]}"
else
- echo -n "$1"
+ echo -n "${1}"
fi
}
check() {
local available_month
- if [[ -r $prayers_json ]]; then
- available_month=$(jq -r ".data[0].date.gregorian.month.number" "$prayers_json")
+ local response
+ local location
+ if [[ -r "${prayers_json}" ]]; then
+ available_month=$(jq -r ".data[0].date.gregorian.month.number" "${prayers_json}")
else
local fetch_prayers=1
fi
- if [[ "$fetch_prayers" || "$available_month" != "${date[month]}" ]]; then
- # Fetch the geolocation data from ipinfo.io
- response=$(curl -s https://ipinfo.io)
-
- echo "-- fetching latitude and longitude"
- # Parse the latitude and longitude
- location=$(echo $response | jq -r '.loc')
-
- # Separate latitude and longitude
- latitude=$(echo $location | cut -d',' -f1)
- longitude=$(echo $location | cut -d',' -f2)
-
- # Set `lat` to `latitude`, or default to the specified value above
- lat=${latitude:lat}
- long=${longitude:long}
+ if ((fetch_prayers)) || [[ "${available_month}" != "${date[month]}" ]]; then
+ if [[ -z "${lat}" ]] || [[ -z "${long}" ]]; then
+ echo "-- fetching latitude and longitude (from ipinfo.io)"
+ response="$(curl -s https://ipinfo.io)"
+ # parse city name
+ city=$(echo "${response}" | jq -r '.city')
+ echo "-- city: ${city}"
+ # parse the latitude and longitude
+ mapfile -t location < <(echo "${response}" | jq -r ' (.loc | split(","))[] ')
+ # set `lat` to `latitude`, or default to the specified value above
+ lat=${location[0]:-${lat}}
+ long=${location[1]:-${long}}
+ fi
echo "-- latitude: ${lat}, longitude: ${long}"
-
echo "-- fetching current month prayer calendar (${date[month]}-${date[year]})"
# Documentation: https://aladhan.com/prayer-times-api#GetCalendar
- curl -Lso "$prayers_json" "https://api.aladhan.com/v1/calendar/${date[year]}/${date[month]}?latitude=$lat&longitude=$long&method=$method"
+ curl -Lso "${prayers_json}" "https://api.aladhan.com/v1/calendar/${date[year]}/${date[month]}?latitude=${lat}&longitude=${long}&method=${method}"
fi
}
@@ -78,49 +77,49 @@ add-jobs() {
echo "-- removing all jobs in queue 'p'"
if [[ "$(at -q p -l | wc -l)" != "0" ]]; then
for i in $(at -q p -l | awk '{ print $1 }'); do
- atrm "$i"
+ atrm "${i}"
done
fi
for prayer in "${prayers[@]}"; do
- echo "-- creating at job for $prayer prayer"
- if [[ "$notify" == "mako" ]]; then
- printf 'notify-send -t 30000 --icon="clock-applet-symbolic" "Prayer Times" "It is time for %s prayer 🕌"' "$prayer" | at -q p "$(timeof "$prayer" '%H:%M %F')"
+ echo "-- creating at job for ${prayer} prayer"
+ if [[ "${notify}" == "mako" ]]; then
+ printf 'notify-send -t 30000 --icon="clock-applet-symbolic" "Prayer Times" "It is time for %s prayer 🕌"' "${prayer}" | at -q p "$(timeof "${prayer}" '%H:%M %F')"
else
- printf '[ "$(dunstify --icon="clock-applet-symbolic" --action="Reply,reply" "Prayer Times" "Time for %s prayer 🕌" -t 30000)" = "2" ] && %s' "$prayer" "$HOME/.local/bin/toggle-athan" | at -q p "$(timeof "$prayer" '%H:%M %F')"
+ printf '[ "$(dunstify --icon="clock-applet-symbolic" --action="Reply,reply" "Prayer Times" "Time for %s prayer 🕌" -t 30000)" = "2" ] && %s' "${prayer}" "${HOME}/.local/bin/toggle-athan" | at -q p "$(timeof "${prayer}" '%H:%M %F')"
fi
done
}
timeof() {
- [[ "$#" -lt "1" ]] && echo "atleast 1 argument is needed" && return 1
- echo -n "$(date -d "$(jq -r ".data[${date[day_idx]}].timings.$1" "$prayers_json")" "+${2:-%I:%M}")"
+ [[ "${#}" -lt "1" ]] && echo "atleast 1 argument is needed" && return 1
+ echo -n "$(date -d "$(jq -r ".data[${date[day_idx]}].timings.${1}" "${prayers_json}")" "+${2:-%I:%M}")"
}
hijri() {
- case "$1" in
+ case "${1}" in
weekday)
- if [[ "$print_lang" == "ar" ]]; then
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.weekday.ar" "$prayers_json")"
+ if [[ "${print_lang}" == "ar" ]]; then
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.weekday.ar" "${prayers_json}")"
else
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.weekday.en" "$prayers_json")"
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.weekday.en" "${prayers_json}")"
fi
;;
day)
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.day" "$prayers_json")"
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.day" "${prayers_json}")"
;;
month)
- if [[ "$print_lang" == "ar" ]]; then
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.month.ar" "$prayers_json")"
+ if [[ "${print_lang}" == "ar" ]]; then
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.month.ar" "${prayers_json}")"
else
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.month.en" "$prayers_json")"
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.month.en" "${prayers_json}")"
fi
;;
year)
- echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.year" "$prayers_json")"
+ echo -n "$(jq -r ".data[${date[day_idx]}].date.hijri.year" "${prayers_json}")"
;;
*)
- echo "unsupported argument: $1" && return 1
+ echo "unsupported argument: ${1}" && return 1
;;
esac
}
@@ -141,37 +140,37 @@ settimes() {
local nxt_idx=0
local curr_idx=4
for i in {4..0}; do
- local prayer_key="${prayers[$i],,}"
- if [[ "${epochtimes[now]}" -ge "${epochtimes[$prayer_key]}" ]]; then
- [[ "$i" -lt "4" ]] && curr_idx=$i && nxt_idx=$((i + 1))
+ local prayer_key="${prayers[${i}],,}"
+ if [[ "${epochtimes[now]}" -ge "${epochtimes[${prayer_key}]}" ]]; then
+ [[ "${i}" -lt "4" ]] && curr_idx=${i} && nxt_idx=$((i + 1))
break
fi
done
- local next_key="${prayers[$nxt_idx],,}"
- epochtimes[next]="${epochtimes[$next_key]}"
- currentprayer="${prayers[$curr_idx]}"
- nextprayer="${prayers[$nxt_idx]}"
- if [[ "$nxt_idx" == "1" && "${date[weekday]}" == "Fri" ]]; then
+ local next_key="${prayers[${nxt_idx}],,}"
+ epochtimes[next]="${epochtimes[${next_key}]}"
+ currentprayer="${prayers[${curr_idx}]}"
+ nextprayer="${prayers[${nxt_idx}]}"
+ if [[ "${nxt_idx}" == "1" && "${date[weekday]}" == "Fri" ]]; then
nextprayer="Jumuaa"
fi
}
timeto() {
- [[ "$#" -lt "1" ]] && echo "atleast 1 argument are needed" && return 1
+ [[ "${#}" -lt "1" ]] && echo "atleast 1 argument are needed" && return 1
settimes
remain="$((epochtimes["${1,,}"] - epochtimes[now]))"
- [[ "$remain" -lt "0" ]] && remain="$((remain + 86400))"
- date -u -d"@$remain" "+${2:-%H:%M}"
+ [[ "${remain}" -lt "0" ]] && remain="$((remain + 86400))"
+ date -u -d"@${remain}" "+${2:-%H:%M}"
}
print() {
local format="📅 %s،%s\n%-12s%-10s\n%-12s%-10s\n%-12s%-10s\n%-12s%-10s\n%-12s%-10s\n%-12s%-10s\n"
- if [[ "$print_lang" == "ar" ]]; then
+ if [[ "${print_lang}" == "ar" ]]; then
format="📅 %s،%s\n%s%11s\n%s%10s\n%s%11s\n%s%11s\n%s%10s\n%s%10s\n"
fi
- printf "$format" \
+ printf "${format}" \
"$(hijri weekday)" \
"$(hijri day)-$(hijri month)-$(hijri year)" \
"Ûž $(nameof Fajr)" "$(timeof Fajr)" \
@@ -190,9 +189,7 @@ yad-en() {
"📅 $(hijri weekday),$(hijri day)-$(hijri month)-$(hijri year)" \
--list \
--width=300 \
- --posx=550 \
- --posy=20 \
- --height=270 \
+ --height=250 \
--title="Prayers" \
--column="Prayer" \
--column="Time" \
@@ -217,9 +214,7 @@ yad-ar() {
"📅 $(hijri weekday),$(hijri day)-$(hijri month)-$(hijri year)" \
--list \
--width=250 \
- --posx=550 \
- --posy=20 \
- --height=280 \
+ --height=240 \
--title="Prayers" \
--column="الوقت" \
--column="الصلاة" \
@@ -239,26 +234,26 @@ yad-toggle() {
local yad_pid
yad_pid=$(pgrep -f 'yad.*Prayers')
- if [[ -z "$yad_pid" ]]; then
- if [[ "$print_lang" == "ar" ]]; then
+ if [[ -z "${yad_pid}" ]]; then
+ if [[ "${print_lang}" == "ar" ]]; then
yad-ar
else
yad-en
fi
else
- kill "$yad_pid"
+ kill "${yad_pid}"
fi
}
current() {
settimes
- echo "$currentprayer"
+ echo "${currentprayer}"
}
next() {
settimes
- echo "$nextprayer"
+ echo "${nextprayer}"
}
remaining() {
@@ -270,18 +265,18 @@ status() {
settimes
local remain
remain="$(timeto next)"
- echo "$nextprayer in $remain"
+ echo "${nextprayer} in ${remain}"
}
waybar-status() {
settimes
local remain
remain="$(timeto next)"
- local next_text="$nextprayer in $remain"
- printf '{ "text": "%s", "class": "%s" }' "$next_text" "$nextprayer"
+ local next_text="${nextprayer} in ${remain}"
+ printf '{ "text": "%s", "class": "%s" }' "${next_text}" "${nextprayer}"
}
-case "$1" in
+case "${1}" in
check)
check
;;
@@ -314,12 +309,12 @@ waybar)
waybar-status
;;
timeto)
- if [[ -n "$2" ]]; then
- if [[ "$2" == "next" ]]; then
+ if [[ -n "${2}" ]]; then
+ if [[ "${2}" == "next" ]]; then
valid=1
else
for p in "${prayers[@]}"; do
- if [[ "${2^}" == "$p" ]]; then
+ if [[ "${2^}" == "${p}" ]]; then
valid=1
break
fi
@@ -327,16 +322,16 @@ timeto)
fi
fi
- if [[ -z "$valid" ]]; then
+ if [[ -z "${valid}" ]]; then
IFS='|'
- echo "Usage: $(basename "$0") timeto (next|${prayers[*],,})"
+ echo "Usage: $(basename "${0}") timeto (next|${prayers[*],,})"
exit 1
fi
- timeto "$2"
+ timeto "${2}"
;;
*)
- echo "Usage: $(basename "$0") [command]"
+ echo "Usage: $(basename "${0}") [command]"
echo "Command:"
echo " check Check if prayer time data needs to be fetched"
echo " jobs Add prayer time notifications as at jobs"
diff --git a/bin/bin/wm/switch_last_window_monitor.sh b/bin/bin/wm/switch_last_window_monitor.sh
new file mode 100755
index 0000000..f8ecb5c
--- /dev/null
+++ b/bin/bin/wm/switch_last_window_monitor.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# TODO: Fix this!!
+# chatgpted
+# Get the current active window ID
+current_window=$(hyprctl activewindow)
+
+# Get the monitor of the current active window
+current_monitor=$(hyprctl activewindow | grep -oP 'monitor: \K\d+')
+
+# Get the last active window's ID on a different monitor
+last_window=$(hyprctl monitors | grep -v $current_monitor | awk '{print $1}')
+
+echo $last_window
+
+# Switch focus to that window (if found)
+if [ -n "$last_window" ]; then
+ hyprctl focuswindow $last_window
+fi
+
diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc
index b0e816f..5a56922 100755
--- a/bspwm/.config/bspwm/bspwmrc
+++ b/bspwm/.config/bspwm/bspwmrc
@@ -8,7 +8,7 @@ pgrep ~/bin/wm/bspswallow || ~/bin/wm/bspswallow &
# not sure if I can count using Roman Numerals :)
-bspc monitor eDP1 -d I II III IV V VI VII VIII IX X
+bspc monitor -d I II III IV V VI VII VIII IX X
#bspc config ignore_ewmh_fullscreen all
bspc config ignore_ewmh_focus true
diff --git a/emacs.mine/.config/emacs.mine/emacs.org b/emacs.mine/.config/emacs.mine/emacs.org
index 24018c5..c0a71c9 100644
--- a/emacs.mine/.config/emacs.mine/emacs.org
+++ b/emacs.mine/.config/emacs.mine/emacs.org
@@ -69,22 +69,31 @@ remove warning by use-package
* Basic Configuration
** Better Defaults
#+begin_src emacs-lisp
- (setq inhibit-startup-message t)
- (scroll-bar-mode -1) ; Disable visible scrollbar
- (tool-bar-mode -1) ; Disable the toolbar
- (tooltip-mode -1) ; Disable tooltips
- (set-fringe-mode 10) ; Give some breathing room
+ (setq inhibit-startup-message t)
+ (scroll-bar-mode -1) ; Disable visible scrollbar
+ (tool-bar-mode -1) ; Disable the toolbar
+ (tooltip-mode -1) ; Disable tooltips
+ (set-fringe-mode 10) ; Give some breathing room
- (menu-bar-mode -1) ; Disable the menu bar
- (winner-mode 1) ; Disable the menu bar
- (setq visible-bell nil) ; Set up the visible bell
- (column-number-mode) ; Display Column Number in the modline
- (setq use-dialog-box nil) ; I don't like to confirm anything with a mouse!
- (defalias 'yes-or-no-p 'y-or-n-p) ; I don't want to type 'yes' everytime!, 'y' is enough
+ (menu-bar-mode -1) ; Disable the menu bar
+ (winner-mode 1) ; Disable the menu bar
+ (setq visible-bell nil) ; Set up the visible bell
+ (column-number-mode) ; Display Column Number in the modline
+ (setq use-dialog-box nil) ; I don't like to confirm anything with a mouse!
+ (setq max-mini-window-height 1) ; Maximum height for resizing mini-windows (the minibuffer and the echo area). = 1 line
+
+ (defalias 'yes-or-no-p 'y-or-n-p) ; I don't want to type 'yes' everytime!, 'y' is enough
+
+ ;(setq native-comp-deferred-compilation t); emacs 30+ i guess
+ (setq comp-deferred-compilation-deny-list '()) ;; turn off bytecompiler warnings
+ (setq native-comp-async-report-warnings-errors nil)
+
+ ;; This is to refresh org buffers when reloading agenda
+ ;; When I sync from another device.
+ (global-auto-revert-mode 1)
+ (setq auto-revert-use-notify 1) ; same thing with set to 1
+ (setq auto-revert-verbose t)
- ;(setq native-comp-deferred-compilation t); emacs 30+ i guess
- (setq comp-deferred-compilation-deny-list '()) ;; turn off bytecompiler warnings
- (setq native-comp-async-report-warnings-errors nil)
#+end_src
Emacs Backups trashing local dir!
@@ -521,6 +530,7 @@ Capture
"wo" '(other-window :which-key "Window Other")
"wr" '(winner-redo :which-key "Window Redo")
"wt" '(treemacs :which-key "Treemacs")
+ "wT" '(treemacs-select-window :which-key "Treemacs Sel. Window")
#+end_src
**** Code (c)
@@ -829,7 +839,7 @@ slow loading! defer it
:custom
(company-tooltip-minimum-width 40) ;reduce flicker due to changing width
(global-company-mode t)
- (company-idle-delay 0.3) ;; how long to wait until popup
+ (company-idle-delay 0.1) ;; how long to wait until popup
(company-minimum-prefix-length 1) ;; The minimum prefix length for idle completion.
(company-selection-wrap-around t)
;; (company-begin-commands nil) ;; uncomment to disable popup
@@ -907,8 +917,8 @@ better sorting for ivy, company..
;; org-s-file (car (org-roam-id-find "34f6b040-ea49-421c-ade6-3834a9c86e0f"))
;; org-books-file (concat org-roam-directory "book_list.org")
org-agenda-files (list org-directory ); org-s-file)
- rmh-elfeed-org-files (list "~/Documents/private.el/elfeed.org")
- elfeed-dashboard-file "~/Documents/private.el/elfeed-dashboard.org"
+ rmh-elfeed-org-files (list "~/Documents/Emacs/private.el/elfeed.org")
+ elfeed-dashboard-file "~/Documents/Emacs/private.el/elfeed-dashboard.org"
org-preview-latex-image-directory "~/.cache/ltx/ltximg"
org-my-anki-file (concat org-roam-directory "anki.org")
org-refile-targets '((org-agenda-files . (:level . 1))))
@@ -1171,7 +1181,7 @@ From: https://yiufung.net/post/anki-org/
*** Weeks per semester
#+begin_src emacs-lisp
(defun org-week-to-class-week (week)
- (- week 34))
+ (- week 0))
(advice-add 'org-days-to-iso-week :filter-return
#'org-week-to-class-week)
@@ -1304,14 +1314,14 @@ From: https://yiufung.net/post/anki-org/
(setq org-agenda-span 'day); a week is too much
(setq org-super-agenda-groups
'((:log t :order 99); logs at bottom
- (:name "S"
+ (:name "Study"
:order 97
:tag ("S"))
(:name "Life"
- :order 97
+ :order 98
:tag ("L"))
(:name "Habits"
- :order 98
+ :order 99
:habit t)
(:name "Overdue"
:deadline past
@@ -1643,36 +1653,37 @@ This is done in Performance section
*** lsp-mode
#+begin_src emacs-lisp
- (use-package lsp-mode
- :commands (lsp lsp-deferred)
- ;; :hook
- ;; (lsp-mode . my/lsp/lsp-mode-setup)
- :custom
- (lsp-headerline-breadcrumb-segments '(path-up-to-project file))
- (lsp-rust-analyzer-cargo-watch-command "clippy")
- (lsp-eldoc-render-all t)
- (lsp-eldoc-enable-hover nil)
- (lsp-ui-doc-show-with-mouse nil)
- (lsp-keep-workspace-alive nil)
- (lsp-idle-delay 0.6)
- (lsp-completion-provider :capf)
- (lsp-prefer-flymake nil)
- (lsp-idle-delay 0.6)
- (lsp-rust-analyzer-server-display-inlay-hints t)
- (lsp-rust-analyzer-display-parameter-hints t)
- ;(setq lsp-keymap-prefix "C-c l") ;; Or 'C-l', 's-l'
- :config
- (lsp-enable-which-key-integration t)
- (setq lsp-headerline-breadcrumb-enable nil); anonying tabs
- (setq lsp-log-io nil) ; if set to true can cause a performance hit
- (add-hook 'lsp-mode-hook 'lsp-ui-mode)
- (lsp-headerline-breadcrumb-mode -1)
- (flycheck-mode 1)
- :bind
- (:map lsp-mode-map
- ;; ("" . company-indent-or-complete-common); commented cuz tabs for yasnippet!
- )
- )
+ (use-package lsp-mode
+ :commands (lsp lsp-deferred)
+ ;; :hook
+ ;; (lsp-mode . my/lsp/lsp-mode-setup)
+ :custom
+ (lsp-headerline-breadcrumb-segments '(path-up-to-project file))
+ (lsp-rust-analyzer-cargo-watch-command "clippy")
+ (lsp-eldoc-render-all t)
+ (lsp-eldoc-enable-hover nil)
+ (lsp-ui-doc-show-with-mouse nil)
+ (lsp-keep-workspace-alive nil)
+ (lsp-auto-execute-action nil) ; always ask for actions, even if there is only one option!
+ (lsp-idle-delay 0.6)
+ (lsp-completion-provider :capf)
+ (lsp-prefer-flymake nil)
+ (lsp-idle-delay 0.6)
+ (lsp-rust-analyzer-server-display-inlay-hints t)
+ (lsp-rust-analyzer-display-parameter-hints t)
+ ;(setq lsp-keymap-prefix "C-c l") ;; Or 'C-l', 's-l'
+ :config
+ (lsp-enable-which-key-integration t)
+ (setq lsp-headerline-breadcrumb-enable nil); anonying tabs
+ (setq lsp-log-io nil) ; if set to true can cause a performance hit
+ (add-hook 'lsp-mode-hook 'lsp-ui-mode)
+ (lsp-headerline-breadcrumb-mode -1)
+ (flycheck-mode 1)
+ :bind
+ (:map lsp-mode-map
+ ;; ("" . company-indent-or-complete-common); commented cuz tabs for yasnippet!
+ )
+ )
#+end_src
Lsp UI
@@ -1721,12 +1732,11 @@ Lsp UI
#+begin_src emacs-lisp
(use-package format-all
;; :commands (format-all-mode)
- :defer
:config
(setq my/format-all-formatters '(("Verilog" verible)))
:hook (prog-mode . format-all-mode)
(format-all-mode . (lambda () (setq format-all-formatters my/format-all-formatters)))
- (format-all-mode . format-all-ensure-formatter))
+ (format-all-mode . format-all-ensure-formatter))all
#+end_src
*** Debug
@@ -1739,11 +1749,11 @@ Use the Debug Adapter Protocol for running tests and debugging
#+end_src
*** Highlihght Indenation Mode
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :tangle no
(use-package highlight-indent-guides
- :hook (prog-mode . highlight-indent-guides-mode)
- :custom (highlight-indent-guides-method 'character)
- (highlight-indent-guides-responsive 'top))
+ :hook (prog-mode . highlight-indent-guides-mode)
+ :custom (highlight-indent-guides-method 'character)
+ (highlight-indent-guides-responsive 'top))
#+end_src
** Git
@@ -1790,10 +1800,11 @@ Magit TODOs!
** Treemacs
use-package
#+begin_src emacs-lisp
- (use-package treemacs
- :commands (treemacs)
- :init
- (setq treemacs-follow-after-init t
+ (use-package treemacs
+ :commands (treemacs)
+ :init
+ (treemacs-project-follow-mode 1)
+ (setq treemacs-follow-after-init t
treemacs-is-never-other-window t
treemacs-sorting 'alphabetic-case-insensitive-asc))
#+end_src
@@ -2120,6 +2131,11 @@ Sbt for sbt commands...
(add-hook 'before-save-hook 'lsp-format-buffer nil t))))
#+end_src
+CMake
+#+begin_src emacs-lisp
+ (use-package cmake-mode)
+#+end_src
+
*** COMMENT Ruby
#+begin_src emacs-lisp
(use-package ruby-mode
@@ -2130,7 +2146,7 @@ Sbt for sbt commands...
(add-hook 'before-save-hook 'lsp-format-buffer nil t))))
#+end_src
-*** python
+*** COMMENT python
#+begin_src emacs-lisp
(use-package elpy
:ensure t
@@ -2146,8 +2162,8 @@ Sbt for sbt commands...
#+end_src
-*** LaTeX
-AucTex
+*** COMMENT LaTeX (old, to be deleted)
+AucTex (Archived, =:tangle= set to =no=)
#+begin_src emacs-lisp :tangle no
;; latexmk
(use-package magic-latex-buffer
@@ -2229,7 +2245,7 @@ AucTex
;; ;; pdftools
;; ;; https://emacs.stackexchange.com/questions/21755/use-pdfview-as-default-auctex-pdf-viewer#21764
(setq TeX-view-program-selection '((output-pdf "Zathura"))
- ;; TeX-view-program-list '(("PDF Tools" TeX-pdf-tools-sync-view))
+ ;; TeX-view-program-list '(("PDF Tools" TeX-pdf-tools-sync-view))
TeX-source-correlate-start-server t) ;; not sure if last line is neccessary
;; (add-to-list 'TeX-view-program-selection '(output-pdf "Zathura"))
@@ -2252,13 +2268,13 @@ AucTex
;; latexmk
(require 'auctex-latexmk)
- (auctex-latexmk-setup)
- (setq auctex-latexmk-inherit-TeX-PDF-mode t)
-
- )
+ (auctex-latexmk-setup) ; look here for stuff
+ (setq auctex-latexmk-inherit-TeX-PDF-mode t))
#+end_src
-Custom functions
+
+
+Custom functions (Archived, =:tangle= set to =no=)
#+begin_src emacs-lisp :tangle no
(defun try/latex-mode-setup ()
@@ -2371,15 +2387,67 @@ ivy bibtex
(bibtex-completion-cite-prompt-for-optional-arguments nil)
(bibtex-completion-cite-default-as-initial-input t)
)
-
#+end_src
+*** LaTeX
+See: [[https://karthinks.com/software/latex-input-for-impatient-scholars/][LaTeX Input for Impatient Scholars | Karthinks]]
+AucTex
#+begin_src emacs-lisp
+ (use-package auctex-latexmk
+ :after auctex ;; Ensure it's loaded after AUCTeX
+ :config
+ (setq LaTeX-command "LaTeXMk") ;; Use latexmk as the default LaTeX command
+ (setq latex-run-command "LaTeXMk"))
+
+ (use-package auctex
+ :mode ("\\.tex\\'" . LaTeX-mode)
+ :defer t
+ :hook
+ (LaTeX-mode . flyspell-mode)
+ (LaTeX-mode . flycheck-mode)
+ (LaTeX-mode . company-mode)
+ (LaTeX-mode . turn-on-reftex)
+ (LaTeX-mode . electric-indent-mode)
+ (LaTeX-mode . auto-fill-mode)
+ ;(LaTeX-mode . format-all-mode)
+ (LaTeX-mode . TeX-source-correlate-mode)
+ (LaTeX-mode . turn-on-cdlatex)
+ :custom
+ (reftex-default-bibliography '("~/Documents/refs.bib"))
+ (bibtex-dialect 'biblatex)
+ (TeX-save-query 'nil)
+ (reftex-plug-into-AUCTeX 't)
+ :config
+ (require 'auctex-latexmk)
+ (auctex-latexmk-setup) ; look here for stuff
+ (setq auctex-latexmk-inherit-TeX-PDF-mode t)
+
+ (evil-define-key 'visual 'LaTeX-mode-map
+ "$" 'TeX-insert-dollar
+ "'" 'cdlatex-math-modify)
+ (setq TeX-view-program-selection '((output-pdf "Zathura"))
+ TeX-source-correlate-start-server t)
+ (setq-default TeX-output-dir "/tmp/tex")
+ (add-to-list 'LaTeX-clean-intermediate-suffixes
+ '"-figure[0-9]*\\.\\(pdf\\|md5\\|log\\|dpth\\|dep\\|run\\.xml\\)")
+ (add-to-list 'LaTeX-clean-intermediate-suffixes '".auxlock")
+ :custom-face
+ (font-latex-sectioning-0-face ((t (:family my/ui/varfont :weight bold :height 3.0))))
+ (font-latex-sectioning-1-face ((t (:family my/ui/varfont :weight bold :height 2.5))))
+ (font-latex-sectioning-2-face ((t (:family my/ui/varfont :weight bold :height 2.0))))
+ (font-latex-sectioning-3-face ((t (:family my/ui/varfont :weight bold :height 1.5))))
+ (font-latex-sectioning-4-face ((t (:family my/ui/varfont :weight bold :height 1.5)))))
+#+end_src
+
+Lsp LaTeX
+#+begin_src emacs-lisp
+ (use-package cdlatex
+ :defer t
+ :hook ((LaTeX-mode . cdlatex-mode)))
(use-package lsp-latex
- :hook ((tex-mode . lsp)
- (latex-mode . lsp)))
-
+ :hook (;(tex-mode . lsp)
+ (LaTeX-mode . lsp)))
#+end_src
*** COMMENT Ledger
@@ -2556,6 +2624,14 @@ Unused, switched to =hledger=
#+end_src
+*** Zig
+#+begin_src emacs-lisp
+ (use-package zig-mode
+ :hook
+ (zig-mode . lsp-mode)
+ (zig-mode . (lambda () (remove-hook 'before-save-hook 'zig-format-buffer t))))
+#+end_src
+
** Tramp
#+begin_src emacs-lisp
; moved to Git
@@ -2938,7 +3014,7 @@ I wrote that, neat isn't it? :P
(use-package mu4e ;
;; this line is for nixos
;; until here
- ;;:ensure-system-package mu
+ :ensure-system-package mu
:init
(defun mu4e--main-action-str (str &optional func-or-shortcut))
(defun evil-collection-mu4e-update-main-view@override())
@@ -3176,7 +3252,7 @@ Only ask whether to reply to all if there are more than one recipients
:init
(dashboard-setup-startup-hook)
:config
- (setq dashboard-startup-banner "~/Downloads/haskell-rec.png")
+ (setq dashboard-startup-banner "~/Documents/Emacs/haskell-rec.png")
;; Value can be
;; 'official which displays the official emacs logo
;; 'logo which displays an alternative emacs logo
diff --git a/fonts/.local/share/fonts/NFM.ttf b/fonts/.local/share/fonts/NFM.ttf
new file mode 100644
index 0000000..534d52a
Binary files /dev/null and b/fonts/.local/share/fonts/NFM.ttf differ
diff --git a/haskell/.ghc/ghci.conf b/haskell/.ghc/ghci.conf
index 8c803c1..5febe73 100644
--- a/haskell/.ghc/ghci.conf
+++ b/haskell/.ghc/ghci.conf
@@ -1,2 +1,2 @@
-:set prompt "\ESC[1;34m%s\n\ESC[0;34mλ> \ESC[m"
-
+-- :set prompt "\ESC[1;34m%s\n\ESC[0;34mλ> \ESC[m"
+:set prompt "\ESC[1;34m%s\n\ESC[0;34m────────────────────\nλ> \ESC[m"
diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf
index 9ee02e3..cb5916c 100644
--- a/hypr/.config/hypr/hyprland.conf
+++ b/hypr/.config/hypr/hyprland.conf
@@ -19,18 +19,33 @@
# source = ~/.config/hypr/myColors.conf
-################
-### MONITORS ###
-################
-$mainMonitor=DVI-D-1
-$secondMonitor=DP-1
+##################
+### 2 MONITORS ###
+##################
+
+#$mainMonitor=DVI-D-1
+#$secondMonitor=DP-1
+
+# $mainMonitor=DP-1
+# $secondMonitor=DVI-D-1
+#
+# # See https://wiki.hyprland.org/Configuring/Monitors/
+# # MAIN:
+# monitor=$mainMonitor,preferred,1920x395,auto
+# # LEFT:
+# monitor=$secondMonitor,preferred,auto,auto, transform, 3
+# monitor = , highres, auto, 1
+
+##################
+### MONITORS ###
+##################
+
+$mainMonitor=DP-1
# See https://wiki.hyprland.org/Configuring/Monitors/
# MAIN:
-monitor=$mainMonitor,preferred,1920x395,auto
-# LEFT:
-monitor=$secondMonitor,preferred,auto,auto, transform, 3
-monitor = , preferred, auto, 1
+monitor=$mainMonitor,highres,0x0,1.25
+monitor = , highres, auto, 1
###################
@@ -40,7 +55,7 @@ monitor = , preferred, auto, 1
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
-$terminal = kitty
+$terminal = alacritty
$fileManager = dolphin
$menu = rofi -show drun
@@ -54,6 +69,7 @@ $menu = rofi -show drun
exec-once = nm-applet & (sleep 3 && nextcloud --background ) & (sleep 3 && udiskie --tray ) &
exec-once = (sleep 3 && kdeconnect-indicator)
+exec-once = (sleep 3 && blueberry)
exec-once = waybar & hyprpaper
exec-once = [workspace 1 silent] firefox
@@ -78,6 +94,15 @@ exec-once = swayidle -w
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
+env = ELECTRON_OZONE_PLATFORM_HINT,auto
+
+# unscale XWayland
+xwayland {
+ force_zero_scaling = true
+}
+# toolkit-specific scale
+#env = GDK_SCALE,2
+#env = XCURSOR_SIZE,32
#####################
@@ -111,6 +136,9 @@ general {
allow_tearing = false
layout = dwindle
+
+ # on HJKL, don't wrap around
+ no_focus_fallback = true
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
@@ -122,7 +150,7 @@ decoration {
inactive_opacity = 1.0
shadow {
- enabled = true
+ enabled = false
range = 4
render_power = 3
color = rgba(1a1a1aee)
@@ -130,7 +158,7 @@ decoration {
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
- enabled = true
+ enabled = false
popups = false
special = true # this is an expensive operation
size = 3
@@ -169,6 +197,7 @@ animations {
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
+ #animation = workspaces, 1, 5, default, slide
}
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
@@ -212,10 +241,10 @@ misc {
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
- kb_layout = us
+ kb_layout = us,ara
kb_variant =
kb_model =
- kb_options = altwin:swap_lalt_lwin, ctrl:swapcaps
+ kb_options = altwin:swap_lalt_lwin, ctrl:swapcaps, grp:shifts_toggle
kb_rules =
follow_mouse = 1
@@ -241,6 +270,27 @@ device {
sensitivity = -0.5
}
+device {
+ name = bastard-keyboards-scylla-splinky
+ kb_options =
+}
+device {
+ name = bastard-keyboards-scylla-splinky-system-control, bastard-keyboards-scylla-splinky-consumer-control
+ kb_options =
+}
+device {
+ name = bastard-keyboards-scylla-splinky-consumer-control
+ kb_options =
+}
+
+binds {
+ # FIX: make hjkl not exit fullscreen ;)
+ movefocus_cycles_fullscreen = 0
+
+ # For Alt+TAB to work
+ # https://www.reddit.com/r/hyprland/comments/zyrrtp/how_do_i_switch_back_and_forth_between_two/
+ allow_workspace_cycles = true
+}
###################
### KEYBINDINGS ###
@@ -256,15 +306,27 @@ bind = $mainMod SHIFT, Q, killactive,
# bind = $mainMod, M, exit,
# bind = $mainMod, E, exec, $fileManager
bind = $mainMod, E, exec, emacsclient -nc -alternate-editor="emacs"
+bind = $mainMod, bracketright, exec, ~/bin/rofi_bin_launcher.py
+bind = $mainMod, bracketleft, exec, rofi -show calc
bind = $mainMod, R, exec, $menu
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
-bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy
+# bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy
+bind = SHIFT, Print, exec, env XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway QT_QPA_PLATFORM=wayland flameshot gui
+bind = , Print, exec, grim -g "$(slurp -o -r -c '##FF0000FF')" -t ppm - | satty --early-exit --initial-tool rectangle --copy-command wl-copy --annotation-size-factor 2 --fullscreen --save-after-copy --output-filename "/tmp/test-%Y-%m-%d_%H:%M:%S.png" --filename -
+
+# Toggle Bar
+bind = $mainMod, b, exec, killall -SIGUSR1 waybar
# Lock
bind = $mainMod, HOME, exec, hyprlock >> ~/hyprlock_logfile.txt
+
+
+# Between workspaces
+bind = $mainMod, Tab, workspace, previous
+
# from https://github.com/end-4/dots-hyprland/blob/main/.config/hypr/hyprland/keybinds.conf
-bind = $mainMod, Tab, focuscurrentorlast # [hidden] sus keybind
-bind = $mainMod, Tab, bringactivetotop, # [hidden] bring it to the top
+bind = $mainMod, Grave, focuscurrentorlast # [hidden] sus keybind
+bind = $mainMod, Grave, bringactivetotop, # [hidden] bring it to the top
# Window Modes
bind = $mainMod, s, togglefloating,
@@ -293,7 +355,7 @@ bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
-bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
@@ -412,8 +474,8 @@ windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Fix ueberzugpp
-windowrulev2 = noanim, class:^(ueberzugpp)
-windowrulev2 = workspace 4 silent, class:^(VGA_SIM)
+windowrulev2 = noanim, class:^(ueberzugpp_.*)
+#windowrulev2 = float, class:^(ueberzugpp_.*)
# Fix Matlab
windowrulev2 = nofocus, class: ^(MATLAB [\w\d]* - academic use)$, title: ^(Command HistoryWindow)$
@@ -442,6 +504,22 @@ windowrulev2 = nofocus, class: ^(MATLAB [\w\d]* - academic use)$, title: ^(Defau
windowrulev2 = float,class:(yad)
windowrulev2 = move cursor -50% 25,title:(Prayers)
+# Flameshot
+# noanim isn't necessary but animations with these rules might look bad. use at your own discretion.
+windowrulev2 = noanim, class:^(flameshot)$
+windowrulev2 = fullscreenstate, class:(flameshot), title:(flameshot)
+windowrulev2 = float, class:^(flameshot)$
+windowrulev2 = move 0 0, class:^(flameshot)$
+windowrulev2 = pin, class:^(flameshot)$
+# set this to your leftmost monitor id, otherwise you have to move your cursor to the leftmost monitor
+# before executing flameshot
+windowrulev2 = monitor 1, class:^(flameshot)$
+
+# SATTY (for screenshots)
+windowrulev2 = noanim, class:^(flameshot)$
+windowrulev2 = fullscreen, class:^(com.gabm.satty)$, title:^(satty)$
+windowrulev2 = float, class:^(com.gabm.satty)$, title:^(satty)$
+
# bind workspaces
#workspace = [1-5], monitor: $mainMonitor
workspace=1, monitor:$mainMonitor
diff --git a/hypr/.config/swayidle/config b/hypr/.config/swayidle/config
index 3840d5b..d66c5b0 100644
--- a/hypr/.config/swayidle/config
+++ b/hypr/.config/swayidle/config
@@ -1,3 +1,4 @@
+timeout 250 'notify-send --app-name=screenlockwarning "Screen will lock in 30 seconds"'
timeout 300 'hyprlock >> ~/hyprlock_logfile.txt'
-timeout 315 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'
+timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'
before-sleep 'hyprlock'
diff --git a/latexmk/.latexmkrc b/latexmk/.latexmkrc
index fc9aecb..684a37a 100644
--- a/latexmk/.latexmkrc
+++ b/latexmk/.latexmkrc
@@ -4,9 +4,11 @@ $ENV{max_print_line} = $log_wrap = 1000;
$out_dir = '/tmp/tex';
$pdf_mode = 1;
-$pdflatex = 'pdflatex --shell-escape -interaction=nonstopmode -synctex=1 %O %S;';
-$pdflualatex = 'lualatex --shell-escape -interaction=nonstopmode -synctex=1 %O %S;';
+#$pdflatex = 'pdflatex -shell-escape -interaction=nonstopmode -synctex=1 %O %S;';
+$pdflatex = 'lualatex -shell-escape -interaction=nonstopmode -synctex=1 %O %S;';
+$pdflualatex = 'lualatex -shell-escape -interaction=nonstopmode -synctex=1 %O %S;';
# https://stackoverflow.com/questions/71868294/set-zathura-as-a-default-viewer-while-using-latexmk
+# $pdf_previewer = 'Evince';
$pdf_previewer = 'zathura';
diff --git a/nvim/.config/nvim/coc-settings.json b/nvim/.config/nvim/coc-settings.json
index e69de29..d7f6fb0 100644
--- a/nvim/.config/nvim/coc-settings.json
+++ b/nvim/.config/nvim/coc-settings.json
@@ -0,0 +1,3 @@
+{
+ "snippets.ultisnips.pythonPrompt": false
+}
\ No newline at end of file
diff --git a/polybar/.config/polybar/hack/colors.ini b/polybar/.config/polybar/hack/colors.ini
index 777b9fb..7584005 100644
--- a/polybar/.config/polybar/hack/colors.ini
+++ b/polybar/.config/polybar/hack/colors.ini
@@ -14,7 +14,7 @@
;; main colors
background = #FFFFFF
foreground = #1F1F1F
-primary = #ffb300
+primary = #00acc1
red = #FF5250
green = #43a047
yellow = #fdd835
diff --git a/polybar/.config/polybar/hack/config.ini b/polybar/.config/polybar/hack/config.ini
index a2c693f..35165c1 100644
--- a/polybar/.config/polybar/hack/config.ini
+++ b/polybar/.config/polybar/hack/config.ini
@@ -37,7 +37,7 @@ include-file = ~/.config/polybar/hack/user_modules.ini
; If unspecified, the application will pick the first one it finds.
; $ polybar -m | cut -d ':' -f 1
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
-monitor =
+monitor = ${env:MONITOR}
; Use the specified monitor as a fallback if the main one is not found.
monitor-fallback =
diff --git a/polybar/.config/polybar/hack/scripts/rofi/colors.rasi b/polybar/.config/polybar/hack/scripts/rofi/colors.rasi
index aeb0a6b..6026c8e 100644
--- a/polybar/.config/polybar/hack/scripts/rofi/colors.rasi
+++ b/polybar/.config/polybar/hack/scripts/rofi/colors.rasi
@@ -3,7 +3,7 @@
* {
al: #00000000;
bg: #FFFFFFFF;
- ac: #ffb300FF;
- se: #ffb30026;
+ ac: #00acc1FF;
+ se: #00acc126;
fg: #1F1F1FFF;
}
diff --git a/ranger/.config/ranger/rc.conf b/ranger/.config/ranger/rc.conf
index 9513693..c3106e9 100644
--- a/ranger/.config/ranger/rc.conf
+++ b/ranger/.config/ranger/rc.conf
@@ -133,7 +133,7 @@ set unicode_ellipsis false
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
# Requires the python-bidi pip package
-set bidi_support false
+set bidi_support true
# Show dotfiles in the bookmark preview box?
set show_hidden_bookmarks true
diff --git a/sh_vars/.config/sh_vars/variables.sh b/sh_vars/.config/sh_vars/variables.sh
index 1ef9a5f..eb3f804 100644
--- a/sh_vars/.config/sh_vars/variables.sh
+++ b/sh_vars/.config/sh_vars/variables.sh
@@ -21,7 +21,8 @@ export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quo
export _Z_NO_RESOLVE_SYMLINKS=1
export _Z_DATA="$HOME/.local/share/z"
-# jupyter garbage export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
+# jupyter garbage
+export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
# python path for jupyter garbage
export PYTHONPATH="$HOME/.local/bin"
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
index 82b26dc..8e8d580 100644
--- a/tmux/.tmux.conf
+++ b/tmux/.tmux.conf
@@ -2,3 +2,15 @@ unbind C-b
set -g prefix C-a
bind C-a send-prefix
+set -g prefix C-Space
+bind C-Space send-prefix
+
+setw -g mouse on
+
+set -g mode-keys vi
+
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+
diff --git a/vim/.vimrc b/vim/.vimrc
index 9d858af..b2424ed 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -26,44 +26,44 @@ Plug 'mbbill/undotree'
Plug 'preservim/tagbar'
" }}}
Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}} " Completion as in vscode
-Plug 'preservim/nerdcommenter' " comments code
-Plug 'junegunn/goyo.vim' " zen mode
+" Plug 'preservim/nerdcommenter' " comments code
+" Plug 'junegunn/goyo.vim' " zen mode
"Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }
-Plug 'vim-utils/vim-man'
+" Plug 'vim-utils/vim-man'
Plug 'sheerun/vim-polyglot' "all lang packs :)
Plug 'qpkorr/vim-bufkill'
"JS {{{
-Plug 'https://github.com/pangloss/vim-javascript.git'
-Plug 'posva/vim-vue'
-Plug 'prettier/vim-prettier'
-Plug 'dense-analysis/ale' "ES-Lint
-Plug 'pangloss/vim-javascript'
-Plug 'heavenshell/vim-jsdoc', { 'for': ['javascript', 'javascript.jsx','typescript'], 'do': 'make install' }
+" Plug 'https://github.com/pangloss/vim-javascript.git'
+" Plug 'posva/vim-vue'
+" Plug 'prettier/vim-prettier'
+" Plug 'dense-analysis/ale' "ES-Lint
+" Plug 'pangloss/vim-javascript'
+" Plug 'heavenshell/vim-jsdoc', { 'for': ['javascript', 'javascript.jsx','typescript'], 'do': 'make install' }
Plug 'honza/vim-snippets'
-Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
-Plug 'junegunn/fzf.vim'
+" Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
+" Plug 'junegunn/fzf.vim'
Plug 'francoiscabrol/ranger.vim'
-Plug 'rbgrouleff/bclose.vim'
+" Plug 'rbgrouleff/bclose.vim'
Plug 'SirVer/ultisnips'
-Plug 'albanm/vuetify-vim'
+" Plug 'albanm/vuetify-vim'
"}}}
": Latex{{{
Plug 'lervag/vimtex'
Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' }
"}}}
"Rust {{{
-Plug 'rust-lang/rust.vim'
+" Plug 'rust-lang/rust.vim'
"}}}
"V {{{
-Plug 'ollykel/v-vim'
+" Plug 'ollykel/v-vim'
"}}}
" Markdown {{{
-Plug 'godlygeek/tabular'
+" Plug 'godlygeek/tabular'
"Plug 'plasticboy/vim-markdown'
"}}}
" GIT {{{
-Plug 'tpope/vim-fugitive'
+" Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
" }}}
diff --git a/waybar/.config/waybar/config.jsonc b/waybar/.config/waybar/config.jsonc
index 7eef84e..a08c114 100644
--- a/waybar/.config/waybar/config.jsonc
+++ b/waybar/.config/waybar/config.jsonc
@@ -5,9 +5,9 @@
// Choose the order of the modules
"reload_style_on_change": true,
"modules-left": ["hyprland/workspaces"],
- "modules-center": ["custom/music"],
+ "modules-center": ["pulseaudio","custom/prayers", "network", "cpu", "memory", "clock", "custom/music"],
// "modules-right": ["pulseaudio", "cpu", "backlight", "battery", "clock", "tray", "custom/lock", "custom/power"],
- "modules-right": ["pulseaudio","custom/prayers", "network", "cpu", "memory", "clock", "tray", "custom/lock", "custom/power"],
+ "modules-right": ["tray", "custom/lock", "custom/power"],
"hyprland/workspaces": {
"disable-scroll": true,
"sort-by-name": true,
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
index 2efe8df..6bf9a87 100644
--- a/waybar/.config/waybar/style.css
+++ b/waybar/.config/waybar/style.css
@@ -2,7 +2,7 @@
* {
font-family: FantasqueSansMono Nerd Font;
- font-size: 10px;
+ font-size: 12px;
min-height: 0;
}
diff --git a/zsh/.zshrc b/zsh/.zshrc
index f06e4da..91c9a4b 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -1,3 +1,4 @@
+
########
# INIT #
########
@@ -35,6 +36,13 @@ autoload -Uz _zinit
### End of Zinit's installer chunk
#===============================================================================================
+if [[ "${TERM}" == "dumb" ]]; then
+ exec sh
+fi
+
+# Get a random preset
+fastfetch --config $(printf "%s\n" examples/{6,7,9,13,17,20,21,22} | shuf -n 1)
+
###########
# PLUGINS #
###########
@@ -61,9 +69,12 @@ zplugin light zsh-users/zsh-autosuggestions
zplugin ice wait'0' lucid
zinit load agkozak/zsh-z
+zplugin ice wait'1' lucid
+zinit load "MichaelAquilina/zsh-auto-notify"
-zplugin ice wait'5' lucid
-zplugin load chisui/zsh-nix-shell
+
+#zplugin ice wait'5' lucid
+#zplugin load chisui/zsh-nix-shell
#zplugin ice wait'1' lucid
@@ -96,6 +107,7 @@ setopt EXTENDED_HISTORY # record command start time
SAVEHIST=1000
HISTSIZE=1000
HISTFILE="$HOME/.local/share/zsh/zsh_history"
+AUTO_NOTIFY_IGNORE+=("fm", "ranger", "nvim")
#===============================================================================================
############
@@ -222,6 +234,8 @@ alias startx="exec startx"
#===============================================================================================
+#source ~/.config/sh_vars/variables.sh
+
#xdg specs
export XDG_CONFIG_HOME="$HOME"/.config
export XDG_CACHE_HOME="$HOME"/.cache
@@ -232,7 +246,7 @@ export CARGO_HOME="$XDG_DATA_HOME"/cargo
export GOPATH="$XDG_DATA_HOME"/go
export GOBIN="$XDG_DATA_HOME"/go
export DOOM_PATH="$HOME/.emacs.d/bin"
-#export YARN_PATH="$HOME/.yarn/bin"
+export YARN_PATH="$HOME/.yarn/bin"
export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$YARN_PATH:$GOPATH:$PATH"
@@ -244,10 +258,11 @@ export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quo
export _Z_NO_RESOLVE_SYMLINKS=1
export _Z_DATA="$HOME/.local/share/z"
-# jupyter garbage export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
+# jupyter garbage
+# export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
# python path for jupyter garbage
-export PYTHONPATH="$HOME/.local/bin"
+# export PYTHONPATH="$HOME/.local/bin"
# andriod studio, not that I use it
# also needed by shitlab! (matlab)
@@ -271,6 +286,7 @@ else
fi
export TERMINAL="alacritty"
+export TERM=xterm-256color
# man colors
export LESS_TERMCAP_mb=$(printf '\e[01;31m') # enter blinking mode - red
@@ -295,6 +311,8 @@ WINIT_X11_SCALE_FACTOR=1
# Load the pure theme, with zsh-async library that's bundled with it
PS1="> "
RPS1=" "
+# TODO: Check if starship binary exist, and choose to eval one of the next two
+# lines of code
#zplugin ice wait'!0' lucid pick"async.zsh" src"pure.zsh"; zplugin light sindresorhus/pure
eval "$(starship init zsh)"
@@ -304,3 +322,6 @@ eval "$(starship init zsh)"
export QSYS_ROOTDIR="/home/lambda/Programs/intelQuartus/quartus/sopc_builder/bin"
export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
+
+[ -f "/home/lambda/.ghcup/env" ] && . "/home/lambda/.ghcup/env" # ghcup-env
+