├── .bashrc
├── .config
├── Scripts
│ ├── battery-notify
│ ├── battery-status
│ ├── brightness
│ ├── cache-update-count
│ ├── caps-lock-status
│ ├── charging-notify
│ ├── dnd-status
│ ├── dnd-toggle
│ ├── dock
│ ├── dynamic
│ ├── ewwbar-refresh
│ ├── hyprland
│ ├── kb-brightness
│ ├── killhypr
│ ├── layout-status
│ ├── mediaplayer.py
│ ├── mpd-mpris-albumart
│ ├── music-art
│ ├── ncmpcpp-extended
│ ├── network-status
│ ├── notif
│ ├── recording-status.sh
│ ├── recording.sh
│ ├── screenshot.sh
│ ├── song-status
│ ├── spootify.sh
│ ├── start-dyn
│ ├── updatewal-swww.sh
│ ├── volume
│ ├── wallpaper-changer-hyprpaper
│ ├── waybar-launch.sh
│ ├── whatsappify-video
│ └── wifi-conn-strength
├── assets
│ ├── banner.png
│ ├── hyprland.png
│ ├── hyprlock-1.png
│ ├── hyprlock-2.png
│ ├── kitty.png
│ ├── made-with-arch-text.png
│ ├── ncmpcpp.png
│ ├── neofetch.png
│ ├── neovim.png
│ ├── rofi-1.png
│ ├── rofi-2.png
│ ├── rofi-3.png
│ ├── spotify.png
│ └── waybar.png
├── bat
│ ├── config
│ └── themes
│ │ └── Material-Darker.tmTheme
├── cava
│ ├── config
│ └── shaders
│ │ ├── bar_spectrum.frag
│ │ ├── northern_lights.frag
│ │ └── pass_through.vert
├── dunst
│ ├── dunst.conf
│ ├── dunstrc
│ └── icons
│ │ ├── arch.svg
│ │ ├── battery-alert.png
│ │ ├── battery-charging.png
│ │ ├── battery-full.png
│ │ ├── battery.png
│ │ ├── critical.svg
│ │ ├── dark.png
│ │ ├── dnd
│ │ ├── dnd-off.png
│ │ └── dnd-on.png
│ │ ├── hyprdots.png
│ │ ├── hyprdots.svg
│ │ ├── keyboard.svg
│ │ ├── light.png
│ │ ├── recorder
│ │ ├── recording.png
│ │ └── save.png
│ │ └── vol
│ │ ├── muted-mic.svg
│ │ ├── muted-speaker.svg
│ │ ├── unmuted-mic.svg
│ │ ├── unmuted-speaker.svg
│ │ ├── vol-0.svg
│ │ ├── vol-10.svg
│ │ ├── vol-100.svg
│ │ ├── vol-15.svg
│ │ ├── vol-20.svg
│ │ ├── vol-25.svg
│ │ ├── vol-30.svg
│ │ ├── vol-35.svg
│ │ ├── vol-40.svg
│ │ ├── vol-45.svg
│ │ ├── vol-5.svg
│ │ ├── vol-50.svg
│ │ ├── vol-55.svg
│ │ ├── vol-60.svg
│ │ ├── vol-65.svg
│ │ ├── vol-70.svg
│ │ ├── vol-75.svg
│ │ ├── vol-80.svg
│ │ ├── vol-85.svg
│ │ ├── vol-90.svg
│ │ └── vol-95.svg
├── fish
│ ├── completions
│ │ └── fisher.fish
│ ├── conf.d
│ │ ├── tmux.extra.conf
│ │ ├── tmux.fish
│ │ ├── tmux.only.conf
│ │ └── tmux_abbrs.fish
│ ├── config.fish
│ ├── fish_plugins
│ ├── fish_variables
│ └── functions
│ │ ├── fisher.fish
│ │ ├── grep.fish
│ │ ├── ls.fish
│ │ ├── open.fish
│ │ └── pls.fish
├── hypr
│ ├── env_var.conf
│ ├── env_var_nvidia.conf
│ ├── hyprland.conf
│ ├── hyprlock.conf
│ ├── hyprpaper.conf
│ ├── media-binds.conf
│ ├── rog-g15-strix-2021-binds.conf
│ ├── store
│ │ ├── dynamic_out.txt
│ │ ├── latest_notif
│ │ └── prev.txt
│ └── xdg-portal-hyprland
├── kitty
│ ├── kitty.conf
│ └── themes
│ │ ├── latte.conf
│ │ ├── macchiato.conf
│ │ └── mocha.conf
├── ncmpcpp
│ ├── config
│ └── error.log
├── neofetch
│ ├── 2phuthon.png
│ ├── config-backup.conf
│ ├── config.conf
│ ├── configBackup.conf
│ ├── loli-god-requiem.jpg
│ ├── macchiato_squircle.png
│ ├── pngs
│ │ ├── aisaka.png
│ │ ├── arch.png
│ │ ├── loli.png
│ │ ├── made-with-arch-text-2.png
│ │ ├── pochita.png
│ │ ├── ryuzaki.png
│ │ └── sakurafetch.png
│ ├── pochita.png
│ ├── rempng.png
│ └── spy-family-anya-smirk-512x512.png
├── nvim
│ ├── .stylua.toml
│ ├── LICENSE
│ ├── init.lua
│ ├── lazy-lock.json
│ └── lua
│ │ ├── chadrc.lua
│ │ ├── configs
│ │ ├── conform.lua
│ │ ├── lazy.lua
│ │ └── lspconfig.lua
│ │ ├── mappings.lua
│ │ ├── options.lua
│ │ └── plugins
│ │ ├── custom.lua
│ │ └── init.lua
├── nwg-dock-hyprland
│ └── style.css
├── ohmyposh
│ └── zen.toml
├── rofi
│ ├── config.rasi
│ ├── rofi-app-menu
│ │ └── app-menu
│ ├── rofi-music-menu
│ │ └── musicMenu.sh
│ ├── rofi-power-menu
│ │ └── powermenu.sh
│ └── rofi-wifi-menu
│ │ └── rofi-wifi-menu.sh
├── silicon
│ └── themes
│ │ └── Material-Darker.tmTheme
├── starship.toml
├── tmux
│ └── tmux.conf
└── waybar
│ ├── colors-waybar.css
│ ├── config-backup-2.jsonc
│ ├── config-backup.jsonc
│ ├── config.jsonc
│ ├── configBack.jsonc
│ ├── latte.css
│ ├── macchiato.css
│ ├── mocha.css
│ ├── style-backup-2.css
│ ├── style-backup.css
│ ├── style.css
│ └── themes
│ └── mocha.css
├── .gitignore
├── .stow-local-ignore
└── README.md
/.bashrc:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.bashrc
3 | #
4 |
5 | [[ $- == *i* ]] && source /usr/share/blesh/ble.sh --noattach
6 |
7 | # If not running interactively, don't do anything
8 | # [[ $- != *i* ]] && return
9 |
10 | # alias ls='ls --color=auto'
11 | alias grep='grep --color=auto'
12 | PS1='[\u@\h \W]\$ '
13 |
14 | eval "$(starship init bash)"
15 | eval "$(thefuck --alias)"
16 | eval "$(zoxide init bash)"
17 | eval "$(fzf --bash)"
18 |
19 | export PATH="/home/pratik/.local/bin:~/.config/Scripts:$PATH"
20 |
21 | alias ls="eza --icons --no-quotes"
22 | alias cd="z"
23 | alias gpt="tgpt --model opengpts"
24 | alias pls="doas"
25 | alias open="imv"
26 |
27 | export TERMINAL="kitty"
28 | export EDITOR="nvim"
29 | export VISUAL="nvim"
30 |
31 | export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS'
32 | --height=60%
33 | --color=fg:-1,fg+:#fafafa,bg:-1,bg+:#1c1c1c
34 | --color=hl:#82aaff,hl+:#89ddff,info:#ffcb6b,marker:#c3e88d
35 | --color=prompt:#f07178,spinner:#c792ea,pointer:#c792ea,header:#89ddff
36 | --color=border:#4a4a4a,label:#eeffff,query:#eeffff
37 | --border="rounded" --border-label="" --preview-window="border-rounded" --padding="1"
38 | --prompt="> " --marker=">" --pointer="◆" --separator="─"
39 | --scrollbar="│"'
40 |
41 | # lf icons
42 | export LF_ICONS="\
43 | tw=:\
44 | st=:\
45 | ow=:\
46 | dt=:\
47 | di=:\
48 | fi=:\
49 | ln=:\
50 | or=:\
51 | ex=:\
52 | *.c=:\
53 | *.cc=:\
54 | *.clj=:\
55 | *.coffee=:\
56 | *.cpp=:\
57 | *.css=:\
58 | *.d=:\
59 | *.dart=:\
60 | *.erl=:\
61 | *.exs=:\
62 | *.fs=:\
63 | *.go=:\
64 | *.h=:\
65 | *.hh=:\
66 | *.hpp=:\
67 | *.hs=:\
68 | *.html=:\
69 | *.java=:\
70 | *.jl=:\
71 | *.js=:\
72 | *.json=:\
73 | *.lua=:\
74 | *.md=:\
75 | *.php=:\
76 | *.pl=:\
77 | *.pro=:\
78 | *.py=:\
79 | *.rb=:\
80 | *.rs=:\
81 | *.scala=:\
82 | *.ts=:\
83 | *.vim=:\
84 | *.cmd=:\
85 | *.ps1=:\
86 | *.sh=:\
87 | *.bash=:\
88 | *.zsh=:\
89 | *.fish=:\
90 | *.tar=:\
91 | *.tgz=:\
92 | *.arc=:\
93 | *.arj=:\
94 | *.taz=:\
95 | *.lha=:\
96 | *.lz4=:\
97 | *.lzh=:\
98 | *.lzma=:\
99 | *.tlz=:\
100 | *.txz=:\
101 | *.tzo=:\
102 | *.t7z=:\
103 | *.zip=:\
104 | *.z=:\
105 | *.dz=:\
106 | *.gz=:\
107 | *.lrz=:\
108 | *.lz=:\
109 | *.lzo=:\
110 | *.xz=:\
111 | *.zst=:\
112 | *.tzst=:\
113 | *.bz2=:\
114 | *.bz=:\
115 | *.tbz=:\
116 | *.tbz2=:\
117 | *.tz=:\
118 | *.deb=:\
119 | *.rpm=:\
120 | *.jar=:\
121 | *.war=:\
122 | *.ear=:\
123 | *.sar=:\
124 | *.rar=:\
125 | *.alz=:\
126 | *.ace=:\
127 | *.zoo=:\
128 | *.cpio=:\
129 | *.7z=:\
130 | *.rz=:\
131 | *.cab=:\
132 | *.wim=:\
133 | *.swm=:\
134 | *.dwm=:\
135 | *.esd=:\
136 | *.jpg=:\
137 | *.jpeg=:\
138 | *.mjpg=:\
139 | *.mjpeg=:\
140 | *.gif=:\
141 | *.bmp=:\
142 | *.pbm=:\
143 | *.pgm=:\
144 | *.ppm=:\
145 | *.tga=:\
146 | *.xbm=:\
147 | *.xpm=:\
148 | *.tif=:\
149 | *.tiff=:\
150 | *.png=:\
151 | *.svg=:\
152 | *.svgz=:\
153 | *.mng=:\
154 | *.pcx=:\
155 | *.mov=:\
156 | *.mpg=:\
157 | *.mpeg=:\
158 | *.m2v=:\
159 | *.mkv=:\
160 | *.webm=:\
161 | *.ogm=:\
162 | *.mp4=:\
163 | *.m4v=:\
164 | *.mp4v=:\
165 | *.vob=:\
166 | *.qt=:\
167 | *.nuv=:\
168 | *.wmv=:\
169 | *.asf=:\
170 | *.rm=:\
171 | *.rmvb=:\
172 | *.flc=:\
173 | *.avi=:\
174 | *.fli=:\
175 | *.flv=:\
176 | *.gl=:\
177 | *.dl=:\
178 | *.xcf=:\
179 | *.xwd=:\
180 | *.yuv=:\
181 | *.cgm=:\
182 | *.emf=:\
183 | *.ogv=:\
184 | *.ogx=:\
185 | *.aac=:\
186 | *.au=:\
187 | *.flac=:\
188 | *.m4a=:\
189 | *.mid=:\
190 | *.midi=:\
191 | *.mka=:\
192 | *.mp3=:\
193 | *.mpc=:\
194 | *.ogg=:\
195 | *.ra=:\
196 | *.wav=:\
197 | *.oga=:\
198 | *.opus=:\
199 | *.spx=:\
200 | *.xspf=:\
201 | *.pdf=:\
202 | *.nix=:\
203 | "
204 |
205 | [[ ${BLE_VERSION-} ]] && ble-attach
206 |
--------------------------------------------------------------------------------
/.config/Scripts/battery-notify:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | export DISPLAY=:1
4 |
5 | # Battery percentage at which to notify
6 | WARNING_LEVEL=21
7 |
8 | emp_flag=0
9 | full_flag=0
10 |
11 | inotifywait -e ACCESS -m /sys/class/power_supply/BAT1/capacity | while read; do
12 | # check percentage and show notification
13 |
14 | BATTERY_DISCHARGING=$(cat /sys/class/power_supply/BAT1/status)
15 | BATTERY_LEVEL=$(cat /sys/class/power_supply/BAT1/capacity)
16 |
17 | # Reset notifications if the computer is charging/discharging
18 | if [ "$BATTERY_DISCHARGING" == "Discharging" ] && [ $full_flag -eq 1 ]; then
19 | full_flag=0
20 | elif [ "$BATTERY_DISCHARGING" == "Charging" ] && [ $emp_flag -eq 1 ]; then
21 | emp_flag=0
22 | fi
23 |
24 | # If the battery is charging and is full
25 | if [ "$BATTERY_LEVEL" -gt 95 ] && [ "$BATTERY_DISCHARGING" == "Charging" ] && [ $full_flag -ne 1 ]; then
26 | notify-send "Battery Charged" "Battery is fully charged." -i ~/.config/dunst/icons/battery-full.png -r 9991
27 | full_flag=1
28 | # If the battery is low and is not charging
29 | elif [ "$BATTERY_LEVEL" -le "$WARNING_LEVEL" ] && [ "$BATTERY_DISCHARGING" == "Discharging" ] && [ $emp_flag -ne 1 ]; then
30 | notify-send "Low Battery" "${BATTERY_LEVEL}% of battery remaining." -u critical -i ~/.config/dunst/icons/battery-alert.png -r 9991
31 | # emp_flag=1
32 | fi
33 | sleep 0.5
34 | done
35 |
--------------------------------------------------------------------------------
/.config/Scripts/battery-status:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # status="$(acpi -b | grep -ioh "\w*charging\w*")"
4 | # level="$(acpi -b | grep -o -P "[0-9]+(?=%)")"
5 |
6 | status="$(cat /sys/class/power_supply/BAT1/status)"
7 | level="$(cat /sys/class/power_supply/BAT1/capacity)"
8 |
9 | if [[ ("$status" == "Discharging") || ("$status" == "Full") ]]; then
10 | if [[ "$level" -eq "0" ]]; then
11 | printf " "
12 | elif [[ ("$level" -ge "0") && ("$level" -le "25") ]]; then
13 | printf " "
14 | elif [[ ("$level" -ge "25") && ("$level" -le "50") ]]; then
15 | printf " "
16 | elif [[ ("$level" -ge "50") && ("$level" -le "75") ]]; then
17 | printf " "
18 | elif [[ ("$level" -ge "75") && ("$level" -le "100") ]]; then
19 | printf " "
20 | fi
21 | elif [[ "$status" == "Charging" ]]; then
22 | printf " "
23 | fi
24 |
--------------------------------------------------------------------------------
/.config/Scripts/brightness:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | iDIR="$HOME/.config/HyprV/mako/icons"
4 |
5 | # Get brightness
6 | get_backlight() {
7 | LIGHT=$(printf "%.0f\n" $(brightnessctl i))
8 | echo "${LIGHT}%"
9 | }
10 |
11 | # Get icons
12 | get_icon() {
13 | backlight="$(brightnessctl g)"
14 | current="${backlight%%%}"
15 | if [[ ("$current" -ge "0") && ("$current" -le "52") ]]; then
16 | icon="$iDIR/brightness-20.png"
17 | elif [[ ("$current" -ge "52") && ("$current" -le "103") ]]; then
18 | icon="$iDIR/brightness-40.png"
19 | elif [[ ("$current" -ge "103") && ("$current" -le "155") ]]; then
20 | icon="$iDIR/brightness-60.png"
21 | elif [[ ("$current" -ge "155") && ("$current" -le "207") ]]; then
22 | icon="$iDIR/brightness-80.png"
23 | elif [[ ("$current" -ge "180") && ("$current" -le "255") ]]; then
24 | icon="$iDIR/brightness-100.png"
25 | fi
26 | }
27 |
28 | # Notify
29 | notify_user() {
30 | notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$icon" "Brightness : $(brightnessctl g)"
31 | }
32 |
33 | # Increase brightness
34 | inc_backlight() {
35 | brightnessctl set 10%+ && get_icon && notify_user
36 | }
37 |
38 | # Decrease brightness
39 | dec_backlight() {
40 | brightnessctl set 10%- && get_icon && notify_user
41 | }
42 |
43 | # Execute accordingly
44 | if [[ "$1" == "--get" ]]; then
45 | brightnessctl g
46 | elif [[ "$1" == "--inc" ]]; then
47 | inc_backlight
48 | elif [[ "$1" == "--dec" ]]; then
49 | dec_backlight
50 | else
51 | get_backlight
52 | fi
53 |
--------------------------------------------------------------------------------
/.config/Scripts/cache-update-count:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | updates=$(checkupdates | wc -l)
3 | printf "$updates" > /tmp/updatecount
4 |
--------------------------------------------------------------------------------
/.config/Scripts/caps-lock-status:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sleep 0.2
4 |
5 | brightness="$(cat /sys/class/leds/input3::capslock/brightness)"
6 |
7 | status="false"
8 | if [[ "$brightness" == "1" ]]; then
9 | status="true"
10 | fi
11 |
12 | jq --unbuffered \
13 | --compact-output \
14 | --null-input \
15 | --arg status "$status" \
16 | '{text: "caps-lock-status", alt: $status}'
17 |
--------------------------------------------------------------------------------
/.config/Scripts/charging-notify:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Send a notification displaying that the battery is charging or discharging
4 | # Pass 1 as an argument for charging, 0 for discharging
5 | # Example usage: chargingnotify 1
6 |
7 | # Check if argument is passed
8 | [ $# != 1 ] && printf '0 or 1 must be passed as an argument.\nUsage: %s 0|1\n' "$0" && exit
9 |
10 | export XAUTHORITY=~/.Xauthority
11 | export DISPLAY=:1
12 | # export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
13 |
14 | BATTERY_CHARGING=$1
15 | BATTERY_LEVEL=$(acpi -b | grep "Battery 0" | grep -P -o '[0-9]+(?=%)')
16 |
17 | # Send notifications
18 | if [ "$BATTERY_CHARGING" -eq 1 ]; then
19 | notify-send "Charging" "${BATTERY_LEVEL}% of battery charged." -u low -i ~/.config/dunst/icons/battery-charging.png -t 5000 -r 9991
20 | elif [ "$BATTERY_CHARGING" -eq 0 ]; then
21 | notify-send "Discharging" "${BATTERY_LEVEL}% of battery remaining." -u low -i ~/.config/dunst/icons/battery.png -t 5000 -r 9991
22 | fi
23 |
24 |
25 |
--------------------------------------------------------------------------------
/.config/Scripts/dnd-status:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sleep 0.2
4 |
5 | status="$(dunstctl is-paused)"
6 |
7 | jq --unbuffered \
8 | --compact-output \
9 | --null-input \
10 | --arg status "$status" \
11 | '{text: "dnd-status", alt: $status}'
12 |
--------------------------------------------------------------------------------
/.config/Scripts/dnd-toggle:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | iDIR="$HOME/.config/dunst/icons/dnd"
4 |
5 | dnd="false"
6 |
7 | dnd=$(dunstctl is-paused)
8 |
9 | if [[ "$dnd" == "false" ]]; then
10 | notify-send "Do Not Disturb is On" "You will not recieve any notifications." -i ~/.config/dunst/icons/dnd/dnd-on.png -r 9991
11 | sleep 2
12 | dunstctl set-paused true
13 | else
14 | dunstctl set-paused false
15 | notify-send "Do Not Disturb is Off" "You will recieve regular notifications." -i ~/.config/dunst/icons/dnd/dnd-off.png -r 9991
16 | fi
17 |
18 | pkill -RTMIN+1 waybar & disown
19 |
--------------------------------------------------------------------------------
/.config/Scripts/dock:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | killall nwg-dock-hyprland
3 | nwg-dock-hyprland -d -hd 100 -x -i 95
4 |
--------------------------------------------------------------------------------
/.config/Scripts/dynamic:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 |
3 | import subprocess
4 | from pathlib import Path
5 | import json
6 | import pickle
7 | import time
8 | import threading
9 |
10 | OUT = f"/home/pratik/.config/hypr/store/dynamic_out.txt"
11 | # PREV_PATH = f"{Path.home()}/.config/hypr/store/prev.txt"
12 | prev = None
13 |
14 | def print(ar):
15 | with open(OUT,"w") as f:
16 | f.write(json.dumps(ar))
17 |
18 | # with open(f"{Path.home()}/.config/hypr/im_here","w") as f:
19 | # f.write("")
20 |
21 | global PAUSE_MEDIA
22 | PAUSE_MEDIA = False
23 |
24 | def notif_watcher():
25 | with open(f"/home/pratik/.config/hypr/store/latest_notif","rb") as f:
26 | global prev
27 | try:
28 | new = pickle.load(f)
29 | except:
30 | new = prev
31 | if new != prev:
32 | print(json.dumps({"class":"none","text":""}))
33 | global PAUSE_MEDIA
34 | PAUSE_MEDIA = True
35 | urgency = "low"
36 | if new["urgency"] == "CRITICAL":
37 | urgency = "critical"
38 | elif new["urgency"] == "NORMAL":
39 | urgency = "normal"
40 | doc = {
41 | "class":urgency,
42 | "text":f'[{new["app_name"]}] {new["summary"]}',
43 | "tooltip":"notification"
44 | }
45 | print(doc)
46 | time.sleep(5)
47 | print({"class":"none","text":""})
48 | PAUSE_MEDIA = False
49 | prev = new
50 |
51 |
52 | def start_watcher():
53 | while 1:
54 | notif_watcher()
55 | time.sleep(0.5)
56 |
57 |
58 | def debug():
59 | while 1:
60 | print(PAUSE_MEDIA)
61 | time.sleep(0.5)
62 | t = threading.Thread(target=start_watcher)
63 | d = threading.Thread(target=debug)
64 | t.start()
65 | # d.start()
66 |
67 |
68 |
69 | with open("test.log", "wb") as f:
70 | process = subprocess.Popen(
71 | "waybar-mpris --position --autofocus".split(),
72 | stdout=subprocess.PIPE
73 | )
74 | print(json.dumps({"class":"none","text":""}))
75 | for line in iter(lambda: process.stdout.readline().decode("utf-8"), b""):
76 | dat = json.loads(line)
77 | if not PAUSE_MEDIA:
78 | if "text" in dat:
79 | dat["text"] = dat["text"].replace(" ", "").replace("", "")
80 | print(dat)
81 | else:
82 | print({"class":"none","text":""})
83 |
84 | t.join()
85 | # d.join()
86 |
87 |
--------------------------------------------------------------------------------
/.config/Scripts/ewwbar-refresh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | eww kill
3 | eww open bar
4 |
--------------------------------------------------------------------------------
/.config/Scripts/hyprland:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | [[ -z "$DBUS_SESSION_BUS_ADDRESS" ]] && eval $(dbus-launch --sh-syntax --exit-with-session)
3 | dbus-launch Hyprland
4 | killall -q polkit-gnome-authentication-agent-1 gnome-keyring-daemon playerctld mpd-mpris hyprpaper waybar nwg-dock-hyprland blueman-applet nm-applet wl-paste fusuma hyprlock battery-notify
5 |
--------------------------------------------------------------------------------
/.config/Scripts/kb-brightness:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | iDIR="$HOME/.config/HyprV/mako/icons"
4 |
5 | # Get brightness
6 | get_backlight() {
7 | LIGHT=$(printf "%.0f\n" $(brightnessctl -d '*::kbd_backlight' i))
8 | echo "${LIGHT}%"
9 | }
10 |
11 | # Get icons
12 | get_icon() {
13 | backlight="$(brightnessctl -d '*::kbd_backlight' g)"
14 | current="${backlight%%%}"
15 | if [[ ("$current" -ge "0") && ("$current" -le "1") ]]; then
16 | icon="$iDIR/brightness-20.png"
17 | elif [[ ("$current" -ge "1") && ("$current" -le "2") ]]; then
18 | icon="$iDIR/brightness-60.png"
19 | elif [[ ("$current" -ge "2") && ("$current" -le "3") ]]; then
20 | icon="$iDIR/brightness-100.png"
21 | fi
22 | }
23 |
24 | # Notify
25 | notify_user() {
26 | notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$icon" "Keyboard Brightness : $(brightnessctl -d '*::kbd_backlight' g)"
27 | }
28 |
29 | # Increase brightness
30 | inc_backlight() {
31 | brightnessctl -d *::kbd_backlight set 33%+ && get_icon && notify_user
32 | }
33 |
34 | # Decrease brightness
35 | dec_backlight() {
36 | brightnessctl -d *::kbd_backlight set 33%- && get_icon && notify_user
37 | }
38 |
39 | # Execute accordingly
40 | if [[ "$1" == "--get" ]]; then
41 | brightnessctl -d '*::kbd_backlight' g
42 | elif [[ "$1" == "--inc" ]]; then
43 | inc_backlight
44 | elif [[ "$1" == "--dec" ]]; then
45 | dec_backlight
46 | else
47 | get_backlight
48 | fi
--------------------------------------------------------------------------------
/.config/Scripts/killhypr:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | if pgrep -x Hyprland >/dev/null; then
4 | hyprctl dispatch exit 0
5 | sleep 2s
6 | if pgrep -x Hyprland >/dev/null; then
7 | killall -q Hyprland
8 | fi
9 | fi
10 |
--------------------------------------------------------------------------------
/.config/Scripts/layout-status:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | layout="$(bat /etc/vconsole.conf | grep XKBLAYOUT | awk -F'=' '{print toupper($2)}')"
4 | printf "%s " "$layout"
5 |
--------------------------------------------------------------------------------
/.config/Scripts/mediaplayer.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | import gi
3 | gi.require_version("Playerctl", "2.0")
4 | from gi.repository import Playerctl, GLib
5 | from gi.repository.Playerctl import Player
6 | import argparse
7 | import logging
8 | import sys
9 | import signal
10 | import gi
11 | import json
12 | import os
13 | from typing import List
14 |
15 | logger = logging.getLogger(__name__)
16 |
17 | def signal_handler(sig, frame):
18 | logger.info("Received signal to stop, exiting")
19 | sys.stdout.write("\n")
20 | sys.stdout.flush()
21 | # loop.quit()
22 | sys.exit(0)
23 |
24 |
25 | class PlayerManager:
26 | def __init__(self, selected_player=None, excluded_player=[]):
27 | self.manager = Playerctl.PlayerManager()
28 | self.loop = GLib.MainLoop()
29 | self.manager.connect(
30 | "name-appeared", lambda *args: self.on_player_appeared(*args))
31 | self.manager.connect(
32 | "player-vanished", lambda *args: self.on_player_vanished(*args))
33 |
34 | signal.signal(signal.SIGINT, signal_handler)
35 | signal.signal(signal.SIGTERM, signal_handler)
36 | signal.signal(signal.SIGPIPE, signal.SIG_DFL)
37 | self.selected_player = selected_player
38 | self.excluded_player = excluded_player.split(',') if excluded_player else []
39 |
40 | self.init_players()
41 |
42 | def init_players(self):
43 | for player in self.manager.props.player_names:
44 | if player.name in self.excluded_player:
45 | continue
46 | if self.selected_player is not None and self.selected_player != player.name:
47 | logger.debug(f"{player.name} is not the filtered player, skipping it")
48 | continue
49 | self.init_player(player)
50 |
51 | def run(self):
52 | logger.info("Starting main loop")
53 | self.loop.run()
54 |
55 | def init_player(self, player):
56 | logger.info(f"Initialize new player: {player.name}")
57 | player = Playerctl.Player.new_from_name(player)
58 | player.connect("playback-status",
59 | self.on_playback_status_changed, None)
60 | player.connect("metadata", self.on_metadata_changed, None)
61 | self.manager.manage_player(player)
62 | self.on_metadata_changed(player, player.props.metadata)
63 |
64 | def get_players(self) -> List[Player]:
65 | return self.manager.props.players
66 |
67 | def write_output(self, text, player):
68 | logger.debug(f"Writing output: {text}")
69 |
70 | output = {"text": text,
71 | "class": "custom-" + player.props.player_name,
72 | "alt": player.props.player_name}
73 |
74 | sys.stdout.write(json.dumps(output) + "\n")
75 | sys.stdout.flush()
76 |
77 | def clear_output(self):
78 | sys.stdout.write("\n")
79 | sys.stdout.flush()
80 |
81 | def on_playback_status_changed(self, player, status, _=None):
82 | logger.debug(f"Playback status changed for player {player.props.player_name}: {status}")
83 | self.on_metadata_changed(player, player.props.metadata)
84 |
85 | def get_first_playing_player(self):
86 | players = self.get_players()
87 | logger.debug(f"Getting first playing player from {len(players)} players")
88 | if len(players) > 0:
89 | # if any are playing, show the first one that is playing
90 | # reverse order, so that the most recently added ones are preferred
91 | for player in players[::-1]:
92 | if player.props.status == "Playing":
93 | return player
94 | # if none are playing, show the first one
95 | return players[0]
96 | else:
97 | logger.debug("No players found")
98 | return None
99 |
100 | def show_most_important_player(self):
101 | logger.debug("Showing most important player")
102 | # show the currently playing player
103 | # or else show the first paused player
104 | # or else show nothing
105 | current_player = self.get_first_playing_player()
106 | if current_player is not None:
107 | self.on_metadata_changed(current_player, current_player.props.metadata)
108 | else:
109 | self.clear_output()
110 |
111 | def on_metadata_changed(self, player, metadata, _=None):
112 | logger.debug(f"Metadata changed for player {player.props.player_name}")
113 | player_name = player.props.player_name
114 | artist = player.get_artist()
115 | title = player.get_title()
116 |
117 | track_info = ""
118 | if player_name == "spotify" and "mpris:trackid" in metadata.keys() and ":ad:" in player.props.metadata["mpris:trackid"]:
119 | track_info = "Advertisement"
120 | elif artist is not None and title is not None:
121 | track_info = f'{artist} - {title}'
122 | else:
123 | track_info = title
124 |
125 | if track_info:
126 | if player.props.status == "Playing":
127 | track_info = track_info
128 | else:
129 | track_info = " " + track_info
130 | # only print output if no other player is playing
131 | current_playing = self.get_first_playing_player()
132 | if current_playing is None or current_playing.props.player_name == player.props.player_name:
133 | self.write_output(track_info, player)
134 | else:
135 | logger.debug(f"Other player {current_playing.props.player_name} is playing, skipping")
136 |
137 | def on_player_appeared(self, _, player):
138 | logger.info(f"Player has appeared: {player.name}")
139 | if player is not None and (self.selected_player is None or player.name == self.selected_player):
140 | self.init_player(player)
141 | else:
142 | logger.debug(
143 | "New player appeared, but it's not the selected player, skipping")
144 |
145 | def on_player_vanished(self, _, player):
146 | logger.info(f"Player {player.props.player_name} has vanished")
147 | self.show_most_important_player()
148 |
149 | def parse_arguments():
150 | parser = argparse.ArgumentParser()
151 |
152 | # Increase verbosity with every occurrence of -v
153 | parser.add_argument("-v", "--verbose", action="count", default=0)
154 |
155 | parser.add_argument("-x", "--exclude", "- Comma-separated list of excluded player")
156 |
157 | # Define for which player we"re listening
158 | parser.add_argument("--player")
159 |
160 | parser.add_argument("--enable-logging", action="store_true")
161 |
162 | return parser.parse_args()
163 |
164 |
165 | def main():
166 | arguments = parse_arguments()
167 |
168 | # Initialize logging
169 | if arguments.enable_logging:
170 | logfile = os.path.join(os.path.dirname(
171 | os.path.realpath(__file__)), "media-player.log")
172 | logging.basicConfig(filename=logfile, level=logging.DEBUG,
173 | format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(message)s")
174 |
175 | # Logging is set by default to WARN and higher.
176 | # With every occurrence of -v it's lowered by one
177 | logger.setLevel(max((3 - arguments.verbose) * 10, 0))
178 |
179 | logger.info("Creating player manager")
180 | if arguments.player:
181 | logger.info(f"Filtering for player: {arguments.player}")
182 | if arguments.exclude:
183 | logger.info(f"Exclude player {arguments.exclude}")
184 |
185 | player = PlayerManager(arguments.player, arguments.exclude)
186 | player.run()
187 |
188 |
189 | if __name__ == "__main__":
190 | main()
191 |
192 |
--------------------------------------------------------------------------------
/.config/Scripts/mpd-mpris-albumart:
--------------------------------------------------------------------------------
1 | #!/bin/env python
2 |
3 | import dbus
4 | from dbus.mainloop.glib import DBusGMainLoop
5 | from gi.repository import GLib
6 | import subprocess
7 | from sys import exit
8 | import signal
9 | from os import get_terminal_size
10 |
11 | size = get_terminal_size()
12 |
13 | def clear():
14 | subprocess.run(["kitty", "+kitten", "icat", "--clear"])
15 |
16 | def draw(art_url):
17 | subprocess.run([
18 | "kitty", "+kitten", "icat",
19 | "--place", f"{size.columns}x{size.lines}@0x0",
20 | "--scale-up", art_url
21 | ])
22 |
23 | def on_msg(bus, msg):
24 | args = msg.get_args_list()
25 | try:
26 | if len(args) < 3: return
27 | if type(args[1]) != dbus.Dictionary: return
28 |
29 | if 'Metadata' not in args[1]: return
30 | metadata = args[1]['Metadata']
31 |
32 | clear()
33 |
34 | if 'mpris:artUrl' not in metadata: return
35 | draw(metadata['mpris:artUrl'])
36 |
37 | except Exception as err:
38 | print("something went wrong!")
39 | print(err)
40 |
41 | if __name__ == "__main__":
42 |
43 | signal.signal(signal.SIGINT, lambda sig, frame: exit(0))
44 |
45 | DBusGMainLoop(set_as_default=True)
46 | bus = dbus.SessionBus()
47 |
48 | proxy = bus.get_object("org.mpris.MediaPlayer2.mpd", "/org/mpris/MediaPlayer2")
49 | props_iface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
50 | metadata = props_iface.Get("org.mpris.MediaPlayer2.Player", "Metadata")
51 |
52 | if 'mpris:artUrl' in metadata:
53 | draw(metadata['mpris:artUrl'])
54 |
55 | match_str = "sender=org.mpris.MediaPlayer2.mpd,path=/org/mpris/MediaPlayer2,member=PropertiesChanged"
56 | bus.add_match_string(match_str)
57 | bus.add_message_filter(on_msg)
58 |
59 |
60 | mainloop = GLib.MainLoop()
61 | mainloop.run()
62 |
63 |
--------------------------------------------------------------------------------
/.config/Scripts/music-art:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | MUSIC_DIR="$HOME/Music"
3 | COVER="/tmp/mpd_mpris/artwork_*.jpeg"
4 |
5 | ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &> /dev/null
6 | sleep 2s
7 | notify-send -i /tmp/mpd_mpris/artwork_*.jpeg "$(mpc --format '%title% \n%artist% - %album%' current)"
8 |
--------------------------------------------------------------------------------
/.config/Scripts/ncmpcpp-extended:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cols="$(tput cols)"
4 | lines="$(tput lines)"
5 | w_incr_self="$(( $cols / 4 ))" # ~25% of width
6 | h_incr_albumart="$(( $lines / 5 ))" # ~20% of height
7 |
8 | kitty @ set-window-title ncmpcpp
9 |
10 | kitty @ launch --title albumart bash -c "sleep 0.5 && mpd-mpris-albumart"
11 | kitty @ launch --match title:albumart --title cava cava
12 |
13 | kitty @ resize-window --axis reset
14 | kitty @ resize-window --self -i "$w_incr_self"
15 | kitty @ resize-window --match title:albumart --axis vertical -i "$h_incr_albumart"
16 |
17 | kitty @ focus-window --match title:ncmpcpp
18 |
19 | ncmpcpp
20 |
21 |
--------------------------------------------------------------------------------
/.config/Scripts/network-status:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | status="$(nmcli general status | grep -oh "\w*connect\w*")"
4 |
5 | if [[ "$status" == "disconnected" ]]; then
6 | printf " "
7 | elif [[ "$status" == "connecting" ]]; then
8 | printf " "
9 | elif [[ "$status" == "connected" ]]; then
10 | # strength="$(nmcli -f IN-USE,SIGNAL device wifi | grep '*' | awk '{print $2}')"
11 | strength="$(python $HOME/.config/Scripts/wifi-conn-strength)"
12 | if [[ "$?" == "0" ]]; then
13 | if [[ "$strength" -eq "0" ]]; then
14 | printf " "
15 | elif [[ ("$strength" -ge "0") && ("$strength" -le "25") ]]; then
16 | printf " "
17 | elif [[ ("$strength" -ge "25") && ("$strength" -le "50") ]]; then
18 | printf " "
19 | elif [[ ("$strength" -ge "50") && ("$strength" -le "75") ]]; then
20 | printf " "
21 | elif [[ ("$strength" -ge "75") && ("$strength" -le "100") ]]; then
22 | printf " "
23 | fi
24 | else
25 | printf " "
26 | fi
27 | fi
28 |
--------------------------------------------------------------------------------
/.config/Scripts/notif:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | import pickle
3 | import os
4 | from pathlib import Path
5 | dat = {
6 | "app_name":os.getenv("DUNST_APP_NAME"),
7 | "summary":os.getenv("DUNST_SUMMARY"),
8 | "body":os.getenv("DUNST_BODY"),
9 | "icon":os.getenv("DUNST_ICON_path"),
10 | "urgency":os.getenv("DUNST_URGENCY"),
11 | "id":os.getenv("DUNST_ID"),
12 | "progress":os.getenv("DUNST_PROGRESS"),
13 | "category":os.getenv("DUNST_CATEGORY"),
14 | "stack_tag":os.getenv("DUNST_STACK_TAG"),
15 | "urls":os.getenv("DUNST_URLS"),
16 | "timeout":os.getenv("DUNST_TIMEOUT"),
17 | "timestamp":os.getenv("DUNST_TIMESTAMP"),
18 | "desktop-entry":os.getenv("DUNST_DESKTOP_ENTRY"),
19 | "stack-tag":os.getenv("DUNST_STACK_TAG"),
20 | }
21 | with open(f"/home/pratik/.config/hypr/store/latest_notif", "wb") as f:
22 | pickle.dump(dat, f)
23 |
24 |
--------------------------------------------------------------------------------
/.config/Scripts/recording-status.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | pgrep wf-recorder >/dev/null 2>&1
4 | pgrep_exit_code="$?"
5 |
6 | recording="false"
7 | if [[ "$pgrep_exit_code" == "0" ]]; then
8 | recording="true"
9 | fi
10 |
11 | jq --unbuffered \
12 | --compact-output \
13 | --null-input \
14 | --arg recording "$recording" \
15 | '{ text: "recording-status", alt: $recording }'
16 |
--------------------------------------------------------------------------------
/.config/Scripts/recording.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | pid="$(pgrep wf-recorder)"
4 | pgrep_exit_code="$?"
5 |
6 | VID="/home/pratik/Videos/Recordings/$(date +'recording_%Y-%m-%d_%H-%m-%s').mkv"
7 |
8 | if [ "$pgrep_exit_code" != "0" ]; then
9 | notify-send "Recording Started..." -i ~/.config/dunst/icons/recorder/recording.png -r 9991
10 | wf-recorder -a -o eDP-1 -f "$VID" &
11 | else
12 | notify-send "Recording saved" "Saved as file $VID" -i ~/.config/dunst/icons/recorder/save.png -r 9991
13 | pkill --signal SIGINT wf-recorder
14 | while pgrep wf-recorder; do
15 | sleep 0.1
16 | done
17 | fi
18 |
19 | pkill -RTMIN+2 waybar
20 |
--------------------------------------------------------------------------------
/.config/Scripts/screenshot.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | data="$(hyprctl -j activewindow)"
4 | x=$( jq -r '.at[0]' <<< "${data}" )
5 | y=$( jq -r '.at[1]' <<< "${data}" )
6 | w=$( jq -r '.size[0]' <<< "${data}" )
7 | h=$( jq -r '.size[1]' <<< "${data}" )
8 |
9 | filename="$(date +'%s_grim.png')"
10 |
11 | option1="Selected window (delay 2 sec)"
12 | option2="Selected area"
13 | option3="Fullscreen (delay 3 sec)"
14 |
15 | options="$option1\n$option2\n$option3"
16 |
17 | choice=$(echo -e "$options" | rofi -dmenu -i -no-show-icons -l 4 -width 30 -p "Take Screenshot")
18 |
19 | case $choice in
20 | $option1)
21 | sleep 2
22 | grim -g "${x}, ${y} ${w}x${h}" ~/Pictures/Screenshots/${filename}
23 | wl-copy < ~/Pictures/Screenshots/${filename}
24 | notify-send "Screenshot created" "Mode: Selected window"
25 | ;;
26 | $option2)
27 | grim -g "$(slurp)" ~/Pictures/Screenshots/${filename}
28 | wl-copy < ~/Pictures/Screenshots/${filename}
29 | notify-send "Screenshot created" "Mode: Selected area"
30 | ;;
31 | $option3)
32 | sleep 3
33 | grim ~/Pictures/Screenshots/${filename}
34 | wl-copy < ~/Pictures/Screenshots/${filename}
35 | notify-send "Screenshot created" "Mode: Fullscreen"
36 | ;;
37 | esac
38 |
39 |
--------------------------------------------------------------------------------
/.config/Scripts/song-status:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | player_name=$(playerctl metadata --format '{{playerName}}')
3 | player_status=$(playerctl status)
4 |
5 | if [[ "$player_status" == "Playing" ]]; then
6 | if [[ "$player_name" == "spotify" ]]; then
7 | song_info=$(playerctl metadata --format '{{title}} {{artist}}')
8 | elif [[ "$player_name" == "firefox" ]]; then
9 | song_info=$(playerctl metadata --format '{{title}} {{artist}}')
10 | elif [[ "$player_name" == "mpd" ]]; then
11 | song_info=$(playerctl metadata --format '{{title}} {{artist}}')
12 | elif [[ "$player_name" == "chromium" ]]; then
13 | song_info=$(playerctl metadata --format '{{title}} {{artist}}')
14 | fi
15 | fi
16 |
17 | echo "$song_info"
18 |
--------------------------------------------------------------------------------
/.config/Scripts/spootify.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | export PULSE_PROP="module-stream-restore.id=spotify"
4 | exec spotblock-rs & disown
5 | exec /usr/bin/spotify "$@"
6 |
--------------------------------------------------------------------------------
/.config/Scripts/start-dyn:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 | ~/.config/scrIpts/dynamic &
3 | while true
4 | do
5 | # echo ""
6 | out=$(cat /home/pratik/.config/hypr/store/dynamic_out.txt)
7 | echo "$out" | jq --unbuffered --compact-output
8 | # cat ~/.config/hypr/scripts/tools/dynamic_out.txt
9 | done
10 |
--------------------------------------------------------------------------------
/.config/Scripts/updatewal-swww.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | wal -q -i ~/Wallpapers/
3 |
4 | source "$HOME/.cache/wal/colors.sh"
5 |
6 | cp ~/.cache/wal/colors-waybar.css ~/.config/waybar/
7 | cp $wallpaper ~/.cache/current_wallpaper.jpg
8 | newwall=$(echo $wallpaper | sed "s|$HOME/Wallpapers/||g")
9 |
10 | swww img $wallpaper --transition-step 20 --transition-fps=20
11 | ~/.config/scrIpts/waybar-launch.sh
12 | notify-send "Theme and Wallpaper updated" "With image $newwall"
13 |
14 | echo "DONE!"
15 |
16 |
--------------------------------------------------------------------------------
/.config/Scripts/volume:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | iDIR="$HOME/.config/dunst/icons/vol"
4 |
5 | # Get Volume
6 | get_volume() {
7 | volume=$(pamixer --get-volume)
8 | echo "$volume"
9 | }
10 |
11 | # Get icons
12 | get_icon() {
13 | current=$(get_volume)
14 | if [[ "$current" -eq "0" ]]; then
15 | echo "$iDIR/vol-0.svg"
16 | elif [[ ("$current" -ge "0") && ("$current" -le "5") ]]; then
17 | echo "$iDIR/vol-5.svg"
18 | elif [[ ("$current" -ge "5") && ("$current" -le "10") ]]; then
19 | echo "$iDIR/vol-10.svg"
20 | elif [[ ("$current" -ge "10") && ("$current" -le "15") ]]; then
21 | echo "$iDIR/vol-15.svg"
22 | elif [[ ("$current" -ge "15") && ("$current" -le "20") ]]; then
23 | echo "$iDIR/vol-20.svg"
24 | elif [[ ("$current" -ge "20") && ("$current" -le "25") ]]; then
25 | echo "$iDIR/vol-25.svg"
26 | elif [[ ("$current" -ge "25") && ("$current" -le "30") ]]; then
27 | echo "$iDIR/vol-30.svg"
28 | elif [[ ("$current" -ge "30") && ("$current" -le "35") ]]; then
29 | echo "$iDIR/vol-35.svg"
30 | elif [[ ("$current" -ge "35") && ("$current" -le "40") ]]; then
31 | echo "$iDIR/vol-40.svg"
32 | elif [[ ("$current" -ge "40") && ("$current" -le "45") ]]; then
33 | echo "$iDIR/vol-45.svg"
34 | elif [[ ("$current" -ge "45") && ("$current" -le "50") ]]; then
35 | echo "$iDIR/vol-50.svg"
36 | elif [[ ("$current" -ge "50") && ("$current" -le "55") ]]; then
37 | echo "$iDIR/vol-55.svg"
38 | elif [[ ("$current" -ge "55") && ("$current" -le "60") ]]; then
39 | echo "$iDIR/vol-60.svg"
40 | elif [[ ("$current" -ge "60") && ("$current" -le "65") ]]; then
41 | echo "$iDIR/vol-65.svg"
42 | elif [[ ("$current" -ge "65") && ("$current" -le "70") ]]; then
43 | echo "$iDIR/vol-70.svg"
44 | elif [[ ("$current" -ge "70") && ("$current" -le "75") ]]; then
45 | echo "$iDIR/vol-75.svg"
46 | elif [[ ("$current" -ge "75") && ("$current" -le "80") ]]; then
47 | echo "$iDIR/vol-80.svg"
48 | elif [[ ("$current" -ge "80") && ("$current" -le "85") ]]; then
49 | echo "$iDIR/vol-85.svg"
50 | elif [[ ("$current" -ge "85") && ("$current" -le "90") ]]; then
51 | echo "$iDIR/vol-90.svg"
52 | elif [[ ("$current" -ge "90") && ("$current" -le "95") ]]; then
53 | echo "$iDIR/vol-95.svg"
54 | elif [[ ("$current" -ge "95") && ("$current" -le "100") ]]; then
55 | echo "$iDIR/vol-100.svg"
56 | fi
57 | }
58 |
59 | # Notify
60 | notify_user() {
61 | notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume: $(get_volume)%"
62 | }
63 |
64 | # Increase Volume
65 | inc_volume() {
66 | pamixer -i 5 && notify_user
67 | }
68 |
69 | # Decrease Volume
70 | dec_volume() {
71 | pamixer -d 5 && notify_user
72 | }
73 |
74 | # Toggle Mute
75 | toggle_mute() {
76 | if [ "$(pamixer --get-mute)" == "false" ]; then
77 | pamixer -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/muted-speaker.svg" "Volume Switched OFF"
78 | elif [ "$(pamixer --get-mute)" == "true" ]; then
79 | pamixer -u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/unmuted-speaker.svg" "Volume Switched ON"
80 | fi
81 | }
82 |
83 | # Toggle Mic
84 | toggle_mic() {
85 | if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
86 | pamixer --default-source -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/muted-mic.svg" "Microphone Switched OFF"
87 | elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
88 | pamixer -u --default-source u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/unmuted-mic.svg" "Microphone Switched ON"
89 | fi
90 | }
91 | # Get icons
92 | get_mic_icon() {
93 | current=$(pamixer --default-source --get-volume)
94 | if [[ "$current" -eq "0" ]]; then
95 | echo "$iDIR/microphone.png"
96 | elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
97 | echo "$iDIR/microphone.png"
98 | elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
99 | echo "$iDIR/microphone.png"
100 | elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
101 | echo "$iDIR/microphone.png"
102 | fi
103 | }
104 | # Notify
105 | notify_mic_user() {
106 | notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_mic_icon)" "Mic-Level: $(pamixer --default-source --get-volume)%"
107 | }
108 |
109 | # Increase MIC Volume
110 | inc_mic_volume() {
111 | pamixer --default-source -i 5 && notify_mic_user
112 | }
113 |
114 | # Decrease MIC Volume
115 | dec_mic_volume() {
116 | pamixer --default-source -d 5 && notify_mic_user
117 | }
118 |
119 | # Execute accordingly
120 | if [[ "$1" == "--get" ]]; then
121 | get_volume
122 | elif [[ "$1" == "--inc" ]]; then
123 | inc_volume
124 | elif [[ "$1" == "--dec" ]]; then
125 | dec_volume
126 | elif [[ "$1" == "--toggle" ]]; then
127 | toggle_mute
128 | elif [[ "$1" == "--toggle-mic" ]]; then
129 | toggle_mic
130 | elif [[ "$1" == "--get-icon" ]]; then
131 | get_icon
132 | elif [[ "$1" == "--get-mic-icon" ]]; then
133 | get_mic_icon
134 | elif [[ "$1" == "--mic-inc" ]]; then
135 | inc_mic_volume
136 | elif [[ "$1" == "--mic-dec" ]]; then
137 | dec_mic_volume
138 | else
139 | get_volume
140 | fi
141 |
--------------------------------------------------------------------------------
/.config/Scripts/wallpaper-changer-hyprpaper:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | killall hyprpaper
3 | hyprpaper & disown
4 | # wal -i ~/Pictures/Wallpaper/current_wallpaper.jpg
5 |
--------------------------------------------------------------------------------
/.config/Scripts/waybar-launch.sh:
--------------------------------------------------------------------------------
1 | killall waybar && waybar & disown
2 | # pkill -RTMIN+1 waybar
3 |
--------------------------------------------------------------------------------
/.config/Scripts/whatsappify-video:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # $1 -> file name
4 |
5 | file_name="$1"
6 |
7 | temp_file_path="$(mktemp -u --suffix '.mp4')"
8 |
9 | ffmpeg\
10 | -i "$file_name"\
11 | -c copy\
12 | "$temp_file_path"
13 |
14 | ffmpeg\
15 | -i "$temp_file_path"\
16 | -pix_fmt yuv420p\
17 | -crf 28\
18 | "${file_name%.*}_yuv420p.mp4"
19 |
20 | rm "$temp_file_path"
21 |
22 |
--------------------------------------------------------------------------------
/.config/Scripts/wifi-conn-strength:
--------------------------------------------------------------------------------
1 | #!/bin/env python3
2 |
3 | import dbus
4 | from sys import exit
5 |
6 | if __name__ == "__main__":
7 |
8 | bus = dbus.SystemBus()
9 |
10 | props_iface = "org.freedesktop.DBus.Properties"
11 |
12 | nm_bus = "org.freedesktop.NetworkManager"
13 | nm_obj = "/org/freedesktop/NetworkManager"
14 | nm_iface = "org.freedesktop.NetworkManager"
15 |
16 | nm = bus.get_object(nm_bus, nm_obj)
17 |
18 | nm_conn_type = nm.Get(
19 | nm_iface,
20 | "PrimaryConnectionType",
21 | dbus_interface = props_iface
22 | )
23 | if nm_conn_type != "802-11-wireless":
24 | print("Primary connection is not Wi-Fi")
25 | exit(1)
26 |
27 | nm_conn_obj = nm.Get(
28 | nm_iface,
29 | "PrimaryConnection",
30 | dbus_interface = props_iface
31 | )
32 | nm_conn = bus.get_object(nm_bus, nm_conn_obj)
33 | nm_conn_iface = "org.freedesktop.NetworkManager.Connection.Active"
34 |
35 | nm_ap_obj = nm_conn.Get(
36 | nm_conn_iface,
37 | "SpecificObject",
38 | dbus_interface = props_iface
39 | )
40 | nm_ap_iface = "org.freedesktop.NetworkManager.AccessPoint"
41 | nm_ap = bus.get_object(nm_bus, nm_ap_obj)
42 |
43 | nm_ap_strength = nm_ap.Get(nm_ap_iface, "Strength", dbus_interface = props_iface)
44 | if nm_ap_strength == None:
45 | print("Failed to get connection strength")
46 | exit(2)
47 |
48 | print(int(nm_ap_strength))
49 |
--------------------------------------------------------------------------------
/.config/assets/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/banner.png
--------------------------------------------------------------------------------
/.config/assets/hyprland.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/hyprland.png
--------------------------------------------------------------------------------
/.config/assets/hyprlock-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/hyprlock-1.png
--------------------------------------------------------------------------------
/.config/assets/hyprlock-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/hyprlock-2.png
--------------------------------------------------------------------------------
/.config/assets/kitty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/kitty.png
--------------------------------------------------------------------------------
/.config/assets/made-with-arch-text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/made-with-arch-text.png
--------------------------------------------------------------------------------
/.config/assets/ncmpcpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/ncmpcpp.png
--------------------------------------------------------------------------------
/.config/assets/neofetch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/neofetch.png
--------------------------------------------------------------------------------
/.config/assets/neovim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/neovim.png
--------------------------------------------------------------------------------
/.config/assets/rofi-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/rofi-1.png
--------------------------------------------------------------------------------
/.config/assets/rofi-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/rofi-2.png
--------------------------------------------------------------------------------
/.config/assets/rofi-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/rofi-3.png
--------------------------------------------------------------------------------
/.config/assets/spotify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/spotify.png
--------------------------------------------------------------------------------
/.config/assets/waybar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/assets/waybar.png
--------------------------------------------------------------------------------
/.config/bat/config:
--------------------------------------------------------------------------------
1 | # This is `bat`s configuration file. Each line either contains a comment or
2 | # a command-line option that you want to pass to `bat` by default. You can
3 | # run `bat --help` to get a list of all possible configuration options.
4 |
5 | # Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
6 | # for a list of all available themes
7 | --theme="Material-Darker"
8 |
9 | # Enable this to use italic text on the terminal. This is not supported on all
10 | # terminal emulators (like tmux, by default):
11 | #--italic-text=always
12 |
13 | # Uncomment the following line to disable automatic paging:
14 | #--paging=never
15 |
16 | # Uncomment the following line if you are using less version >= 551 and want to
17 | # enable mouse scrolling support in `bat` when running inside tmux. This might
18 | # disable text selection, unless you press shift.
19 | #--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
20 |
21 | # Syntax mappings: map a certain filename pattern to a language.
22 | # Example 1: use the C++ syntax for Arduino .ino files
23 | # Example 2: Use ".gitignore"-style highlighting for ".ignore" files
24 | #--map-syntax "*.ino:C++"
25 | #--map-syntax ".ignore:Git Ignore"
26 |
--------------------------------------------------------------------------------
/.config/cava/shaders/bar_spectrum.frag:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 | in vec2 fragCoord;
4 | out vec4 fragColor;
5 |
6 | // bar values. defaults to left channels first (low to high), then right (high to low).
7 | uniform float bars[512];
8 |
9 | uniform int bars_count; // number of bars (left + right) (configurable)
10 | uniform int bar_width; // bar width (configurable), not used here
11 | uniform int bar_spacing; // space bewteen bars (configurable)
12 |
13 | uniform vec3 u_resolution; // window resolution
14 |
15 | //colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
16 | uniform vec3 bg_color; // background color
17 | uniform vec3 fg_color; // foreground color
18 |
19 | uniform int gradient_count;
20 | uniform vec3 gradient_colors[8]; // gradient colors
21 |
22 | vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
23 | {
24 | //create color based on fraction of this color and next color
25 | float yr = (y - y_min) / (y_max - y_min);
26 | return col_1 * (1.0 - yr) + col_2 * yr;
27 | }
28 |
29 | void main()
30 | {
31 | // find which bar to use based on where we are on the x axis
32 | float x = u_resolution.x * fragCoord.x;
33 | int bar = int(bars_count * fragCoord.x);
34 |
35 | //calculate a bar size
36 | float bar_size = u_resolution.x / bars_count;
37 |
38 | //the y coordinate and bar values are the same
39 | float y = bars[bar];
40 |
41 | // make sure there is a thin line at bottom
42 | if (y * u_resolution.y < 1.0)
43 | {
44 | y = 1.0 / u_resolution.y;
45 | }
46 |
47 | //draw the bar up to current height
48 | if (y > fragCoord.y)
49 | {
50 | //make some space between bars basen on settings
51 | if (x > (bar + 1) * (bar_size) - bar_spacing)
52 | {
53 | fragColor = vec4(bg_color,1.0);
54 | }
55 | else
56 | {
57 | if (gradient_count == 0)
58 | {
59 | fragColor = vec4(fg_color,1.0);
60 | }
61 | else
62 | {
63 | //find which color in the configured gradient we are at
64 | int color = int((gradient_count - 1) * fragCoord.y);
65 |
66 | //find where on y this and next color is supposed to be
67 | float y_min = color / (gradient_count - 1.0);
68 | float y_max = (color + 1.0) / (gradient_count - 1.0);
69 |
70 | //make color
71 | fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
72 | }
73 | }
74 | }
75 | else
76 | {
77 | fragColor = vec4(bg_color,1.0);
78 | }
79 | }
--------------------------------------------------------------------------------
/.config/cava/shaders/northern_lights.frag:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 | in vec2 fragCoord;
4 | out vec4 fragColor;
5 |
6 | // bar values. defaults to left channels first (low to high), then right (high to low).
7 | uniform float bars[512];
8 |
9 | uniform int bars_count; // number of bars (left + right) (configurable)
10 |
11 | uniform vec3 u_resolution; // window resolution, not used here
12 |
13 | //colors, configurable in cava config file
14 | uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
15 | uniform vec3 fg_color; // foreground color, not used here
16 |
17 | void main()
18 | {
19 | // find which bar to use based on where we are on the x axis
20 | int bar = int(bars_count * fragCoord.x);
21 |
22 | float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
23 | float y = (bars[bar]) * bar_y;
24 |
25 | float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
26 | float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
27 |
28 | bar_r = bar_r * bar_r * 2;
29 |
30 | // set color
31 | fragColor.r = fg_color.x * y * bar_r;
32 | fragColor.g = fg_color.y * y * bar_r;
33 | fragColor.b = fg_color.z * y * bar_r;
34 | }
35 |
--------------------------------------------------------------------------------
/.config/cava/shaders/pass_through.vert:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 |
4 | // Input vertex data, different for all executions of this shader.
5 | layout(location = 0) in vec3 vertexPosition_modelspace;
6 |
7 | // Output data ; will be interpolated for each fragment.
8 | out vec2 fragCoord;
9 |
10 | void main()
11 | {
12 | gl_Position = vec4(vertexPosition_modelspace,1);
13 | fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
14 | }
15 |
--------------------------------------------------------------------------------
/.config/dunst/icons/battery-alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/battery-alert.png
--------------------------------------------------------------------------------
/.config/dunst/icons/battery-charging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/battery-charging.png
--------------------------------------------------------------------------------
/.config/dunst/icons/battery-full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/battery-full.png
--------------------------------------------------------------------------------
/.config/dunst/icons/battery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/battery.png
--------------------------------------------------------------------------------
/.config/dunst/icons/critical.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
48 |
--------------------------------------------------------------------------------
/.config/dunst/icons/dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/dark.png
--------------------------------------------------------------------------------
/.config/dunst/icons/dnd/dnd-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/dnd/dnd-off.png
--------------------------------------------------------------------------------
/.config/dunst/icons/dnd/dnd-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/dnd/dnd-on.png
--------------------------------------------------------------------------------
/.config/dunst/icons/hyprdots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/hyprdots.png
--------------------------------------------------------------------------------
/.config/dunst/icons/keyboard.svg:
--------------------------------------------------------------------------------
1 |
2 |
106 |
--------------------------------------------------------------------------------
/.config/dunst/icons/light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/light.png
--------------------------------------------------------------------------------
/.config/dunst/icons/recorder/recording.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/recorder/recording.png
--------------------------------------------------------------------------------
/.config/dunst/icons/recorder/save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/dunst/icons/recorder/save.png
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/muted-mic.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/muted-speaker.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/unmuted-mic.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/unmuted-speaker.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-0.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
83 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-10.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-100.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
83 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-15.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-20.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-25.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-30.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-35.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-40.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-45.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-5.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-50.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-55.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-60.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-65.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-70.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-75.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-80.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-85.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-90.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/dunst/icons/vol/vol-95.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
86 |
--------------------------------------------------------------------------------
/.config/fish/completions/fisher.fish:
--------------------------------------------------------------------------------
1 | complete --command fisher --exclusive --long help --description "Print help"
2 | complete --command fisher --exclusive --long version --description "Print version"
3 | complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
4 | complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
5 | complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
6 | complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
7 | complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
8 |
--------------------------------------------------------------------------------
/.config/fish/conf.d/tmux.extra.conf:
--------------------------------------------------------------------------------
1 | set -g default-terminal $fish_tmux_term
2 | source-file $fish_tmux_config
3 |
--------------------------------------------------------------------------------
/.config/fish/conf.d/tmux.fish:
--------------------------------------------------------------------------------
1 | set -q fish_tmux_alter_path || set fish_tmux_alter_path true
2 |
3 | if test fish_tmux_alter_path = true
4 | switch (uname)
5 | case "Linux"
6 | if test -d /home/linuxbrew
7 | set -gx PATH "/home/linuxbrew/bin" "/home/linuxbrew/sbin" $PATH
8 | end
9 | case "Darwin"
10 | if test -d /opt/homebrew
11 | set -gx PATH "/opt/homebrew/bin" "/opt/homebrew/sbin" $PATH
12 | end
13 | # Not sure if this is needed though because on Linux /usr/local is in the PATH by default
14 | if test -d /usr/local
15 | set -gx PATH "/usr/local/bin" "/usr/local/sbin" $PATH
16 | end
17 | end
18 | end
19 |
20 | if not type -q tmux
21 | echo "fish tmux plugin: tmux not found. Please install tmux before using this plugin." >&2
22 | exit 1
23 | end
24 |
25 | set -q fish_tmux_autostart || set fish_tmux_autostart true
26 | set -q fish_tmux_autostart_once || set fish_tmux_autostart_once true
27 | set -q fish_tmux_autoconnect || set fish_tmux_autoconnect true
28 | set -q fish_tmux_autoquit || set fish_tmux_autoquit $fish_tmux_autostart
29 | set -q fish_tmux_fixterm || set fish_tmux_fixterm true
30 | set -q fish_tmux_iterm2 || set fish_tmux_iterm2 false
31 | set -q fish_tmux_fixterm_without_256color || set fish_tmux_fixterm_without_256color "screen"
32 | set -q fish_tmux_fixterm_with_256color || set fish_tmux_fixterm_with_256color "screen-256color"
33 | set -q fish_tmux_config || set -x fish_tmux_config "$HOME/.config/tmux/tmux.conf"
34 | set -q fish_tmux_unicode || set fish_tmux_unicode false
35 |
36 | if test (tput colors) = "256"
37 | set -x fish_tmux_term $fish_tmux_fixterm_with_256color
38 | else
39 | set -x fish_tmux_term $fish_tmux_fixterm_without_256color
40 | end
41 |
42 | set -l script_dir (realpath (dirname (status -f)))
43 | if test ! $fish_tmux_iterm2 = true && test -e $fish_tmux_config
44 | set -x _fish_tmux_fixed_config "$script_dir/tmux.extra.conf"
45 | else
46 | set -x _fish_tmux_fixed_config "$script_dir/tmux.only.conf"
47 | end
48 |
49 | function _fish_tmux_plugin_run
50 | if test (count $argv) -gt 0
51 | command tmux $argv
52 | return $status
53 | end
54 |
55 | set -l tmux_cmd tmux
56 | test $fish_tmux_iterm2 = true && set -a tmux_cmd -CC
57 | test $fish_tmux_unicode = true && set -a tmux_cmd -u
58 |
59 | if test $fish_tmux_autoconnect = true && tmux has-session
60 | exec $tmux_cmd attach
61 | else
62 | if test $fish_tmux_fixterm = true
63 | set -a tmux_cmd -f $_fish_tmux_fixed_config
64 | else if test -e $fish_tmux_config
65 | set -a tmux_cmd -f $fish_tmux_config
66 | end
67 |
68 | if set -q fish_tmux_default_session_name
69 | exec $tmux_cmd new-session -s $fish_tmux_default_session_name
70 | else
71 | exec $tmux_cmd new-session
72 | end
73 | end
74 | end
75 |
76 | alias tmux=_fish_tmux_plugin_run
77 |
78 | set -q fish_tmux_autostarted || set fish_tmux_autostarted false
79 | if status is-interactive && ! fish_is_root_user
80 | if test -z $TMUX && \
81 | test $fish_tmux_autostart = true && \
82 | test -z $INSIDE_EMACS && \
83 | test -z $EMACS && \
84 | test -z $VIM && \
85 | test -z $VSCODE_RESOLVING_ENVIRONMENT && \
86 | test "$TERM" != 'linux' && \
87 | test "$TERM_PROGRAM" != 'vscode' && \
88 | test "$TERMINAL_EMULATOR" != 'JetBrains-JediTerm'
89 | if test $fish_tmux_autostart_once = false || test ! $fish_tmux_autostarted = true
90 | set -x fish_tmux_autostarted true
91 | _fish_tmux_plugin_run
92 | end
93 | end
94 | end
95 |
--------------------------------------------------------------------------------
/.config/fish/conf.d/tmux.only.conf:
--------------------------------------------------------------------------------
1 | set -g default-terminal $fish_tmux_term
2 |
--------------------------------------------------------------------------------
/.config/fish/conf.d/tmux_abbrs.fish:
--------------------------------------------------------------------------------
1 | abbr -a ta 'tmux attach -t'
2 | abbr -a tad 'tmux attach -d -t'
3 | abbr -a ts 'tmux new-session -s'
4 | abbr -a tl 'tmux list-sessions'
5 | abbr -a tksv 'tmux kill-server'
6 | abbr -a tkss 'tmux kill-session -t'
7 |
--------------------------------------------------------------------------------
/.config/fish/config.fish:
--------------------------------------------------------------------------------
1 | if status is-interactive
2 | fzf --fish | source
3 |
4 | zoxide init --cmd cd fish | source
5 |
6 | thefuck --alias | source
7 |
8 | oh-my-posh init fish --config ~/.config/ohmyposh/zen.toml | source
9 | end
10 |
--------------------------------------------------------------------------------
/.config/fish/fish_plugins:
--------------------------------------------------------------------------------
1 | jorgebucaran/fisher
2 |
--------------------------------------------------------------------------------
/.config/fish/fish_variables:
--------------------------------------------------------------------------------
1 | # This file contains fish universal variable definitions.
2 | # VERSION: 3.0
3 | SETUVAR --export EDITOR:nvim
4 | SETUVAR --export FZF_DEFAULT_OPTS:\x2d\x2dheight\x3d60\x25\x20\x2d\x2dcolor\x3dfg\x3a\x2d1\x2cfg\x2b\x3a\x23fafafa\x2cbg\x3a\x2d1\x2cbg\x2b\x3a\x231c1c1c\x20\x2d\x2dcolor\x3dhl\x3a\x2382aaff\x2chl\x2b\x3a\x2389ddff\x2cinfo\x3a\x23ffcb6b\x2cmarker\x3a\x23c3e88d\x20\x2d\x2dcolor\x3dprompt\x3a\x23f07178\x2cspinner\x3a\x23c792ea\x2cpointer\x3a\x23c792ea\x2cheader\x3a\x2389ddff\x20\x2d\x2dcolor\x3dborder\x3a\x234a4a4a\x2clabel\x3a\x23eeffff\x2cquery\x3a\x23eeffff\x20\x2d\x2dborder\x3d\x22rounded\x22\x20\x2d\x2dborder\x2dlabel\x3d\x22\x22\x20\x2d\x2dpreview\x2dwindow\x3d\x22border\x2drounded\x22\x20\x2d\x2dpadding\x3d\x221\x22\x20\x2d\x2dprompt\x3d\x22\x3e\x20\x22\x20\x2d\x2dmarker\x3d\x22\x3e\x22\x20\x2d\x2dpointer\x3d\x22\u25c6\x22\x20\x2d\x2dseparator\x3d\x22\u2500\x22\x20\x2d\x2dscrollbar\x3d\x22\u2502\x22
5 | SETUVAR --export TERMINAL:kitty
6 | SETUVAR --export VISUAL:nvim
7 | SETUVAR __fish_initialized:3400
8 | SETUVAR _fisher_budimanjojo_2F_tmux_2E_fish_files:\x7e/\x2econfig/fish/conf\x2ed/tmux\x2eextra\x2econf\x1e\x7e/\x2econfig/fish/conf\x2ed/tmux\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/tmux\x2eonly\x2econf\x1e\x7e/\x2econfig/fish/conf\x2ed/tmux_abbrs\x2efish
9 | SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
10 | SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ebudimanjojo/tmux\x2efish
11 | SETUVAR _fisher_upgraded_to_4_4:\x1d
12 | SETUVAR fish_color_autosuggestion:brblack
13 | SETUVAR fish_color_cancel:\x2dr
14 | SETUVAR fish_color_command:blue
15 | SETUVAR fish_color_comment:red
16 | SETUVAR fish_color_cwd:green
17 | SETUVAR fish_color_cwd_root:red
18 | SETUVAR fish_color_end:green
19 | SETUVAR fish_color_error:brred
20 | SETUVAR fish_color_escape:brcyan
21 | SETUVAR fish_color_history_current:\x2d\x2dbold
22 | SETUVAR fish_color_host:normal
23 | SETUVAR fish_color_host_remote:yellow
24 | SETUVAR fish_color_normal:normal
25 | SETUVAR fish_color_operator:brcyan
26 | SETUVAR fish_color_param:cyan
27 | SETUVAR fish_color_quote:yellow
28 | SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
29 | SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
30 | SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
31 | SETUVAR fish_color_status:red
32 | SETUVAR fish_color_user:brgreen
33 | SETUVAR fish_color_valid_path:\x2d\x2dunderline
34 | SETUVAR fish_greeting:
35 | SETUVAR fish_key_bindings:fish_default_key_bindings
36 | SETUVAR fish_pager_color_completion:normal
37 | SETUVAR fish_pager_color_description:yellow\x1e\x2di
38 | SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
39 | SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
40 | SETUVAR fish_pager_color_selected_background:\x2dr
41 | SETUVAR fish_user_paths:/home/pratik/go/bin\x1e/home/pratik/\x2econfig/Scripts\x1e/home/pratik/\x2elocal/bin
42 |
--------------------------------------------------------------------------------
/.config/fish/functions/grep.fish:
--------------------------------------------------------------------------------
1 | function grep --description 'alias grep=grep --color=auto'
2 | command grep --color=auto $argv
3 |
4 | end
5 |
--------------------------------------------------------------------------------
/.config/fish/functions/ls.fish:
--------------------------------------------------------------------------------
1 | function ls --wraps='eza --icons --no-quotes' --description 'alias ls=eza --icons --no-quotes'
2 | eza --icons --no-quotes $argv
3 |
4 | end
5 |
--------------------------------------------------------------------------------
/.config/fish/functions/open.fish:
--------------------------------------------------------------------------------
1 | function open --wraps=imv --description 'alias open=imv'
2 | imv $argv
3 |
4 | end
5 |
--------------------------------------------------------------------------------
/.config/fish/functions/pls.fish:
--------------------------------------------------------------------------------
1 | function pls --wraps=doas --description 'alias pls=doas'
2 | doas $argv
3 |
4 | end
5 |
--------------------------------------------------------------------------------
/.config/hypr/env_var.conf:
--------------------------------------------------------------------------------
1 | # Environment Variables
2 | # see https://wiki.hyprland.org/Configuring/Environment-variables/
3 |
4 | # Theming Related Variables
5 | # Set cursor size. See FAQ below for why you might want this variable set.
6 | # https://wiki.hyprland.org/FAQ/
7 | env = XCURSOR_SIZE,24
8 |
9 | # Set a GTK theme manually, for those who want to avoid appearance tools such as lxappearance or nwg-look
10 | #env = GTK_THEME,
11 |
12 | # Set your cursor theme. The theme needs to be installed and readable by your user.
13 | #env = XCURSOR_THEME,
14 |
15 | # the line below may help with multiple monitors
16 | #env = WLR_EGL_NO_MODIFIERS,1
17 |
18 | #XDG Specifications
19 | env = XDG_CURRENT_DESKTOP,Hyprland
20 | env = XDG_SESSION_TYPE,wayland
21 | env = XDG_SESSION_DESKTOP,Hyprland
22 |
23 | # Toolkit Backend Variables
24 |
25 | # GTK: Use wayland if available, fall back to x11 if not.
26 | #env = GDK_BACKEND,wayland,x11
27 |
28 | # QT: Use wayland if available, fall back to x11 if not.
29 | #env = QT_QPA_PLATFORM,wayland,xcb
30 |
31 | # Run SDL2 applications on Wayland. Remove or set to x11 if games that
32 | # provide older versions of SDL cause compatibility issues
33 | #env = SDL_VIDEODRIVER,wayland
34 |
35 | # Clutter package already has wayland enabled, this variable
36 | #will force Clutter applications to try and use the Wayland backend
37 | #env = CLUTTER_BACKEND,wayland
38 |
39 | # QT Variables
40 |
41 | # (From the QT documentation) enables automatic scaling, based on the monitor’s pixel density
42 | # https://doc.qt.io/qt-5/highdpi.html
43 | #env = QT_AUTO_SCREEN_SCALE_FACTOR,1
44 |
45 | # Tell QT applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable
46 | #env = QT_QPA_PLATFORM,wayland,xcb
47 |
48 | # Disables window decorations on QT applications
49 | #env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
50 |
51 | #Tells QT based applications to pick your theme from qt5ct, use with Kvantum.
52 | #env = QT_QPA_PLATFORMTHEME,qt5ct
--------------------------------------------------------------------------------
/.config/hypr/env_var_nvidia.conf:
--------------------------------------------------------------------------------
1 | # Environment Variables NVIDIA Specific
2 | # See the wiki for more info as some work is required
3 | # https://wiki.hyprland.org/hyprland-wiki/pages/Nvidia/
4 | env = WLR_NO_HARDWARE_CURSORS,1
5 |
6 | # Hardware acceleration on NVIDIA GPUs
7 | # See Archwiki Hardware Acecleration Page for details and necessary values before setting this variable.
8 | # https://wiki.archlinux.org/title/Hardware_video_acceleration
9 | env = LIBVA_DRIVER_NAME,nvidia
10 |
11 | # The lines below may cause issues, proceed at your own risk
12 |
13 | # To force GBM as a backend, set the following environment variables:
14 | # See Archwiki Wayland Page for more details on those variables.
15 | # https://wiki.archlinux.org/title/Wayland#Requirements
16 | #env = GBM_BACKEND,nvidia-drm
17 | #env = __GLX_VENDOR_LIBRARY_NAME,nvidia
18 |
19 |
20 | # Controls if G-Sync capable monitors should use Variable Refresh Rate (VRR)
21 | # See Nvidia Documentation for details.
22 | # https://download.nvidia.com/XFree86/Linux-32bit-ARM/375.26/README/openglenvvariables.html
23 | #env = __GL_GSYNC_ALLOWED,
24 |
25 | # Controls if Adaptive Sync should be used. Recommended to set as “0” to avoid having problems on some games.
26 | #env = __GL_VRR_ALLOWED,
27 |
28 | # use legacy DRM interface instead of atomic mode setting. Might fix flickering issues.
29 | #env = WLR_DRM_NO_ATOMIC,1
--------------------------------------------------------------------------------
/.config/hypr/hyprlock.conf:
--------------------------------------------------------------------------------
1 | general {
2 | immediate_render = true
3 | }
4 |
5 | background {
6 | monitor =
7 | path = $HOME/Pictures/Wallpaper/current_wallpaper.png # only png supported for now
8 | color = rgba(25, 20, 20, 1.0)
9 |
10 | # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
11 | blur_passes = 0 # 0 disables blurring
12 | blur_size = 2
13 | noise = 0
14 | contrast = 0
15 | brightness = 0
16 | vibrancy = 0
17 | vibrancy_darkness = 0.0
18 | }
19 |
20 | input-field {
21 | monitor =
22 | size = 300, 30
23 | outline_thickness = 0
24 | dots_size = 0.25 # Scale of input-field height, 0.2 - 0.8
25 | dots_spacing = 0.55 # Scale of dots' absolute size, 0.0 - 1.0
26 | dots_center = true
27 | dots_rounding = -1
28 | outer_color = rgba(242, 243, 244, 0)
29 | inner_color = rgba(242, 243, 244, 0)
30 | font_color = rgba(242, 243, 244, 0.75)
31 | fade_on_empty = false
32 | placeholder_text = # Text rendered in the input box when it's empty.
33 | hide_input = false
34 | check_color = rgba(204, 136, 34, 0)
35 | fail_color = rgba(204, 34, 34, 0) # if authentication failed, changes outer_color and fail message color
36 | fail_text = $FAIL ($ATTEMPTS) # can be set to empty
37 | fail_transition = 300 # transition time in ms between normal outer_color and fail_color
38 | capslock_color = -1
39 | numlock_color = -1
40 | bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
41 | invert_numlock = false # change color if numlock is off
42 | swap_font_color = false # see below
43 | position = 0, -468
44 | halign = center
45 | valign = center
46 | }
47 |
48 | label {
49 | monitor =
50 | text = cmd[update:1000] echo "$(~/.config/Scripts/song-status)"
51 | color = rgba(242, 243, 244, 0.75)
52 | font_size = 14
53 | font_family = SF Pro Text
54 | position = 20, 512
55 | halign = left
56 | valign = center
57 | }
58 |
59 | label {
60 | monitor =
61 | text = cmd[update:1000] echo "$(~/.config/Scripts/network-status)"
62 | color = rgba(242, 243, 244, 0.75)
63 | font_size = 16
64 | font_family = SF Pro Text
65 | position = -35, 512
66 | halign = right
67 | valign = center
68 | }
69 |
70 | label {
71 | monitor =
72 | text = cmd[update:1000] echo "$(~/.config/Scripts/battery-status)"
73 | color = rgba(242, 243, 244, 0.75)
74 | font_size = 19
75 | font_family = SF Pro Text
76 | position = -93, 512
77 | halign = right
78 | valign = center
79 | }
80 |
81 | label {
82 | monitor =
83 | text = cmd[update:1000] echo "$(~/.config/Scripts/layout-status)"
84 | color = rgba(242, 243, 244, 0.75)
85 | font_size = 15
86 | font_family = SF Pro Text
87 | position = -150, 512
88 | halign = right
89 | valign = center
90 | }
91 |
92 | label {
93 | monitor =
94 | text = cmd[update:1000] echo "$(date +"%A, %B %d")"
95 | color = rgba(242, 243, 244, 0.75)
96 | font_size = 20
97 | font_family = SF Pro Display Bold
98 | position = 0, 405
99 | halign = center
100 | valign = center
101 | }
102 |
103 | label {
104 | monitor =
105 | text = cmd[update:1000] echo "$(date +"%k:%M")"
106 | color = rgba(242, 243, 244, 0.75)
107 | font_size = 93
108 | font_family = SF Pro Display Bold
109 | position = 0, 310
110 | halign = center
111 | valign = center
112 | }
113 |
114 |
115 | label {
116 | monitor =
117 | text = Pratik Gayen
118 | color = rgba(242, 243, 244, 0.75)
119 | font_size = 12
120 | font_family = SF Pro Display Bold
121 | position = 0, -407
122 | halign = center
123 | valign = center
124 | }
125 |
126 | label {
127 | monitor =
128 | text = Touch ID or Enter Password
129 | color = rgba(242, 243, 244, 0.75)
130 | font_size = 10
131 | font_family = SF Pro Display
132 | position = 0, -438
133 | halign = center
134 | valign = center
135 | }
136 |
137 | image {
138 | monitor =
139 | path = ~/Pictures/fullpfp.png
140 | border_color = 0xffdddddd
141 | border_size = 0
142 | size = 73
143 | rounding = -1
144 | rotate = 0
145 | reload_time = -1
146 | reload_cmd =
147 | position = 0, -353
148 | halign = center
149 | valign = center
150 | }
151 |
--------------------------------------------------------------------------------
/.config/hypr/hyprpaper.conf:
--------------------------------------------------------------------------------
1 | preload = ~/Pictures/Wallpaper/current_wallpaper.png
2 | #if more than one preload is desired then continue to preload other backgrounds
3 | #preload = /path/to/next_image.png
4 | # .. more preloads
5 |
6 | #set the default wallpaper(s) seen on inital workspace(s) --depending on the number of monitors used
7 | wallpaper = eDP-1, ~/Pictures/Wallpaper/current_wallpaper.png
8 | #if more than one monitor in use, can load a 2nd image
9 | #wallpaper = monitor2,/path/to/next_image.png
10 | # .. more monitors
11 | splash = false
12 |
--------------------------------------------------------------------------------
/.config/hypr/media-binds.conf:
--------------------------------------------------------------------------------
1 | $SCRIPT = ~/.config/Scripts/
2 |
3 | bind = , xf86audioraisevolume, exec, $SCRIPT/volume --inc
4 | bind = , xf86audiolowervolume, exec, $SCRIPT/volume --dec
5 | bind = , xf86AudioMicMute, exec, $SCRIPT/volume --toggle-mic
6 | bind = , xf86audioMute, exec, $SCRIPT/volume --toggle
7 | bind = , xf86audioPause, exec, playerctl play-pause
8 | bind = , xf86audioPlay, exec, playerctl play-pause
9 | bind = , xf86audioNext, exec, playerctl next
10 | bind = , xf86audioPrev, exec, playerctl previous
11 | bind = , xf86audioStop, exec, playerctl stop
12 |
13 | bind = , xf86KbdBrightnessDown, exec, $SCRIPT/kb-brightness --dec
14 | bind = , xf86KbdBrightnessUp, exec, $SCRIPT/kb-brightness --inc
15 |
16 | bind = , xf86MonBrightnessDown, exec, $SCRIPT/brightness --dec
17 | bind = , xf86MonBrightnessUp, exec, $SCRIPT/brightness --inc
18 |
--------------------------------------------------------------------------------
/.config/hypr/rog-g15-strix-2021-binds.conf:
--------------------------------------------------------------------------------
1 | # ROG G15 Strix (2021) Specific binds
2 | bind = ,156, exec, rog-control-center # ASUS Armory crate key
3 | bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles
4 | bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4
--------------------------------------------------------------------------------
/.config/hypr/store/dynamic_out.txt:
--------------------------------------------------------------------------------
1 | {"class": "none", "text": ""}
--------------------------------------------------------------------------------
/.config/hypr/store/latest_notif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/hypr/store/latest_notif
--------------------------------------------------------------------------------
/.config/hypr/store/prev.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/hypr/store/prev.txt
--------------------------------------------------------------------------------
/.config/hypr/xdg-portal-hyprland:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | sleep 1
3 | killall xdg-desktop-portal-hyprland
4 | killall xdg-desktop-portal-wlr
5 | killall xdg-desktop-portal
6 | /usr/lib/xdg-desktop-portal-hyprland &
7 | sleep 2
8 | /usr/lib/xdg-desktop-portal &
9 |
--------------------------------------------------------------------------------
/.config/kitty/kitty.conf:
--------------------------------------------------------------------------------
1 | font_family FiraCode Nerd Font
2 | font_size 20
3 |
4 | foreground #fafafa
5 | background #1c1c1c
6 |
7 | color0 #4a4a4a
8 | color1 #f07178
9 | color2 #c3e88d
10 | color3 #ffcb6b
11 | color4 #82aaff
12 | color5 #c792ea
13 | color6 #89ddff
14 | color7 #eeffff
15 | color8 #4a4a4a
16 | color9 #f07178
17 | color10 #c3e88d
18 | color11 #ffcb6b
19 | color12 #82aaff
20 | color13 #c792ea
21 | color14 #89ddff
22 | color15 #fafafa
23 |
24 | cursor_shape underline
25 | shell_integration no-cursor
26 | tab_bar_style separator
27 | tab_powerline_style slanted
28 | tab_bar_edge top
29 | tab_title_max_length 25
30 | tab_title_template " {title} "
31 | tab_separator " "
32 |
33 | allow_remote_control yes
34 | enabled_layouts splits
35 |
36 | window_border_width 0
37 |
38 | active_tab_foreground #fafafa
39 | active_tab_background #262626
40 | inactive_tab_foreground #cccccc
41 | inactive_tab_background #1c1c1c
42 | active_tab_font_style normal
43 | tab_bar_background #1c1c1c
44 | tab_bar_margin_color #1c1c1c
45 |
46 | selection_background #333333
47 | selection_foreground none
48 |
49 | window_padding_width 10
50 |
51 | remember_window_size no
52 | initial_window_width 75c
53 | initial_window_height 20c
54 |
55 | # map ctrl+shift+d launch --type=background --cwd=current sh -c "thunar \"$(pwd)\""
56 |
57 | # close_on_child_death yes
58 |
59 | map ctrl+shift+t new_tab_with_cwd
60 | map ctrl+shift+n new_os_window_with_cwd
61 | # map ctrl+shift+e launch --type=background --cwd=current sh -c "/usr/bin/neovide --no-vsync --no-idle"
62 |
63 | enabled_layouts tall:bias=50;full_size=1;mirrored=false
64 |
65 | enable_audio_bell false
66 |
67 | confirm_os_window_close 0
68 |
--------------------------------------------------------------------------------
/.config/kitty/themes/latte.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Latte
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/themes/latte.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #4C4F69
13 | background #EFF1F5
14 | selection_foreground #EFF1F5
15 | selection_background #DC8A78
16 |
17 | # Cursor colors
18 | cursor #DC8A78
19 | cursor_text_color #EFF1F5
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #DC8A78
23 |
24 | # Kitty window border colors
25 | active_border_color #7287FD
26 | inactive_border_color #9CA0B0
27 | bell_border_color #DF8E1D
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color #EFF1F5
31 | macos_titlebar_color #EFF1F5
32 |
33 | # Tab bar colors
34 | active_tab_foreground #EFF1F5
35 | active_tab_background #8839EF
36 | inactive_tab_foreground #4C4F69
37 | inactive_tab_background #9CA0B0
38 | tab_bar_background #BCC0CC
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #EFF1F5
42 | mark1_background #7287fD
43 | mark2_foreground #EFF1F5
44 | mark2_background #8839EF
45 | mark3_foreground #EFF1F5
46 | mark3_background #209FB5
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #5C5F77
52 | color8 #6C6F85
53 |
54 | # red
55 | color1 #D20F39
56 | color9 #D20F39
57 |
58 | # green
59 | color2 #40A02B
60 | color10 #40A02B
61 |
62 | # yellow
63 | color3 #DF8E1D
64 | color11 #DF8E1D
65 |
66 | # blue
67 | color4 #1E66F5
68 | color12 #1E66F5
69 |
70 | # magenta
71 | color5 #EA76CB
72 | color13 #EA76CB
73 |
74 | # cyan
75 | color6 #179299
76 | color14 #179299
77 |
78 | # white
79 | color7 #ACB0BE
80 | color15 #BCC0CC
81 |
--------------------------------------------------------------------------------
/.config/kitty/themes/macchiato.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Macchiato
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/themes/macchiato.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #CAD3F5
13 | background #24273A
14 | selection_foreground #24273A
15 | selection_background #F4DBD6
16 |
17 | # Cursor colors
18 | cursor #F4DBD6
19 | cursor_text_color #24273A
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F4DBD6
23 |
24 | # Kitty window border colors
25 | active_border_color #B7BDF8
26 | inactive_border_color #6E738D
27 | bell_border_color #EED49F
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #181926
35 | active_tab_background #C6A0F6
36 | inactive_tab_foreground #CAD3F5
37 | inactive_tab_background #1E2030
38 | tab_bar_background #181926
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #24273A
42 | mark1_background #B7BDF8
43 | mark2_foreground #24273A
44 | mark2_background #C6A0F6
45 | mark3_foreground #24273A
46 | mark3_background #7DC4E4
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #494D64
52 | color8 #5B6078
53 |
54 | # red
55 | color1 #ED8796
56 | color9 #ED8796
57 |
58 | # green
59 | color2 #A6DA95
60 | color10 #A6DA95
61 |
62 | # yellow
63 | color3 #EED49F
64 | color11 #EED49F
65 |
66 | # blue
67 | color4 #8AADF4
68 | color12 #8AADF4
69 |
70 | # magenta
71 | color5 #F5BDE6
72 | color13 #F5BDE6
73 |
74 | # cyan
75 | color6 #8BD5CA
76 | color14 #8BD5CA
77 |
78 | # white
79 | color7 #B8C0E0
80 | color15 #A5ADCB
81 |
82 |
--------------------------------------------------------------------------------
/.config/kitty/themes/mocha.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Mocha
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #CDD6F4
13 | background #1E1E2E
14 | selection_foreground #1E1E2E
15 | selection_background #F5E0DC
16 |
17 | # Cursor colors
18 | cursor #F5E0DC
19 | cursor_text_color #1E1E2E
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F5E0DC
23 |
24 | # Kitty window border colors
25 | active_border_color #B4BEFE
26 | inactive_border_color #6C7086
27 | bell_border_color #F9E2AF
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color #1E1E2E
31 | macos_titlebar_color #1E1E2E
32 |
33 | # Tab bar colors
34 | active_tab_foreground #11111B
35 | active_tab_background #CBA6F7
36 | inactive_tab_foreground #CDD6F4
37 | inactive_tab_background #181825
38 | tab_bar_background #11111B
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #1E1E2E
42 | mark1_background #B4BEFE
43 | mark2_foreground #1E1E2E
44 | mark2_background #CBA6F7
45 | mark3_foreground #1E1E2E
46 | mark3_background #74C7EC
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #45475A
52 | color8 #585B70
53 |
54 | # red
55 | color1 #F38BA8
56 | color9 #F38BA8
57 |
58 | # green
59 | color2 #A6E3A1
60 | color10 #A6E3A1
61 |
62 | # yellow
63 | color3 #F9E2AF
64 | color11 #F9E2AF
65 |
66 | # blue
67 | color4 #89B4FA
68 | color12 #89B4FA
69 |
70 | # magenta
71 | color5 #F5C2E7
72 | color13 #F5C2E7
73 |
74 | # cyan
75 | color6 #94E2D5
76 | color14 #94E2D5
77 |
78 | # white
79 | color7 #BAC2DE
80 | color15 #A6ADC8
81 |
--------------------------------------------------------------------------------
/.config/ncmpcpp/error.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/ncmpcpp/error.log
--------------------------------------------------------------------------------
/.config/neofetch/2phuthon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/2phuthon.png
--------------------------------------------------------------------------------
/.config/neofetch/loli-god-requiem.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/loli-god-requiem.jpg
--------------------------------------------------------------------------------
/.config/neofetch/macchiato_squircle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/macchiato_squircle.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/aisaka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/aisaka.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/arch.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/loli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/loli.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/made-with-arch-text-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/made-with-arch-text-2.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/pochita.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/pochita.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/ryuzaki.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/ryuzaki.png
--------------------------------------------------------------------------------
/.config/neofetch/pngs/sakurafetch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pngs/sakurafetch.png
--------------------------------------------------------------------------------
/.config/neofetch/pochita.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/pochita.png
--------------------------------------------------------------------------------
/.config/neofetch/rempng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/rempng.png
--------------------------------------------------------------------------------
/.config/neofetch/spy-family-anya-smirk-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FireDrop6000/hyprland-mydots/99b7417ad009816c592626ec01dfdde8b1f21ab6/.config/neofetch/spy-family-anya-smirk-512x512.png
--------------------------------------------------------------------------------
/.config/nvim/.stylua.toml:
--------------------------------------------------------------------------------
1 | column_width = 120
2 | line_endings = "Unix"
3 | indent_type = "Spaces"
4 | indent_width = 2
5 | quote_style = "AutoPreferDouble"
6 | call_parentheses = "None"
7 |
--------------------------------------------------------------------------------
/.config/nvim/LICENSE:
--------------------------------------------------------------------------------
1 | This is free and unencumbered software released into the public domain.
2 |
3 | Anyone is free to copy, modify, publish, use, compile, sell, or
4 | distribute this software, either in source code form or as a compiled
5 | binary, for any purpose, commercial or non-commercial, and by any
6 | means.
7 |
8 | In jurisdictions that recognize copyright laws, the author or authors
9 | of this software dedicate any and all copyright interest in the
10 | software to the public domain. We make this dedication for the benefit
11 | of the public at large and to the detriment of our heirs and
12 | successors. We intend this dedication to be an overt act of
13 | relinquishment in perpetuity of all present and future rights to this
14 | software under copyright law.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
24 | For more information, please refer to
25 |
--------------------------------------------------------------------------------
/.config/nvim/init.lua:
--------------------------------------------------------------------------------
1 | vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
2 | vim.g.mapleader = " "
3 |
4 | -- bootstrap lazy and all plugins
5 | local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
6 |
7 | if not vim.loop.fs_stat(lazypath) then
8 | local repo = "https://github.com/folke/lazy.nvim.git"
9 | vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
10 | end
11 |
12 | vim.opt.rtp:prepend(lazypath)
13 |
14 | local lazy_config = require "configs.lazy"
15 |
16 | -- load plugins
17 | require("lazy").setup({
18 | {
19 | "NvChad/NvChad",
20 | lazy = false,
21 | branch = "v2.5",
22 | import = "nvchad.plugins",
23 | config = function()
24 | require "options"
25 | end,
26 | },
27 |
28 | { import = "plugins" },
29 | }, lazy_config)
30 |
31 | -- load theme
32 | dofile(vim.g.base46_cache .. "defaults")
33 | dofile(vim.g.base46_cache .. "statusline")
34 |
35 | require "nvchad.autocmds"
36 |
37 | vim.schedule(function()
38 | require "mappings"
39 | end)
40 |
--------------------------------------------------------------------------------
/.config/nvim/lazy-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "LuaSnip": { "branch": "master", "commit": "7ad2eaeaca56d6ed63acacbfc114b99f1f67b982" },
3 | "NvChad": { "branch": "v2.5", "commit": "5189f3e32c87478632bb471817db1df13f8b16d1" },
4 | "TrueZen.nvim": { "branch": "main", "commit": "2b9e210e0d1a735e1fa85ec22190115dffd963aa" },
5 | "base46": { "branch": "v2.5", "commit": "ce47400d51707c0370f32b6e0e889f69e642aed4" },
6 | "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
7 | "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
8 | "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
9 | "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
10 | "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
11 | "conform.nvim": { "branch": "master", "commit": "62eba813b7501b39612146cbf29cd07f1d4ac29c" },
12 | "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
13 | "gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" },
14 | "indent-blankline.nvim": { "branch": "master", "commit": "db926997af951da38e5004ec7b9fbdc480b48f5d" },
15 | "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
16 | "lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" },
17 | "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" },
18 | "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
19 | "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
20 | "mini.icons": { "branch": "main", "commit": "12e7b5d47bfc1b4c5ba4278fb49ec9100138df14" },
21 | "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
22 | "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
23 | "nvim-autopairs": { "branch": "master", "commit": "19606af7c039271d5aa96bceff101e7523af3136" },
24 | "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
25 | "nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" },
26 | "nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" },
27 | "nvim-java": { "branch": "main", "commit": "b3174e41ab51867123d8663eced53b33f1548522" },
28 | "nvim-java-core": { "branch": "main", "commit": "5b03dca22fee76524a89e1c2dc1d73a9f0b1a3bb" },
29 | "nvim-java-dap": { "branch": "main", "commit": "55f239532f7a3789d21ea68d1e795abc77484974" },
30 | "nvim-java-refactor": { "branch": "main", "commit": "ea1420fed5463c9cc976c2b4175f434b3646f0f7" },
31 | "nvim-java-test": { "branch": "main", "commit": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468" },
32 | "nvim-lspconfig": { "branch": "master", "commit": "a7f0f9c18baa70a3970ea18f9984e03b6f6c2e8a" },
33 | "nvim-silicon": { "branch": "main", "commit": "feb882f04c992b797daa118101a239fb3bedfc04" },
34 | "nvim-tree.lua": { "branch": "master", "commit": "ad0b95dee55955817af635fa121f6e2486b10583" },
35 | "nvim-treesitter": { "branch": "master", "commit": "8724e7d028ba11604dde94dc4be63f70cccf16e0" },
36 | "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
37 | "nvterm": { "branch": "main", "commit": "9d7ba3b6e368243175d38e1ec956e0476fd86ed9" },
38 | "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
39 | "spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
40 | "telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" },
41 | "ui": { "branch": "v2.5", "commit": "23a5a720d1a7389175eca2b2bdd9d5d17b45071e" },
42 | "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" },
43 | "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" },
44 | "yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" }
45 | }
46 |
--------------------------------------------------------------------------------
/.config/nvim/lua/chadrc.lua:
--------------------------------------------------------------------------------
1 | -- This file needs to have same structure as nvconfig.lua
2 | -- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
3 |
4 | ---@type ChadrcConfig
5 | local M = {}
6 |
7 | M.ui = {
8 | theme = "onedark",
9 |
10 | tabufline = {
11 | enabled = true,
12 | lazyload = false,
13 | order = { "treeOffset", "buffers", "tabs", "btns" },
14 | modules = nil,
15 | },
16 |
17 | nvdash = {
18 | load_on_startup = false,
19 | header = {
20 | " ▄ ▄ ",
21 | " ▄ ▄▄▄ ▄ ▄▄▄ ▄ ▄ ",
22 | " █ ▄ █▄█ ▄▄▄ █ █▄█ █ █ ",
23 | " ▄▄ █▄█▄▄▄█ █▄█▄█▄▄█▄▄█ █ ",
24 | " ▄ █▄▄█ ▄ ▄▄ ▄█ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ",
25 | " █▄▄▄▄ ▄▄▄ █ ▄ ▄▄▄ ▄ ▄▄▄ ▄ ▄ █ ▄",
26 | "▄ █ █▄█ █▄█ █ █ █▄█ █ █▄█ ▄▄▄ █ █",
27 | "█▄█ ▄ █▄▄█▄▄█ █ ▄▄█ █ ▄ █ █▄█▄█ █",
28 | " █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ █▄█▄▄▄█ ",
29 | },
30 |
31 | buttons = {
32 | { " Find File", "Spc f f", "Telescope find_files" },
33 | { " Recent Files", "Spc f o", "Telescope oldfiles" },
34 | { " Bookmarks", "Spc m a", "Telescope marks" },
35 | { " Themes", "Spc t h", "Telescope themes" },
36 | { " Mappings", "Spc c h", "NvCheatsheet" },
37 | },
38 | },
39 |
40 | statusline = {
41 | theme = "vscode_colored", -- default/vscode/vscode_colored/minimal
42 | -- default/round/block/arrow separators work only for default statusline theme
43 | -- round and block will work for minimal theme only
44 | separator_style = "default",
45 | order = nil,
46 | modules = nil,
47 | },
48 | -- hl_override = {
49 | -- Comment = { italic = true },
50 | -- ["@comment"] = { italic = true },
51 | -- },
52 | }
53 |
54 | return M
55 |
--------------------------------------------------------------------------------
/.config/nvim/lua/configs/conform.lua:
--------------------------------------------------------------------------------
1 | local options = {
2 | formatters_by_ft = {
3 | lua = { "stylua" },
4 | css = { "prettier" },
5 | html = { "prettier" },
6 | javascript = { "prettier" },
7 | typescript = { "prettier" },
8 | javascriptreact = { "prettier" },
9 | typescriptreact = { "prettier" },
10 | svelte = { "prettier" },
11 | json = { "prettier" },
12 | jsonc = { "prettier" },
13 | yaml = { "prettier" },
14 | markdown = { "prettier" },
15 | graphql = { "prettier" },
16 | go = { "gofumpt", "golines", "goimports-reviser" }
17 | },
18 |
19 | format_on_save = {
20 | -- These options will be passed to conform.format()
21 | timeout_ms = 500,
22 | lsp_fallback = true,
23 | },
24 | }
25 |
26 | require("conform").setup(options)
27 |
--------------------------------------------------------------------------------
/.config/nvim/lua/configs/lazy.lua:
--------------------------------------------------------------------------------
1 | return {
2 | defaults = { lazy = true },
3 | install = { colorscheme = { "nvchad" } },
4 |
5 | ui = {
6 | icons = {
7 | ft = "",
8 | lazy = " ",
9 | loaded = "",
10 | not_loaded = "",
11 | },
12 | },
13 |
14 | performance = {
15 | rtp = {
16 | disabled_plugins = {
17 | "2html_plugin",
18 | "tohtml",
19 | "getscript",
20 | "getscriptPlugin",
21 | "gzip",
22 | "logipat",
23 | "netrw",
24 | "netrwPlugin",
25 | "netrwSettings",
26 | "netrwFileHandlers",
27 | "matchit",
28 | "tar",
29 | "tarPlugin",
30 | "rrhelper",
31 | "spellfile_plugin",
32 | "vimball",
33 | "vimballPlugin",
34 | "zip",
35 | "zipPlugin",
36 | "tutor",
37 | "rplugin",
38 | "syntax",
39 | "synmenu",
40 | "optwin",
41 | "compiler",
42 | "bugreport",
43 | "ftplugin",
44 | },
45 | },
46 | },
47 | }
48 |
--------------------------------------------------------------------------------
/.config/nvim/lua/configs/lspconfig.lua:
--------------------------------------------------------------------------------
1 | require("java").setup()
2 | require("lspconfig").jdtls.setup {}
3 | -- EXAMPLE
4 | local M = {}
5 |
6 | local lspconfig = require "lspconfig"
7 |
8 | M.on_attach = function(_, bufnr)
9 | vim.diagnostic.config {
10 | virtual_text = true,
11 | signs = {
12 | text = {
13 | [vim.diagnostic.severity.ERROR] = " ",
14 | [vim.diagnostic.severity.WARN] = " ",
15 | [vim.diagnostic.severity.INFO] = " ",
16 | [vim.diagnostic.severity.HINT] = " ",
17 | },
18 | },
19 | float = {
20 | focusable = false,
21 | border = "rounded",
22 | },
23 | }
24 |
25 | require("lsp_signature").on_attach({
26 | bind = true,
27 | hi_parameter = "LspSignatureActiveParameter",
28 | handler_opts = {
29 | border = "rounded",
30 | },
31 | }, bufnr)
32 | end
33 |
34 | M.capabilities = require("cmp_nvim_lsp").default_capabilities()
35 |
36 | local servers = { "html", "cssls" }
37 | local util = require "lspconfig/util"
38 | -- lsps with default config
39 | for _, lsp in ipairs(servers) do
40 | lspconfig[lsp].setup {
41 | on_attach = M.on_attach,
42 | capabilities = M.capabilities,
43 | }
44 | end
45 |
46 | -- typescript
47 | lspconfig.tsserver.setup {
48 | on_attach = M.on_attach,
49 | capabilities = M.capabilities,
50 | }
51 |
52 | lspconfig.gopls.setup {
53 | on_attach = M.on_attach,
54 | capabilities = M.capabilities,
55 | cmd = { "gopls" },
56 | filetypes = { "go", "gomod", "gowork", "gotmpl" },
57 | root_dir = util.root_pattern("go.work", "go.mod", ".git"),
58 | settings = {
59 | gopls = {
60 | completeUnimported = true,
61 | usePlaceholders = true,
62 | analyses = {
63 | unusedparams = true,
64 | },
65 | },
66 | },
67 | }
68 |
--------------------------------------------------------------------------------
/.config/nvim/lua/mappings.lua:
--------------------------------------------------------------------------------
1 | require "nvchad.mappings"
2 |
3 | -- add yours here
4 |
5 | local map = vim.keymap.set
6 |
7 | map("n", ";", ":", { desc = "CMD enter command mode" })
8 | map("i", "jk", "")
9 |
10 | map('n', 'fm', function()
11 | require('conform').format {
12 | async = true,
13 | }
14 | end)
15 |
16 | map('t', 'w', ' wincmd k ')
17 |
18 | map('v', 'sc', ":Silicon")
19 |
--------------------------------------------------------------------------------
/.config/nvim/lua/options.lua:
--------------------------------------------------------------------------------
1 | require "nvchad.options"
2 |
3 | -- add yours here!
4 |
5 | -- local o = vim.o
6 | -- o.cursorlineopt ='both' -- to enable cursorline!
7 |
--------------------------------------------------------------------------------
/.config/nvim/lua/plugins/custom.lua:
--------------------------------------------------------------------------------
1 | local plugins = {
2 |
3 | { "elkowar/yuck.vim", lazy = true }, -- load a plugin at startup
4 |
5 | {
6 | "Pocco81/TrueZen.nvim",
7 | cmd = { "TZAtaraxis", "TZMinimalist" },
8 | config = function()
9 | require "custom.configs.truezen" -- just an example path
10 | end,
11 | },
12 |
13 | {
14 | "nvim-treesitter/nvim-treesitter",
15 | opts = {
16 | ensure_installed = { "html", "css", "bash" },
17 | },
18 | },
19 |
20 | {
21 | "folke/which-key.nvim",
22 | enabled = true,
23 | },
24 |
25 | {
26 | "folke/noice.nvim",
27 | event = "VeryLazy",
28 |
29 | config = function()
30 | require("noice").setup {
31 | lsp = {
32 | signature = {
33 | enabled = false,
34 | },
35 | },
36 | }
37 | end,
38 |
39 | opts = {},
40 | dependencies = {
41 | "MunifTanjim/nui.nvim",
42 | -- "rcarriga/nvim-notify",
43 | },
44 | },
45 | --
46 | {
47 | "nvim-java/nvim-java",
48 | dependencies = {
49 | "nvim-java/lua-async-await",
50 | "nvim-java/nvim-java-refactor",
51 | "nvim-java/nvim-java-core",
52 | "nvim-java/nvim-java-test",
53 | "nvim-java/nvim-java-dap",
54 | "MunifTanjim/nui.nvim",
55 | "neovim/nvim-lspconfig",
56 | "mfussenegger/nvim-dap",
57 | {
58 | "williamboman/mason.nvim",
59 | opts = {
60 | registries = {
61 | "github:nvim-java/mason-registry",
62 | "github:mason-org/mason-registry",
63 | },
64 | },
65 | },
66 | },
67 | },
68 |
69 | {
70 | "iamcco/markdown-preview.nvim",
71 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
72 | ft = { "markdown" },
73 | build = function()
74 | vim.fn["mkdp#util#install"]()
75 | end,
76 | },
77 |
78 | {
79 | "NvChad/nvterm",
80 | config = function()
81 | require("nvterm").setup()
82 | end,
83 | },
84 |
85 | {
86 | "michaelrommel/nvim-silicon",
87 | lazy = true,
88 | cmd = "Silicon",
89 | config = function()
90 | require("nvim-silicon").setup {
91 | font = "FiraCode Nerd Font=34;Noto Color Emoji=34",
92 | theme = "Material-Darker",
93 | background = "#FAFAFA",
94 | window_title = function()
95 | return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()), ":t")
96 | end,
97 | to_clipboard = true,
98 | output = "~/Pictures/Screenshots/code.png",
99 | shadow_blur_radius = 20,
100 | shadow_color = "#2A343980",
101 | shadow_offset_x = 0,
102 | shadow_offset_y = 0,
103 | line_offset = function(args)
104 | return args.line1
105 | end,
106 | }
107 | end,
108 | },
109 |
110 | { "echasnovski/mini.icons", version = false },
111 |
112 | {
113 | "christoomey/vim-tmux-navigator",
114 | lazy = false,
115 | cmd = {
116 | "TmuxNavigateLeft",
117 | "TmuxNavigateDown",
118 | "TmuxNavigateUp",
119 | "TmuxNavigateRight",
120 | "TmuxNavigatePrevious",
121 | },
122 | keys = {
123 | { "", "TmuxNavigateLeft" },
124 | { "", "TmuxNavigateDown" },
125 | { "", "TmuxNavigateUp" },
126 | { "", "TmuxNavigateRight" },
127 | },
128 | },
129 | }
130 | return plugins
131 |
--------------------------------------------------------------------------------
/.config/nvim/lua/plugins/init.lua:
--------------------------------------------------------------------------------
1 | return {
2 | {
3 | "stevearc/conform.nvim",
4 | event = "BufWritePre", -- uncomment for format on save
5 | config = function()
6 | require "configs.conform"
7 | end,
8 | },
9 |
10 | -- These are some examples, uncomment them if you want to see them work!
11 | {
12 | "neovim/nvim-lspconfig",
13 | dependencies = {
14 | "ray-x/lsp_signature.nvim",
15 | },
16 | config = function()
17 | require "configs.lspconfig"
18 | end,
19 | },
20 | --
21 | {
22 | "williamboman/mason.nvim",
23 | opts = {
24 | ensure_installed = {
25 | "gopls",
26 | "lua-language-server",
27 | "stylua",
28 | "html-lsp",
29 | "css-lsp",
30 | "prettier",
31 | },
32 | },
33 | },
34 | --
35 | -- {
36 | -- "nvim-treesitter/nvim-treesitter",
37 | -- opts = {
38 | -- ensure_installed = {
39 | -- "vim", "lua", "vimdoc",
40 | -- "html", "css"
41 | -- },
42 | -- },
43 | -- },
44 | }
45 |
--------------------------------------------------------------------------------
/.config/nwg-dock-hyprland/style.css:
--------------------------------------------------------------------------------
1 | window {
2 | /*background: rgba(255, 255, 255, 0.35);*/
3 | background: transparent;
4 | border-radius: 20px;
5 | border-style: none;
6 | border-width: 0px;
7 | border-color: rgba(156, 142, 122, 0.7);
8 | }
9 |
10 | #box {
11 | /* Define attributes of the box surrounding icons here */
12 | margin: 2px 30px 7px 30px;
13 | background: rgba(255, 255, 255, 0.35);
14 | padding: 0px 4.5px 5px 4.5px;
15 | /*box-shadow: rgba(0, 0, 0, 1) 0px 0px 10px -5px;*/
16 | border-radius: 20px;
17 | }
18 |
19 | #active {
20 | /* This is to underline the button representing the currently active window */
21 | /*border-bottom: solid 1px;*/
22 | /*border-color: rgba(255, 255, 255, 0.3)*/
23 | }
24 |
25 | button, image {
26 | background: none;
27 | border-style: none;
28 | box-shadow: none;
29 | color: #999
30 | }
31 |
32 | button {
33 | padding: 0px 0px 0px 0px;
34 | margin: 5px 3.5px 5px 3.5px;
35 | transition-property: margin;
36 | transition-duration: 0.13s;
37 | transition-timing-function: ease;
38 | /*color: #eee;*/
39 | /*font-size: 40px;*/
40 | }
41 |
42 | button:hover {
43 | background-color: rgba(255, 255, 255, 0.15);
44 | margin: 0px 3px 4px 3px;
45 | border-radius: 15px;
46 | }
47 |
48 | button:focus {
49 | box-shadow: none
50 | }
51 |
--------------------------------------------------------------------------------
/.config/ohmyposh/zen.toml:
--------------------------------------------------------------------------------
1 | version = 2
2 | final_space = true
3 | console_title_template = '{{ .Shell }} in {{ .Folder }}'
4 |
5 | [[blocks]]
6 | type = 'prompt'
7 | alignment = 'left'
8 | newline = true
9 |
10 | [[blocks.segments]]
11 | type = 'path'
12 | style = 'plain'
13 | background = 'transparent'
14 | foreground = 'blue'
15 | template = '{{ .Path }}'
16 |
17 | [blocks.segments.properties]
18 | style = 'full'
19 |
20 | [[blocks.segments]]
21 | type = 'git'
22 | style = 'plain'
23 | foreground = '#4a4a4a'
24 | background = 'transparent'
25 | template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} {{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}>'
26 |
27 | [blocks.segments.properties]
28 | branch_icon = ''
29 | commit_icon = '@'
30 | fetch_status = true
31 |
32 | [[blocks]]
33 | type = 'rprompt'
34 | overflow = 'hidden'
35 |
36 | [[blocks.segments]]
37 | type = 'executiontime'
38 | style = 'plain'
39 | foreground = 'yellow'
40 | background = 'transparent'
41 | template = '{{ .FormattedMs }}'
42 |
43 | [blocks.segments.properties]
44 | threshold = 5000
45 |
46 | [[blocks]]
47 | type = 'prompt'
48 | alignment = 'left'
49 | newline = true
50 |
51 | [[blocks.segments]]
52 | type = 'text'
53 | style = 'plain'
54 | foreground_templates = [
55 | "{{if gt .Code 0}}red{{end}}",
56 | "{{if eq .Code 0}}magenta{{end}}",
57 | ]
58 | background = 'transparent'
59 | template = '❯'
60 |
61 | [transient_prompt]
62 | foreground_templates = [
63 | "{{if gt .Code 0}}red{{end}}",
64 | "{{if eq .Code 0}}magenta{{end}}",
65 | ]
66 | background = 'transparent'
67 | template = '❯ '
68 |
69 | [secondary_prompt]
70 | foreground = 'magenta'
71 | background = 'transparent'
72 | template = '❯❯ '
73 |
--------------------------------------------------------------------------------
/.config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration {
2 | display-drun: "Applications:";
3 | display-window: "Windows:";
4 | drun-display-format: "{icon} {name}";
5 | font: "SF Pro Text Medium 9";
6 | modi: "window,run,drun";
7 | show-icons: true;
8 | icon-theme: "Tela";
9 | }
10 |
11 | @theme "/dev/null"
12 |
13 | * {
14 | bg: #f2f3f4;
15 | bg-alt: #0070ee;
16 | bg-selected: #0070ee;
17 |
18 | fg: #f2f3f4;
19 | fg-alt: #111111;
20 |
21 |
22 | border: 0;
23 | margin: 0;
24 | padding: 0;
25 | spacing: 0;
26 | }
27 |
28 | window {
29 | width: 23%;
30 | background-color: @bg;
31 | location: north;
32 | anchor: center;
33 | y-offset: 13px;
34 | border-radius: 15px;
35 | opacity: 1;
36 | }
37 |
38 | element {
39 | padding: 8 12;
40 | background-color: transparent;
41 | text-color: @fg-alt;
42 | }
43 |
44 | element selected {
45 | text-color: @fg;
46 | background-color: @bg-selected;
47 | }
48 |
49 | element-text {
50 | background-color: transparent;
51 | text-color: inherit;
52 | vertical-align: 0.5;
53 | }
54 |
55 | element-icon {
56 | size: 14;
57 | padding: 0 10 0 0;
58 | background-color: transparent;
59 | }
60 |
61 | entry {
62 | padding: 12;
63 | background-color: @bg-alt;
64 | text-color: @fg;
65 | }
66 |
67 | inputbar {
68 | children: [prompt, entry];
69 | background-color: @bg;
70 | }
71 |
72 | listview {
73 | background-color: @bg;
74 | columns: 1;
75 | lines: 8;
76 | }
77 |
78 | mainbox {
79 | children: [inputbar, listview];
80 | background-color: @bg;
81 | }
82 |
83 | prompt {
84 | enabled: true;
85 | padding: 12 0 0 12;
86 | background-color: @bg-alt;
87 | text-color: @fg;
88 | }
89 |
90 | /* vim: ft=sass
91 |
92 |
--------------------------------------------------------------------------------
/.config/rofi/rofi-app-menu/app-menu:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | function entry() {
4 | n_left=$(wc -c <<< "$1")
5 | if [[ -z $2 ]]; then
6 | printf "%s" "$1"
7 | return
8 | fi
9 | pad=$(( $3 - $n_left ))
10 | printf "%s%${pad}s" "$1" "$2"
11 | }
12 |
13 | updates=0
14 |
15 | if [[ -f /tmp/updatecount ]]; then
16 | updates="$(cat /tmp/updatecount)"
17 | fi
18 |
19 | choice1=" About this PC"
20 | if [[ "$updates" == "0" ]]; then
21 | choice2="$(entry " System/App Updates...")"
22 | else
23 | numlen="$(wc -c <<< "$updates")"
24 | case "$numlen" in
25 | 2) width=62 ;;
26 | 3) width=60 ;;
27 | 4) width=60 ;;
28 | esac
29 | choice2="$(entry " System/App Updates..." "$updates Updates" $width)"
30 | fi
31 |
32 | choice3="$(entry " Sleep" "")"
33 | choice4="$(entry " Restart...")"
34 | choice5="$(entry " Shut Down...")"
35 | choice6="$(entry " Lock Screen" " + L" 75)"
36 | choice7="$(entry " Log Out $USER ..." " + X" 74)"
37 |
38 |
39 |
40 | USER=$(whoami)
41 | chosen=$(printf "$choice1\n$choice2\n$choice3\n$choice4\n$choice5\n$choice6\n$choice7\n" | rofi -dmenu -i -no-show-icons -l 7 -width 30 -p " Welcome to Apple Menu!")
42 |
43 | case "$chosen" in
44 | "$choice1") kitty --title neofetch bash -i -c 'neofetch && sleep infinity' ;;
45 | "$choice2") kitty bash -i -c 'yay -Syu' ;;
46 | "$choice3") systemctl suspend-then-hibernate ;;
47 | "$choice4") reboot ;;
48 | "$choice5") poweroff ;;
49 | "$choice6") hyprlock -l ;;
50 | "$choice7") killhypr ;;
51 | esac
52 |
--------------------------------------------------------------------------------
/.config/rofi/rofi-music-menu/musicMenu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | option1=" ncmpcpp"
4 | option2=" Spotify"
5 | option3=" YouTube Music"
6 |
7 | options="$option1\n$option2\n$option3"
8 |
9 | choice=$(echo -e "$options" | rofi -dmenu -i -no-show-icons -l 4 -width 30 -p "Choose Music Player")
10 |
11 | case $choice in
12 | $option1)
13 | kitty --title ncmpcpp bash -i -c 'ncmpcpp-extended'
14 | ;;
15 | $option2)
16 | LD_PRELOAD=/usr/lib/spotify-adblock.so spotify & disown
17 | ;;
18 | $option3)
19 | youtube-music & disown
20 | ;;
21 | esac
22 |
23 |
--------------------------------------------------------------------------------
/.config/rofi/rofi-power-menu/powermenu.sh:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 | uptime="`uptime -p | sed -e 's/up //g'`"
3 |
4 | choice0=" Uptime: $uptime"
5 | choice1=" Power Off"
6 | choice2=" Restart"
7 | choice3=" Suspend"
8 | choice4=" Hibernate"
9 | choice5=" Log Out"
10 | choice6=" Lock"
11 |
12 | chosen=$(printf "$choice0\n$choice1\n$choice2\n$choice3\n$choice4\n$choice5\n$choice6\n" | rofi -dmenu -i -no-show-icons -l 7 -width 30 -p " Goodbye ${USER}")
13 |
14 |
15 | case "$chosen" in
16 | "$choice0") ;;
17 | "$choice1") poweroff ;;
18 | "$choice2") reboot ;;
19 | "$choice3") systemctl suspend-then-hibernate ;;
20 | "$choice4") systemctl hibernate ;;
21 | "$choice5") killhypr ;;
22 | "$choice6") hyprlock -l ;;
23 | esac
24 |
25 |
--------------------------------------------------------------------------------
/.config/rofi/rofi-wifi-menu/rofi-wifi-menu.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | notify-send "Getting list of available Wi-Fi networks..."
4 | # Get a list of available wifi connections and morph it into a nice-looking list
5 | wifi_list=$(nmcli --fields "SECURITY,SSID" device wifi list | sed 1d | sed 's/ */ /g' | sed -E "s/WPA*.?\S/ /g" | sed "s/^--/ /g" | sed "s/ //g" | sed "/--/d")
6 |
7 | connected=$(nmcli -fields WIFI g)
8 | if [[ "$connected" =~ "enabled" ]]; then
9 | toggle=" Disable Wi-Fi"
10 | elif [[ "$connected" =~ "disabled" ]]; then
11 | toggle=" Enable Wi-Fi"
12 | fi
13 |
14 | # Use rofi to select wifi network
15 | chosen_network=$(echo -e "$toggle\n$wifi_list" | uniq -u | rofi -dmenu -i -selected-row 1 -p "Wi-Fi SSID: " )
16 | # Get name of connection
17 | chosen_id=$(echo "${chosen_network:3}" | xargs)
18 |
19 | if [ "$chosen_network" = "" ]; then
20 | exit
21 | elif [ "$chosen_network" = " Enable Wi-Fi" ]; then
22 | nmcli radio wifi on
23 | elif [ "$chosen_network" = " Disable Wi-Fi" ]; then
24 | nmcli radio wifi off
25 | else
26 | # Message to show when connection is activated successfully
27 | success_message="You are now connected to the Wi-Fi network \"$chosen_id\"."
28 | # Get saved connections
29 | saved_connections=$(nmcli -g NAME connection)
30 | if [[ $(echo "$saved_connections" | grep -w "$chosen_id") = "$chosen_id" ]]; then
31 | nmcli connection up id "$chosen_id" | grep "successfully" && notify-send "Connection Established" "$success_message"
32 | else
33 | if [[ "$chosen_network" =~ "" ]]; then
34 | wifi_password=$(rofi -dmenu -p "Password: " )
35 | fi
36 | nmcli device wifi connect "$chosen_id" password "$wifi_password" | grep "successfully" && notify-send "Connection Established" "$success_message"
37 | fi
38 | fi
39 |
--------------------------------------------------------------------------------
/.config/starship.toml:
--------------------------------------------------------------------------------
1 | command_timeout = 30000
2 |
3 | [aws]
4 | symbol = " "
5 |
6 | [buf]
7 | symbol = " "
8 |
9 | [c]
10 | symbol = " "
11 |
12 | [conda]
13 | symbol = " "
14 |
15 | [crystal]
16 | symbol = " "
17 |
18 | [dart]
19 | symbol = " "
20 |
21 | [directory]
22 | read_only = " "
23 |
24 | [docker_context]
25 | symbol = " "
26 |
27 | [elixir]
28 | symbol = " "
29 |
30 | [elm]
31 | symbol = " "
32 |
33 | [fennel]
34 | symbol = " "
35 |
36 | [fossil_branch]
37 | symbol = " "
38 |
39 | [git_branch]
40 | symbol = " "
41 |
42 | [golang]
43 | symbol = " "
44 |
45 | [guix_shell]
46 | symbol = " "
47 |
48 | [haskell]
49 | symbol = " "
50 |
51 | [haxe]
52 | symbol = " "
53 |
54 | [hg_branch]
55 | symbol = " "
56 |
57 | [hostname]
58 | ssh_symbol = " "
59 |
60 | [java]
61 | symbol = " "
62 |
63 | [julia]
64 | symbol = " "
65 |
66 | [kotlin]
67 | symbol = " "
68 |
69 | [lua]
70 | symbol = " "
71 |
72 | [memory_usage]
73 | symbol = " "
74 |
75 | [meson]
76 | symbol = " "
77 |
78 | [nim]
79 | symbol = " "
80 |
81 | [nix_shell]
82 | symbol = " "
83 |
84 | [nodejs]
85 | symbol = " "
86 |
87 | [ocaml]
88 | symbol = " "
89 |
90 | [os.symbols]
91 | Alpaquita = " "
92 | Alpine = " "
93 | AlmaLinux = " "
94 | Amazon = " "
95 | Android = " "
96 | Arch = " "
97 | Artix = " "
98 | CentOS = " "
99 | Debian = " "
100 | DragonFly = " "
101 | Emscripten = " "
102 | EndeavourOS = " "
103 | Fedora = " "
104 | FreeBSD = " "
105 | Garuda = " "
106 | Gentoo = " "
107 | HardenedBSD = " "
108 | Illumos = " "
109 | Kali = " "
110 | Linux = " "
111 | Mabox = " "
112 | Macos = " "
113 | Manjaro = " "
114 | Mariner = " "
115 | MidnightBSD = " "
116 | Mint = " "
117 | NetBSD = " "
118 | NixOS = " "
119 | OpenBSD = " "
120 | openSUSE = " "
121 | OracleLinux = " "
122 | Pop = " "
123 | Raspbian = " "
124 | Redhat = " "
125 | RedHatEnterprise = " "
126 | RockyLinux = " "
127 | Redox = " "
128 | Solus = " "
129 | SUSE = " "
130 | Ubuntu = " "
131 | Unknown = " "
132 | Void = " "
133 | Windows = " "
134 |
135 | [package]
136 | symbol = " "
137 |
138 | [perl]
139 | symbol = " "
140 |
141 | [php]
142 | symbol = " "
143 |
144 | [pijul_channel]
145 | symbol = " "
146 |
147 | [python]
148 | symbol = " "
149 |
150 | [rlang]
151 | symbol = " "
152 |
153 | [ruby]
154 | symbol = " "
155 |
156 | [rust]
157 | symbol = " "
158 |
159 | [scala]
160 | symbol = " "
161 |
162 | [swift]
163 | symbol = " "
164 |
165 | [zig]
166 | symbol = " "
167 |
168 |
--------------------------------------------------------------------------------
/.config/tmux/tmux.conf:
--------------------------------------------------------------------------------
1 | # Set true color
2 | set-option -sa terminal-overrides ",xterm*:Tc"
3 | set -g mouse on
4 |
5 | # Start windows and panes at 1, not 0
6 | set -g base-index 1
7 | set -g pane-base-index 1
8 | set-window-option -g pane-base-index 1
9 | set-option -g renumber-windows on
10 |
11 | # Set prefix
12 | unbind C-b
13 | set -g prefix C-a
14 | bind C-a send-prefix
15 |
16 | # rename session
17 | bind s command-prompt "rename-session '%%'"
18 | unbind $
19 |
20 | # rename window
21 | bind R command-prompt "rename-window '%%'"
22 | unbind ,
23 |
24 | # kill window Keybind
25 | bind k kill-window
26 | unbind &
27 |
28 | # kill pane without confirmation
29 | bind x kill-pane
30 |
31 | # switch panes using Alt-arrow without prefix
32 | bind -n M-Left select-pane -L
33 | bind -n M-Right select-pane -R
34 | bind -n M-Up select-pane -U
35 | bind -n M-Down select-pane -D
36 |
37 | # Alt p and n keys to switch windows
38 | bind -n M-, previous-window
39 | bind -n M-. next-window
40 |
41 | # Switch sessions with Alt-[ & ] keys
42 | bind -n M-[ switch-client -p
43 | bind -n M-] switch-client -n
44 |
45 | set -g @tokyo-night-tmux_show_datetime 0
46 | set -g @tokyo-night-tmux_show_path 1
47 | set -g @tokyo-night-tmux_path_format relative
48 | set -g @tokyo-night-tmux_window_id_style dsquare
49 | set -g @tokyo-night-tmux_window_id_style dsquare
50 | set -g @tokyo-night-tmux_show_git 0
51 | set -g @tokyo-night-tmux_show_path 0
52 | set -g status-style 'bg=black'
53 |
54 | set -g @plugin 'tmux-plugins/tpm'
55 | set -g @plugin 'tmux-plugins/tmux-sensible'
56 | set -g @plugin 'christoomey/vim-tmux-navigator'
57 | set -g @plugin 'tmux-plugins/tmux-yank'
58 | set -g @plugin "janoamaral/tokyo-night-tmux"
59 |
60 | # Set vi mode
61 | set-window-option -g mode-keys vi
62 | # Keybindings
63 | bind-key -T copy-mode-vi v send-keys -X begin-selection
64 | bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
65 | bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
66 |
67 | # reload config file
68 | bind r source-file ~/.config/tmux/tmux.conf
69 |
70 | # split windows using h and v
71 | bind v split-window -v -c "#{pane_current_path}"
72 | bind h split-window -h -c "#{pane_current_path}"
73 | unbind '"'
74 | unbind %
75 |
76 | # don't rename windows automatically
77 | set-option -g allow-rename off
78 |
79 | run '~/.tmux/plugins/tpm/tpm'
80 |
--------------------------------------------------------------------------------
/.config/waybar/colors-waybar.css:
--------------------------------------------------------------------------------
1 | @define-color foreground #9fbfba;
2 | @define-color background #021C37;
3 | @define-color cursor #9fbfba;
4 |
5 | @define-color color0 #021C37;
6 | @define-color color1 #4E646F;
7 | @define-color color2 #1C5587;
8 | @define-color color3 #196595;
9 | @define-color color4 #26628E;
10 | @define-color color5 #2C6991;
11 | @define-color color6 #467497;
12 | @define-color color7 #9fbfba;
13 | @define-color color8 #6f8582;
14 | @define-color color9 #4E646F;
15 | @define-color color10 #1C5587;
16 | @define-color color11 #196595;
17 | @define-color color12 #26628E;
18 | @define-color color13 #2C6991;
19 | @define-color color14 #467497;
20 | @define-color color15 #9fbfba;
21 |
--------------------------------------------------------------------------------
/.config/waybar/config.jsonc:
--------------------------------------------------------------------------------
1 | {
2 | "layer": "top",
3 | "position": "top",
4 | "mod": "dock",
5 | "exclusive": true,
6 | "passthrough": false,
7 | "gtk-layer-shell": true,
8 | "height": 35,
9 |
10 | "modules-left": [ "custom/app-menu", "hyprland/window", "custom/files", "custom/browser", "custom/chats", "custom/terminal", "custom/clipboard", "custom/configuration" ],
11 | "modules-center": [],
12 | "modules-right": [ "custom/media", "battery", "custom/recording", "tray", "custom/chatgpt", "custom/all-apps", "custom/do-not-disturb", "clock" ],
13 |
14 | "custom/app-menu": {
15 | "format": " ",
16 | "on-click": "~/.config/rofi/rofi-app-menu/app-menu",
17 | "tooltip": false
18 | },
19 |
20 | "hyprland/window": {
21 | "format": "{initialTitle}",
22 | "rewrite": {
23 | "": "Home",
24 | "kitty": "Terminal",
25 | "Mozilla Firefox": "Firefox",
26 | "chat.openai.com_/": "ChatGPT 3.5",
27 | "web.whatsapp.com_/": "Whatsapp Web",
28 | "neofetch": "About PC",
29 | "Enter name of file to save to…": "Save File",
30 | "Beeper (.*)": "Beeper",
31 | "(.*) Thorium": "Thorium",
32 | "Spotify Free": "Spotify",
33 | "notion-calendar-electron": "Notion Calendar"
34 | },
35 | "tooltip": false
36 | },
37 |
38 | "custom/files": {
39 | "format": "Files",
40 | "on-click": "thunar",
41 | "tooltip": false
42 | },
43 |
44 | "custom/browser": {
45 | "format": "Browser",
46 | "on-click": "firefox",
47 | "tooltip": false
48 | },
49 |
50 | "custom/chats": {
51 | "format": "Chats",
52 | "on-click": "beeper --disable-gpu",
53 | "tooltip": false
54 | },
55 |
56 | "custom/terminal": {
57 | "format": "Terminal",
58 | "on-click": "kitty",
59 | "tooltip": false
60 | },
61 |
62 | "custom/clipboard": {
63 | "format": "Clipboard",
64 | "on-click": "cliphist list | rofi -dmenu | cliphist decode | wl-copy",
65 | "tooltip": false
66 | },
67 |
68 | "custom/configuration": {
69 | "format": "Configuration",
70 | "on-click": "kitty bash -i -c 'lf ~/.config'",
71 | "tooltip": false
72 | },
73 |
74 | "custom/media": {
75 | "format": "{}",
76 | "escape": true,
77 | "return-type": "json",
78 | "max-length": 40,
79 | "exec": "$HOME/.config/Scripts/mediaplayer.py 2> /dev/null",
80 | "tooltip": false
81 | },
82 |
83 | "battery": {
84 | "bat": "BAT1",
85 | "interval": 60,
86 | "states": {
87 | "critical": 21
88 | },
89 | "format": "{icon}",
90 | "format-icons": [" ", " ", " ", " ", " "],
91 | "format-charging": " {capacity}%",
92 | "format-critical": " {capacity}%",
93 | "tooltip": false
94 | },
95 |
96 | "tray": {
97 | "icon-size": 23,
98 | "spacing": 9,
99 | "tooltip": false
100 | },
101 |
102 | "custom/chatgpt": {
103 | "format": " ",
104 | "on-click": "thorium-browser --app=https://chat.openai.com --disable-gpu",
105 | "tooltip": false
106 | },
107 |
108 | "custom/all-apps": {
109 | "format": " ",
110 | "on-click": "rofi -show drun",
111 | "tooltip": false
112 | },
113 |
114 | "custom/recording": {
115 | "exec": "~/.config/Scripts/recording-status.sh",
116 | "return-type": "json",
117 | "format": "{icon}",
118 | "format-icons": {
119 | "true": " ",
120 | "false": ""
121 | },
122 | "interval": "once",
123 | "signal": 2
124 | },
125 |
126 | "custom/do-not-disturb": {
127 | "exec": "~/.config/Scripts/dnd-status",
128 | "return-type": "json",
129 | "format": "{icon}",
130 | "format-icons": {
131 | "true": " ",
132 | "false": ""
133 | },
134 | "interval": "once",
135 | "signal": 1
136 | },
137 |
138 | "clock": {
139 | "interval": 60,
140 | "format": "{:%a %b %d %I:%M %p}",
141 | "tooltip": false
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/.config/waybar/latte.css:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Catppuccin Latte palette
4 | * Maintainer: rubyowo
5 | *
6 | */
7 |
8 | @define-color base #eff1f5;
9 | @define-color mantle #e6e9ef;
10 | @define-color crust #dce0e8;
11 |
12 | @define-color text #4c4f69;
13 | @define-color subtext0 #6c6f85;
14 | @define-color subtext1 #5c5f77;
15 |
16 | @define-color surface0 #ccd0da;
17 | @define-color surface1 #bcc0cc;
18 | @define-color surface2 #acb0be;
19 |
20 | @define-color overlay0 #9ca0b0;
21 | @define-color overlay1 #8c8fa1;
22 | @define-color overlay2 #7c7f93;
23 |
24 | @define-color blue #1e66f5;
25 | @define-color lavender #7287fd;
26 | @define-color sapphire #209fb5;
27 | @define-color sky #04a5e5;
28 | @define-color teal #179299;
29 | @define-color green #40a02b;
30 | @define-color yellow #df8e1d;
31 | @define-color peach #fe640b;
32 | @define-color maroon #e64553;
33 | @define-color red #d20f39;
34 | @define-color mauve #8839ef;
35 | @define-color pink #ea76cb;
36 | @define-color flamingo #dd7878;
37 | @define-color rosewater #dc8a78;
38 |
--------------------------------------------------------------------------------
/.config/waybar/macchiato.css:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Catppuccin Macchiato palette
4 | * Maintainer: rubyowo
5 | *
6 | */
7 |
8 | @define-color base #24273a;
9 | @define-color mantle #1e2030;
10 | @define-color crust #181926;
11 |
12 | @define-color text #cad3f5;
13 | @define-color subtext0 #a5adcb;
14 | @define-color subtext1 #b8c0e0;
15 |
16 | @define-color surface0 #363a4f;
17 | @define-color surface1 #494d64;
18 | @define-color surface2 #5b6078;
19 |
20 | @define-color overlay0 #6e738d;
21 | @define-color overlay1 #8087a2;
22 | @define-color overlay2 #939ab7;
23 |
24 | @define-color blue #8aadf4;
25 | @define-color lavender #b7bdf8;
26 | @define-color sapphire #7dc4e4;
27 | @define-color sky #91d7e3;
28 | @define-color teal #8bd5ca;
29 | @define-color green #a6da95;
30 | @define-color yellow #eed49f;
31 | @define-color peach #f5a97f;
32 | @define-color maroon #ee99a0;
33 | @define-color red #ed8796;
34 | @define-color mauve #c6a0f6;
35 | @define-color pink #f5bde6;
36 | @define-color flamingo #f0c6c6;
37 | @define-color rosewater #f4dbd6;
38 |
39 |
--------------------------------------------------------------------------------
/.config/waybar/mocha.css:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Catppuccin Mocha palette
4 | * Maintainer: rubyowo
5 | *
6 | */
7 |
8 | @define-color base #1e1e2e;
9 | @define-color mantle #181825;
10 | @define-color crust #11111b;
11 |
12 | @define-color text #cdd6f4;
13 | @define-color subtext0 #a6adc8;
14 | @define-color subtext1 #bac2de;
15 |
16 | @define-color surface0 #313244;
17 | @define-color surface1 #45475a;
18 | @define-color surface2 #585b70;
19 |
20 | @define-color overlay0 #6c7086;
21 | @define-color overlay1 #7f849c;
22 | @define-color overlay2 #9399b2;
23 |
24 | @define-color blue #89b4fa;
25 | @define-color lavender #b4befe;
26 | @define-color sapphire #74c7ec;
27 | @define-color sky #89dceb;
28 | @define-color teal #94e2d5;
29 | @define-color green #a6e3a1;
30 | @define-color yellow #f9e2af;
31 | @define-color peach #fab387;
32 | @define-color maroon #eba0ac;
33 | @define-color red #f38ba8;
34 | @define-color mauve #cba6f7;
35 | @define-color pink #f5c2e7;
36 | @define-color flamingo #f2cdcd;
37 | @define-color rosewater #f5e0dc;
38 |
--------------------------------------------------------------------------------
/.config/waybar/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | font-family: SF Pro Display;
3 | font-size: 11.5;
4 | }
5 |
6 | window#waybar {
7 | background-color: rgba(242, 243, 244, 0.45);
8 | /*background-color: rgba(27, 27, 27, 0.4);*/
9 | }
10 |
11 | #custom-app-menu,
12 | #window,
13 | #custom-files,
14 | #custom-browser,
15 | #custom-chats,
16 | #custom-terminal,
17 | #custom-clipboard,
18 | #custom-configuration,
19 | #custom-media,
20 | #battery,
21 | #tray,
22 | #custom-chatgpt,
23 | #custom-all-apps,
24 | #custom-recording,
25 | #custom-do-not-disturb,
26 | #clock {
27 | /*color: #f2f3f4;*/
28 | color: #1b1b1b;
29 | padding: 2px 0px 2px 0px;
30 | font-weight: 500;
31 | }
32 |
33 | #custom-app-menu {
34 | font-size: 15;
35 | margin-left: 14px;
36 | padding: 1px 0px 3px 0px;
37 | }
38 |
39 | #window {
40 | font-weight: bold;
41 | margin-left: 15px;
42 | }
43 |
44 | #custom-files {
45 | margin-left: 18px;
46 | }
47 |
48 | #custom-browser {
49 | margin-left: 18px;
50 | }
51 |
52 | #custom-chats {
53 | margin-left: 18px;
54 | }
55 |
56 | #custom-terminal {
57 | margin-left: 18px;
58 | }
59 |
60 | #custom-clipboard {
61 | margin-left: 18px;
62 | }
63 |
64 | #custom-configuration {
65 | margin-left: 18px;
66 | }
67 |
68 | #custom-media {
69 | font-size: 11;
70 | margin-right: 27px;
71 | }
72 |
73 | #battery {
74 | font-size: 17;
75 | margin-right: 17px;
76 | }
77 |
78 | #battery.charging {
79 | font-size: 11;
80 | }
81 |
82 | #battery.critical {
83 | font-size: 11;
84 | }
85 |
86 | #custom-chatgpt {
87 | font-size: 13;
88 | margin-left: 13px;
89 | }
90 |
91 | #custom-all-apps {
92 | font-size: 13;
93 | margin-left: 17px;
94 | }
95 |
96 | #custom-recording {
97 | font-size: 12;
98 | margin-right: 15px;
99 | }
100 |
101 | #custom-do-not-disturb {
102 | margin-left: 17px;
103 | /*padding: 3px 0px 1px 0px;*/
104 | }
105 |
106 | #clock {
107 | margin-left: 15px;
108 | margin-right: 14px;
109 | }
110 |
--------------------------------------------------------------------------------
/.config/waybar/themes/mocha.css:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Catppuccin Mocha palette
4 | * Maintainer: rubyowo
5 | *
6 | */
7 |
8 | @define-color base #1e1e2e;
9 | @define-color mantle #181825;
10 | @define-color crust #11111b;
11 |
12 | @define-color text #cdd6f4;
13 | @define-color subtext0 #a6adc8;
14 | @define-color subtext1 #bac2de;
15 |
16 | @define-color surface0 #313244;
17 | @define-color surface1 #45475a;
18 | @define-color surface2 #585b70;
19 |
20 | @define-color overlay0 #6c7086;
21 | @define-color overlay1 #7f849c;
22 | @define-color overlay2 #9399b2;
23 |
24 | @define-color blue #89b4fa;
25 | @define-color lavender #b4befe;
26 | @define-color sapphire #74c7ec;
27 | @define-color sky #89dceb;
28 | @define-color teal #94e2d5;
29 | @define-color green #a6e3a1;
30 | @define-color yellow #f9e2af;
31 | @define-color peach #fab387;
32 | @define-color maroon #eba0ac;
33 | @define-color red #f38ba8;
34 | @define-color mauve #cba6f7;
35 | @define-color pink #f5c2e7;
36 | @define-color flamingo #f2cdcd;
37 | @define-color rosewater #f5e0dc;
38 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ./.config/tmux/plugins/
2 |
--------------------------------------------------------------------------------
/.stow-local-ignore:
--------------------------------------------------------------------------------
1 | README.md
2 | .git
3 | .gitignore
4 |
--------------------------------------------------------------------------------