Initial commit
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "components/tmux/tpm"]
|
||||
path = components/tmux/tpm
|
||||
url = https://github.com/tmux-plugins/tpm
|
23
bin/batmon
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
monitor() {
|
||||
cap=$(cat /sys/class/power_supply/bms/capacity)
|
||||
fcs=$(cat /sys/class/power_supply/ln8000-charger/status)
|
||||
scs=$(cat /sys/class/power_supply/pm8150b-charger/status)
|
||||
|
||||
[ "$fcs" == "Charging" ] && {
|
||||
echo -ne "${cap}%++\n"
|
||||
return 0
|
||||
}
|
||||
[ "$scs" == "Charging" ] && {
|
||||
echo -ne "${cap}%+\n"
|
||||
return 0
|
||||
}
|
||||
echo -ne "${cap}%\n"
|
||||
return 0
|
||||
}
|
||||
|
||||
while true; do
|
||||
monitor
|
||||
sleep 10
|
||||
done
|
21
bin/dimscreen
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
dim() {
|
||||
brightnessctl -s
|
||||
brightnessctl s 45%
|
||||
}
|
||||
|
||||
restore() {
|
||||
brightnessctl -r
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"d")
|
||||
dim
|
||||
;;
|
||||
"r")
|
||||
restore
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
esac
|
4
bin/lockscreen
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env fish
|
||||
if not ps -e | grep hyprlock
|
||||
hyprlock -c ~/.config/hypr/components/hyprland/hyprlock.conf
|
||||
end
|
109
bin/powermenu
Executable file
|
@ -0,0 +1,109 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## Author : Aditya Shakya (adi1090x)
|
||||
## Github : @adi1090x
|
||||
#
|
||||
## Rofi : Power Menu
|
||||
|
||||
# CMDs
|
||||
lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`"
|
||||
uptime="`uptime -p | sed -e 's/up //g'`"
|
||||
host=`hostname`
|
||||
|
||||
# Options
|
||||
hibernate=''
|
||||
shutdown='⏼'
|
||||
reboot=''
|
||||
lock=''
|
||||
suspend=''
|
||||
logout=''
|
||||
yes=''
|
||||
no=''
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -dmenu \
|
||||
-p "$USER@$host" \
|
||||
-mesg " Last Login: $lastlogin | Uptime: $uptime" \
|
||||
-theme ~/.config/hypr/components/rofi/powermenu.rasi
|
||||
}
|
||||
|
||||
# Confirmation CMD
|
||||
confirm_cmd() {
|
||||
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
|
||||
-theme-str 'mainbox {children: [ "message", "listview" ];}' \
|
||||
-theme-str 'listview {columns: 2; lines: 1;}' \
|
||||
-theme-str 'element-text {horizontal-align: 0.5;}' \
|
||||
-theme-str 'textbox {horizontal-align: 0.5;}' \
|
||||
-dmenu \
|
||||
-p 'Confirmation' \
|
||||
-mesg 'Are you Sure?' \
|
||||
-theme ~/.config/hypr/components/rofi/powermenu.rasi
|
||||
}
|
||||
|
||||
# Ask for confirmation
|
||||
confirm_exit() {
|
||||
echo -e "$yes\n$no" | confirm_cmd
|
||||
}
|
||||
|
||||
# Pass variables to rofi dmenu
|
||||
run_rofi() {
|
||||
echo -e "$lock\n$logout\n$reboot\n$shutdown" | rofi_cmd
|
||||
}
|
||||
|
||||
# Execute Command
|
||||
run_cmd() {
|
||||
selected="$(confirm_exit)"
|
||||
if [[ "$selected" == "$yes" ]]; then
|
||||
if [[ $1 == '--shutdown' ]]; then
|
||||
systemctl poweroff
|
||||
elif [[ $1 == '--reboot' ]]; then
|
||||
systemctl reboot
|
||||
elif [[ $1 == '--hibernate' ]]; then
|
||||
systemctl hibernate
|
||||
elif [[ $1 == '--suspend' ]]; then
|
||||
systemctl suspend
|
||||
elif [[ $1 == '--logout' ]]; then
|
||||
if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then
|
||||
openbox --exit
|
||||
elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then
|
||||
bspc quit
|
||||
elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then
|
||||
i3-msg exit
|
||||
elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then
|
||||
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
|
||||
elif [[ "$XDG_CURRENT_DESKTOP" == 'Hyprland' ]]; then
|
||||
hyprctl dispatch exit
|
||||
fi
|
||||
fi
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
# Actions
|
||||
chosen="$(run_rofi)"
|
||||
case ${chosen} in
|
||||
$shutdown)
|
||||
run_cmd --shutdown
|
||||
;;
|
||||
$reboot)
|
||||
run_cmd --reboot
|
||||
;;
|
||||
$hibernate)
|
||||
run_cmd --hibernate
|
||||
;;
|
||||
$lock)
|
||||
if [[ -x '/usr/bin/betterlockscreen' ]]; then
|
||||
betterlockscreen -l
|
||||
elif [[ -x '/usr/bin/i3lock' ]]; then
|
||||
i3lock
|
||||
fi
|
||||
;;
|
||||
$suspend)
|
||||
run_cmd --suspend
|
||||
;;
|
||||
$logout)
|
||||
run_cmd --logout
|
||||
;;
|
||||
esac
|
1
bin/runner
Executable file
|
@ -0,0 +1 @@
|
|||
rofi -show drun -theme ~/.config/hypr/components/rofi/runner.rasi
|
52
bin/setwal
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env bash
|
||||
{ [[ -z $1 ]] || [[ -z $2 ]]; } && {
|
||||
printf "%s\n" "Usage: setwal /path/to/wallpaper mode"
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ ! -f "$1" ] && {
|
||||
printf "File not found: %s\n" "$1"
|
||||
exit 2
|
||||
}
|
||||
|
||||
yes | ffmpeg -i "$1" ~/.config/hypr/wallpaper.png >/dev/null 2>&1 || {
|
||||
printf "Failed to copy wallpaper from %s\n" "$1"
|
||||
exit 3
|
||||
}
|
||||
|
||||
{
|
||||
hyprctl hyprpaper unload all >/dev/null
|
||||
hyprctl hyprpaper preload ~/.config/hypr/wallpaper.png >/dev/null
|
||||
hyprctl hyprpaper wallpaper ",~/.config/hypr/wallpaper.png" >/dev/null
|
||||
} &
|
||||
|
||||
update() {
|
||||
makoctl reload
|
||||
}
|
||||
|
||||
dark() {
|
||||
matugen image ~/.config/hypr/wallpaper.png -c ~/.config/hypr/matugen/config.toml -m dark
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-not-exist" >/dev/null
|
||||
sleep 0.1
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark" >/dev/null
|
||||
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
update
|
||||
}
|
||||
|
||||
light() {
|
||||
matugen image ~/.config/hypr/wallpaper.png -c ~/.config/hypr/matugen/config.toml -m light
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-not-exist" >/dev/null
|
||||
sleep 0.1
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3" >/dev/null
|
||||
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
|
||||
update
|
||||
}
|
||||
|
||||
case "$2" in
|
||||
"light")
|
||||
light
|
||||
;;
|
||||
*)
|
||||
dark
|
||||
;;
|
||||
esac
|
25
components/alacritty/alacritty.toml
Normal file
|
@ -0,0 +1,25 @@
|
|||
import = [
|
||||
# uncomment the flavour you want below:
|
||||
# "~/.config/alacritty/catppuccin-latte.toml"
|
||||
# "~/.config/alacritty/catppuccin-frappe.toml"
|
||||
# "~/.config/alacritty/catppuccin-macchiato.toml"
|
||||
# "~/.config/alacritty/catppuccin-mocha.toml"
|
||||
"~/.config/alacritty/colors.toml"
|
||||
]
|
||||
|
||||
shell = { program = "tmux", args = ["new"] }
|
||||
|
||||
live_config_reload = true
|
||||
|
||||
[env]
|
||||
TERM = "xterm-256color"
|
||||
|
||||
[window]
|
||||
padding = { x = 10, y = 10 }
|
||||
dynamic_padding = true
|
||||
decorations = "Full"
|
||||
opacity = 0.80
|
||||
|
||||
[font]
|
||||
normal = { family = "BigBlueTermPlus Nerd Font Mono", style = "Regular" }
|
||||
size = 12
|
75
components/alacritty/catppuccin-mocha.toml
Normal file
|
@ -0,0 +1,75 @@
|
|||
[colors.primary]
|
||||
background = "#1e1e2e"
|
||||
foreground = "#cdd6f4"
|
||||
dim_foreground = "#7f849c"
|
||||
bright_foreground = "#cdd6f4"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#1e1e2e"
|
||||
cursor = "#f5e0dc"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#1e1e2e"
|
||||
cursor = "#b4befe"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#1e1e2e"
|
||||
background = "#a6adc8"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#1e1e2e"
|
||||
background = "#a6e3a1"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#1e1e2e"
|
||||
background = "#a6adc8"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#1e1e2e"
|
||||
background = "#f9e2af"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#1e1e2e"
|
||||
background = "#a6adc8"
|
||||
|
||||
[colors.selection]
|
||||
text = "#1e1e2e"
|
||||
background = "#f5e0dc"
|
||||
|
||||
[colors.normal]
|
||||
black = "#45475a"
|
||||
red = "#f38ba8"
|
||||
green = "#a6e3a1"
|
||||
yellow = "#f9e2af"
|
||||
blue = "#89b4fa"
|
||||
magenta = "#f5c2e7"
|
||||
cyan = "#94e2d5"
|
||||
white = "#bac2de"
|
||||
|
||||
[colors.bright]
|
||||
black = "#585b70"
|
||||
red = "#f38ba8"
|
||||
green = "#a6e3a1"
|
||||
yellow = "#f9e2af"
|
||||
blue = "#89b4fa"
|
||||
magenta = "#f5c2e7"
|
||||
cyan = "#94e2d5"
|
||||
white = "#a6adc8"
|
||||
|
||||
[colors.dim]
|
||||
black = "#45475a"
|
||||
red = "#f38ba8"
|
||||
green = "#a6e3a1"
|
||||
yellow = "#f9e2af"
|
||||
blue = "#89b4fa"
|
||||
magenta = "#f5c2e7"
|
||||
cyan = "#94e2d5"
|
||||
white = "#bac2de"
|
||||
|
||||
[[colors.indexed_colors]]
|
||||
index = 16
|
||||
color = "#fab387"
|
||||
|
||||
[[colors.indexed_colors]]
|
||||
index = 17
|
||||
color = "#f5e0dc"
|
68
components/alacritty/colors.toml
Normal file
|
@ -0,0 +1,68 @@
|
|||
[colors.primary]
|
||||
background = '#19120d'
|
||||
foreground = '#f0dfd6'
|
||||
|
||||
[colors.cursor]
|
||||
text = '#f0dfd6'
|
||||
cursor = '#d6c3b7'
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = '#19120d'
|
||||
cursor = '#ffb781'
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = '#52443b'
|
||||
background = '#c7ca95'
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = '#52443b'
|
||||
background = '#ffb781'
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = '#52443b'
|
||||
background = '#f0dfd6'
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = '#52443b'
|
||||
background = '#e4bfa7'
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = '#52443b'
|
||||
background = '#e4bfa7'
|
||||
|
||||
[colors.selection]
|
||||
text = '#19120d'
|
||||
background = '#ffb781'
|
||||
|
||||
|
||||
[colors.normal]
|
||||
black = '#181818'
|
||||
red = '#ffb4ab'
|
||||
green = '#ffb781'
|
||||
yellow = '#895020'
|
||||
blue = '#ffb781'
|
||||
magenta = '#c7ca95'
|
||||
cyan = '#e4bfa7'
|
||||
white = '#BAC2DE'
|
||||
|
||||
|
||||
[colors.bright]
|
||||
black = '#585B70'
|
||||
red = '#F38BA8'
|
||||
green = '#A6E3A1'
|
||||
yellow = '#F9E2AF'
|
||||
blue = '#89B4FA'
|
||||
magenta = '#F5C2E7'
|
||||
cyan = '#94E2D5'
|
||||
white = '#A6ADC8'
|
||||
|
||||
|
||||
[colors.dim]
|
||||
black = '#45475A'
|
||||
red = '#F38BA8'
|
||||
green = '#A6E3A1'
|
||||
yellow = '#F9E2AF'
|
||||
blue = '#89B4FA'
|
||||
magenta = '#F5C2E7'
|
||||
cyan = '#94E2D5'
|
||||
white = '#BAC2DE'
|
75
components/alacritty/rose-pine-dawn.toml
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Colors section of "Alacritty - TOML configuration file format"
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
|
||||
|
||||
[colors.primary]
|
||||
foreground = "#575279"
|
||||
background = "#faf4ed"
|
||||
dim_foreground = "#797593"
|
||||
bright_foreground = "#575279"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#575279"
|
||||
cursor = "#cecacd"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#575279"
|
||||
cursor = "#cecacd"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#797593"
|
||||
background = "#f2e9e1"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#faf4ed"
|
||||
background = "#d7827e"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#797593"
|
||||
background = "#fffaf3"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#9893a5"
|
||||
background = "#fffaf3"
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = "None"
|
||||
background = "None"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#575279"
|
||||
background = "#fffaf3"
|
||||
|
||||
[colors.selection]
|
||||
text = "#575279"
|
||||
background = "#dfdad9"
|
||||
|
||||
[colors.normal]
|
||||
black = "#f2e9e1"
|
||||
red = "#b4637a"
|
||||
green = "#286983"
|
||||
yellow = "#ea9d34"
|
||||
blue = "#56949f"
|
||||
magenta = "#907aa9"
|
||||
cyan = "#d7827e"
|
||||
white = "#575279"
|
||||
|
||||
[colors.bright]
|
||||
black = "#9893a5"
|
||||
red = "#b4637a"
|
||||
green = "#286983"
|
||||
yellow = "#ea9d34"
|
||||
blue = "#56949f"
|
||||
magenta = "#907aa9"
|
||||
cyan = "#d7827e"
|
||||
white = "#575279"
|
||||
|
||||
[colors.dim]
|
||||
black = "#9893a5"
|
||||
red = "#b4637a"
|
||||
green = "#286983"
|
||||
yellow = "#ea9d34"
|
||||
blue = "#56949f"
|
||||
magenta = "#907aa9"
|
||||
cyan = "#d7827e"
|
||||
white = "#575279"
|
||||
|
75
components/alacritty/rose-pine-moon.toml
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Colors section of "Alacritty - TOML configuration file format"
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
|
||||
|
||||
[colors.primary]
|
||||
foreground = "#e0def4"
|
||||
background = "#232136"
|
||||
dim_foreground = "#908caa"
|
||||
bright_foreground = "#e0def4"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#56526e"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#56526e"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#908caa"
|
||||
background = "#393552"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#232136"
|
||||
background = "#ea9a97"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#908caa"
|
||||
background = "#2a273f"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#6e6a86"
|
||||
background = "#2a273f"
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = "None"
|
||||
background = "None"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#e0def4"
|
||||
background = "#2a273f"
|
||||
|
||||
[colors.selection]
|
||||
text = "#e0def4"
|
||||
background = "#44415a"
|
||||
|
||||
[colors.normal]
|
||||
black = "#393552"
|
||||
red = "#eb6f92"
|
||||
green = "#3e8fb0"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ea9a97"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.bright]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#3e8fb0"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ea9a97"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.dim]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#3e8fb0"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ea9a97"
|
||||
white = "#e0def4"
|
||||
|
75
components/alacritty/rose-pine.toml
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Colors section of "Alacritty - TOML configuration file format"
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
|
||||
|
||||
[colors.primary]
|
||||
foreground = "#e0def4"
|
||||
background = "#191724"
|
||||
dim_foreground = "#908caa"
|
||||
bright_foreground = "#e0def4"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#524f67"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#524f67"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#908caa"
|
||||
background = "#26233a"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#191724"
|
||||
background = "#ebbcba"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#908caa"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#6e6a86"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = "None"
|
||||
background = "None"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#e0def4"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.selection]
|
||||
text = "#e0def4"
|
||||
background = "#403d52"
|
||||
|
||||
[colors.normal]
|
||||
black = "#26233a"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.bright]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.dim]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
235
components/fish/completions/lon-tool.fish
Normal file
|
@ -0,0 +1,235 @@
|
|||
# fish completion for lon-tool -*- shell-script -*-
|
||||
|
||||
function __lon_tool_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >> $file
|
||||
end
|
||||
end
|
||||
|
||||
function __lon_tool_perform_completion
|
||||
__lon_tool_debug "Starting __lon_tool_perform_completion"
|
||||
|
||||
# Extract all args except the last one
|
||||
set -l args (commandline -opc)
|
||||
# Extract the last arg and escape it in case it is a space
|
||||
set -l lastArg (string escape -- (commandline -ct))
|
||||
|
||||
__lon_tool_debug "args: $args"
|
||||
__lon_tool_debug "last arg: $lastArg"
|
||||
|
||||
# Disable ActiveHelp which is not supported for fish shell
|
||||
set -l requestComp "LON_TOOL_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
||||
|
||||
__lon_tool_debug "Calling $requestComp"
|
||||
set -l results (eval $requestComp 2> /dev/null)
|
||||
|
||||
# Some programs may output extra empty lines after the directive.
|
||||
# Let's ignore them or else it will break completion.
|
||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
||||
for line in $results[-1..1]
|
||||
if test (string trim -- $line) = ""
|
||||
# Found an empty line, remove it
|
||||
set results $results[1..-2]
|
||||
else
|
||||
# Found non-empty line, we have our proper output
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
set -l comps $results[1..-2]
|
||||
set -l directiveLine $results[-1]
|
||||
|
||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
||||
# completions must be prefixed with the flag
|
||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
||||
|
||||
__lon_tool_debug "Comps: $comps"
|
||||
__lon_tool_debug "DirectiveLine: $directiveLine"
|
||||
__lon_tool_debug "flagPrefix: $flagPrefix"
|
||||
|
||||
for comp in $comps
|
||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
||||
end
|
||||
|
||||
printf "%s\n" "$directiveLine"
|
||||
end
|
||||
|
||||
# this function limits calls to __lon_tool_perform_completion, by caching the result behind $__lon_tool_perform_completion_once_result
|
||||
function __lon_tool_perform_completion_once
|
||||
__lon_tool_debug "Starting __lon_tool_perform_completion_once"
|
||||
|
||||
if test -n "$__lon_tool_perform_completion_once_result"
|
||||
__lon_tool_debug "Seems like a valid result already exists, skipping __lon_tool_perform_completion"
|
||||
return 0
|
||||
end
|
||||
|
||||
set --global __lon_tool_perform_completion_once_result (__lon_tool_perform_completion)
|
||||
if test -z "$__lon_tool_perform_completion_once_result"
|
||||
__lon_tool_debug "No completions, probably due to a failure"
|
||||
return 1
|
||||
end
|
||||
|
||||
__lon_tool_debug "Performed completions and set __lon_tool_perform_completion_once_result"
|
||||
return 0
|
||||
end
|
||||
|
||||
# this function is used to clear the $__lon_tool_perform_completion_once_result variable after completions are run
|
||||
function __lon_tool_clear_perform_completion_once_result
|
||||
__lon_tool_debug ""
|
||||
__lon_tool_debug "========= clearing previously set __lon_tool_perform_completion_once_result variable =========="
|
||||
set --erase __lon_tool_perform_completion_once_result
|
||||
__lon_tool_debug "Successfully erased the variable __lon_tool_perform_completion_once_result"
|
||||
end
|
||||
|
||||
function __lon_tool_requires_order_preservation
|
||||
__lon_tool_debug ""
|
||||
__lon_tool_debug "========= checking if order preservation is required =========="
|
||||
|
||||
__lon_tool_perform_completion_once
|
||||
if test -z "$__lon_tool_perform_completion_once_result"
|
||||
__lon_tool_debug "Error determining if order preservation is required"
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__lon_tool_perform_completion_once_result[-1])
|
||||
__lon_tool_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveKeepOrder 32
|
||||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
||||
__lon_tool_debug "Keeporder is: $keeporder"
|
||||
|
||||
if test $keeporder -ne 0
|
||||
__lon_tool_debug "This does require order preservation"
|
||||
return 0
|
||||
end
|
||||
|
||||
__lon_tool_debug "This doesn't require order preservation"
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
# This function does two things:
|
||||
# - Obtain the completions and store them in the global __lon_tool_comp_results
|
||||
# - Return false if file completion should be performed
|
||||
function __lon_tool_prepare_completions
|
||||
__lon_tool_debug ""
|
||||
__lon_tool_debug "========= starting completion logic =========="
|
||||
|
||||
# Start fresh
|
||||
set --erase __lon_tool_comp_results
|
||||
|
||||
__lon_tool_perform_completion_once
|
||||
__lon_tool_debug "Completion results: $__lon_tool_perform_completion_once_result"
|
||||
|
||||
if test -z "$__lon_tool_perform_completion_once_result"
|
||||
__lon_tool_debug "No completion, probably due to a failure"
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__lon_tool_perform_completion_once_result[-1])
|
||||
set --global __lon_tool_comp_results $__lon_tool_perform_completion_once_result[1..-2]
|
||||
|
||||
__lon_tool_debug "Completions are: $__lon_tool_comp_results"
|
||||
__lon_tool_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveError 1
|
||||
set -l shellCompDirectiveNoSpace 2
|
||||
set -l shellCompDirectiveNoFileComp 4
|
||||
set -l shellCompDirectiveFilterFileExt 8
|
||||
set -l shellCompDirectiveFilterDirs 16
|
||||
|
||||
if test -z "$directive"
|
||||
set directive 0
|
||||
end
|
||||
|
||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
||||
if test $compErr -eq 1
|
||||
__lon_tool_debug "Received error directive: aborting."
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
||||
__lon_tool_debug "File extension filtering or directory filtering not supported"
|
||||
# Do full file completion instead
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
||||
|
||||
__lon_tool_debug "nospace: $nospace, nofiles: $nofiles"
|
||||
|
||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
||||
# we need to count the number of valid completions.
|
||||
# To do so, we will filter on prefix as the completions we have received
|
||||
# may not already be filtered so as to allow fish to match on different
|
||||
# criteria than the prefix.
|
||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
||||
set -l prefix (commandline -t | string escape --style=regex)
|
||||
__lon_tool_debug "prefix: $prefix"
|
||||
|
||||
set -l completions (string match -r -- "^$prefix.*" $__lon_tool_comp_results)
|
||||
set --global __lon_tool_comp_results $completions
|
||||
__lon_tool_debug "Filtered completions are: $__lon_tool_comp_results"
|
||||
|
||||
# Important not to quote the variable for count to work
|
||||
set -l numComps (count $__lon_tool_comp_results)
|
||||
__lon_tool_debug "numComps: $numComps"
|
||||
|
||||
if test $numComps -eq 1; and test $nospace -ne 0
|
||||
# We must first split on \t to get rid of the descriptions to be
|
||||
# able to check what the actual completion will be.
|
||||
# We don't need descriptions anyway since there is only a single
|
||||
# real completion which the shell will expand immediately.
|
||||
set -l split (string split --max 1 \t $__lon_tool_comp_results[1])
|
||||
|
||||
# Fish won't add a space if the completion ends with any
|
||||
# of the following characters: @=/:.,
|
||||
set -l lastChar (string sub -s -1 -- $split)
|
||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
||||
# In other cases, to support the "nospace" directive we trick the shell
|
||||
# by outputting an extra, longer completion.
|
||||
__lon_tool_debug "Adding second completion to perform nospace directive"
|
||||
set --global __lon_tool_comp_results $split[1] $split[1].
|
||||
__lon_tool_debug "Completions are now: $__lon_tool_comp_results"
|
||||
end
|
||||
end
|
||||
|
||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
||||
# To be consistent with bash and zsh, we only trigger file
|
||||
# completion when there are no other completions
|
||||
__lon_tool_debug "Requesting file completion"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q "lon-tool"
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "lon-tool " > /dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
complete -c lon-tool -e
|
||||
|
||||
# this will get called after the two calls below and clear the $__lon_tool_perform_completion_once_result global
|
||||
complete -c lon-tool -n '__lon_tool_clear_perform_completion_once_result'
|
||||
# The call to __lon_tool_prepare_completions will setup __lon_tool_comp_results
|
||||
# which provides the program's completion choices.
|
||||
# If this doesn't require order preservation, we don't use the -k flag
|
||||
complete -c lon-tool -n 'not __lon_tool_requires_order_preservation && __lon_tool_prepare_completions' -f -a '$__lon_tool_comp_results'
|
||||
# otherwise we use the -k flag
|
||||
complete -k -c lon-tool -n '__lon_tool_requires_order_preservation && __lon_tool_prepare_completions' -f -a '$__lon_tool_comp_results'
|
68
components/fish/config.fish
Normal file
|
@ -0,0 +1,68 @@
|
|||
set fish_greeting ""
|
||||
|
||||
function filesize
|
||||
for file in $argv
|
||||
if [ -f "$file" ]
|
||||
echo "$file: $(stat -c %s "$file" | numfmt --to=iec)"
|
||||
else
|
||||
echo "$file: not found"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function _fetch
|
||||
# if which pfetch > /dev/null 2>&1 && [ "$VSCODE_INJECTION" != "1" ]
|
||||
# export PF_INFO="ascii title os host kernel uptime memory de"
|
||||
# #export PF_ASCII="arch"
|
||||
# pfetch
|
||||
# end
|
||||
if which ufetch > /dev/null 2>&1 && [ "$VSCODE_INJECTION" != "1" ]
|
||||
ufetch
|
||||
end
|
||||
end
|
||||
|
||||
if which pyenv > /dev/null 2>&1
|
||||
pyenv init - | source
|
||||
end
|
||||
|
||||
if [ "$TERM" = "foot" ] || [ "$TERM" = "xterm-kitty" ]
|
||||
alias ssh="TERM=xterm-256color $(which ssh)"
|
||||
alias gg="TERM=xterm-256color $(which gg)"
|
||||
end
|
||||
|
||||
if status is-interactive
|
||||
bind \cl 'clear; _fetch; commandline -f repaint'
|
||||
bind \cb btop
|
||||
bind \cs 'source ~/.config/fish/config.fish'
|
||||
|
||||
if which eza > /dev/null 2>&1
|
||||
alias ls="eza --icons=auto"
|
||||
else
|
||||
alias ls="exa --icons=auto"
|
||||
end
|
||||
|
||||
if which bat > /dev/null 2>&1
|
||||
alias cat="bat"
|
||||
else if which batcat > /dev/null 2>&1
|
||||
alias cat="batcat"
|
||||
end
|
||||
|
||||
if which nvim > /dev/null 2>&1
|
||||
alias v="nvim"
|
||||
alias edit="nvim"
|
||||
alias e="nvim"
|
||||
alias V="sudoedit"
|
||||
export EDITOR=nvim
|
||||
end
|
||||
|
||||
if which zoxide > /dev/null 2>&1
|
||||
zoxide init --cmd cd fish | source
|
||||
end
|
||||
|
||||
if [ "$reload" = "" ]
|
||||
_fetch
|
||||
end
|
||||
|
||||
alias :q="exit"
|
||||
set reload "done"
|
||||
end
|
77
components/fish/fish_variables
Normal file
|
@ -0,0 +1,77 @@
|
|||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:3400
|
||||
SETUVAR fish_color_autosuggestion:brblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:blue
|
||||
SETUVAR fish_color_comment:red
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:green
|
||||
SETUVAR fish_color_error:brred
|
||||
SETUVAR fish_color_escape:brcyan
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:brcyan
|
||||
SETUVAR fish_color_param:cyan
|
||||
SETUVAR fish_color_quote:yellow
|
||||
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
SETUVAR fish_user_paths:/home/timoxa0/\x2ecargo/bin\x1e/home/timoxa0/\x2econfig/hypr/bin\x1e/home/timoxa0/\x2elocal/bin
|
||||
SETUVAR pure_begin_prompt_with_current_directory:true
|
||||
SETUVAR pure_check_for_new_release:false
|
||||
SETUVAR pure_color_at_sign:pure_color_mute
|
||||
SETUVAR pure_color_command_duration:pure_color_warning
|
||||
SETUVAR pure_color_current_directory:pure_color_primary
|
||||
SETUVAR pure_color_danger:red
|
||||
SETUVAR pure_color_dark:black
|
||||
SETUVAR pure_color_git_branch:pure_color_mute
|
||||
SETUVAR pure_color_git_dirty:pure_color_mute
|
||||
SETUVAR pure_color_git_stash:pure_color_info
|
||||
SETUVAR pure_color_git_unpulled_commits:pure_color_info
|
||||
SETUVAR pure_color_git_unpushed_commits:pure_color_info
|
||||
SETUVAR pure_color_hostname:pure_color_mute
|
||||
SETUVAR pure_color_info:cyan
|
||||
SETUVAR pure_color_jobs:pure_color_normal
|
||||
SETUVAR pure_color_light:white
|
||||
SETUVAR pure_color_mute:brblack
|
||||
SETUVAR pure_color_normal:normal
|
||||
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
|
||||
SETUVAR pure_color_primary:blue
|
||||
SETUVAR pure_color_prompt_on_error:pure_color_danger
|
||||
SETUVAR pure_color_prompt_on_success:pure_color_success
|
||||
SETUVAR pure_color_success:magenta
|
||||
SETUVAR pure_color_system_time:pure_color_mute
|
||||
SETUVAR pure_color_username_normal:pure_color_mute
|
||||
SETUVAR pure_color_username_root:pure_color_light
|
||||
SETUVAR pure_color_virtualenv:pure_color_mute
|
||||
SETUVAR pure_color_warning:yellow
|
||||
SETUVAR pure_enable_git:true
|
||||
SETUVAR pure_enable_single_line_prompt:false
|
||||
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
|
||||
SETUVAR pure_separate_prompt_on_error:false
|
||||
SETUVAR pure_show_jobs:false
|
||||
SETUVAR pure_show_prefix_root_prompt:false
|
||||
SETUVAR pure_show_subsecond_command_duration:false
|
||||
SETUVAR pure_show_system_time:false
|
||||
SETUVAR pure_symbol_git_dirty:\x2a
|
||||
SETUVAR pure_symbol_git_stash:\u2261
|
||||
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
|
||||
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
|
||||
SETUVAR pure_symbol_prefix_root_prompt:\x23
|
||||
SETUVAR pure_symbol_prompt:\u276f
|
||||
SETUVAR pure_symbol_reverse_prompt:\u276e
|
||||
SETUVAR pure_symbol_title_bar_separator:\x2d
|
||||
SETUVAR pure_threshold_command_duration:5
|
1
components/fish/functions/fish_prompt.fish
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/share/fish/functions/fish_prompt.fish
|
13
components/hyprland/appearance.conf
Normal file
|
@ -0,0 +1,13 @@
|
|||
source = colors.conf
|
||||
general {
|
||||
col.active_border = $primary
|
||||
col.inactive_border = $secondary
|
||||
}
|
||||
|
||||
exec-once = gsettings set org.gnome.desktop.interface font-name "BigBlueTermPlus Nerd Font 11"
|
||||
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3"
|
||||
exec-once = gsettings set org.gnome.desktop.interface icon-theme Papirus-Dark
|
||||
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
exec-once = gsettings set org.gnome.desktop.interface gtk-color-scheme 'prefer-dark'
|
||||
exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic'
|
||||
|
5
components/hyprland/colors.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
$primary = rgb(ffb781)
|
||||
$secondary = rgb(e4bfa7)
|
||||
$bg = rgb(19120d)
|
||||
$fg = rgb(f0dfd6)
|
||||
|
17
components/hyprland/hypridle.conf
Normal file
|
@ -0,0 +1,17 @@
|
|||
general {
|
||||
lock_cmd = ~/.config/hypr/bin/lockscreen
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
ignore_dbus_inhibit = false
|
||||
ignore_systemd_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 60
|
||||
on-timeout = ~/.config/hypr/bin/dimscreen d
|
||||
on-resume = ~/.config/hypr/bin/dimscreen r
|
||||
}
|
301
components/hyprland/hyprland.conf
Normal file
|
@ -0,0 +1,301 @@
|
|||
source = appearance.conf
|
||||
source = monitors.conf
|
||||
# source = ~/.config/hypr/monitors.sunshine.conf
|
||||
#===========================================================================#
|
||||
# Variables #
|
||||
#===========================================================================#
|
||||
|
||||
$terminal = alacritty
|
||||
$fileManager = nautilus -w
|
||||
$menu = ~/.config/hypr/bin/runner
|
||||
$browser = firefox
|
||||
$discord = vesktop
|
||||
$telegram = telegram-desktop
|
||||
$pctl = playerctl
|
||||
$sshot = hyprshot -o ~/Pictures/Screenshots/ -z -m
|
||||
$locker = loginctl lock-session
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
#===========================================================================#
|
||||
# Autostart #
|
||||
#===========================================================================#
|
||||
|
||||
exec-once = gsettings set org.gnome.desktop.wm.preferences button-layout ':'
|
||||
|
||||
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
|
||||
exec-once = hyprpaper -c ~/.config/hypr/components/hyprland/hyprpaper.conf
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = mako -c ~/.config/hypr/components/mako/mako.conf
|
||||
exec-once = nm-applet
|
||||
exec-once = hypridle -c ~/.config/hypr/components/hyprland/hypridle.conf
|
||||
exec-once = bash -c "sleep 2; easyeffects --gapplication-service"
|
||||
exec-once = /usr/lib/xdg-desktop-portal -r
|
||||
exec-once = waybar -c ~/.config/hypr/components/waybar/waybar.jsonc -s ~/.config/hypr/components/waybar/waybar.css
|
||||
exec-once = clash-verge
|
||||
exec-once = bash -c "sleep 5; vesktop"
|
||||
exec-once = bash -c "sleep 5; telegram-desktop -startintray"
|
||||
# exec-once = pipewire &
|
||||
# exec-once = pipewire-pulse &
|
||||
# exec-once = wireplumber &
|
||||
# exec-once = syshud -o h -p top -M "audio_in,audio_out" -m "15 0 0 0"
|
||||
# exec-once = AmneziaVPN -a &
|
||||
|
||||
#===========================================================================#
|
||||
# Environment variables #
|
||||
#===========================================================================#
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_THEME,Bibata-Modern-Classic
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
env = EDITOR,nvim
|
||||
|
||||
#===========================================================================#
|
||||
# Look and feel #
|
||||
#===========================================================================#
|
||||
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 5
|
||||
|
||||
border_size = 3
|
||||
resize_on_border = true
|
||||
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 0
|
||||
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
drop_shadow = false
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = $bg
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 4
|
||||
passes = 3
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = false
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = false
|
||||
preserve_split = true
|
||||
smart_split = false
|
||||
no_gaps_when_only = true
|
||||
smart_resizing = false
|
||||
}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper = -1
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Input #
|
||||
#===========================================================================#
|
||||
|
||||
input {
|
||||
kb_layout = us, ru
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = grp:caps_toggle
|
||||
kb_rules =
|
||||
follow_mouse = 1
|
||||
sensitivity = 0
|
||||
touchdevice {
|
||||
transform = 3
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Keybinds #
|
||||
#---------------------------------------------------------------------------#
|
||||
# | bind | dispatcher | args #
|
||||
#===========================================================================#
|
||||
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, D, exec, $discord
|
||||
bind = $mainMod, T, exec, $telegram
|
||||
bind = $mainMod, B, exec, $browser
|
||||
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, C, togglefloating,
|
||||
bind = $mainMod, SPACE, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, X, togglesplit, # dwindle
|
||||
bind = $mainMod, R, exec, $sshot region
|
||||
bind = $mainMod, W, exec, $sshot window
|
||||
bind = $mainMod, O, exec, $sshot output
|
||||
bind = $mainMod Ctrl, Q, exec, $locker
|
||||
|
||||
#===========================================================================#
|
||||
# Media keys #
|
||||
#===========================================================================#
|
||||
|
||||
bind = , XF86AudioPlay, exec, $pctl play-pause
|
||||
bind = , XF86AudioNext, exec, $pctl next
|
||||
bind = , XF86AudioPrev, exec, $pctl previous
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 2
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 2
|
||||
#===========================================================================#
|
||||
# Move focus with mainMod + arrow keys #
|
||||
#===========================================================================#
|
||||
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Brightness control #
|
||||
#===========================================================================#
|
||||
bind = CTRL, 1, exec, brightnessctl s 5%-
|
||||
bind = CTRL, 2, exec, brightnessctl s 5%+
|
||||
|
||||
#===========================================================================#
|
||||
# Switch workspaces with mainMod + [0-9] #
|
||||
#===========================================================================#
|
||||
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9] #
|
||||
#===========================================================================#
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Scroll through existing workspaces with mainMod + scroll #
|
||||
#===========================================================================#
|
||||
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
|
||||
#===========================================================================#
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging #
|
||||
#===========================================================================#
|
||||
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
#===========================================================================#
|
||||
# Windows and workspaces #
|
||||
#===========================================================================#
|
||||
|
||||
layerrule = blur, waybar
|
||||
layerrule = ignorezero, waybar
|
||||
layerrule = blur, notifications
|
||||
layerrule = ignorezero, notifications
|
||||
|
||||
layerrule = blur, rofi
|
||||
layerrule = ignorezero, rofi
|
||||
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
|
||||
windowrule = float, ^(imv)$
|
||||
windowrule = float, ^(fetch)$
|
||||
windowrule = float, ^(AmneziaVPN)$
|
||||
|
||||
windowrule = float, ^(org.pulseaudio.pavucontrol)$
|
||||
#windowrule = size 696 570, ^(org.pulseaudio.pavucontrol)$
|
||||
#windowrule = move 1630 820, ^(org.pulseaudio.pavucontrol)$
|
||||
windowrule = monitor DSI-1, ^(org.pulseaudio.pavucontrol)$
|
||||
|
||||
windowrule = fullscreen, ^(xfreerdp)$
|
||||
|
||||
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
||||
|
||||
|
||||
plugin:touch_gestures {
|
||||
# The default sensitivity is probably too low on tablet screens,
|
||||
# I recommend turning it up to 4.0
|
||||
sensitivity = 4.0
|
||||
|
||||
# must be >= 3
|
||||
workspace_swipe_fingers = 3
|
||||
|
||||
# switching workspaces by swiping from an edge, this is separate from workspace_swipe_fingers
|
||||
# and can be used at the same time
|
||||
# possible values: l, r, u, or d
|
||||
# to disable it set it to anything else
|
||||
workspace_swipe_edge = d
|
||||
|
||||
# in milliseconds
|
||||
long_press_delay = 400
|
||||
|
||||
# in pixels, the distance from the edge that is considered an edge
|
||||
edge_margin = 10
|
||||
|
||||
experimental {
|
||||
# send proper cancel events to windows instead of hacky touch_up events,
|
||||
# NOT recommended as it crashed a few times, once it's stabilized I'll make it the default
|
||||
send_cancel = 0
|
||||
}
|
||||
}
|
63
components/hyprland/hyprlock.conf
Normal file
|
@ -0,0 +1,63 @@
|
|||
source = appearance.conf
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = ~/.config/hypr/wallpaper.png
|
||||
blur_passes = 3
|
||||
contrast = 0.8916
|
||||
brightness = 0.4172
|
||||
vibrancy = 0.1696
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = false
|
||||
grace = 0
|
||||
disable_loading_bar = true
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
# input-field {
|
||||
# monitor = DSI-1
|
||||
# size = 200, 40
|
||||
# outline_thickness = 2
|
||||
# dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
# dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
# dots_center = true
|
||||
# outer_color = rgba(0, 0, 0, 0)
|
||||
# inner_color = rgba(0, 0, 0, 0.5)
|
||||
# font_color = $fg
|
||||
# fade_on_empty = false
|
||||
# placeholder_text =
|
||||
# hide_input = false
|
||||
# position = 0, -650 #-120
|
||||
# halign = center
|
||||
# valign = center
|
||||
# }
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor = DSI-1
|
||||
text = cmd[update:1000] echo "$(date +"%H:%M")"
|
||||
color = $fg
|
||||
font_size = 100
|
||||
font_family = BigBlueTermPlus Nerd Font
|
||||
position = 0, -300
|
||||
halign = center
|
||||
valign = top
|
||||
}
|
||||
|
||||
# USER
|
||||
label {
|
||||
monitor = DSI-1
|
||||
text = Enter your password
|
||||
color = $fg
|
||||
font_size = 16
|
||||
font_family = BigBlueTermPlus Nerd Font
|
||||
position = 0, -780 # -40
|
||||
halign = center
|
||||
valign = center
|
||||
|
||||
}
|
5
components/hyprland/hyprpaper.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
preload = ~/.config/hypr/wallpaper.png
|
||||
|
||||
wallpaper = ,~/.config/hypr/wallpaper.png
|
||||
|
||||
splash = false
|
11
components/hyprland/monitors.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
#===========================================================================#
|
||||
# Monitors #
|
||||
#===========================================================================#
|
||||
|
||||
render {
|
||||
explicit_sync = 0
|
||||
explicit_sync_kms = 0
|
||||
direct_scanout = false
|
||||
}
|
||||
|
||||
monitor=DSI-1,1600x2560@104,0x0,1.6, transform, 3
|
3
components/hyprland/monitors.sunshine.conf
Normal file
|
@ -0,0 +1,3 @@
|
|||
monitor=DP-1, 2560x1600@120, 0x0, 1
|
||||
monitor=HDMI-A-1, disable
|
||||
monitor=HDMI-A-2, disable
|
19
components/mako/mako.conf
Normal file
|
@ -0,0 +1,19 @@
|
|||
sort=-time
|
||||
layer=overlay
|
||||
output=DSI-1
|
||||
anchor=top-right
|
||||
background-color=#19120dbb
|
||||
width=300
|
||||
height=110
|
||||
border-size=3
|
||||
border-color=#ffb781
|
||||
border-radius=0
|
||||
icons=1
|
||||
max-icon-size=64
|
||||
default-timeout=5000
|
||||
ignore-timeout=1
|
||||
font=BigBlueTermPlus Nerd Font Mono 14
|
||||
|
||||
[urgency=high]
|
||||
border-color=#ffb4ab
|
||||
default-timeout=0
|
6
components/nvim/.stylua.toml
Normal file
|
@ -0,0 +1,6 @@
|
|||
column_width = 120
|
||||
line_endings = "Unix"
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
quote_style = "AutoPreferDouble"
|
||||
call_parentheses = "None"
|
24
components/nvim/LICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org>
|
39
components/nvim/init.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_config = require "configs.lazy"
|
||||
|
||||
-- load plugins
|
||||
require("lazy").setup({
|
||||
{
|
||||
"NvChad/NvChad",
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
config = function()
|
||||
require "options"
|
||||
end,
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "nvchad.autocmds"
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
28
components/nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "45db5addf8d0a201e1cf247cae4cdce605ad3768" },
|
||||
"NvChad": { "branch": "v2.5", "commit": "0ef037c6db092f0ea627d3f81ce8e7db45e9b187" },
|
||||
"base46": { "branch": "v2.5", "commit": "5b58434a52f86a9bcc7ee89f8a4da81225b490a9" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"conform.nvim": { "branch": "master", "commit": "cd75be867f2331b22905f47d28c0c270a69466aa" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "1ef74b546732f185d0f806860fa5404df7614f28" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "18603eb949eba08300799f64027af11ef922283f" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
||||
"mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "fd2badc24e675f947162a16c124d395bde80dbd6" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "ea55ef12036897fdc4476b115a395d2a34965c82" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "c1ad655b6a0c83ab48e55240f367e2bc0c15af31" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" },
|
||||
"ui": { "branch": "v2.5", "commit": "7283d036fd6fc2a3352d373dddeb7b1ac27f453f" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "bfec3d6bc0a9b0b2cb11644642f78c2c3915eef0" }
|
||||
}
|
16
components/nvim/lua/chadrc.lua
Normal file
|
@ -0,0 +1,16 @@
|
|||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v2.5/lua/nvconfig.lua
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.ui = {
|
||||
theme = "gruvbox",
|
||||
transparency = true
|
||||
|
||||
-- hl_override = {
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
-- },
|
||||
}
|
||||
return M
|
15
components/nvim/lua/configs/conform.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
-- css = { "prettier" },
|
||||
-- html = { "prettier" },
|
||||
},
|
||||
|
||||
-- format_on_save = {
|
||||
-- -- These options will be passed to conform.format()
|
||||
-- timeout_ms = 500,
|
||||
-- lsp_fallback = true,
|
||||
-- },
|
||||
}
|
||||
|
||||
require("conform").setup(options)
|
47
components/nvim/lua/configs/lazy.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
return {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { "nvchad" } },
|
||||
|
||||
ui = {
|
||||
icons = {
|
||||
ft = "",
|
||||
lazy = " ",
|
||||
loaded = "",
|
||||
not_loaded = "",
|
||||
},
|
||||
},
|
||||
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
29
components/nvim/lua/configs/lspconfig.lua
Normal file
|
@ -0,0 +1,29 @@
|
|||
-- EXAMPLE
|
||||
local on_attach = require("nvchad.configs.lspconfig").on_attach
|
||||
local on_init = require("nvchad.configs.lspconfig").on_init
|
||||
local capabilities = require("nvchad.configs.lspconfig").capabilities
|
||||
|
||||
local lspconfig = require "lspconfig"
|
||||
local servers = { "html" }
|
||||
|
||||
-- lsps with default config
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end
|
||||
|
||||
-- typescript
|
||||
lspconfig.tsserver.setup {
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
lspconfig.pyright.setup({
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
filetypes = {"python"},
|
||||
})
|
15
components/nvim/lua/mappings.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
map("n", "<C-h>", "<cmd>TmuxNavigateLeft<CR>", {desc = "Move tmux windows focus left"})
|
||||
map("n", "<C-l>", "<cmd>TmuxNavigateRight<CR>", {desc = "Move tmux windows focus right"})
|
||||
map("n", "<C-j>", "<cmd>TmuxNavigateDown<CR>", {desc = "Move tmux windows focus down"})
|
||||
map("n", "<C-k>", "<cmd>TmuxNavigateUp<CR>", {desc = "Move tmux windows focus up"})
|
||||
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
6
components/nvim/lua/options.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
require "nvchad.options"
|
||||
|
||||
-- add yours here!
|
||||
|
||||
-- local o = vim.o
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
55
components/nvim/lua/plugins/init.lua
Normal file
|
@ -0,0 +1,55 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
config = function()
|
||||
require "configs.conform"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"christoomey/vim-tmux-navigator",
|
||||
lazy = false,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"black",
|
||||
"debugpy",
|
||||
"mypy",
|
||||
"ruff",
|
||||
"pyright",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require("nvchad.configs.lspconfig").defaults()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
--
|
||||
-- {
|
||||
-- "williamboman/mason.nvim",
|
||||
-- opts = {
|
||||
-- ensure_installed = {
|
||||
-- "lua-language-server", "stylua",
|
||||
-- "html-lsp", "css-lsp" , "prettier"
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
--
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vim", "lua", "vimdoc",
|
||||
"html", "css"
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
47
components/rofi/colors.rasi
Normal file
|
@ -0,0 +1,47 @@
|
|||
* {
|
||||
primary: #ffb781;
|
||||
primary-fixed: #ffdcc5;
|
||||
primary-fixed-dim: #ffb781;
|
||||
on-primary: #4f2500;
|
||||
on-primary-fixed: #301400;
|
||||
on-primary-fixed-variant: #6d390a;
|
||||
primary-container: #6d390a;
|
||||
on-primary-container: #ffdcc5;
|
||||
secondary: #e4bfa7;
|
||||
secondary-fixed: #ffdcc5;
|
||||
secondary-fixed-dim: #e4bfa7;
|
||||
on-secondary: #422b1a;
|
||||
on-secondary-fixed: #2a1708;
|
||||
on-secondary-fixed-variant: #5b412f;
|
||||
secondary-container: #5b412f;
|
||||
on-secondary-container: #ffdcc5;
|
||||
tertiary: #c7ca95;
|
||||
tertiary-fixed: #e3e6af;
|
||||
tertiary-fixed-dim: #c7ca95;
|
||||
on-tertiary: #30330b;
|
||||
on-tertiary-fixed: #1b1d00;
|
||||
on-tertiary-fixed-variant: #464920;
|
||||
tertiary-container: #464920;
|
||||
on-tertiary-container: #e3e6af;
|
||||
error: #ffb4ab;
|
||||
on-error: #690005;
|
||||
error-container: #93000a;
|
||||
on-error-container: #ffdad6;
|
||||
surface: #19120d;
|
||||
on-surface: #f0dfd6;
|
||||
on-surface-variant: #d6c3b7;
|
||||
outline: #9f8d83;
|
||||
outline-variant: #52443b;
|
||||
shadow: #000000;
|
||||
scrim: #000000;
|
||||
inverse-surface: #f0dfd6;
|
||||
inverse-on-surface: #382f28;
|
||||
inverse-primary: #895020;
|
||||
surface-dim: #19120d;
|
||||
surface-bright: #413731;
|
||||
surface-container-lowest: #140d08;
|
||||
surface-container-low: #221a14;
|
||||
surface-container: #261e18;
|
||||
surface-container-high: #312822;
|
||||
surface-container-highest: #3c332d;
|
||||
}
|
181
components/rofi/config.rasi
Normal file
|
@ -0,0 +1,181 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Configuration For Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
configuration {
|
||||
/*---------- General setting ----------*/
|
||||
modi: "drun,run,filebrowser,window";
|
||||
case-sensitive: false;
|
||||
cycle: true;
|
||||
filter: "";
|
||||
scroll-method: 0;
|
||||
normalize-match: true;
|
||||
show-icons: true;
|
||||
icon-theme: "Papirus";
|
||||
/* cache-dir: ;*/
|
||||
steal-focus: false;
|
||||
/* dpi: -1;*/
|
||||
|
||||
/*---------- Matching setting ----------*/
|
||||
matching: "normal";
|
||||
tokenize: true;
|
||||
|
||||
/*---------- SSH settings ----------*/
|
||||
ssh-client: "ssh";
|
||||
ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";
|
||||
parse-hosts: true;
|
||||
parse-known-hosts: true;
|
||||
|
||||
/*---------- Drun settings ----------*/
|
||||
drun-categories: "";
|
||||
drun-match-fields: "name,generic,exec,categories,keywords";
|
||||
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
|
||||
drun-show-actions: false;
|
||||
drun-url-launcher: "xdg-open";
|
||||
drun-use-desktop-cache: false;
|
||||
drun-reload-desktop-cache: false;
|
||||
drun {
|
||||
/** Parse user desktop files. */
|
||||
parse-user: true;
|
||||
/** Parse system desktop files. */
|
||||
parse-system: true;
|
||||
}
|
||||
|
||||
/*---------- Run settings ----------*/
|
||||
run-command: "{cmd}";
|
||||
run-list-command: "";
|
||||
run-shell-command: "{terminal} -e {cmd}";
|
||||
|
||||
/*---------- Fallback Icon ----------*/
|
||||
run,drun {
|
||||
fallback-icon: "application-x-addon";
|
||||
}
|
||||
|
||||
/*---------- Window switcher settings ----------*/
|
||||
window-match-fields: "title,class,role,name,desktop";
|
||||
window-command: "wmctrl -i -R {window}";
|
||||
window-format: "{w} - {c} - {t:0}";
|
||||
window-thumbnail: false;
|
||||
|
||||
/*---------- Combi settings ----------*/
|
||||
/* combi-modi: "window,run";*/
|
||||
/* combi-hide-mode-prefix: false;*/
|
||||
/* combi-display-format: "{mode} {text}";*/
|
||||
|
||||
/*---------- History and Sorting ----------*/
|
||||
disable-history: false;
|
||||
sorting-method: "normal";
|
||||
max-history-size: 25;
|
||||
|
||||
/*---------- Display setting ----------*/
|
||||
display-window: "Windows";
|
||||
display-windowcd: "Window CD";
|
||||
display-run: "Run";
|
||||
display-ssh: "SSH";
|
||||
display-drun: "Apps";
|
||||
display-combi: "Combi";
|
||||
display-keys: "Keys";
|
||||
display-filebrowser: "Files";
|
||||
|
||||
/*---------- Misc setting ----------*/
|
||||
terminal: "rofi-sensible-terminal";
|
||||
font: "Mono 12";
|
||||
sort: false;
|
||||
threads: 0;
|
||||
click-to-exit: true;
|
||||
/* ignored-prefixes: "";*/
|
||||
/* pid: "/run/user/1000/rofi.pid";*/
|
||||
|
||||
/*---------- File browser settings ----------*/
|
||||
filebrowser {
|
||||
/* directory: "/home";*/
|
||||
directories-first: true;
|
||||
sorting-method: "name";
|
||||
}
|
||||
|
||||
/*---------- Other settings ----------*/
|
||||
timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
|
||||
/*---------- Keybindings ----------*/
|
||||
/*
|
||||
kb-primary-paste: "Control+V,Shift+Insert";
|
||||
kb-secondary-paste: "Control+v,Insert";
|
||||
kb-clear-line: "Control+w";
|
||||
kb-move-front: "Control+a";
|
||||
kb-move-end: "Control+e";
|
||||
kb-move-word-back: "Alt+b,Control+Left";
|
||||
kb-move-word-forward: "Alt+f,Control+Right";
|
||||
kb-move-char-back: "Left,Control+b";
|
||||
kb-move-char-forward: "Right,Control+f";
|
||||
kb-remove-word-back: "Control+Alt+h,Control+BackSpace";
|
||||
kb-remove-word-forward: "Control+Alt+d";
|
||||
kb-remove-char-forward: "Delete,Control+d";
|
||||
kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";
|
||||
kb-remove-to-eol: "Control+k";
|
||||
kb-remove-to-sol: "Control+u";
|
||||
kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";
|
||||
kb-accept-custom: "Control+Return";
|
||||
kb-accept-custom-alt: "Control+Shift+Return";
|
||||
kb-accept-alt: "Shift+Return";
|
||||
kb-delete-entry: "Shift+Delete";
|
||||
kb-mode-next: "Shift+Right,Control+Tab";
|
||||
kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";
|
||||
kb-mode-complete: "Control+l";
|
||||
kb-row-left: "Control+Page_Up";
|
||||
kb-row-right: "Control+Page_Down";
|
||||
kb-row-down: "Down,Control+n";
|
||||
kb-page-prev: "Page_Up";
|
||||
kb-page-next: "Page_Down";
|
||||
kb-row-first: "Home,KP_Home";
|
||||
kb-row-last: "End,KP_End";
|
||||
kb-row-select: "Control+space";
|
||||
kb-screenshot: "Alt+S";
|
||||
kb-ellipsize: "Alt+period";
|
||||
kb-toggle-case-sensitivity: "grave,dead_grave";
|
||||
kb-toggle-sort: "Alt+grave";
|
||||
kb-cancel: "Escape,Control+g,Control+bracketleft";
|
||||
kb-custom-1: "Alt+1";
|
||||
kb-custom-2: "Alt+2";
|
||||
kb-custom-3: "Alt+3";
|
||||
kb-custom-4: "Alt+4";
|
||||
kb-custom-5: "Alt+5";
|
||||
kb-custom-6: "Alt+6";
|
||||
kb-custom-7: "Alt+7";
|
||||
kb-custom-8: "Alt+8";
|
||||
kb-custom-9: "Alt+9";
|
||||
kb-custom-10: "Alt+0";
|
||||
kb-custom-11: "Alt+exclam";
|
||||
kb-custom-12: "Alt+at";
|
||||
kb-custom-13: "Alt+numbersign";
|
||||
kb-custom-14: "Alt+dollar";
|
||||
kb-custom-15: "Alt+percent";
|
||||
kb-custom-16: "Alt+dead_circumflex";
|
||||
kb-custom-17: "Alt+ampersand";
|
||||
kb-custom-18: "Alt+asterisk";
|
||||
kb-custom-19: "Alt+parenleft";
|
||||
kb-select-1: "Super+1";
|
||||
kb-select-2: "Super+2";
|
||||
kb-select-3: "Super+3";
|
||||
kb-select-4: "Super+4";
|
||||
kb-select-5: "Super+5";
|
||||
kb-select-6: "Super+6";
|
||||
kb-select-7: "Super+7";
|
||||
kb-select-8: "Super+8";
|
||||
kb-select-9: "Super+9";
|
||||
kb-select-10: "Super+0";
|
||||
ml-row-left: "ScrollLeft";
|
||||
ml-row-right: "ScrollRight";
|
||||
ml-row-up: "ScrollUp";
|
||||
ml-row-down: "ScrollDown";
|
||||
me-select-entry: "MousePrimary";
|
||||
me-accept-entry: "MouseDPrimary";
|
||||
me-accept-custom: "Control+MouseDPrimary";
|
||||
*/
|
||||
}
|
150
components/rofi/powermenu.rasi
Normal file
|
@ -0,0 +1,150 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
@import "colors.rasi"
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "JetBrainsMono Nerd Font Mono 10";
|
||||
background: @on-primary-fixed;
|
||||
background-alt: @on-primary-fixed-variant;
|
||||
foreground: @primary-fixed;
|
||||
selected: @primary-fixed-dim;
|
||||
selected-fg: @on-primary-fixed;
|
||||
active: @primary-fixed;
|
||||
urgent: @error;
|
||||
}
|
||||
|
||||
/*
|
||||
USE_BUTTONS=YES
|
||||
*/
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 550px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 20px;
|
||||
border-color: @selected;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview", "message" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
padding: 100px 80px;
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/hypr/wallpaper.png", width);
|
||||
children: [ "textbox-prompt-colon", "dummy","prompt"];
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: " System";
|
||||
padding: 12px;
|
||||
border-radius: 100%;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 12px;
|
||||
border-radius: 100%;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 4;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 15px;
|
||||
margin: 15px;
|
||||
background-color: transparent;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
padding: 28px 10px;
|
||||
border-radius: 100%;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font Mono 32";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected);
|
||||
text-color: var(selected-fg);
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px 15px 15px 15px;
|
||||
padding: 15px;
|
||||
border-radius: 100%;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
212
components/rofi/runner.rasi
Normal file
|
@ -0,0 +1,212 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
* Matugen colors
|
||||
**/
|
||||
|
||||
@import "colors.rasi"
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: "Apps";
|
||||
display-filebrowser: "Files";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c}";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "JetBrainsMono Nerd Font Mono 10";
|
||||
background: @on-primary-fixed;
|
||||
background-alt: @on-primary-fixed-variant;
|
||||
foreground: @primary-fixed;
|
||||
selected: @primary-fixed-dim;
|
||||
selected-fg: @on-primary-fixed;
|
||||
active: @primary-fixed;
|
||||
urgent: @error;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 1000px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
border-radius: 15px;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
}
|
||||
|
||||
listbox {
|
||||
spacing: 20px;
|
||||
padding: 20px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 100px 60px;
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/hypr/wallpaper.png", width);
|
||||
text-color: @foreground;
|
||||
orientation: horizontal;
|
||||
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 12px 15px;
|
||||
border-radius: 100%;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
width: 300px;
|
||||
padding: 12px 16px;
|
||||
border-radius: 100%;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
dummy {
|
||||
expand: true;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
button {
|
||||
width: 80px;
|
||||
padding: 12px;
|
||||
border-radius: 100%;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: @selected;
|
||||
text-color: @selected-fg;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 6;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
border-radius: 15px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
orientation: vertical;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: @urgent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element normal.active {
|
||||
background-color: @active;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @selected;
|
||||
text-color: @selected-fg;
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: @urgent;
|
||||
text-color: @selected-fg;
|
||||
}
|
||||
element selected.active {
|
||||
background-color: @urgent;
|
||||
text-color: @selected-fg;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 64px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
}
|
||||
textbox {
|
||||
padding: 15px;
|
||||
border-radius: 15px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
error-message {
|
||||
padding: 15px;
|
||||
border-radius: 15px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
40
components/tmux/tmux.conf
Normal file
|
@ -0,0 +1,40 @@
|
|||
set -g mouse on
|
||||
|
||||
set -sa terminal-overrides ",xterm*:Tc"
|
||||
set-option -g destroy-unattached on
|
||||
|
||||
unbind C-b
|
||||
set -g prefix C-Space
|
||||
bind C-Space send-prefix
|
||||
|
||||
set -g base-index 1
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
bind -n M-H previous-window
|
||||
bind -n M-: next-window
|
||||
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
# set -g @plugin 'dreamsofcode-io/catppuccin/tmux'
|
||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
|
||||
# set -g @catppuccin_flavour 'mocha'
|
||||
|
||||
set-window-option -g mode-keys vi
|
||||
|
||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-selection
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
|
||||
unbind %
|
||||
unbind '"'
|
||||
bind '\' split-window -v -c "#{pane_current_path}"
|
||||
bind ']' split-window -h -c "#{pane_current_path}"
|
||||
|
||||
bind C-l send-keys 'C-l'
|
||||
|
||||
run '~/.config/tmux/tpm/tpm'
|
1
components/tmux/tpm
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946
|
103
components/waybar/colors.css
Normal file
|
@ -0,0 +1,103 @@
|
|||
/*
|
||||
* Css Colors
|
||||
* Generated with Matugen
|
||||
*/
|
||||
|
||||
@define-color background #19120d;
|
||||
|
||||
@define-color error #ffb4ab;
|
||||
|
||||
@define-color error_container #93000a;
|
||||
|
||||
@define-color inverse_on_surface #382f28;
|
||||
|
||||
@define-color inverse_primary #895020;
|
||||
|
||||
@define-color inverse_surface #f0dfd6;
|
||||
|
||||
@define-color on_background #f0dfd6;
|
||||
|
||||
@define-color on_error #690005;
|
||||
|
||||
@define-color on_error_container #ffdad6;
|
||||
|
||||
@define-color on_primary #4f2500;
|
||||
|
||||
@define-color on_primary_container #ffdcc5;
|
||||
|
||||
@define-color on_primary_fixed #301400;
|
||||
|
||||
@define-color on_primary_fixed_variant #6d390a;
|
||||
|
||||
@define-color on_secondary #422b1a;
|
||||
|
||||
@define-color on_secondary_container #ffdcc5;
|
||||
|
||||
@define-color on_secondary_fixed #2a1708;
|
||||
|
||||
@define-color on_secondary_fixed_variant #5b412f;
|
||||
|
||||
@define-color on_surface #f0dfd6;
|
||||
|
||||
@define-color on_surface_variant #d6c3b7;
|
||||
|
||||
@define-color on_tertiary #30330b;
|
||||
|
||||
@define-color on_tertiary_container #e3e6af;
|
||||
|
||||
@define-color on_tertiary_fixed #1b1d00;
|
||||
|
||||
@define-color on_tertiary_fixed_variant #464920;
|
||||
|
||||
@define-color outline #9f8d83;
|
||||
|
||||
@define-color outline_variant #52443b;
|
||||
|
||||
@define-color primary #ffb781;
|
||||
|
||||
@define-color primary_container #6d390a;
|
||||
|
||||
@define-color primary_fixed #ffdcc5;
|
||||
|
||||
@define-color primary_fixed_dim #ffb781;
|
||||
|
||||
@define-color scrim #000000;
|
||||
|
||||
@define-color secondary #e4bfa7;
|
||||
|
||||
@define-color secondary_container #5b412f;
|
||||
|
||||
@define-color secondary_fixed #ffdcc5;
|
||||
|
||||
@define-color secondary_fixed_dim #e4bfa7;
|
||||
|
||||
@define-color shadow #000000;
|
||||
|
||||
@define-color source_color #d2741d;
|
||||
|
||||
@define-color surface #19120d;
|
||||
|
||||
@define-color surface_bright #413731;
|
||||
|
||||
@define-color surface_container #261e18;
|
||||
|
||||
@define-color surface_container_high #312822;
|
||||
|
||||
@define-color surface_container_highest #3c332d;
|
||||
|
||||
@define-color surface_container_low #221a14;
|
||||
|
||||
@define-color surface_container_lowest #140d08;
|
||||
|
||||
@define-color surface_dim #19120d;
|
||||
|
||||
@define-color surface_variant #52443b;
|
||||
|
||||
@define-color tertiary #c7ca95;
|
||||
|
||||
@define-color tertiary_container #464920;
|
||||
|
||||
@define-color tertiary_fixed #e3e6af;
|
||||
|
||||
@define-color tertiary_fixed_dim #c7ca95;
|
||||
|
77
components/waybar/waybar.css
Normal file
|
@ -0,0 +1,77 @@
|
|||
@import "colors.css";
|
||||
|
||||
* {
|
||||
font-family: "BigBlueTermPlus Nerd Font", SymbolsNerdFont;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
min-height: 0px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/* background-color: transparent; */
|
||||
background: @on_primary_fixed;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: @on_pimary_fixed;
|
||||
border-radius: 0px;
|
||||
margin: 0px 0px 0px 5px;
|
||||
}
|
||||
#workspaces button,
|
||||
#workspaces button:hover,
|
||||
#workspaces button.active {
|
||||
border-radius: 0px;
|
||||
padding: 2px 0px 0px 0px;
|
||||
}
|
||||
#workspaces button {
|
||||
color: @secondary_fixed_dim;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
color: @primary_fixed;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: @primary_fixed_dim
|
||||
}
|
||||
|
||||
#custom-power, #custom-runner, #custom-batmon,
|
||||
#wireplumber, #wireplumber.muted,
|
||||
#custom-rbracket, #custom-lbracket, #tray, #language, #clock, #window {
|
||||
background: @on_pimary_fixed;
|
||||
border-radius: 0px;
|
||||
color: @primary_fixed_dim;
|
||||
margin: 4px 2px 4px 2px;
|
||||
padding: 2px 0px 0px 0px;
|
||||
}
|
||||
|
||||
#custom-rbracket {
|
||||
margin: 4px 2px 4px 0px;
|
||||
}
|
||||
#custom-lbracket {
|
||||
margin: 4px 0px 4px 2px;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
margin: 4px 1px 4px 5px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin: 0px 8px;
|
||||
margin: 4px 0px 4px 0px
|
||||
}
|
||||
|
||||
#wireplumber, #wireplumber.muted {
|
||||
}
|
||||
#wireplumber.muted {
|
||||
color: @error;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin: 4px 5px 4px 1px;
|
||||
}
|
80
components/waybar/waybar.jsonc
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"position": "bottom",
|
||||
"height": 29,
|
||||
// "width": 900,
|
||||
"spacing": 0,
|
||||
// "margin-bottom": 5,
|
||||
"layer": "top",
|
||||
"modules-left": ["custom/power", "custom/runner", "hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"modules-right": ["custom/lbracket", "tray", "custom/rbracket", "custom/batmon", "wireplumber", "hyprland/language", "clock"],
|
||||
|
||||
"custom/power": {
|
||||
"format": "[POWER]",
|
||||
"on-click": "~/.config/hypr/bin/powermenu"
|
||||
},
|
||||
|
||||
"custom/runner": {
|
||||
"format": "[RUN]",
|
||||
"on-click": "~/.config/hypr/bin/runner"
|
||||
},
|
||||
|
||||
"custom/batmon": {
|
||||
"format": "[BAT: {}]",
|
||||
"exec": "~/.config/hypr/bin/batmon"
|
||||
},
|
||||
|
||||
"custom/rbracket": {
|
||||
"format": "]"
|
||||
},
|
||||
|
||||
"custom/lbracket": {
|
||||
"format": "["
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "[{}]",
|
||||
"rewrite": {
|
||||
},
|
||||
"separate-outputs": true
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"format": "[{name}]",
|
||||
"on-click": "activate",
|
||||
"tooltip": false,
|
||||
"persistent_workspaces": {
|
||||
"*": 1,
|
||||
"*": 2,
|
||||
"*": 3,
|
||||
"*": 4,
|
||||
"*": 5
|
||||
}
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 8,
|
||||
"show-passive-items": true
|
||||
},
|
||||
|
||||
"wireplumber": {
|
||||
"scroll-step": 2,
|
||||
"format": "[VOL: {volume}%]",
|
||||
"format-muted": "[VOL: mute]",
|
||||
"on-click": "pavucontrol",
|
||||
"max-volume": 100
|
||||
},
|
||||
|
||||
"hyprland/language": {
|
||||
"format": "[LANG: {}]",
|
||||
"format-en": "ENG",
|
||||
"format-ru": "RUS"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "[DATE: {:%Y-%m-%d}]",
|
||||
"format": "[TIME: {:%H:%M}]",
|
||||
"timezone": "Asia/Yekaterinburg"
|
||||
}
|
||||
}
|
1
hyprland.conf
Normal file
|
@ -0,0 +1 @@
|
|||
source = ./components/hyprland/hyprland.conf
|
61
matugen/config.toml
Normal file
|
@ -0,0 +1,61 @@
|
|||
[config]
|
||||
reload_apps = true
|
||||
|
||||
[config.reload_apps_list]
|
||||
waybar = true
|
||||
|
||||
[templates.hyprland]
|
||||
input_path = '~/.config/hypr/matugen/templates/hyprland-colors.conf'
|
||||
output_path = '~/.config/hypr/components/hyprland/colors.conf'
|
||||
|
||||
[templates.alacritty]
|
||||
input_path = '~/.config/hypr/matugen/templates/alacritty.toml'
|
||||
output_path = '~/.config/alacritty/colors.toml'
|
||||
|
||||
[templates.waybar]
|
||||
input_path = '~/.config/hypr/matugen/templates/colors.css'
|
||||
output_path = '~/.config/hypr/components/waybar/colors.css'
|
||||
|
||||
[templates.gtk3-user]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/gtk-3.0/colors.css'
|
||||
|
||||
[templates.gtk3-light]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/hypr/matugen/export/adw-gtk3/gtk-3.0/colors.css'
|
||||
|
||||
[templates.gtk3-dark]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/hypr/matugen/export/adw-gtk3-dark/gtk-3.0/colors.css'
|
||||
|
||||
[templates.gtk4-user]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/gtk-4.0/colors.css'
|
||||
|
||||
[templates.gtk4-light]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/hypr/matugen/export/adw-gtk3/gtk-4.0/colors.css'
|
||||
|
||||
[templates.gtk4-dark]
|
||||
input_path = '~/.config/hypr/matugen/templates/gtk-colors.css'
|
||||
output_path = '~/.config/hypr/matugen/export/adw-gtk3-dark/gtk-4.0/colors.css'
|
||||
|
||||
[templates.vesktop]
|
||||
input_path = '~/.config/hypr/matugen/templates/midnight-discord.css'
|
||||
output_path = '~/.config/vesktop/themes/matugen.theme.css'
|
||||
|
||||
[templates.qt6ct]
|
||||
input_path = '~/.config/hypr/matugen/templates/qtct-colors.conf'
|
||||
output_path = '~/.config/qt6ct/colors/matugen.conf'
|
||||
|
||||
[templates.qt5ct]
|
||||
input_path = '~/.config/hypr/matugen/templates/qtct-colors.conf'
|
||||
output_path = '~/.config/qt5ct/colors/matugen.conf'
|
||||
|
||||
[templates.mako]
|
||||
input_path = '~/.config/hypr/matugen/templates/mako.conf'
|
||||
output_path = '~/.config/hypr/components/mako/mako.conf'
|
||||
|
||||
[templates.rofi]
|
||||
input_path = '~/.config/hypr/matugen/templates/rofi-colors.rasi'
|
||||
output_path = '~/.config/hypr/components/rofi/colors.rasi'
|
|
@ -0,0 +1 @@
|
|||
<svg height="14" width="14" xmlns="http://www.w3.org/2000/svg"><g style="display:inline"><path d="M388 342c-2.207 0-4 1.793-4 4s1.793 4 4 4c2.208 0 4-1.793 4-4s-1.792-4-4-4z" style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Andale Mono';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.389;marker:none" transform="translate(-381 -339)"/></g></svg>
|
After Width: | Height: | Size: 689 B |
After Width: | Height: | Size: 165 B |
After Width: | Height: | Size: 268 B |
|
@ -0,0 +1 @@
|
|||
<svg height="14" width="14" xmlns="http://www.w3.org/2000/svg"><g style="display:inline;opacity:1"><path style="color:#000;display:inline;fill:#bebebe;fill-opacity:1;stroke-linecap:round;-inkscape-stroke:none" d="M414.145 341.9a1.25 1.25 0 0 0-1.766.092l-5.68 6.305-2.881-2.909a1.25 1.25 0 0 0-1.766 1.77l4.743 4.768 7.442-8.262a1.25 1.25 0 0 0-.092-1.764z" transform="translate(-401 -339)"/></g></svg>
|
After Width: | Height: | Size: 402 B |
After Width: | Height: | Size: 244 B |
After Width: | Height: | Size: 369 B |
|
@ -0,0 +1 @@
|
|||
<svg height="14" width="14" xmlns="http://www.w3.org/2000/svg"><g style="display:inline"><path style="color:#000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M407 367h8c1.108 0 2 .892 2 2s-.892 2-2 2h-8c-1.108 0-2-.892-2-2s.892-2 2-2z" transform="translate(-404 -362)"/></g></svg>
|
After Width: | Height: | Size: 770 B |
After Width: | Height: | Size: 130 B |
After Width: | Height: | Size: 183 B |
After Width: | Height: | Size: 922 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 813 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 705 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 788 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 957 B |
After Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 836 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 688 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 786 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 933 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 813 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 721 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 786 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 941 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 818 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 714 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 791 B |
After Width: | Height: | Size: 1.7 KiB |
BIN
matugen/export/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png
Normal file
After Width: | Height: | Size: 135 B |
After Width: | Height: | Size: 140 B |
BIN
matugen/export/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png
Normal file
After Width: | Height: | Size: 135 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 844 B |
After Width: | Height: | Size: 1.8 KiB |
BIN
matugen/export/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png
Normal file
After Width: | Height: | Size: 771 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 834 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 776 B |