diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml index a8321ff..65f52ad 100644 --- a/alacritty/.config/alacritty/alacritty.toml +++ b/alacritty/.config/alacritty/alacritty.toml @@ -86,7 +86,7 @@ family = "monospace" family = "monospace" [font.normal] -family = "Fira Code" +family = "JetBrainsMono Nerd Font" style = "Regular" [[keyboard.bindings]] diff --git a/bash/.profile b/bash/.profile index 0b0e6e1..0b8040d 100644 --- a/bash/.profile +++ b/bash/.profile @@ -56,4 +56,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/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf index cb5916c..81b55dd 100644 --- a/hypr/.config/hypr/hyprland.conf +++ b/hypr/.config/hypr/hyprland.conf @@ -1,6 +1,4 @@ - -# ####################################################################################### -# AUTOGENERATED HYPR CONFIG. +# ####################################################################################### AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### @@ -40,7 +38,7 @@ ### MONITORS ### ################## -$mainMonitor=DP-1 +# $mainMonitor=DP-1 # See https://wiki.hyprland.org/Configuring/Monitors/ # MAIN: @@ -71,11 +69,12 @@ exec-once = nm-applet & (sleep 3 && nextcloud --background ) & (sleep 3 && udisk exec-once = (sleep 3 && kdeconnect-indicator) exec-once = (sleep 3 && blueberry) exec-once = waybar & hyprpaper +exec-once = (sleep 5 && syncthing -no-browser) exec-once = [workspace 1 silent] firefox exec-once = [workspace 8 silent] $terminal exec-once = [workspace 9 silent] keepassxc -exec-once = [workspace 9 silent] emacs +exec-once = [workspace 9 silent] zsh -c emacs exec-once = [workspace 10 silent] thunderbird # cliphsit https://wiki.archlinux.org/title/Hyprland @@ -119,8 +118,8 @@ general { border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) col.inactive_border = rgba(FF000055) rgba(FFFF0055) rgba(00FF0055) rgba(00FFFF55) rgba(0000FF55) rgba(FF00FF55) 270deg col.active_border = rgba(FF0000ee) rgba(FFFF00ee) rgba(00FF00ee) rgba(00FFFFee) rgba(0000FFee) rgba(FF00FFee) 270deg @@ -218,6 +217,7 @@ dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + shift + t in the keybinds section below preserve_split = true # You probably want this force_split = 2 # right or bottom + #smart_split = true } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more @@ -231,7 +231,7 @@ misc { disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( enable_swallow = false swallow_regex = ^(Alacritty|kitty|footclient)$ - swallow_exception_regex = ^(ueberzugpp_.*) + swallow_exception_regex = ^(ueberzugpp_.*|flameshot) } @@ -301,7 +301,7 @@ $mainMod = SUPER # Sets "Windows" key as main modifier $secMod = ALT # ALT # Programs -bind = $mainMod, Return, exec, $terminal +bind = $mainMod, Return, exec, alacritty msg create-window || alacritty bind = $mainMod SHIFT, Q, killactive, # bind = $mainMod, M, exit, # bind = $mainMod, E, exec, $fileManager @@ -325,8 +325,10 @@ bind = $mainMod, HOME, exec, hyprlock >> ~/hyprlock_logfile.txt bind = $mainMod, Tab, workspace, previous # from https://github.com/end-4/dots-hyprland/blob/main/.config/hypr/hyprland/keybinds.conf -bind = $mainMod, Grave, focuscurrentorlast # [hidden] sus keybind +bind = $mainMod, Grave, cyclenext # [hidden] sus keybind bind = $mainMod, Grave, bringactivetotop, # [hidden] bring it to the top +bind = $mainMod, W, cyclenext # [hidden] sus keybind +bind = $mainMod, W, bringactivetotop, # [hidden] bring it to the top # Window Modes bind = $mainMod, s, togglefloating, @@ -335,7 +337,7 @@ bind = $mainMod, t, settiled, # dwindle bind = $mainMod, p, pin, # dwindle bind = $mainMod, m, fullscreen, 1 # monocole layout bind = $mainMod, f, fullscreen, 0 # real fullscreen -#bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, SPACE, togglesplit, # dwindle # Move focus with mainMod + arrow keys bind = $mainMod, H, movefocus, l @@ -411,6 +413,10 @@ bind = $mainMod SHIFT, U, movetoworkspacesilent, r-1 bind = $mainMod, x, togglespecialworkspace, magic bind = $mainMod SHIFT, x, movetoworkspacesilent, special:magic +# Example special workspace (scratchpad) +bind = $mainMod, d, togglespecialworkspace, forest +bind = $mainMod SHIFT, d, movetoworkspacesilent, special:forest + #bind = $mainMod, N, movetoworkspacesilent, special:minimized #bind = $mainMod SHIFT, N, togglespecialworkspace, minimized #bind = $mainMod SHIFT, N, movetoworkspace, +0 @@ -441,8 +447,8 @@ bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Laptop multimedia keys for volume and LCD brightness -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ @@ -454,6 +460,26 @@ bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous +# Mouse Zoom +# From: https://www.reddit.com/r/hyprland/comments/17wworu/comment/lt0p30k/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button + bindel = $mainMod ALT, mouse_down, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 1.25}')" + bindel = $mainMod ALT, mouse_up, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 1.25}')" + + # Window Move/resize with the mouse +binde = $mainMod ALT, right, exec, hyprctl dispatch resizeactive $(~/bin/mouse_accel.sh) 0 +binde = $mainMod ALT, left, exec, hyprctl dispatch resizeactive -$(~/bin/mouse_accel.sh) 0 +binde = $mainMod ALT, up, exec, hyprctl dispatch resizeactive 0 -$(~/bin/mouse_accel.sh) +binde = $mainMod ALT, down, exec, hyprctl dispatch resizeactive 0 $(~/bin/mouse_accel.sh) + + # Mouse Keys! + binde = $mainMod ctrl, h, exec, ydotool mousemove -- -$(~/bin/mouse_accel.sh) 0 + binde = $mainMod ctrl, j, exec, ydotool mousemove -- 0 $(~/bin/mouse_accel.sh) + binde = $mainMod ctrl, k, exec, ydotool mousemove -- 0 -$(~/bin/mouse_accel.sh) + binde = $mainMod ctrl, l, exec, ydotool mousemove -- $(~/bin/mouse_accel.sh) 0 + bind = $mainMod ctrl, u, exec, ydotool click 0xC0 # left click + bind = $mainMod ctrl, i, exec, ydotool click 0xC2 # middle click + bind = $mainMod ctrl, o, exec, ydotool click 0xC1 # right click + ############################## ### WINDOWS AND WORKSPACES ### ############################## @@ -504,16 +530,19 @@ windowrulev2 = nofocus, class: ^(MATLAB [\w\d]* - academic use)$, title: ^(Defau windowrulev2 = float,class:(yad) windowrulev2 = move cursor -50% 25,title:(Prayers) +# opacity +# windowrule = opacity 0.95 override,class:^(firefox)$ + # 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)$ +#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)$ +#windowrulev2 = monitor 1, class:^(flameshot)$ # SATTY (for screenshots) windowrulev2 = noanim, class:^(flameshot)$ diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index 1e096e3..c903b9a 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -23,7 +23,7 @@ font_family FiraCode #: italic_font Operator Mono Book Italic #: bold_italic_font Operator Mono Medium Italic -font_size 10.0 +font_size 9.5 #: Font size (in pts) diff --git a/latexmk/.latexmkrc b/latexmk/.latexmkrc index 684a37a..5492f3f 100644 --- a/latexmk/.latexmkrc +++ b/latexmk/.latexmkrc @@ -4,11 +4,14 @@ $ENV{max_print_line} = $log_wrap = 1000; $out_dir = '/tmp/tex'; $pdf_mode = 1; -#$pdflatex = 'pdflatex -shell-escape -interaction=nonstopmode -synctex=1 %O %S;'; -$pdflatex = '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'; + +$biber = '/usr/bin/vendor_perl/biber'; + diff --git a/sh_vars/.config/sh_vars/variables.sh b/sh_vars/.config/sh_vars/variables.sh index eb3f804..0e4c18a 100644 --- a/sh_vars/.config/sh_vars/variables.sh +++ b/sh_vars/.config/sh_vars/variables.sh @@ -11,8 +11,9 @@ 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 GEM_HOME="$(gem env user_gemhome)" -export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$YARN_PATH:$GOPATH:$PATH" +export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$YARN_PATH:$GOPATH:$GEM_HOME/bin:$PATH" # colored GCC warnings and errors export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' @@ -58,3 +59,4 @@ export LESS_TERMCAP_se=$(printf '\e[0m') # leave standout mode export LESS_TERMCAP_so=$(printf '\e[01;33m') # enter standout mode - yellow export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode export LESS_TERMCAP_us=$(printf '\e[04;36m') # enter underline mode - cyan + diff --git a/waybar/.config/waybar/config.jsonc b/waybar/.config/waybar/config.jsonc index a08c114..92663da 100644 --- a/waybar/.config/waybar/config.jsonc +++ b/waybar/.config/waybar/config.jsonc @@ -5,7 +5,7 @@ // Choose the order of the modules "reload_style_on_change": true, "modules-left": ["hyprland/workspaces"], - "modules-center": ["pulseaudio","custom/prayers", "network", "cpu", "memory", "clock", "custom/music"], + "modules-center": ["custom/org-clock", "pulseaudio","custom/prayers", "network", "cpu", "memory", "clock", "upower#headset", "custom/music"], // "modules-right": ["pulseaudio", "cpu", "backlight", "battery", "clock", "tray", "custom/lock", "custom/power"], "modules-right": ["tray", "custom/lock", "custom/power"], "hyprland/workspaces": { @@ -37,10 +37,26 @@ "format": " {}%", "max-length": 10 }, + "upower#headset": { + "native-path": "/org/bluez/hci0/dev_94_8B_93_A7_1A_B9", + "tooltip": true, + "format": "󰂯 {percentage}", + "show-icon": false + }, "memory": { "interval": 30, "format": "{used:0.1f}G/{total:0.1f}G " }, + "custom/org-clock": { + "format": "{text}", + "escape": true, + "interval": 5, + "tooltip": false, + "exec": "emacsclient --eval '(my/waybar/org-clock)' | sed 's/\\\\//g' | sed 's/\\(^\"\\|\"$\\)//g'", + "return-type": "json", + "on-click": "", + "max-length": 50 + }, "custom/music": { "format": " {}", "escape": true, diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css index 6bf9a87..a3b07e9 100644 --- a/waybar/.config/waybar/style.css +++ b/waybar/.config/waybar/style.css @@ -2,7 +2,7 @@ * { font-family: FantasqueSansMono Nerd Font; - font-size: 12px; + font-size: 15px; min-height: 0; } @@ -37,6 +37,8 @@ #custom-prayers, #custom-music, +#upower.headset, +#custom-org-clock, #cpu, #memory, #network, @@ -97,11 +99,22 @@ border-radius: 0rem 0px 0px 0rem; } +#custom-org-clock { + color: @yellow; + border-radius: 1rem; +} #custom-music { color: @mauve; border-radius: 1rem; } +#upower.headset { + color: @teal; + border-radius: 1rem; + margin-right: 1rem; +} + + #custom-lock { border-radius: 1rem 0px 0px 1rem; color: @lavender; diff --git a/zsh/.zshrc b/zsh/.zshrc index 91c9a4b..64b8b7e 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -72,6 +72,9 @@ zinit load agkozak/zsh-z zplugin ice wait'1' lucid zinit load "MichaelAquilina/zsh-auto-notify" +zi ice from"gh-r" as"program" bpick"ys-*" pick"ys-*/ys" +zi light yaml/yamlscript + #zplugin ice wait'5' lucid #zplugin load chisui/zsh-nix-shell @@ -107,7 +110,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") +AUTO_NOTIFY_IGNORE+=("fm", "ranger", "nvim", "vim") #=============================================================================================== ############ @@ -165,6 +168,43 @@ select-word-style bash #=============================================================================================== copy () { xclip -selection c "$@" } +# DeepSeeked teehee :) +copy() { + local input + + # Read from stdin if available + if [ ! -t 0 ]; then + input=$(cat) + fi + + # Check if we're running under Wayland + if [ "$XDG_SESSION_TYPE" = "wayland" ] || [ -n "$WAYLAND_DISPLAY" ]; then + # Try using wl-copy (Wayland) + if command -v wl-copy >/dev/null 2>&1; then + if [ -n "$input" ]; then + printf '%s' "$input" | wl-copy + else + wl-copy "$@" + fi + else + echo "Error: wl-copy not found. Install wl-clipboard package." >&2 + return 1 + fi + else + # Fall back to xclip (X11) + if command -v xclip >/dev/null 2>&1; then + if [ -n "$input" ]; then + printf '%s' "$input" | xclip -selection c + else + xclip -selection c "$@" + fi + else + echo "Error: xclip not found. Please install it." >&2 + return 1 + fi + fi +} + chmodx-last () { chmod +x "$_" ; } @@ -234,7 +274,7 @@ alias startx="exec startx" #=============================================================================================== -#source ~/.config/sh_vars/variables.sh +source ~/.config/sh_vars/variables.sh #xdg specs export XDG_CONFIG_HOME="$HOME"/.config @@ -247,8 +287,9 @@ 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 DENO_PATH="$HOME/.deno/bin" -export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$YARN_PATH:$GOPATH:$PATH" +export PATH="$DENO_PATH:$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$YARN_PATH:$GOPATH:$PATH" # colored GCC warnings and errors @@ -282,7 +323,8 @@ export fish_greeting="" #disable greeting if [[ -n $SSH_CONNECTION ]]; then export EDITOR='vim' else - export EDITOR='nvim' + export EDITOR='nvim' + export EDITOR='vim' # neovim unusuable rn due to python3 provider missing :( fi export TERMINAL="alacritty"