diff options
| -rw-r--r-- | .config/mimeapps.list | 9 | ||||
| -rw-r--r-- | .config/systemd/user/eye-rest-reminder.service | 14 | ||||
| -rw-r--r-- | .config/zathura/zathurarc | 8 | ||||
| -rw-r--r-- | .gitignore | 2 | ||||
| -rwxr-xr-x | .scripts/20-20-20.sh | 53 | ||||
| -rwxr-xr-x | .scripts/4chget | 4 | ||||
| -rwxr-xr-x | .scripts/4chgettofi | 3 | ||||
| -rwxr-xr-x | .scripts/bts | 3 | ||||
| -rwxr-xr-x | .scripts/toggle-keyboard-hypr | 11 | ||||
| -rwxr-xr-x | .scripts/toggle-touchpad-hypr | 11 | ||||
| -rwxr-xr-x | .scripts/work | 5 | ||||
| -rwxr-xr-x | .scripts/ws | 45 | ||||
| -rwxr-xr-x | .scripts/ws-tofi | 67 | ||||
| -rw-r--r-- | stow/foot/.config/foot/foot.ini (renamed from .config/foot/foot.ini) | 8 | ||||
| -rw-r--r-- | stow/hyprland/.config/hypr/hyprland-base.conf | 341 | ||||
| -rw-r--r-- | stow/hyprland/.config/hypr/hyprland.conf (renamed from .config/hypr/hyprland.conf) | 269 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/init.lua (renamed from .config/nvim/init.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/bufferline-config.lua (renamed from .config/nvim/lua/justsaumit/bufferline-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/cmp-config.lua (renamed from .config/nvim/lua/justsaumit/cmp-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/colorizer-config.lua (renamed from .config/nvim/lua/justsaumit/colorizer-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/colorscheme.lua (renamed from .config/nvim/lua/justsaumit/colorscheme.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/keymaps.lua (renamed from .config/nvim/lua/justsaumit/keymaps.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/lastplace-config.lua (renamed from .config/nvim/lua/justsaumit/lastplace-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/lsp-config.lua (renamed from .config/nvim/lua/justsaumit/lsp-config.lua) | 8 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/lspsaga-config.lua (renamed from .config/nvim/lua/justsaumit/lspsaga-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/lualine-config.lua (renamed from .config/nvim/lua/justsaumit/lualine-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/mason.lua (renamed from .config/nvim/lua/justsaumit/mason.lua) | 2 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/nvim-comment-config.lua (renamed from .config/nvim/lua/justsaumit/nvim-comment-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/nvim-tree-config.lua (renamed from .config/nvim/lua/justsaumit/nvim-tree-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/options.lua (renamed from .config/nvim/lua/justsaumit/options.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/plugins.lua (renamed from .config/nvim/lua/justsaumit/plugins.lua) | 4 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/telescope-config.lua (renamed from .config/nvim/lua/justsaumit/telescope-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/toggleterm-config.lua (renamed from .config/nvim/lua/justsaumit/toggleterm-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/treesitter-config.lua (renamed from .config/nvim/lua/justsaumit/treesitter-config.lua) | 2 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/lua/justsaumit/which-key-config.lua (renamed from .config/nvim/lua/justsaumit/which-key-config.lua) | 0 | ||||
| -rw-r--r-- | stow/nvim/.config/nvim/plugin/packer_compiled.lua (renamed from .config/nvim/plugin/packer_compiled.lua) | 66 | ||||
| -rw-r--r-- | stow/vim/.config/vim/vimrc (renamed from .config/vim/vimrc) | 0 | ||||
| -rw-r--r-- | stow/vscode/.config/Code/User/keybindings.json | 7 | ||||
| -rw-r--r-- | stow/vscode/.config/Code/User/settings.json | 87 | ||||
| -rw-r--r-- | stow/waybar/.config/waybar/config.jsonc (renamed from .config/waybar/config.jsonc) | 24 | ||||
| -rw-r--r-- | stow/waybar/.config/waybar/style.css (renamed from .config/waybar/style.css) | 11 | ||||
| -rw-r--r-- | stow/zsh/.zshrc (renamed from .config/zsh/.zshrc) | 32 | ||||
| -rw-r--r-- | tmux/tmux.conf (renamed from .config/tmux/tmux.conf) | 0 |
43 files changed, 972 insertions, 124 deletions
diff --git a/.config/mimeapps.list b/.config/mimeapps.list new file mode 100644 index 0000000..991830d --- /dev/null +++ b/.config/mimeapps.list @@ -0,0 +1,9 @@ +[Default Applications] +video/mp4=mpv.desktop +video/x-matroska=mpv.desktop +video/x-msvideo=mpv.desktop +video/webm=mpv.desktop +video/mpeg=mpv.desktop +video/*=mpv.desktop + +[Added Associations] diff --git a/.config/systemd/user/eye-rest-reminder.service b/.config/systemd/user/eye-rest-reminder.service new file mode 100644 index 0000000..f4cd795 --- /dev/null +++ b/.config/systemd/user/eye-rest-reminder.service @@ -0,0 +1,14 @@ +[Unit] +Description=20-20-20 Eye Rest Reminder +After=graphical-session.target + +[Service] +Type=simple +ExecStart=%h/.scripts/20-20-20.sh +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 +Environment=WAYLAND_DISPLAY=wayland-1 + +[Install] +WantedBy=default.target diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc index f7db8c4..870c2dd 100644 --- a/.config/zathura/zathurarc +++ b/.config/zathura/zathurarc @@ -5,8 +5,10 @@ set page-padding 1 set adjust-open width -map j scroll half-down -map k scroll half-up +#map j scroll half-down +#map k scroll half-up +map <C-j> scroll half-down +map <C-k> scroll half-up map J zoom out map K zoom in map - zoom out @@ -29,6 +31,8 @@ map f toggle_fullscreen map [fullscreen] f toggle_fullscreen map i recolor +map [fullscreen] i recolor + map gg goto top map G goto bottom diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..acb92f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +stow/nvim/.config/nvim/lua/secrets.lua +stow/zsh/.zsh_secrets diff --git a/.scripts/20-20-20.sh b/.scripts/20-20-20.sh new file mode 100755 index 0000000..2179643 --- /dev/null +++ b/.scripts/20-20-20.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# 20-20-20 Eye Rest Reminder for Hyprland +# Every 20 minutes, shows a full-screen blocking reminder for 20 seconds + +INTERVAL=1200 # 20 minutes in seconds +DURATION=20 # 20 seconds break + +while true; do + sleep $INTERVAL + + # Show notification warning + notify-send -u critical -t 3000 "ποΈ 20-20-20 EYE BREAK" "Eye break starting in 3 seconds..." + + sleep 3 + + # Create full-screen blocking overlay using yad + # Install: sudo pacman -S yad + yad --width=1920 --height=1080 \ + --center \ + --undecorated \ + --no-buttons \ + --timeout=$DURATION \ + --timeout-indicator=top \ + --skip-taskbar \ + --on-top \ + --sticky \ + --fixed \ + --title="Eye Break" \ + --text="<span font='64' weight='bold' foreground='#eb6f92'>ποΈ EYE BREAK TIME ποΈ</span> + +<span font='32' foreground='#e0def4'>Look at something <b>20 FEET</b> away (6 meters)</span> + +<span font='32' foreground='#e0def4'>For <b>20 SECONDS</b></span> + +<span font='28' foreground='#9ccfd8'>πͺ Stand up and look away from the screen</span> + +<span font='20' foreground='#6e6a86'>This window will close automatically...</span>" \ + --text-align=center \ + --back=1f1d2e \ + --borders=50 & + + YAD_PID=$! + + # Wait for the duration + sleep $DURATION + + # Kill yad if still running + kill $YAD_PID 2>/dev/null + + # Show completion notification + notify-send -u normal -t 3000 "β
Eye Break Complete" "Great job! Back to work πͺ" +done diff --git a/.scripts/4chget b/.scripts/4chget index b4a7446..43e4f7c 100755 --- a/.scripts/4chget +++ b/.scripts/4chget @@ -34,10 +34,10 @@ read thread case "$option" in "wg") - wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/wg/thread/"$thread" ;; + wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org,is2.4channel.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/wg/thread/"$thread" ;; "w") - wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org -A png,jpg,jpeg -R '*s.*' https://boards.4channel.org/w/thread/"$thread" ;; + wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org,is2.4channel.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/w/thread/"$thread" ;; esac echo "Wallpapers downloaded successfully." diff --git a/.scripts/4chgettofi b/.scripts/4chgettofi index ee88553..a820059 100755 --- a/.scripts/4chgettofi +++ b/.scripts/4chgettofi @@ -5,7 +5,8 @@ while [[ "$option" != "w" && "$option" != "wg" ]]; do option=$(echo -e "wg\nw" | tofi --prompt-text "Is it wallpaper/general (wg) or anime wallpaper (w)?") done -[[ $option == "w" ]] && parentdir="$rootpapesdir/w" && nel="nel" || parentdir="$rootpapesdir/wg" +#[[ $option == "w" ]] && parentdir="$rootpapesdir/w" && nel="nel" || parentdir="$rootpapesdir/wg" +[[ $option == "w" ]] && parentdir="$rootpapesdir/w" || parentdir="$rootpapesdir/wg" while true; do dir=$(tofi --prompt-text "Enter folder name: " --require-match=false </dev/null) diff --git a/.scripts/bts b/.scripts/bts index 445bdcb..b78f9b9 100755 --- a/.scripts/bts +++ b/.scripts/bts @@ -5,7 +5,8 @@ option=$(echo -e "Connect\nDisconnect\nChange profile\nReset pulseaudio"| tofi - #MAC="76:67:11:36:64:A2" #MAC="E4:59:37:44:27:7A" #MAC="2E:85:79:56:B1:D7" -MAC="28:B7:7B:AB:C9:92" +#MAC="28:B7:7B:AB:C9:92" +MAC="EF:9F:2E:52:9E:45" case $option in "Connect") status=$(systemctl is-active bluetooth) diff --git a/.scripts/toggle-keyboard-hypr b/.scripts/toggle-keyboard-hypr new file mode 100755 index 0000000..3bc046c --- /dev/null +++ b/.scripts/toggle-keyboard-hypr @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +CACHE_FILE="$XDG_CACHE_HOME/laptop-keyboard-disabled" + +if [ -f "$CACHE_FILE" ] ;then + rm "$CACHE_FILE" + hyprctl keyword -r '$KEYBOARD_ENABLED' "true" +else + touch "$CACHE_FILE" + hyprctl keyword -r '$KEYBOARD_ENABLED' "false" +fi diff --git a/.scripts/toggle-touchpad-hypr b/.scripts/toggle-touchpad-hypr new file mode 100755 index 0000000..8f65419 --- /dev/null +++ b/.scripts/toggle-touchpad-hypr @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +CACHE_FILE="$XDG_CACHE_HOME/laptop-touchpad-disabled" + +if [ -f "$CACHE_FILE" ] ;then + rm "$CACHE_FILE" + hyprctl keyword -r '$TOUCHPAD_ENABLED' "true" +else + touch "$CACHE_FILE" + hyprctl keyword -r '$TOUCHPAD_ENABLED' "false" +fi diff --git a/.scripts/work b/.scripts/work index fb3f1a5..6903842 100755 --- a/.scripts/work +++ b/.scripts/work @@ -1,6 +1,7 @@ #!/bin/sh -content="$@" +content="$*" + today=$(date +%d%m%y) -x "$today: $content" +x -t "$today: $content" diff --git a/.scripts/ws b/.scripts/ws new file mode 100755 index 0000000..b85e073 --- /dev/null +++ b/.scripts/ws @@ -0,0 +1,45 @@ +#!/bin/bash + +# Prerequisite tools check +[[ ! $(command -v brave) ]] && { echo "Error: 'brave' is not installed. Please install Brave Browser."; [[ $(command -v notify-send) ]] && notify-send "Error" "'brave' is not installed. Please install Brave Browser."; exit 1; } +[[ ! $(command -v monolith) ]] && { echo "Error: 'monolith' is not installed. Please install Monolith."; [[ $(command -v notify-send) ]] && notify-send "Error" "'monolith' is not installed. Please install Monolith."; exit 1; } +[[ ! $(command -v notify-send) ]] && echo "Warning: 'notify-send' is not installed. Notifications will not work." + +# Check if website URL is provided as an argument +if [ -z "$1" ]; then + echo "Usage: $0 <website-url>" + exit 1 +fi + +# Get the website URL from arguments +WEBSITE_URL="$1" + +# Define the output file name +OUTPUT_FILE="$(basename "$WEBSITE_URL").html" + +TOPIC="$2" + +# Add later +USER_AGENT= + +# Define the directory where the HTML files will be saved +OUTPUT_DIR="$HOME/read/"$TOPIC"" + +# Create the directory if it doesn't exist +mkdir -p "$OUTPUT_DIR" + +# Check if the output file already exists +if [ -e "$OUTPUT_DIR/$OUTPUT_FILE" ]; then + # If file exists, add a suffix + COUNTER=1 + while [ -e "${OUTPUT_FILE%.html}_$COUNTER.html" ]; do + COUNTER=$((COUNTER + 1)) + done + OUTPUT_FILE="${OUTPUT_FILE%.html}_$COUNTER.html" +fi + +# Use Brave in headless mode and pipe it to Monolith +brave --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom "$WEBSITE_URL" | monolith - -I -b "$WEBSITE_URL" -o "$OUTPUT_DIR/$OUTPUT_FILE" + +echo "HTML file saved as $OUTPUT_DIR/$OUTPUT_FILE" +notify-send "Website saved" "HTML file saved successfully as $OUTPUT_DIR/$OUTPUT_FILE" diff --git a/.scripts/ws-tofi b/.scripts/ws-tofi new file mode 100755 index 0000000..25f47c4 --- /dev/null +++ b/.scripts/ws-tofi @@ -0,0 +1,67 @@ +#!/bin/bash + +# Prerequisite tools check +[[ ! $(command -v brave) ]] && { echo "Error: 'brave' is not installed. Please install Brave Browser."; [[ $(command -v notify-send) ]] && notify-send "Error" "'brave' is not installed. Please install Brave Browser."; exit 1; } +[[ ! $(command -v monolith) ]] && { echo "Error: 'monolith' is not installed. Please install Monolith."; [[ $(command -v notify-send) ]] && notify-send "Error" "'monolith' is not installed. Please install Monolith."; exit 1; } +[[ ! $(command -v notify-send) ]] && echo "Warning: 'notify-send' is not installed. Notifications will not work." + +# Get the website URL from arguments +siteclip=$(echo -e "Yes\nNo" | tofi --prompt-text "Do you have the website link in your clipboard?") +[[ "$siteclip" == "Yes" ]] && WEBSITE_URL=$(wl-paste) || WEBSITE_URL=$(tofi --prompt-text "Enter website url:" --require-match false </dev/null) + + +[[ "$WEBSITE_URL" == "exit" ]] && echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 + +# Define the output file name +OUTPUT_FILE="$(basename "$WEBSITE_URL").html" + +while true; do + topicopt=$(echo -e "New\nPre-existing" | tofi --prompt-text "Do you wish to add a new topic or pre-existing topic?") + + if [[ "$topicopt" == "Pre-existing" ]]; then + # Pre-existing topic selection + TOPIC=$(find "$HOME/read" -maxdepth 1 -type d -exec basename {} \; cat - <(echo "none\nexit") | tofi --prompt-text "Choose the topic:") + + [[ "$TOPIC" == "exit" ]] && echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 \ + || [[ "$TOPIC" != "none" ]] && break + else + # New Topic Creation + TOPIC=$(tofi --prompt-text "Enter topic name: " --require-match=false </dev/null) + + if [[ "$TOPIC" == "none" ]]; then + TOPIC="" + break + elif [[ "$TOPIC" == "exit" ]]; then + echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 + elif [[ -z "$TOPIC" ]]; then + notify-send "Folder name cannot be empty." "Please enter a valid folder name." + else + break + fi + fi +done + +# Add later +USER_AGENT= + +# Define the directory where the HTML files will be saved +OUTPUT_DIR="$HOME/read/"$TOPIC"" + +# Create the directory if it doesn't exist +mkdir -p "$OUTPUT_DIR" + +# Check if the output file already exists +if [ -e "$OUTPUT_DIR/$OUTPUT_FILE" ]; then + # If file exists, add a suffix + COUNTER=1 + while [ -e "${OUTPUT_FILE%.html}_$COUNTER.html" ]; do + COUNTER=$((COUNTER + 1)) + done + OUTPUT_FILE="${OUTPUT_FILE%.html}_$COUNTER.html" +fi + +# Use Brave in headless mode and pipe it to Monolith +brave --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom "$WEBSITE_URL" | monolith - -I -b "$WEBSITE_URL" -o "$OUTPUT_DIR/$OUTPUT_FILE" + +echo "HTML file saved as $OUTPUT_DIR/$OUTPUT_FILE" +notify-send "Website saved" "HTML file saved successfully as $OUTPUT_DIR/$OUTPUT_FILE" diff --git a/.config/foot/foot.ini b/stow/foot/.config/foot/foot.ini index cc08d77..7399332 100644 --- a/.config/foot/foot.ini +++ b/stow/foot/.config/foot/foot.ini @@ -8,11 +8,13 @@ font-decrease=Control+Shift+Page_Down scrollback-up-line=Mod1+Up scrollback-down-line=Mod1+Down +[search-bindings] +find-prev=Control+Shift+f + # theme-Catppuccin(same as kitty) -[cursor] -color=1A1826 D9E0EE -[colors] +[colors-dark] +cursor=1A1826 D9E0EE foreground=D9E0EE background=1E1D2F regular0=6E6C7E # black diff --git a/stow/hyprland/.config/hypr/hyprland-base.conf b/stow/hyprland/.config/hypr/hyprland-base.conf new file mode 100644 index 0000000..98ac099 --- /dev/null +++ b/stow/hyprland/.config/hypr/hyprland-base.conf @@ -0,0 +1,341 @@ +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hypr.land/Configuring/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hypr.land/Configuring/Monitors/ +monitor=,preferred,auto,auto + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hypr.land/Configuring/Keywords/ + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = hyprlauncher + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hypr.land/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +################### +### PERMISSIONS ### +################### + +# See https://wiki.hypr.land/Configuring/Permissions/ +# Please note permission changes here require a Hyprland restart and are not applied on-the-fly +# for security reasons + +# ecosystem { +# enforce_permissions = 1 +# } + +# permission = /usr/(bin|local/bin)/grim, screencopy, allow +# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hypr.land/Configuring/Variables/ + +# https://wiki.hypr.land/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hypr.land/Configuring/Variables/#decoration +decoration { + rounding = 10 + rounding_power = 2 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hypr.land/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hypr.land/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves + # NAME, X0, Y0, X1, Y1 + bezier = easeOutQuint, 0.23, 1, 0.32, 1 + bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1 + bezier = linear, 0, 0, 1, 1 + bezier = almostLinear, 0.5, 0.5, 0.75, 1 + bezier = quick, 0.15, 0, 0.1, 1 + + # Default animations, see https://wiki.hypr.land/Configuring/Animations/ + # NAME, ONOFF, SPEED, CURVE, [STYLE] + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspacesIn, 1, 1.21, almostLinear, fade + animation = workspacesOut, 1, 1.94, almostLinear, fade + animation = zoomFactor, 1, 7, quick +} + +# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule { +# name = no-gaps-wtv1 +# match:float = false +# match:workspace = w[tv1] +# +# border_size = 0 +# rounding = 0 +# } +# +# windowrule { +# name = no-gaps-f1 +# match:float = false +# match:workspace = f[1] +# +# border_size = 0 +# rounding = 0 +# } + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hypr.land/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hypr.land/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# See https://wiki.hypr.land/Configuring/Gestures +gesture = 3, horizontal, workspace + +# Example per-device config +# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hypr.land/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +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, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hypr.land/Configuring/Window-Rules/ for more +# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrules that are useful + +windowrule { + # Ignore maximize requests from all apps. You'll probably like this. + name = suppress-maximize-events + match:class = .* + + suppress_event = maximize +} + +windowrule { + # Fix some dragging issues with XWayland + name = fix-xwayland-drags + match:class = ^$ + match:title = ^$ + match:xwayland = true + match:float = true + match:fullscreen = false + match:pin = false + + no_focus = true +} + +# Hyprland-run windowrule +windowrule { + name = move-hyprland-run + + match:class = hyprland-run + + move = 20 monitor_h-120 + float = yes +} diff --git a/.config/hypr/hyprland.conf b/stow/hyprland/.config/hypr/hyprland.conf index 9b32c43..091bb2a 100644 --- a/.config/hypr/hyprland.conf +++ b/stow/hyprland/.config/hypr/hyprland.conf @@ -26,8 +26,10 @@ monitor=HDMI-A-1,1920x1080@144,0x0,1.00,transform,0,mirror,eDP-1 # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: +# exec-once = $terminal +# exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox -exec-once = waybar & dunst & wpaperd & suspend.sh & nextcloud & nm-applet & blueman-applet & notion-app +exec-once = waybar & dunst & wpaperd & suspend.sh & nm-applet & blueman-applet & notion-app & memospot #exec-once = dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY #exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY && XDG_CURRENT_DESKTOP=Hyprland exec-once = systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP @@ -40,36 +42,59 @@ exec-once = xhost +SI:localuser:root ### ENVIRONMENT VARIABLES ### ############################# -# See https://wiki.hyprland.org/Configuring/Environment-variables/ +# See https://wiki.hypr.land/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 +env = XDG_SESSION_TYPE,wayland +env = WLR_NO_HARDWARE_CURSORS,1 + #env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland #env = GBM_BACKEND,nvidia-drm #env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_NO_HARDWARE_CURSORS,1 +env = WLR_DRM_NO_MODIFIERS,1 +env = WLR_RENDERER,vulkan + +################### +### PERMISSIONS ### +################### + +# See https://wiki.hypr.land/Configuring/Permissions/ +# Please note permission changes here require a Hyprland restart and are not applied on-the-fly +# for security reasons + +# ecosystem { +# enforce_permissions = 1 +# } + +# permission = /usr/(bin|local/bin)/grim, screencopy, allow +# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow + ##################### ### LOOK AND FEEL ### ##################### -# Refer to https://wiki.hyprland.org/Configuring/Variables/ +# Refer to https://wiki.hypr.land/Configuring/Variables/ +# https://wiki.hypr.land/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 20 border_size = 2 - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on allow_tearing = false layout = master @@ -81,10 +106,9 @@ master { new_on_top=false # no_gaps_when_only=true // config removed add through Workspace rules orientation=left - inherit_fullscreen=true } -# https://wiki.hyprland.org/Configuring/Variables/#decoration +# https://wiki.hypr.land/Configuring/Variables/#decoration decoration { rounding = 3 #multisample_edges = true @@ -101,7 +125,7 @@ decoration { color = rgba(1a1a1aee) } - # https://wiki.hyprland.org/Configuring/Variables/#blur + # https://wiki.hypr.land/Configuring/Variables/#blur blur { enabled = true size = 4 @@ -111,8 +135,8 @@ decoration { } } +# https://wiki.hypr.land/Configuring/Variables/#animations animations { - #enabled = true enabled = yes, please :) # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more @@ -151,7 +175,7 @@ animations { } -# https://wiki.hyprland.org/Configuring/Variables/#misc +# https://wiki.hypr.land/Configuring/Variables/#misc misc { # enable_swallow = true # swallow_regex = ^(foot)$ @@ -164,7 +188,7 @@ misc { ### INPUT ### ############# -# https://wiki.hyprland.org/Configuring/Variables/#input +# https://wiki.hypr.land/Configuring/Variables/#input input { kb_layout = us kb_variant = @@ -177,21 +201,25 @@ input { sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + scroll_factor = 1.0 + scroll_method = 2fg + touchpad { natural_scroll = true + scroll_factor = 1.0 + tap-to-click = yes + tap-and-drag = yes disable_while_typing = false - tap-to-click=yes + clickfinger_behavior = yes } } -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = on - workspace_swipe_fingers = 3 - workspace_swipe_distance = 500 - workspace_swipe_invert = true - workspace_swipe_min_speed_to_force = 40 -} +# See https://wiki.hypr.land/Configuring/Gestures +gesture = 3, horizontal, workspace +gesture = 3, down, dispatcher, movetoworkspacesilent, special +gesture = 3, up, scale: 1.5, dispatcher, movetoworkspacesilent, +0 +gesture = 3, pinch, fullscreen + binds { workspace_back_and_forth = true allow_workspace_cycles = true @@ -200,21 +228,49 @@ binds { } # Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more #device { # name = epic-mouse-v1 # sensitivity = -0.5 #} +# $TOUCHPAD_ENABLED = true +# device { +# name = pnp0c50:0d-06cb:cebd-touchpad +# enabled = $TOUCHPAD_ENABLED +# scroll_factor = 1.0 +# natural_scroll = false +# } + +# $KEYBOARD_ENABLED = true +# device { +# name = at-translated-set-2-keyboard +# enabled = $KEYBOARD_ENABLED +# } +device { + name = pnp0c50:0d-06cb:cebd-touchpad + enabled = true + accel_profile = flat + tap-to-click = true + tap-and-drag = true + drag_lock = true + middle_button_emulation = false +} + +# $KEYBOARD_ENABLED = true +# device { +# name = at-translated-set-2-keyboard +# enabled = $KEYBOARD_ENABLED +# } ################### ### KEYBINDINGS ### ################### -# See https://wiki.hyprland.org/Configuring/Keywords/ +# See https://wiki.hypr.land/Configuring/Keywords/ $MOD = SUPER -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more ############### @@ -238,6 +294,8 @@ bindr = $MOD CTRL, D, exec, pkill rofi || rofi -show drun bind = $MOD, F3, exec, rofi -modi emoji -show emoji -kb-custom-1 Ctrl+C bind = $MOD, X, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind = ALT, L, exec, ~/.scripts/rofi-beats-linux.sh +# Toggle Touchpad +bind = $MOD ALT, M, exec, toggle-touchpad-hypr ################ # Applications # @@ -247,22 +305,27 @@ bind = ALT, L, exec, ~/.scripts/rofi-beats-linux.sh # Launch Brave bind = $MOD, Q, exec, brave bind = $MOD CTRL, Q, exec, brave --incognito -bind = $MOD ALT, Q, exec, brave --tor +bind = $MOD SHIFT, Z, exec, zen-browser # Launch wa bind = $MOD SHIFT, W, exec, whatsapp-nativefier --no-sandbox -#Launch emacs -bind = $MOD, E, exec, emacs # Launch ncloud -bind = $MOD SHIFT, N, exec, qutebrowser https://ncloud.draconyan.xyz +bind = $MOD SHIFT, N, exec, zen-browser https://ncloud.draconyan.xyz +#Launch emacs +bind = $MOD CTRL, E, exec, emacs # Launch thunderbird bind = $MOD SHIFT, E, exec, thunderbird +# Launch habitica +bind = $MOD ALT, H, exec, zen-browser https://habitica.com # Launch protonmail -bind = $MOD ALT, E, exec, qutebrowser https://mail.proton.me/u/0/inbox +bind = $MOD ALT, E, exec, zen-browser https://mail.proton.me/u/0/inbox # Launch teams # bind = $MOD SHIFT, T, exec, qutebrowser https://teams.microsoft.com -bind = $MOD SHIFT, T, exec, teams +# bind = $MOD SHIFT, T, exec, teams +bind = $MOD , T, exec, tessen # Launch spotify bind = $MOD SHIFT, M, exec, spotify +# Launch memospot +bind = $MOD CTRL, M, exec, memospot # Launch discord bind = $MOD SHIFT, D, exec, webcord --enable-features=UseOzonePlatform --ozone-platform=wayland # Launch telegram @@ -285,13 +348,19 @@ bind = $MOD SHIFT, B, exec, foot -e btop ##screenlock bind = $MOD , L, exec, swaylock -#screenshot -#bind = ,Print, exec, IMG=pic-full-"$(date +%y-%m-%d--%H-%M-%S)".png && grim "$GRIM_DEFAULT_DIR/""$IMG" && wl-copy < "$GRIM_DEFAULT_DIR/""$IMG" -#bind = CTRL,Print, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" "$GRIM_DEFAULT_DIR/""$IMG" && wl-copy < "$GRIM_DEFAULT_DIR/""$IMG" -#bind = ALT ,Print, exec, flameshot gui -bind = ,Print, exec, IMG=pic-full-"$(date +%y-%m-%d--%H-%M-%S)".png && grim - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the whole screen taken" "$IMG" -t 1000 # screenshot of whole screen -bind = $MOD SHIFT,Print, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the region taken" "$IMG" -t 1000 # screenshot of a region -bind = ALT ,Print, exec, flameshot gui +$SS_DIR = /home/justsaumit/pix/Screenshots + +# Full screen - Print or F10 +bind = , Print, exec, IMG="$SS_DIR/pic-full-$(date +%y-%m-%d--%H-%M-%S).png" && grimblast save output "$IMG" && wl-copy < "$IMG" && dunstify "Full screenshot" "$(basename $IMG)" -t 1500 +bind = , F10, exec, IMG="$SS_DIR/pic-full-$(date +%y-%m-%d--%H-%M-%S).png" && grimblast save output "$IMG" && wl-copy < "$IMG" && dunstify "Full screenshot" "$(basename $IMG)" -t 1500 + +# Region select - CTRL+Print or F11 +bind = CTRL,Print, exec, IMG="$SS_DIR/pic-sel-$(date +%y-%m-%d--%H-%M-%S).png" && grimblast save area "$IMG" && wl-copy < "$IMG" && dunstify "Region screenshot" "$(basename $IMG)" -t 1500 +bind = , F11, exec, IMG="$SS_DIR/pic-sel-$(date +%y-%m-%d--%H-%M-%S).png" && grimblast save area "$IMG" && wl-copy < "$IMG" && dunstify "Region screenshot" "$(basename $IMG)" -t 1500 + +# Annotate β ALT+Print or F12 +bind = ALT, Print, exec, grimblast save area - | satty -f - +bind = , F12, exec, grimblast save area - | satty -f - #otherkeyb bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && [[ "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep MUTE)" ]] && dunstify "Mute" "Volume set to 0%" -i volume-xmark -t 1000 -r 1234 @@ -302,20 +371,24 @@ binde = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- & binde = ,XF86MonBrightnessUp, exec, brillo -A 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" binde = ,XF86MonBrightnessDown, exec, brillo -U 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" #Launch rofi calc mode -bind = $MOD, F2 , exec, rofi -show calc -modi calc -no-show-match -no-sort -bind = , XF86Calculator, exec, rofi -show calc -modi calc -no-show-match -no-sort +bind = $MOD, F2 , exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" +bind = , XF86Calculator, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" + +# Toggle play/pause in Spotify or Chromium (fallback) +bind = , XF86AudioPlay, exec, if playerctl -p spotify status > /dev/null 2>&1; then playerctl -p spotify play-pause; else playerctl -p chromium play-pause; fi -#Toggle play/pause in spotify (universal) -bind = , XF86AudioPlay, exec, playerctl -p spotify play-pause -# Change tracks spotify only -bind = , XF86AudioPrev, exec, playerctl -p spotify previous -bind = , XF86AudioNext, exec, playerctl -p spotify next +# Change tracks in Spotify or Chromium (fallback) +bind = , XF86AudioPrev, exec, if playerctl -p spotify status > /dev/null 2>&1; then playerctl -p spotify previous; else playerctl -p chromium previous; fi +bind = , XF86AudioNext, exec, if playerctl -p spotify status > /dev/null 2>&1; then playerctl -p spotify next; else playerctl -p chromium next; fi +#bluetooth applet +bind = $MOD, F9, exec, blueman-manager #master-stack layout bind = $MOD, Return,layoutmsg, swapwithmaster #fullscreen layout toggle +bind = $MOD, H, togglesplit bind= $MOD, U, fullscreen # Move focus with MOD + arrow keys @@ -359,6 +432,9 @@ bind = ALT, tab, workspace, e+1 bind = ALT SHIFT, tab, workspace, e-1 bind = $MOD, mouse_down, workspace, e+1 bind = $MOD, mouse_up, workspace, e-1 +# Scroll through existing workspaces with just mouse sidebuttons +bind = , mouse:276, workspace, e+1 +bind = , mouse:275, workspace, e-1 # Move/resize windows with MOD + LMB/RMB and dragging bindm = $MOD, mouse:272, movewindow @@ -389,33 +465,96 @@ submap=reset ### WINDOWS AND WORKSPACES ### ############################## -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules +# See https://wiki.hypr.land/Configuring/Window-Rules/ for more +# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules -# Example windowrule v1 -# windowrule = float, ^(kitty)$ +# Example windowrules that are useful +# Suppress maximize events +windowrule = suppress_event maximize, match:class .* -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# Ignore maximize requests from apps. You'll probably like this. -windowrulev2 = suppressevent maximize, class:.* -# Spotify does not follow window rules. This is because the client sets its class after the window has opened, thus making it βimmuneβ to windowrules. -windowrulev2=workspace 9,class:^(Spotify)$ -windowrulev2=opacity 1.0 1.0,class:^(obsidian)$ -windowrule = pin,floating,move 1232 615,size 687 467,class:mpv -#windowrulev2=workspace 9,class:^(Spotify)$,title:^(Spotify)$ +# Fix some dragging issues with XWayland +windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0 + +# Move Hyprland-run +windowrule = move 20 (monitor_h-120), match:class hyprland-run +windowrule = float on, match:class hyprland-run + +# windowrule { +# # Ignore maximize requests from all apps. You'll probably like this. +# name = suppress-maximize-events +# match:class = .* +# suppress_event = maximize +# } + +# windowrule { +# # Fix some dragging issues with XWayland +# name = fix-xwayland-drags +# match:class = ^$ +# match:title = ^$ +# match:xwayland = true +# match:float = true +# match:fullscreen = false +# match:pin = false + +# no_focus = true +# } + +# # Hyprland-run windowrule +# windowrule { +# name = move-hyprland-run + +# match:class = hyprland-run + +# move = 20 monitor_h-120 +# float = yes +# } + +# Spotify to workspace 9 +windowrule = workspace 9, match:class ^(spotify)$ + +# Obsidian opacity +windowrule = opacity 1.0, match:class ^(obsidian)$ +windowrule = opacity 1.0, match:class ^(code)$ +windowrule = opacity 1.0, match:class ^(brave)$ +windowrule = opacity 1.0, match:class ^(mpv)$ +windowrule = opacity 1.0, match:class ^(zen)$ + +#windowrulev2 = no_direct_scanout, class:^(mpv)$ + +# MPV player floating -> spawn bottomright +# windowrule { +# name = mpv-floating-bottomright +# match:class = mpv + +# pin = on +# float = on +# move = 1232 615 +# size = 687 467 +# } # "Smart gaps" / "No gaps when only" workspace = w[t1], gapsout:0, gapsin:0 workspace = w[tg1], gapsout:0, gapsin:0 workspace = f[1], gapsout:0, gapsin:0 -windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1] -windowrulev2 = rounding 0, floating:0, onworkspace:w[t1] -windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1] -windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1] -windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] -windowrulev2 = rounding 0, floating:0, onworkspace:f[1] - -# Fix some dragging issues with XWayland -windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +windowrule = border_size 0, match:float false, match:workspace w[t1] +windowrule = rounding 0, match:float false, match:workspace w[t1] +windowrule = border_size 0, match:float false, match:workspace w[tg1] +windowrule = rounding 0, match:float false, match:workspace w[tg1] +windowrule = border_size 0, match:float false, match:workspace f[1] +windowrule = rounding 0, match:float false, match:workspace f[1] + +# fix some dragging issues with xwayland +windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland true, match:float true, match:fullscreen false, match:pin false + +# See https://wiki.hypr.land/Useful-Utilities/Screen-Sharing/#xwayland +windowrule { + name = xwayland-video-bridge-fixes + match:class = xwaylandvideobridge + no_initial_focus = on + no_focus = on + no_anim = on + no_blur = on + max_size = 1 1 + opacity = 0.0 +} diff --git a/.config/nvim/init.lua b/stow/nvim/.config/nvim/init.lua index 11ab069..11ab069 100644 --- a/.config/nvim/init.lua +++ b/stow/nvim/.config/nvim/init.lua diff --git a/.config/nvim/lua/justsaumit/bufferline-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/bufferline-config.lua index 879c669..879c669 100644 --- a/.config/nvim/lua/justsaumit/bufferline-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/bufferline-config.lua diff --git a/.config/nvim/lua/justsaumit/cmp-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/cmp-config.lua index 7e29155..7e29155 100644 --- a/.config/nvim/lua/justsaumit/cmp-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/cmp-config.lua diff --git a/.config/nvim/lua/justsaumit/colorizer-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/colorizer-config.lua index 569021d..569021d 100644 --- a/.config/nvim/lua/justsaumit/colorizer-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/colorizer-config.lua diff --git a/.config/nvim/lua/justsaumit/colorscheme.lua b/stow/nvim/.config/nvim/lua/justsaumit/colorscheme.lua index 67c166f..67c166f 100644 --- a/.config/nvim/lua/justsaumit/colorscheme.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/colorscheme.lua diff --git a/.config/nvim/lua/justsaumit/keymaps.lua b/stow/nvim/.config/nvim/lua/justsaumit/keymaps.lua index 582113c..582113c 100644 --- a/.config/nvim/lua/justsaumit/keymaps.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/keymaps.lua diff --git a/.config/nvim/lua/justsaumit/lastplace-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/lastplace-config.lua index 4fa6a83..4fa6a83 100644 --- a/.config/nvim/lua/justsaumit/lastplace-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/lastplace-config.lua diff --git a/.config/nvim/lua/justsaumit/lsp-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/lsp-config.lua index 3e1db1f..2c0d746 100644 --- a/.config/nvim/lua/justsaumit/lsp-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/lsp-config.lua @@ -84,10 +84,10 @@ lspconfig.rust_analyzer.setup({ capabilities = capabilities, }) -lspconfig.tsserver.setup({ - on_attach = on_attach, - capabilities = capabilities, -}) +-- lspconfig.tsserver.setup({ +-- on_attach = on_attach, +-- capabilities = capabilities, +-- }) lspconfig.yamlls.setup({ on_attach = on_attach, diff --git a/.config/nvim/lua/justsaumit/lspsaga-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/lspsaga-config.lua index 70d3d79..70d3d79 100644 --- a/.config/nvim/lua/justsaumit/lspsaga-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/lspsaga-config.lua diff --git a/.config/nvim/lua/justsaumit/lualine-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/lualine-config.lua index 56c426a..56c426a 100644 --- a/.config/nvim/lua/justsaumit/lualine-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/lualine-config.lua diff --git a/.config/nvim/lua/justsaumit/mason.lua b/stow/nvim/.config/nvim/lua/justsaumit/mason.lua index ed2c74d..d651810 100644 --- a/.config/nvim/lua/justsaumit/mason.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/mason.lua @@ -33,7 +33,7 @@ require("mason-lspconfig").setup ({ "html", "lua_ls", "marksman", - "tsserver", + --"tsserver", "yamlls", }, }) diff --git a/.config/nvim/lua/justsaumit/nvim-comment-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/nvim-comment-config.lua index d71ce14..d71ce14 100644 --- a/.config/nvim/lua/justsaumit/nvim-comment-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/nvim-comment-config.lua diff --git a/.config/nvim/lua/justsaumit/nvim-tree-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/nvim-tree-config.lua index b499f91..b499f91 100644 --- a/.config/nvim/lua/justsaumit/nvim-tree-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/nvim-tree-config.lua diff --git a/.config/nvim/lua/justsaumit/options.lua b/stow/nvim/.config/nvim/lua/justsaumit/options.lua index 4eae867..4eae867 100644 --- a/.config/nvim/lua/justsaumit/options.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/options.lua diff --git a/.config/nvim/lua/justsaumit/plugins.lua b/stow/nvim/.config/nvim/lua/justsaumit/plugins.lua index 2913f6f..460d6f3 100644 --- a/.config/nvim/lua/justsaumit/plugins.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/plugins.lua @@ -58,11 +58,13 @@ return packer.startup(function(use) --Lualine use {'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }} --Bufferline - use {'akinsho/bufferline.nvim', tag = "v2.*", requires = 'nvim-tree/nvim-web-devicons'} + use {'akinsho/bufferline.nvim', tag = "*", requires = 'nvim-tree/nvim-web-devicons'} --Nvim-tree File explorer for nvim use {'nvim-tree/nvim-tree.lua', requires = { 'nvim-tree/nvim-web-devicons'}} --Which-key - displays a popup with possible key bindings use 'folke/which-key.nvim' +--mini.nvim - Lua module pack + use 'echasnovski/mini.nvim' --Mason-nvim Portable Package manager for LSP and DAP servers, linters and formatters use { "williamboman/mason.nvim", run = ":MasonUpdate"} -- :MasonUpdate updates registry contents --lsp diff --git a/.config/nvim/lua/justsaumit/telescope-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/telescope-config.lua index 534e663..534e663 100644 --- a/.config/nvim/lua/justsaumit/telescope-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/telescope-config.lua diff --git a/.config/nvim/lua/justsaumit/toggleterm-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/toggleterm-config.lua index b1579cd..b1579cd 100644 --- a/.config/nvim/lua/justsaumit/toggleterm-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/toggleterm-config.lua diff --git a/.config/nvim/lua/justsaumit/treesitter-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/treesitter-config.lua index 9249da7..c64e659 100644 --- a/.config/nvim/lua/justsaumit/treesitter-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/treesitter-config.lua @@ -1,6 +1,6 @@ require'nvim-treesitter.configs'.setup { -- A list of parser names, or "all" - ensure_installed = { "bash", "c", "cpp", "lua", "rust", "python", "go","html", "javascript", "typescript", "latex", "markdown", "solidity", "sxhkdrc" }, + ensure_installed = { "bash", "c", "cpp", "lua", "rust", "python", "go","html", "javascript", "typescript", "markdown", "solidity", "sxhkdrc" }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, diff --git a/.config/nvim/lua/justsaumit/which-key-config.lua b/stow/nvim/.config/nvim/lua/justsaumit/which-key-config.lua index 93a42fa..93a42fa 100644 --- a/.config/nvim/lua/justsaumit/which-key-config.lua +++ b/stow/nvim/.config/nvim/lua/justsaumit/which-key-config.lua diff --git a/.config/nvim/plugin/packer_compiled.lua b/stow/nvim/.config/nvim/plugin/packer_compiled.lua index 5b4e295..f5e9107 100644 --- a/.config/nvim/plugin/packer_compiled.lua +++ b/stow/nvim/.config/nvim/plugin/packer_compiled.lua @@ -49,8 +49,8 @@ local function save_profiles(threshold) end time([[Luarocks path setup]], true) -local package_path_str = "/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" +local package_path_str = "/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/share/lua/5.1/?.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/share/lua/5.1/?/init.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/luarocks/rocks-5.1/?.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/lua/5.1/?.so" if not string.find(package.path, package_path_str, 1, true) then package.path = package.path .. ';' .. package_path_str end @@ -76,157 +76,157 @@ time([[Defining packer_plugins]], true) _G.packer_plugins = { LuaSnip = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/LuaSnip", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/LuaSnip", url = "https://github.com/L3MON4D3/LuaSnip" }, ["bufferline.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/bufferline.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/bufferline.nvim", url = "https://github.com/akinsho/bufferline.nvim" }, catppuccin = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/catppuccin", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/catppuccin", url = "https://github.com/catppuccin/nvim" }, ["cmp-buffer"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-buffer", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-buffer", url = "https://github.com/hrsh7th/cmp-buffer" }, ["cmp-cmdline"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-cmdline", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-cmdline", url = "https://github.com/hrsh7th/cmp-cmdline" }, ["cmp-nvim-lsp"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", url = "https://github.com/hrsh7th/cmp-nvim-lsp" }, ["cmp-path"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-path", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-path", url = "https://github.com/hrsh7th/cmp-path" }, cmp_luasnip = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp_luasnip", url = "https://github.com/saadparwaiz1/cmp_luasnip" }, ["lspkind-nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lspkind-nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lspkind-nvim", url = "https://github.com/onsails/lspkind-nvim" }, ["lspsaga.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", url = "https://github.com/kkharji/lspsaga.nvim" }, ["lualine.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lualine.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lualine.nvim", url = "https://github.com/nvim-lualine/lualine.nvim" }, ["mason-lspconfig.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", url = "https://github.com/williamboman/mason-lspconfig.nvim" }, ["mason.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/mason.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/mason.nvim", url = "https://github.com/williamboman/mason.nvim" }, ["nvim-cmp"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-cmp", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-cmp", url = "https://github.com/hrsh7th/nvim-cmp" }, ["nvim-colorizer.lua"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", url = "https://github.com/NvChad/nvim-colorizer.lua" }, ["nvim-comment"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-comment", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-comment", url = "https://github.com/terrortylor/nvim-comment" }, ["nvim-lastplace"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-lastplace", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-lastplace", url = "https://github.com/ethanholz/nvim-lastplace" }, ["nvim-lspconfig"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", url = "https://github.com/neovim/nvim-lspconfig" }, ["nvim-tree.lua"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", url = "https://github.com/nvim-tree/nvim-tree.lua" }, ["nvim-treesitter"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-treesitter", url = "https://github.com/nvim-treesitter/nvim-treesitter" }, ["nvim-ts-autotag"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", url = "https://github.com/windwp/nvim-ts-autotag" }, ["nvim-web-devicons"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", url = "https://github.com/kyazdani42/nvim-web-devicons" }, ["packer.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/packer.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/packer.nvim", url = "https://github.com/wbthomason/packer.nvim" }, ["plenary.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/plenary.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/plenary.nvim", url = "https://github.com/nvim-lua/plenary.nvim" }, ["popup.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/popup.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/popup.nvim", url = "https://github.com/nvim-lua/popup.nvim" }, pywal = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/pywal", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/pywal", url = "https://github.com/AlphaTechnolog/pywal.nvim" }, ["telescope.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/telescope.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/telescope.nvim", url = "https://github.com/nvim-telescope/telescope.nvim" }, ["toggleterm.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", url = "https://github.com/akinsho/toggleterm.nvim" }, ["tokyodark.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/tokyodark.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/tokyodark.nvim", url = "https://github.com/tiagovla/tokyodark.nvim" }, ["tokyonight.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", url = "https://github.com/folke/tokyonight.nvim" }, ["which-key.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/which-key.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/which-key.nvim", url = "https://github.com/folke/which-key.nvim" } } diff --git a/.config/vim/vimrc b/stow/vim/.config/vim/vimrc index 0832263..0832263 100644 --- a/.config/vim/vimrc +++ b/stow/vim/.config/vim/vimrc diff --git a/stow/vscode/.config/Code/User/keybindings.json b/stow/vscode/.config/Code/User/keybindings.json new file mode 100644 index 0000000..ba29206 --- /dev/null +++ b/stow/vscode/.config/Code/User/keybindings.json @@ -0,0 +1,7 @@ +// Place your key bindings in this file to override the defaults +[ + { + "key": "shift+space", + "command": "toggleVim" + } +]
\ No newline at end of file diff --git a/stow/vscode/.config/Code/User/settings.json b/stow/vscode/.config/Code/User/settings.json new file mode 100644 index 0000000..6d67f96 --- /dev/null +++ b/stow/vscode/.config/Code/User/settings.json @@ -0,0 +1,87 @@ +{ + // ========================================================= + // CORE EDITOR & APPEARANCE + // ========================================================= + "editor.fontSize": 16, + "editor.insertSpaces": false, + "editor.tabSize": 2, + "editor.detectIndentation": false, + + // Visual Guides + "editor.guides.bracketPairs": true, + "editor.guides.bracketPairsHorizontal": true, + + // Minimap (Small code preview on the right) + "editor.minimap.enabled": false, + "editor.minimap.autohide": "none", // Redundant if enabled is false, but kept for preference + + // ========================================================= + // WORKBENCH & UI + // ========================================================= + "workbench.colorTheme": "Tokyo Night Gogh", + "workbench.iconTheme": "material-icon-theme", + "window.titleBarStyle": "custom", + "workbench.settings.applyToAllProfiles": [], + + // ========================================================= + // FILE SAVING + // ========================================================= + // Replaces the "Auto save while typing" extension + "files.autoSave": "afterDelay", + "files.autoSaveDelay": 1000, // Saves 1 second after you stop typing + + // ========================================================= + // VIM CONFIGURATION + // ========================================================= + "vim.useSystemClipboard": true, + "vim.handleKeys": { + "<C-k>": false // Allows Ctrl+K chords (like language switching) to bypass Vim + }, + + // ========================================================= + // KEYBOARD & INPUT + // ========================================================= + // Fixes CapsLock remap issues on Linux/Hyprland + "keyboard.dispatch": "keyCode", + + // ========================================================= + // GIT INTEGRATION + // ========================================================= + "git.confirmSync": false, // Don't ask before syncing + "git.enableSmartCommit": true, // Commit all changes if none are staged + + // ========================================================= + // LANGUAGE SPECIFIC FORMATTERS + // ========================================================= + "[css]": { + "editor.defaultFormatter": "vscode.css-language-features" + }, + "[html]": { + "editor.defaultFormatter": "vscode.html-language-features" + }, + "[jsonc]": { + "editor.defaultFormatter": "vscode.json-language-features" + }, + + // ========================================================= + // EXTENSIONS & MISC + // ========================================================= + // Spell Checker + "cSpell.userWords": [ + "Bootcamp", + "lmao" + ], + + // Live Server + "liveServer.settings.donotVerifyTags": true, + "liveServer.settings.ChromeDebuggingAttachment": false, + + // Remote SSH + "remote.SSH.remotePlatform": { + "sandbox.vyxff4.csb": "linux" + }, + + // Icons & AI + "vsicons.dontShowNewVersionMessage": true, + "chat.disableAIFeatures": true +}
\ No newline at end of file diff --git a/.config/waybar/config.jsonc b/stow/waybar/.config/waybar/config.jsonc index c2aef8e..513c578 100644 --- a/.config/waybar/config.jsonc +++ b/stow/waybar/.config/waybar/config.jsonc @@ -30,7 +30,8 @@ "network", "battery", "backlight", - "tray" + "tray", + "custom/toggle-laptop-keyboard" ], "hyprland/window": { "format": "{}" @@ -100,9 +101,19 @@ }, "cpu": { "interval": 5, - "format": "σ° {usage}% ", + // "format": "σ° {usage}% ", + "format-critical":"<span color='#c20821'><b>σ° {usage}%</b></span>", + "format-high": "<span color='#e03c52'>σ° {usage}%</span>", + "format-medium": "<span color='#f9e2af'>σ° {usage}%</span>", + "format-low": "<span color='#b2beb5'>σ° {usage}%</span>", "tooltip": false, - "on-click": "foot --term -e htop" + "on-click": "foot --term -e htop", + "states": { + "critical": 80, + "high": 50, + "medium": 5, + "low": 0, + }, }, "temperature": { "interval": 5, @@ -211,5 +222,10 @@ "tray": { "icon-size": 18, "spacing": 10 - } + }, + "custom/toggle-laptop-keyboard": { + "format": "ο ", + "on-click": "~/.scripts/toggle-keyboard-hypr", + "tooltip-format": "Toggle Laptop Keyboard" + } } diff --git a/.config/waybar/style.css b/stow/waybar/.config/waybar/style.css index 91059bd..4ac1b0d 100644 --- a/.config/waybar/style.css +++ b/stow/waybar/.config/waybar/style.css @@ -5,7 +5,7 @@ /*font-family: Iosevka, FontAwesome, Noto Sans CJK;*/ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; - font-size: 15.9px; + font-size: 15.8px; min-height: 0; } @@ -75,6 +75,7 @@ tooltip { #custom-memory, #workspaces, #tray, +#custom-toggle-laptop-keyboard, #backlight, #custom-playerctl, #custom-playerlabel { @@ -98,8 +99,12 @@ tooltip { } #tray { - border-radius: 10px; - margin-right: 5px; + border-radius: 10px 0px 0px 10px; +} + +#custom-toggle-laptop-keyboard{ + border-radius: 0px 10px 10px 0px; + margin-right: 2px } #workspaces { diff --git a/.config/zsh/.zshrc b/stow/zsh/.zshrc index 4231e29..3a021a1 100644 --- a/.config/zsh/.zshrc +++ b/stow/zsh/.zshrc @@ -6,7 +6,17 @@ export ZSH="$HOME/.oh-my-zsh" # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes ZSH_THEME="spaceship" - +PROMPT='$(kube_ps1)'$PROMPT +export SPACESHIP_KUBECTL_SHOW=true +export SPACESHIP_KUBECTL_VERSION_SHOW=false # Hide version if it's too verbose +export SPACESHIP_KUBECTL_NAMESPACE_SHOW=true # Show current namespace +export SPACESHIP_KUBECTL_PREFIX=" " +export SPACESHIP_KUBECTL_SYMBOL="β " +export SPACESHIP_KUBECTL_COLOR="cyan" + +if [[ $(tty) == "/dev/tty1" ]]; then + start-hyprland +fi # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load @@ -85,6 +95,16 @@ plugins=( nvm npm node + kubectl + kubectx + kube-ps1 + aws + azure + helm + terraform + ansible + fzf + z ) source $ZSH/oh-my-zsh.sh @@ -117,11 +137,19 @@ source $ZSH/oh-my-zsh.sh # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" +alias kns="kubens" +alias kctx="kubectx" export NVM_DIR="$HOME/.nvm" export PATH=$PATH:/usr/local/x export PATH="$PATH:$HOME/.scripts" +export ANDROID_HOME=/home/justsaumit/Android/Sdk +export PATH=$PATH:$ANDROID_HOME/tools +export PATH=$PATH:$ANDROID_HOME/platform-tools +export PATH="$PATH:$ANDROID_HOME/tools/bin" + + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion @@ -131,3 +159,5 @@ export PATH="$PATH:$HOME/.scripts" [ -f "${xdg_config_home:-$home/.config}/shell/shortcutrc" ] && source "${xdg_config_home:-$home/.config}/shell/shortcutrc" # Load profile [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile" +# Load secrets +[ -f "${XDG_CONFIG_HOME:-$HOME}/.zsh_secrets" ] && source "${XDG_CONFIG_HOME:-$HOME}/.zsh_secrets" diff --git a/.config/tmux/tmux.conf b/tmux/tmux.conf index 0023540..0023540 100644 --- a/.config/tmux/tmux.conf +++ b/tmux/tmux.conf |
