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 +