first commit

This commit is contained in:
hdvt
2025-11-13 23:48:27 +03:00
commit 981b16aa8d
28 changed files with 1844 additions and 0 deletions

257
btop/btop.conf Normal file
View File

@@ -0,0 +1,257 @@
#? Config file for btop v. 1.4.5
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "/usr/share/btop/themes/greyscale.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 700
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "memory"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

1
fish/conf.d/rustup.fish Normal file
View File

@@ -0,0 +1 @@
source "$HOME/.cargo/env.fish"

130
fish/config.fish Normal file
View File

@@ -0,0 +1,130 @@
set -x MANROFFOPT "-c"
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
# Set settings for https://github.com/franciscolourenco/done
set -U __done_min_cmd_duration 10000
set -U __done_notification_urgency_level low
## Environment setup
# Apply .profile: use this to put fish compatible .profile stuff in
if test -f ~/.fish_profile
source ~/.fish_profile
end
# Add ~/.local/bin to PATH
if test -d ~/.local/bin
if not contains -- ~/.local/bin $PATH
set -p PATH ~/.local/bin
end
end
# Add depot_tools to PATH
if test -d ~/Applications/depot_tools
if not contains -- ~/Applications/depot_tools $PATH
set -p PATH ~/Applications/depot_tools
end
end
## Functions
# Functions needed for !! and !$ https://github.com/oh-my-fish/plugin-bang-bang
function __history_previous_command
switch (commandline -t)
case "!"
commandline -t $history[1]; commandline -f repaint
case "*"
commandline -i !
end
end
function __history_previous_command_arguments
switch (commandline -t)
case "!"
commandline -t ""
commandline -f history-token-search-backward
case "*"
commandline -i '$'
end
end
if [ "$fish_key_bindings" = fish_vi_key_bindings ];
bind -Minsert ! __history_previous_command
bind -Minsert '$' __history_previous_command_arguments
else
bind ! __history_previous_command
bind '$' __history_previous_command_arguments
end
# Fish command history
function history
builtin history --show-time='%F %T '
end
function backup --argument filename
cp $filename $filename.bak
end
# Copy DIR1 DIR2
function copy
set count (count $argv | tr -d \n)
if test "$count" = 2; and test -d "$argv[1]"
set from (echo $argv[1] | trim-right /)
set to (echo $argv[2])
command cp -r $from $to
else
command cp $argv
end
end
## Useful aliases
# Replace ls with eza
# Common use
alias grubup="sudo grub-mkconfig -o /boot/grub/grub.cfg"
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
alias tarnow='tar -acf '
alias untar='tar -zxvf '
alias wget='wget -c '
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ......='cd ../../../../..'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias hw='hwinfo --short' # Hardware Info
alias big="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
alias update='sudo pacman -Syu'
# Get fastest mirrors
alias mirror="sudo cachyos-rate-mirrors"
# Help people new to Arch
alias apt='man pacman'
alias apt-get='man pacman'
alias please='sudo'
alias tb='nc termbin.com 9999'
# Cleanup orphaned packages
alias cleanup='sudo pacman -Rns (pacman -Qtdq)'
# Get the error messages from journalctl
alias jctl="journalctl -p 3 -xb"
# Recent installed packages
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
starship init fish | source
set -x EZA_COLORS "da=38;5;244:uu=38;5;244:ug=38;5;244:su=38;5;244:di=1;37:ln=36:b=33:c=33:p=33:s=1;31:fi=0:gm=33:ga=32:gd=31:gR=34:gt=34:lp=36:hd=4:*.md=38;5;220:*.gradle=38;5;220"
# Также создадим удобные алиасы для eza
alias ls='eza --icons --git'
alias ll='eza -l --icons --git'
alias la='eza -la --icons --git'
alias llt='eza --tree --level=2 --long --icons --git'

38
fish/fish_variables Normal file
View File

@@ -0,0 +1,38 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __done_min_cmd_duration:10000
SETUVAR __done_notification_urgency_level:low
SETUVAR __fish_initialized:3800
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:555\x1ebrblack
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:\x2d\x2dbackground\x3d111
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_greeting:
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
SETUVAR fish_pager_color_prefix:cyan\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:/var/lib/flatpak/exports/bin\x1e/home/hadvart/\x2espicetify

View File

@@ -0,0 +1,43 @@
function fish_prompt
# Сохраняем код последней выполненной команды
set -l last_status $status
# --- Левая (черная) часть ---
# Устанавливаем черный фон и белый цвет текста
set_color -b black white
# Выводим текущую директорию. prompt_pwd - это встроенная функция fish для сокращенного пути
echo -n ' '(prompt_pwd)' '
# --- Разделитель и правая (белая) часть ---
# Используем символ powerline для плавного перехода
set_color -b white black
echo -n '' # Символ-разделитель
# Получаем информацию о Git
set -l git_info (fish_git_prompt)
# Если мы находимся в Git-репозитории, отображаем информацию
if test -n "$git_info"
# Устанавливаем белый фон и черный цвет текста
set_color -b white black
echo -n $git_info' '
set_color -b normal # Сбрасываем фон
echo -n ' '
else
# Если не в репозитории, просто завершаем белую часть
set_color -b normal
echo -n ' '
# --- Завершение командной строки ---
# Возвращаем стандартные цвета
set_color normal
# Отображаем символ '>' красным цветом, если последняя команда завершилась с ошибкой
if test $last_status -ne 0
set_color red
end
echo -n '> '
set_color normal
end
end

90
hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,90 @@
#SOURCES
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/theme.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,2560x1600@120,auto,1.6
monitor=HDMI-A-1,1920x1080@165,auto,auto
exec = bash ~/.config/hypr/scripts/disable_laptop_screen.sh
xwayland {
force_zero_scaling = true
}
env = _JAVA_AWT_WM_NONREPARENTING,1
#############################
### ENVIRONMENT VARIABLES ###
#############################
# DARK THEME
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
# EXECS
exec = ~/.config/hypr/scripts/restart.sh waybar
exec = ~/.config/hypr/scripts/restart.sh hyprpaper
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = export _JAVA_AWT_WM_NONREPARENTING=1
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}
############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrulev2 = float, class:^(jetbrains-.*)$, title:^(?!.*)$
windowrulev2 = float, class:^(jetbrains-.*)$, title:^(win.*)$
windowrulev2 = float, class:^(jetbrains-.*)$, title:^(\s*)$
# Prevent focus stealing from pop-ups, let the main window keep focus
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$, title:^(?!.*)$
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$, title:^(\s*)$

81
hypr/hyprland.conf.save Normal file
View File

@@ -0,0 +1,81 @@
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
#SOURCES
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/theme.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,2560x1600@120,auto,1.6
monitor=HDMI-A-1,1920x1080@165,auto,auto
exec = bash ~/.config/hypr/scripts/disable_laptop_screen.sh
xwayland {
force_zero_scaling = true
}
env = _JAVA_AWT_WM_NONREPARENTING,1
#############################
### ENVIRONMENT VARIABLES ###
#############################
# DARK THEME
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
# EXECS
exec = ~/.config/hypr/scripts/restart.sh waybar
exec = ~/.config/hypr/scripts/restart.sh hyprpaper
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}
############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

54
hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,54 @@
general {
hide_cursor = false
}
background {
blur_passes = 3
blur_size = 5
path = screenshot
}
input-field {
x = 0
y = -20
width = 200
height = 50
monitor =
dots_size = 0.2
dots_spacing = 0.3
dots_center = true
outer_color = rgba(255,255,255,0.2)
inner_color = rgba(0,0,0,0.6)
font_color = rgba(255,255,255,1.0)
fade_on_empty = false
placeholder_text = 
placeholder_font_size = 16
}
label {
monitor =
text = $TIME
font_size = 40
font_family = $font
position = 0, 100
halign = center
valign = center
}
label {
monitor =
text = $LAYOUT
font_size = 24
font_family = $font
onclick = hyprctl switchxkblayout all next
position = -10, 20
halign = right
valign = bottom
}

3
hypr/hyprpaper.conf Normal file
View File

@@ -0,0 +1,3 @@
preload = /home/hadvart/Pictures/wallpaper/main.png
wallpaper = HDMI-A-1,/home/hadvart/Pictures/wallpaper/main.png
wallpaper = eDP-1,/home/hadvart/Pictures/wallpaper/main.png

28
hypr/input.conf Normal file
View File

@@ -0,0 +1,28 @@
input {
kb_layout = us,ru
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle
kb_rules =
follow_mouse = 1
sensitivity = 0
touchpad {
natural_scroll = true
}
}
cursor {
no_hardware_cursors = false
use_cpu_buffer = true
}
gesture = 3, horizontal, workspace
gesture = 3, pinchout, float
device {
name = epic-mouse-v1
sensitivity = -0.5
}

118
hypr/keybindings.conf Normal file
View File

@@ -0,0 +1,118 @@
$terminal = kitty
$fileManager = yazi
$menu = wofi --show drun
$browser = zen-browser
$editor = zeditor
$player = spotify
#--------------------------------AUTO
# exec-once = waybar & hyprpaper & firefox
#-------------------------- BINDS --------------------------------
$mainMod = SUPER
bindr = $mainMod, Super_L, exec, ~/.config/wofi/wofi_toggle.sh
bind = $mainMod, o, exec, obsidian
bind = $mainMod, Q, killactive,
bind = $mainMod, T, exec, kitty
bind = $mainMod, B, exec, $browser
bind = $mainMod, Z, exec, zeditor
bind = $mainMod, DELETE, exit,
bind = $mainMod, W, exec, hyprctl dispatch togglefloating; hyprctl dispatch resizeactive exact 50% 50%; hyprctl dispatch centerwindow
bind = $mainMod, E, exec, kitty sh -c "$fileManager"
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo,
bind = $mainMod, L, exec, hyprlock
bind = CTRL_SHIFT, escape, exec, missioncenter
bind = $mainMod, F11, fullscreen
bind = $mainMod CTRL SHIFT, R, exec, hyprctl reload
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
bind = $mainMod CTRL, E, exec, systemctl suspend
bind = $mainMod, H, movetoworkspacesilent, special
bind = $mainMod SHIFT, V, exec, bash $HOME/.config/hypr/scripts/floating.sh pavucontrol
# screen utils
bind = $mainMod ALT, C, exec, hyprpicker --autocopy --format=hex
bind = $mainMod SHIFT, S, exec, hyprshot -m region --freeze --clipboard-only --silent
bind = $mainMod ALT, S, exec, hyprshot -m window --freeze --clipboard-only --silent
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, right, resizeactive, 10 0
bind = $mainMod SHIFT, left, resizeactive, -10 0
bind = $mainMod SHIFT, up, resizeactive, 0 -10
bind = $mainMod SHIFT, down, resizeactive, 0 10
bind = $mainMod CTRL_SHIFT, right, resizeactive, 50 0
bind = $mainMod CTRL_SHIFT, left, resizeactive, -50 0
bind = $mainMod CTRL_SHIFT, up, resizeactive, 0 -50
bind = $mainMod CTRL_SHIFT, down, resizeactive, 0 50
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bind = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +10%
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bind = $mainMod, F9, exec, playerctl play-pause
bind = $mainMod, F10, exec, playerctl previous
bind = $mainMod, F12, exec, playerctl next
bind = ,F9, exec, playerctl --player=$player play-pause
bind = ,F10, exec, playerctl --player=$player previous
bind = ,F12, exec, playerctl --player=$player next
bind = SHIFT, F9, exec, playerctl --player=zen-bin play-pause
bind = SHIFT, F12, exec, playerctl --player=zen-bin next
bind = SHIFT, F10, exec, playerctl --player=zen-bin previous
$LAPTOP_KB_ENABLED = true
device {
name = chuandong--l7-mix-keyboard
enabled = $LAPTOP_KB_ENABLED
}

108
hypr/keybindings.conf.save Normal file
View File

@@ -0,0 +1,108 @@
$terminal = kitty
$fileManager = yazi
$menu = wofi --show drun
$browser = zen-browser
$editor = zeditor
$player = spotify
#--------------------------------AUTO
# exec-once = waybar & hyprpaper & firefox
#-------------------------- BINDS --------------------------------
$mainMod = SUPER
bindr = $mainMod, Super_L, exec, ~/.config/wofi/wofi_toggle.sh
bind = $mainMod, Q, killactive,
bind = $mainMod, T, exec, kitty
bind = $mainMod, B, exec, $browser
bind = $mainMod, Z, exec, /usr/bin/zed.sh
bind = $mainMod, DELETE, exit,
bind = $mainMod, W, exec, hyprctl dispatch togglefloating; hyprctl dispatch resizeactive exact 50% 50%; hyprctl dispatch centerwindow
bind = $mainMod, E, exec, kitty sh -c "$fileManager"
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo,
bind = $mainMod, L, exec, hyprlock
bind = CTRL_SHIFT, escape, exec, missioncenter
bind = $mainMod, F11, fullscreen
# screen utils
bind = $mainMod ALT, C, exec, hyprpicker --autocopy --format=hex
bind = $mainMod SHIFT, S, exec, hyprshot -m region --freeze --clipboard-only --silent
bind = $mainMod ALT, S, exec, hyprshot -m window --freeze --clipboard-only --silent
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, right, resizeactive, 10 0
bind = $mainMod SHIFT, left, resizeactive, -10 0
bind = $mainMod SHIFT, up, resizeactive, 0 -10
bind = $mainMod SHIFT, down, resizeactive, 0 10
bind = $mainMod CTRL_SHIFT, right, resizeactive, 50 0
bind = $mainMod CTRL_SHIFT, left, resizeactive, -50 0
bind = $mainMod CTRL_SHIFT, up, resizeactive, 0 -50
bind = $mainMod CTRL_SHIFT, down, resizeactive, 0 50
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindr = , F9, exec, playerctl play-pause
bindr = , F10, exec, playerctl previous
bindr = , F12, exec, playerctl next
bind = , F10, exec, playerctl --player=$player previous
bind = , F12, exec, playerctl --player=$player next
bind = SHIFT, F9, exec, playerctl --player=zen-bin play-pause
bind = SHIFT, F12, exec, playerctl --player=zen-bin next
bind = SHIFT, F10, exec, playerctl --player=zen-bin previous

View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
export STATUS_FILE="$XDG_RUNTIME_DIR/keyboard.status"
enable_keyboard() {
printf "true" >"$STATUS_FILE"
notify-send -u normal "Enabling Keyboard"
hyprctl keyword '$LAPTOP_KB_ENABLED' "true" -r
}
disable_keyboard() {
printf "false" >"$STATUS_FILE"
notify-send -u normal "Disabling Keyboard"
hyprctl keyword '$LAPTOP_KB_ENABLED' "false" -r
}
if ! [ -f "$STATUS_FILE" ]; then
enable_keyboard
else
if [ $(cat "$STATUS_FILE") = "true" ]; then
disable_keyboard
elif [ $(cat "$STATUS_FILE") = "false" ]; then
enable_keyboard
fi
fi

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Check if HDMI-A-1 is present in hyprctl monitors output
if hyprctl monitors | grep -q "HDMI-A-1"; then
hyprctl keyword monitor eDP-1,disable
else
echo "HDMI-A-1 not detected. No action taken."
fi

7
hypr/scripts/floating.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
if [ $# -eq 0 ]; then
exit 1
fi
hyprctl dispatch exec "[float; center] $1"

16
hypr/scripts/restart.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
if [ -z "$1" ]; then
echo "use: $0 <program>"
exit 1
fi
PROGRAM_NAME=$1
if pgrep -x "$PROGRAM_NAME" > /dev/null
then
pkill -x "$PROGRAM_NAME"
sleep 1
fi
$PROGRAM_NAME > /dev/null 2>&1 &

85
hypr/scripts/spotify-menu.sh Executable file
View File

@@ -0,0 +1,85 @@
#!/bin/bash
# --- ИКОНКИ (требуется Nerd Font) ---
# Вы можете заменить их на любые другие символы или эмодзи
ICON_PLAY="" # Play
ICON_PAUSE="" # Pause
ICON_NEXT="" # Next
ICON_PREV="" # Previous
ICON_SHUFFLE="" # Shuffle
ICON_REPEAT="" # Repeat
ICON_ARTIST="" # Artist
ICON_TITLE="" # Title (custom icon, could be  for music)
# Проверяем, запущен ли Spotify
if ! playerctl -p spotify status &> /dev/null; then
wofi --show dmenu -p "Spotify" <<< " Spotify не запущен"
exit 1
fi
# --- Получение текущего состояния плеера ---
STATUS=$(playerctl -p spotify status)
SHUFFLE_STATUS=$(playerctl -p spotify shuffle)
LOOP_STATUS=$(playerctl -p spotify loop)
ARTIST=$(playerctl -p spotify metadata artist)
TITLE=$(playerctl -p spotify metadata title)
# --- Формирование пунктов меню ---
# Строка с информацией о треке
INFO="$ICON_ARTIST $ARTIST\n$ICON_TITLE $TITLE"
# Кнопка Play/Pause
if [ "$STATUS" = "Playing" ]; then
PLAY_PAUSE="$ICON_PAUSE Пауза"
else
PLAY_PAUSE="$ICON_PLAY Воспроизвести"
fi
# Кнопка Shuffle
if [ "$SHUFFLE_STATUS" = "On" ]; then
SHUFFLE="[Вкл] $ICON_SHUFFLE Перемешать"
else
SHUFFLE="[Выкл] $ICON_SHUFFLE Перемешать"
fi
# Кнопка Repeat
if [ "$LOOP_STATUS" = "Track" ]; then
REPEAT="[Трек] $ICON_REPEAT Повтор"
elif [ "$LOOP_STATUS" = "Playlist" ]; then
REPEAT="[Плейлист] $ICON_REPEAT Повтор"
else
REPEAT="[Выкл] $ICON_REPEAT Повтор"
fi
# Остальные кнопки
PREV="$ICON_PREV Пред. трек"
NEXT="$ICON_NEXT След. трек"
# --- Отображение меню Wofi ---
# Собираем все опции в одну переменную, разделяя их новой строкой
options="$PLAY_PAUSE\n$PREV\n$NEXT\n$SHUFFLE\n$REPEAT"
# Вызываем Wofi, передавая ему опции и информацию о треке в качестве заголовка
# Используем кастомные файлы конфигурации и стилей
choice=$(echo -e "$options" | wofi --show dmenu -p "$INFO" --conf ~/.config/wofi/spotify/config --style ~/.config/wofi/spotify/style.css)
# --- Обработка выбора пользователя ---
case "$choice" in
"$PLAY_PAUSE")
playerctl -p spotify play-pause
;;
"$PREV")
playerctl -p spotify previous
;;
"$NEXT")
playerctl -p spotify next
;;
"$SHUFFLE")
playerctl -p spotify shuffle Toggle
;;
"$REPEAT")
playerctl -p spotify loop Playlist
;;
esac

67
hypr/theme.conf Normal file
View File

@@ -0,0 +1,67 @@
general {
gaps_in = 5
gaps_out = 5
border_size = 2
col.active_border = rgba(f5f5f5aa)
col.inactive_border = rgba(595959aa)
resize_on_border = false
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 10
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 0.9
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = yes, please :)
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
}
#windowrulev2 = opacity 0.9 0.9,class:^(jetbrains-idea-ce)$

9
kitty/kitty.conf Normal file
View File

@@ -0,0 +1,9 @@
font_family JetBrains Mono
font_size 12.0
background #0E0E0E
padding_width 10
background_opacity 0.4
confirm_os_window_close 0
window_padding_width 5

349
nano/nanorc Normal file
View File

@@ -0,0 +1,349 @@
## Sample initialization file for GNU nano.
##
## For the options that take parameters, the default value is shown.
## Other options are unset by default. To make sure that an option
## is disabled, you can use "unset <option>".
##
## Characters that are special in a shell should not be escaped here.
## Inside string parameters, quotes should not be escaped -- the last
## double quote on the line will be seen as the closing quote.
## If you want ^F, ^B, M-F and M-B to do what they did before version 8.0:
# bind ^F forward main
# bind ^B back main
# bind M-F formatter main
# bind M-B linter main
## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
## stop at word ends instead of at beginnings.
# set afterends
## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
# set atblanks
## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
# set autoindent
## Back up files to the current filename plus a tilde.
# set backup
## The directory to put unique backup files in.
# set backupdir ""
## Use bold text instead of reverse video text.
# set boldtext
## Treat any line with leading whitespace as the beginning of a paragraph.
# set bookstyle
## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters. Only closing punctuation,
## optionally followed by these closing brackets, can end sentences.
# set brackets ""')>]}"
## Automatically hard-wrap the current line when it becomes overlong.
# set breaklonglines
## Do case-sensitive searches by default.
# set casesensitive
## Interpret digits given on the command line after a colon after a filename
## as the line number to go to in that file.
# set colonparsing
## Constantly report the cursor position, in the status bar or minibar.
# set constantshow
## Use cut-from-cursor-to-end-of-line by default.
# set cutfromcursor
## Do not use the line below the title bar, leaving it entirely blank.
# set emptyline
## Set the target width for automatic hard-wrapping and for justifying
## paragraphs. If the specified value is 0 or less, the wrapping point
## will be the terminal's width minus this number.
# set fill -8
## Draw a vertical stripe at the given column, to help judge text width.
## (This option does not have a default value.)
# set guidestripe 75
## Remember the used search/replace strings for the next session.
# set historylog
## Display a "scrollbar" on the righthand side of the edit window.
# set indicator
## Scroll the buffer contents per half-screen instead of per line.
# set jumpyscrolling
## Display line numbers to the left (and any anchors in the margin).
# set linenumbers
## Enable vim-style lock-files. This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa. There are
## no plans to implement vim-style undo state in these files.
# set locking
## Fall back to slow libmagic to try and determine an applicable syntax.
# set magic
## The opening and closing brackets that are found by a matching-bracket
## search. This may not contain blank characters. The opening brackets
## must come before the closing ones, and they must be in the same order.
# set matchbrackets "(<[{)>]}"
## Suppress the title bar and show the filename plus a cursor-position
## percentage in the space of the status bar.
# set minibar
## Enable mouse support, if available for your system. When enabled,
## mouse clicks can be used to place the cursor, set the mark (with
## two clicks), and execute shortcuts. The mouse will work in the
## X Window System, and on the console when gpm is running.
# set mouse
## Switch on multiple file buffers (inserting a file will put it into
## a separate buffer).
# set multibuffer
## Don't convert files from DOS/Mac format.
# set noconvert
## Don't display the helpful shortcut lists at the bottom of the screen.
# set nohelp
## Don't automatically add a newline when a file does not end with one.
# set nonewlines
## Set operating directory. nano will not read or write files outside
## this directory and its subdirectories. Also, the current directory
## is changed to here, so any files are inserted from this dir. A blank
## string means the operating-directory feature is turned off.
# set operatingdir ""
## Remember the position of cursor and anchors for the next editing session.
# set positionlog
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
## The characters treated as closing punctuation when justifying paragraphs.
## This may not contain blank characters. Only these terminating characters,
## optionally followed by closing brackets, can end sentences.
# set punct "!.?"
## Make status-bar messages disappear after 1 keystroke instead of after 20.
# set quickblank
## The regular expression that matches quoting characters in email
## or line-comment introducers in source code. The default is:
# set quotestr "^([ ]*([!#%:;>|}]|//))+"
## Try to work around a mismatching terminfo terminal description.
# set rawsequences
## Fix Backspace/Delete confusion problem.
# set rebinddelete
## Do regular-expression searches by default.
## Regular expressions are of the extended type (ERE).
# set regexp
## Save a changed buffer automatically on exit; don't prompt.
# set saveonexit
## Put the cursor on the highlighted item in the file browser, and
## show the cursor in the help viewer; useful for people who use a
## braille display and people with poor vision.
# set showcursor
## Make the Home key smarter: when Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
## cursor is already at that position, it will jump to the true start
## of the line (the left edge).
# set smarthome
## Spread overlong lines over multiple screen lines.
# set softwrap
## Use this spelling checker instead of the internal one. This option
## does not have a default value.
# set speller "aspell -x -c"
## Use the end of the title bar for some state flags: I = auto-indenting,
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
# set stateflags
## Use this tab size instead of the default; it must be greater than 0.
# set tabsize 8
## Convert each typed tab to the fitting number of spaces.
# set tabstospaces
## Snip whitespace at the end of lines when justifying or hard-wrapping.
# set trimblanks
## Save files by default in Unix format (also when they were DOS or Mac).
# set unix
## The two single-column characters used to display the first characters
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
## The default when in a UTF-8 locale:
# set whitespace "»·"
## The default otherwise:
# set whitespace ">."
## Detect word boundaries differently by treating punctuation
## characters as parts of words.
# set wordbounds
## The characters (besides alphanumeric ones) that should be considered
## as parts of words. This option does not have a default value. When
## set, it overrides option 'set wordbounds'.
# set wordchars "<_>."
## Let an unmodified Backspace or Delete erase the marked region (instead
## of a single character, and without affecting the cutbuffer).
# set zap
## Hide the bars plus help lines and use the whole terminal as edit area.
# set zero
## Paint the interface elements of nano. These are examples; there are
## no colors by default, except for errorcolor and spotlightcolor.
# set titlecolor bold,white,blue
# set promptcolor lightwhite,grey
# set statuscolor bold,white,green
# set errorcolor bold,white,red
# set spotlightcolor black,lightyellow
# set selectedcolor lightwhite,#804
# set stripecolor ,#444
# set scrollercolor slate,#222
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green
## In root's .nanorc you might want to use:
# set titlecolor bold,white,magenta
# set promptcolor black,yellow
# set statuscolor bold,white,magenta
# set errorcolor bold,white,red
# set spotlightcolor black,orange
# set selectedcolor lightwhite,cyan
# set stripecolor ,yellow
# set scrollercolor magenta
# set numbercolor magenta
# set keycolor lightmagenta
# set functioncolor magenta
## === Syntax coloring ===
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
## To include most of the existing syntax definitions, you can do:
# include /usr/share/nano/*.nanorc
## Or you can select just the ones you need. For example:
# include /usr/share/nano/html.nanorc
# include /usr/share/nano/python.nanorc
# include /usr/share/nano/sh.nanorc
## In /usr/share/nano/extra/ you can find some syntaxes that are
## specific for certain distros or for some less common languages.
## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
# extendsyntax python tabgives " "
## === Key bindings ===
## For all details, see 'man nanorc', section REBINDING KEYS.
## If you want to suspend nano with one keystroke (instead of with ^T^Z):
# bind ^Z suspend main
## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
## the ASCII character for backspace, so it is bound by default to the
## backspace function. The <Backspace> key itself produces a different
## keycode, which is hard-bound to the backspace function. So, if you
## normally use <Backspace> for backspacing and not ^H, you can make
## <Ctrl+Backspace> delete the word to the left of the cursor with:
# bind ^H chopwordleft main
## For a more mnemonic Comment keystroke (overriding Cut-from-cursor):
# bind M-K comment main
## If you want ^L to just refresh the screen and not center the cursor:
# bind ^L refresh main
## When you sometimes type M-J instead of M-K, or M-T instead of M-R:
# unbind M-J main
# unbind M-T main
## (Those functions are still accessible through ^T^J and ^T^V.)
## For quickly uppercasing or lowercasing the word that the cursor is on.
## (These effectively select a word and pipe it through a sed command.)
# bind Sh-M-U "{nextword}{mark}{prevword}{execute}| sed 's/.*/\U&/' {enter}" main
# bind Sh-M-L "{nextword}{mark}{prevword}{execute}| sed 's/.*/\L&/' {enter}" main
## For copying a marked region to the system clipboard:
# bind Sh-M-C "{execute}| xsel -ib {enter}{undo}" main
## For normalizing Unicode to precomposed characters:
# bind Sh-M-N "{execute}| uconv -x nfc {enter}" main
## For wiping all anchors in a buffer:
# bind Sh-M-W "{execute}| cat {enter}" main
## For snipping trailing blanks when you save a file:
# bind ^S "{execute}| sed 's/\s\+$//' {enter}{savefile}" main
## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
# bind ^X cut main
# bind ^C copy main
# bind ^V paste all
# bind ^Q exit all
# bind ^S savefile main
# bind ^W writeout main
# bind ^O insert main
# set multibuffer
# bind ^H help all
# bind ^H exit help
# bind ^F whereis all
# bind ^G findnext all
# bind ^B wherewas all
# bind ^D findprevious all
# bind ^R replace main
# unbind ^U all
# unbind ^N main
# unbind ^Y all
# unbind M-J main
# unbind M-T main
# bind ^A mark main
# bind ^P location main
# bind ^T gotoline main
# bind ^T gotodir browser
# bind ^T cutrestoffile execute
# bind ^L linter execute
# bind ^E execute main
# bind ^K "{mark}{end}{zap}" main
# bind ^U "{mark}{home}{zap}" main
# bind ^Z undo main
# bind ^Y redo main
include "/usr/share/nano/*.nanorc"
include "/usr/share/nano/extra/*.nanorc"
include "/usr/share/nano-syntax-highlighting/*.nanorc"

93
waybar/config.jsonc Normal file
View File

@@ -0,0 +1,93 @@
{
"position": "bottom",
"modules-left": ["custom/arch", "hyprland/workspaces", "hyprland/window"],
"modules-center": ["clock"],
"modules-right": ["hyprland/language", "battery", "temperature"],
"hyprland/language": {
"tooltip": false,
"format-ru": " RU",
"format-en": " US",
},
"custom/music": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{title}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(artist)}} - {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"on-click": "~/.config/eww/music/toggle_music.sh",
"format-icons": {
"Playing": "",
"Paused": ""
}
},
"cava": {
"framerate": 60,
"sleep_timer": 1,
"format_silent" : "",
"autosens": 0,
"sensitivity": 1000,
"bars": 12,
"lower_cutoff_freq": 50,
"higher_cutoff_freq": 10000,
// "hide_on_silence": true,
"method": "pulse",
"source": "auto",
"stereo": true,
"reverse": false,
"bar_delimiter": 0,
"monstercat": false,
"noise_reduction": 0.37,
"input_delay": 0,
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
"actions": {
"on-click-right": "mode",
},
},
"battery": {
"states": {
"warning": 30,
"critical": 15,
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": ["", "", "", "", ""],
},
"temperature": {
"interval": 1,
"critical-threshold": 80,
"warning-threshold": 65,
"format": "{icon} {temperatureC}°C",
"format-warning": " {temperatureC}°C",
"format-critical": " {temperatureC}°C",
"format-icons": ["", "", ""],
},
"clock": {
"interval": 1,
"format": "{:%H:%M:%S}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
},
"hyprland/workspaces": {
"format": "{id}",
"on-click": "activate",
"all-outputs": false,
"persistent_workspaces": {
"*": 5,
},
},
"custom/arch": {
"format": "",
"tooltip": "Arch Linux",
"on-click": "hyprctl dispatch exec \"[float; center] missioncenter\"",
},
}

30
waybar/scripts/cava.sh Executable file
View File

@@ -0,0 +1,30 @@
#! /bin/bash
bar="▁▂▃▄▅▆▇█"
dict="s/;//g;"
# creating "dictionary" to replace char with bar
i=0
while [ $i -lt ${#bar} ]
do
dict="${dict}s/$i/${bar:$i:1}/g;"
i=$((i=i+1))
done
# write cava config
config_file="/tmp/polybar_cava_config"
echo "
[general]
bars = 18
[output]
method = raw
raw_target = /dev/stdout
data_format = ascii
ascii_max_range = 7
" > $config_file
# read stdout from cava
cava -p $config_file | while read -r line; do
echo $line | sed $dict
done

88
waybar/style.css Normal file
View File

@@ -0,0 +1,88 @@
* {
background-color: transparent;
}
#clock {
background-color: #0e0e0e;
font-weight: bold;
color: #f5f5f5;
padding: 0 10px;
margin: 4px 6px;
border-radius: 99px;
}
#workspaces {
margin: 4px 6px;
border-radius: 99px;
padding: 0 4px;
}
#cava {
color: #f5f5f5;
margin-top: 4px;
margin-bottom: 4px;
padding: 2px 6px;
transition: all 0.3s ease-out;
}
#workspaces button {
color: #f5f5f5;
background: transparent;
transition: all 0.3s ease;
padding: 0;
min-width: 25px;
border-radius: 99px;
margin: 4px;
font-weight: bold;
}
#workspaces button.active {
background: #f5f5f5;
color: #0e0e0e;
}
#window {
color: #f5f5f5;
font-weight: bold;
padding: 0 10px;
}
#custom-arch {
font-family: "JetBrainsMono Nerd Font", "FiraCode Nerd Font", monospace;
font-size: 20px;
padding-left: 20px;
color: #f5f5f5;
margin-right: 10px;
}
#language, #battery, #temperature {
background-color: #0e0e0e;
color: #f5f5f5;
margin-top: 4px;
margin-bottom: 4px;
padding: 2px 6px;
}
#language {
border-top-left-radius: 99px;
border-bottom-left-radius: 99px;
padding-left: 14px;
}
#temperature {
border-top-right-radius: 99px;
border-bottom-right-radius: 99px;
padding-right: 14px;
margin-right: 6px;
}

1
wofi/config Normal file
View File

@@ -0,0 +1 @@
allow_images=true

14
wofi/spotify/config Normal file
View File

@@ -0,0 +1,14 @@
# Расположение меню (top, center, bottom, left, right и т.д.)
location=center
# Отступы от краев экрана
margin_top=20%
margin_bottom=20%
# Ширина и высота меню
width=300
height=250
# Не показывать строку поиска
show_search=false
# Не показывать иконки (мы используем свои в тексте)
show_icons=false
# Количество колонок
columns=1

38
wofi/spotify/style.css Normal file
View File

@@ -0,0 +1,38 @@
/* Общий стиль окна */
window {
background-color: rgba(25, 25, 25, 0.7); /* Темно-серый, полупрозрачный фон */
border: 2px solid #ffffff; /* Белая рамка */
border-radius: 15px; /* Скругленные углы */
font-family: "JetBrainsMono Nerd Font", sans-serif; /* Укажите ваш Nerd Font */
}
/* Скрытие поля ввода (оно нам не нужно) */
#input {
border: none;
background-color: transparent;
color: #ffffff;
padding: 5px;
}
/* Скрытие внешней рамки */
#outer-box {
padding: 20px;
}
/* Стиль для каждого пункта меню */
#entry {
padding: 10px;
color: #e0e0e0; /* Светло-серый текст */
border-radius: 8px;
}
/* Стиль для выбранного пункта меню при навигации */
#entry:selected {
background-color: rgba(255, 255, 255, 0.1); /* Легкая белая подсветка */
color: #ffffff; /* Белый текст */
}
/* Стиль текста в заголовке (prompt) */
#text:selected {
color: #ffffff;
}

56
wofi/style.css Normal file
View File

@@ -0,0 +1,56 @@
window {
background-color: rgba(26, 27, 38, 0.1);
border-radius: 15px;
/* Можно добавить рамку, чтобы скругление было лучше видно */
border: 2px solid #f5f5f5;
}
/* ---- Поле ввода ---- */
#input {
margin: 10px;
padding: 8px;
background-color: rgba(40, 42, 54, 0.9);
color: #f5f5f5;
border: none;
border-radius: 10px;
}
#inner-box {
margin: 5px;
padding: 10px;
background-color: transparent; /
}
#outer-box {
margin: 5px;
padding: 5px;
}
#scroll {
background-color: transparent;
}
#text {
padding: 5px;
color: #f5f5f5;
}
/* ---- Выбранный элемент списка ---- */
#entry:selected {
background-color: #f5f5f5;
color: #0e0e0e;
border-radius: 10px;
}
#entry:selected #text {
color: #0e0e0e;
}

7
wofi/wofi_toggle.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
if pgrep -x wofi > /dev/null; then
pkill -x wofi
else
wofi --show drun
fi