summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/mimeapps.list9
-rw-r--r--.config/systemd/user/eye-rest-reminder.service14
-rw-r--r--.config/zathura/zathurarc8
-rw-r--r--.gitignore2
-rwxr-xr-x.scripts/20-20-20.sh53
-rwxr-xr-x.scripts/4chget4
-rwxr-xr-x.scripts/4chgettofi3
-rwxr-xr-x.scripts/bts3
-rwxr-xr-x.scripts/toggle-keyboard-hypr11
-rwxr-xr-x.scripts/toggle-touchpad-hypr11
-rwxr-xr-x.scripts/work5
-rwxr-xr-x.scripts/ws45
-rwxr-xr-x.scripts/ws-tofi67
-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.conf341
-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.json7
-rw-r--r--stow/vscode/.config/Code/User/settings.json87
-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