This commit is contained in:
aneuhmanh 2025-06-22 21:18:32 +03:00
commit 07feb9f64a
42 changed files with 2357 additions and 0 deletions

31
README.md Normal file
View File

@ -0,0 +1,31 @@
# aneuhmanh dotfiles
#### тут собраны НЕ ВСЕ конфиги.Я собрал только самые основные.Настройки GTK, QT и других приложений вы можете найти [тут](https://catppuccin.com/ports/ "тут")
- Все конфиги собраны под Arch Hyprland
Сам рис собран с использованием темы [Catpuccin Frappe Mauve](https://catppuccin.com/palette/ "Catpuccin Frappe Mauve")
#### Компоненты:
**Дисплей менеджер: [SDDM](https://github.com/sddm/sddm "SDDM")**
**Текстовый редактор: [NEOVIM](https://github.com/neovim/neovim "NEOVIM")**
**Терминал: [KITTY](https://github.com/kovidgoyal/kitty "KITTY")**
**Композитор: [HYPRLAND](https://github.com/hyprwm/Hyprland "HYPRLAND")**
**Уведомления: [MAKO](https://github.com/emersion/mako "MAKO")**
**Файловый менеджер: [THUNAR](https://github.com/neilbrown/thunar "THUNAR")**
**Лаунчер приложений: [WOFI](https://github.com/SimplyCEO/wofi "WOFI")**
**Обои: [Hyprpaper](https://github.com/hyprwm/hyprpaper "Hyprpaper")**
#### Полезности:
**[Waybar wiki](https://github.com/Alexays/Waybar/wiki "Waybar wiki")**
**[Hyprland wiki](https://wiki.hypr.land/ "Hyprland wiki")**
**[Mako wiki](https://github.com/emersion/mako/wiki/Frequently-asked-questions "Mako wiki")**
**[Neovim wiki](https://github.com/neovim/neovim/wiki "Neovim wiki")**

265
cava/config Normal file
View File

@ -0,0 +1,265 @@
## Configuration file for CAVA.
# Remove the ; to change parameters.
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values.
; framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
; autosens = 1
; overshoot = 20
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100
# The number of bars (0-512). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
; bar_width = 2
; bar_spacing = 1
# bar_height is only used for output in "noritake" format
; bar_height = 32
# For SDL width and space between bars is in pixels, defaults are:
; bar_width = 20
; bar_spacing = 5
# sdl_glsl have these default values, they are only used to calculate max number of bars.
; bar_width = 1
; bar_spacing = 0
# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0
[input]
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
# On Mac it defaults to 'portaudio' or 'fifo'
# On windows this is automatic and no input settings are needed.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
#
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
# Both input and output devices are supported.
#
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
#
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
# README.md contains further information on how to setup CAVA for sndio.
#
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
#
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
# README.md contains further information on how to setup CAVA for JACK.
#
; method = pulse
; source = auto
; method = pipewire
; source = auto
; method = alsa
; source = hw:Loopback,1
; method = fifo
; source = /tmp/mpd.fifo
; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF
; method = portaudio
; source = auto
; method = sndio
; source = default
; method = oss
; source = /dev/dsp
; method = jack
; source = default
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
# sample_rate: fifo, pipewire, sndio, oss
# sample_bits: fifo, pipewire, sndio, oss
# channels: sndio, oss, jack
# autoconnect: jack
# Other methods ignore these settings.
#
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
# by the chosen audio device, the device will use other supported values instead.
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
# will use 44100, 16 and 1.
#
; sample_rate = 44100
; sample_bits = 16
; channels = 2
; autoconnect = 2
[output]
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
# or 'sdl_glsl'.
# 'noncurses' (default) uses a buffer and cursor movements to only print
# changes from frame to frame in the terminal. Uses less resources and is less
# prone to tearing (vsync issues) than 'ncurses'.
#
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
# stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
#
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
# in graphic mode. It only support the 3000 series graphical VFDs for now.
#
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
# use one of the predefined ones.
; method = noncurses
# Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or
# 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl
# and ncruses output. 'horizontal' (bars go up and down from center) is only supported
# on noncurses output.
# Note: many fonts have weird or missing glyphs for characters used in orientations
# other than 'bottom', which can make output not look right.
; orientation = bottom
# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
# set 'reverse' to 1 to display frequencies the other way around.
; channels = stereo
; mono_option = average
; reverse = 0
# Raw output target.
# On Linux, a fifo will be created if target does not exist.
# On Windows, a named pipe will be created if target does not exist.
; raw_target = /dev/stdout
# Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10
# sdl window size and position. -1,-1 is centered.
; sdl_width = 1000
; sdl_height = 500
; sdl_x = -1
; sdl_y= -1
; sdl_full_screen = 0
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
# 'frequency' displays the lower cut off frequency of the bar above.
# Only supported on ncurses and noncurses output.
; xaxis = none
# enable synchronized sync. 1 = on, 0 = off
# removes flickering in alacritty terminal emulator.
# defaults to off since the behaviour in other terminal emulators is unknown
; synchronized_sync = 0
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
; vertex_shader = pass_through.vert
; fragment_shader = bar_spectrum.frag
; for glsl output mode, keep rendering even if no audio
; continuous_rendering = 0
# disable console blank (screen saver) in tty
# (Not supported on FreeBSD)
; disable_blanking = 0
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
; show_idle_bar_heads = 1
# show waveform instead of frequency spectrum, 1 = on, 0 = off
; waveform = 0
[color]
gradient = 1
gradient_color_1 = '#81c8be'
gradient_color_2 = '#99d1db'
gradient_color_3 = '#85c1dc'
gradient_color_4 = '#8caaee'
gradient_color_5 = '#ca9ee6'
gradient_color_6 = '#f4b8e4'
gradient_color_7 = '#ea999c'
gradient_color_8 = '#e78284'
[smoothing]
# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
# DEPRECATED as of 0.8.0, use noise_reduction instead
; integral = 77
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0
; waves = 0
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
# DEPRECATED as of 0.8.0, use noise_reduction instead
; gravity = 100
# In bar height, bars that would have been lower that this will not be drawn.
# DEPRECATED as of 0.8.0
; ignore = 0
# Noise reduction, int 0 - 100. default 77
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
# 100 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 77
[eq]
# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more than one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble

View File

@ -0,0 +1,11 @@
[color]
gradient = 1
gradient_color_1 = '#81c8be'
gradient_color_2 = '#99d1db'
gradient_color_3 = '#85c1dc'
gradient_color_4 = '#8caaee'
gradient_color_5 = '#ca9ee6'
gradient_color_6 = '#f4b8e4'
gradient_color_7 = '#ea999c'
gradient_color_8 = '#e78284'

View File

@ -0,0 +1,79 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform int bar_width; // bar width (configurable), not used here
uniform int bar_spacing; // space bewteen bars (configurable)
uniform vec3 u_resolution; // window resolution
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color
uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
{
//create color based on fraction of this color and next color
float yr = (y - y_min) / (y_max - y_min);
return col_1 * (1.0 - yr) + col_2 * yr;
}
void main()
{
// find which bar to use based on where we are on the x axis
float x = u_resolution.x * fragCoord.x;
int bar = int(bars_count * fragCoord.x);
//calculate a bar size
float bar_size = u_resolution.x / bars_count;
//the y coordinate and bar values are the same
float y = bars[bar];
// make sure there is a thin line at bottom
if (y * u_resolution.y < 1.0)
{
y = 1.0 / u_resolution.y;
}
//draw the bar up to current height
if (y > fragCoord.y)
{
//make some space between bars basen on settings
if (x > (bar + 1) * (bar_size) - bar_spacing)
{
fragColor = vec4(bg_color,1.0);
}
else
{
if (gradient_count == 0)
{
fragColor = vec4(fg_color,1.0);
}
else
{
//find which color in the configured gradient we are at
int color = int((gradient_count - 1) * fragCoord.y);
//find where on y this and next color is supposed to be
float y_min = color / (gradient_count - 1.0);
float y_max = (color + 1.0) / (gradient_count - 1.0);
//make color
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
}
}
}
else
{
fragColor = vec4(bg_color,1.0);
}
}

View File

@ -0,0 +1,34 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform vec3 u_resolution; // window resolution, not used here
//colors, configurable in cava config file
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
uniform vec3 fg_color; // foreground color, not used here
void main()
{
// find which bar to use based on where we are on the x axis
int bar = int(bars_count * fragCoord.x);
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
float y = (bars[bar]) * bar_y;
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
bar_r = bar_r * bar_r * 2;
// set color
fragColor.r = fg_color.x * y * bar_r;
fragColor.g = fg_color.y * y * bar_r;
fragColor.b = fg_color.z * y * bar_r;
}

View File

@ -0,0 +1,14 @@
#version 330
// Input vertex data, different for all executions of this shader.
layout(location = 0) in vec3 vertexPosition_modelspace;
// Output data ; will be interpolated for each fragment.
out vec2 fragCoord;
void main()
{
gl_Position = vec4(vertexPosition_modelspace,1);
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
}

View File

@ -0,0 +1,53 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high
// to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform int bar_width; // bar width (configurable), not used here
uniform int bar_spacing; // space bewteen bars (configurable)
uniform vec3 u_resolution; // window resolution
// colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color
uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors
uniform sampler2D inputTexture; // Texture from the first render pass
vec3 normalize_C(float y, vec3 col_1, vec3 col_2, float y_min, float y_max) {
// create color based on fraction of this color and next color
float yr = (y - y_min) / (y_max - y_min);
return col_1 * (1.0 - yr) + col_2 * yr;
}
void main() {
// find which bar to use based on where we are on the y axis
int bar = int(bars_count * fragCoord.y);
float y = bars[bar];
float band_size = 1.0 / float(bars_count);
float current_band_min = bar * band_size;
float current_band_max = (bar + 1) * band_size;
int hist_length = 512;
float win_size = 1.0 / hist_length;
if (fragCoord.x > 1.0 - win_size) {
if (fragCoord.y > current_band_min && fragCoord.y < current_band_max) {
fragColor = vec4(fg_color * y, 1.0);
}
} else {
vec2 offsetCoord = fragCoord;
offsetCoord.x += float(win_size);
fragColor = texture(inputTexture, offsetCoord);
}
}

View File

@ -0,0 +1,112 @@
#version 330
// Emulate the "line style" spectrum analyzer from Winamp 2.
// Try this config for a demonstration:
/*
[general]
bar_width = 2
bar_spacing = 0
higher_cutoff_freq = 22000
[output]
method = sdl_glsl
channels = mono
fragment_shader = winamp_line_style_spectrum.frag
[color]
background = '#000000'
gradient = 1
gradient_color_1 = '#319C08'
gradient_color_2 = '#29CE10'
gradient_color_3 = '#BDDE29'
gradient_color_4 = '#DEA518'
gradient_color_5 = '#D66600'
gradient_color_6 = '#CE2910'
[smoothing]
noise_reduction = 10
*/
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform int bar_width; // bar width (configurable), not used here
uniform int bar_spacing; // space bewteen bars (configurable)
uniform vec3 u_resolution; // window resolution
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color
uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
{
//create color based on fraction of this color and next color
float yr = (y - y_min) / (y_max - y_min);
return col_1 * (1.0 - yr) + col_2 * yr;
}
void main()
{
// find which bar to use based on where we are on the x axis
float x = u_resolution.x * fragCoord.x;
int bar = int(bars_count * fragCoord.x);
//calculate a bar size
float bar_size = u_resolution.x / bars_count;
//the y coordinate is stretched by 4X to resemble Winamp
float y = min(bars[bar] * 4.0, 1.0);
// make sure there is a thin line at bottom
if (y * u_resolution.y < 1.0)
{
y = 1.0 / u_resolution.y;
}
vec4 bar_color;
if (gradient_count == 0)
{
bar_color = vec4(fg_color,1.0);
}
else
{
//find color in the configured gradient for the top of the bar
int color = int((gradient_count - 1) * y);
//find where on y this and next color is supposed to be
float y_min = float(color) / (gradient_count - 1.0);
float y_max = float(color + 1) / (gradient_count - 1.0);
//make a solid color for the entire bar
bar_color = vec4(normalize_C(y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
}
//draw the bar up to current height
if (y > fragCoord.y)
{
//make some space between bars based on settings
if (x > (bar + 1) * (bar_size) - bar_spacing)
{
fragColor = vec4(bg_color,1.0);
}
else
{
fragColor = bar_color;
}
}
else
{
fragColor = vec4(bg_color,1.0);
}
}

361
hypr/hyprland.conf Normal file
View File

@ -0,0 +1,361 @@
source = /home/aneuhmanh/.config/hypr/themes/frappe.conf
# #######################################################################################
# AUTOGENERATED HYPRLAND CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=HDMI-A-1,1920x1080@100Hz,auto,auto
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = kitty
$fileManager = thunar
$menu = wofi --show drun
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# exec-once = $terminal
# exec-once = nm-applet &
exec-once = waybar
exec-once = mako
exec-once=hyprpaper -c ~/.config/hypr/hyprpaper.conf
#exec-once = mpvpaper -o "no-audio --loop-file=inf --vo=gpu-next --fs --vf=eq=brightness=-0.2" HDMI-A-1 /home/aneuhmanh/wallpaper.mp4
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_THEME,Airi-Viridis
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
###################
### PERMISSIONS ###
###################
# See https://wiki.hyprland.org/Configuring/Permissions/
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
# for security reasons
# ecosystem {
# enforce_permissions = 1
# }
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = $mauve
col.inactive_border = rgb(232634)
resize_on_border = $mantle
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 12
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 0.85
shadow {
enabled = true
range = 6
render_power = 4
color = rgba(2e3440bb)
}
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.17
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = yes
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
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
}
# 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 = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us, ru
kb_variant =
kb_model = pc105
kb_options = grp:alt_shift_toggle
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, B, exec, firefox
bind = , Print, exec, flameshot gui
bind = SUPER, I, exec, ~/.config/waybar/scripts/power_menu.sh
bind = SUPER, Return, exec, node /home/aneuhmanh/obs/start-record.js
bind = SUPER, Backspace, exec, node /home/aneuhmanh/obs/stop-record.js
bind = SUPER, H, exec, flatpak run dev.vencord.Vesktop
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod ALT, left, moveactive, -20 0
bind = $mainMod ALT, right, moveactive, 20 0
bind = $mainMod ALT, up, moveactive, 0 -20
bind = $mainMod ALT, down, moveactive, 0 20
bind = $mainMod SHIFT, left, resizeactive, -20 0
bind = $mainMod SHIFT, right, resizeactive, 20 0
bind = $mainMod SHIFT, up, resizeactive, 0 -20
bind = $mainMod SHIFT, down, resizeactive, 0 20
bind = $mainMod, KP_5, centerwindow
bind = $mainMod, KP_4, resizeactive, exact 960 1080
bind = $mainMod, KP_4, moveactive, exact 0 0
bind = $mainMod, KP_6, resizeactive, exact 960 1080
bind = $mainMod, KP_6, moveactive, exact 960 0
bind = $mainMod, KP_8, resizeactive, exact 1920 1080
bind = $mainMod, KP_8, moveactive, exact 0 0
bind = $mainMod ALT, left, moveactive, -20 0
bind = $mainMod ALT, right, moveactive, 20 0
bind = $mainMod ALT, up, moveactive, 0 -20
bind = $mainMod ALT, down, moveactive, 0 20
bind = $mainMod SHIFT, left, resizeactive, -20 0
bind = $mainMod SHIFT, right, resizeactive, 20 0
bind = $mainMod SHIFT, up, resizeactive, 0 -20
bind = $mainMod SHIFT, down, resizeactive, 0 20
bind = $mainMod, G, centerwindow
bind = $mainMod, KP_4, moveactive, exact 0 0
bind = $mainMod, KP_4, resizeactive, exact 960 1080
bind = $mainMod, KP_6, moveactive, exact 960 0
bind = $mainMod, KP_6, resizeactive, exact 960 1080
bind = $mainMod, KP_5, moveactive, exact 480 0
bind = $mainMod, KP_5, resizeactive, exact 960 1080
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
bind = $mainMod CTRL, right, resizeactive, 20 0
bind = $mainMod CTRL, left, resizeactive, -20 0
bind = $mainMod CTRL, up, resizeactive, 0 -20
bind = $mainMod CTRL, down, resizeactive, 0 20
bind = $mainMod CTRL SHIFT, right, resizeactive, -20 0
bind = $mainMod CTRL SHIFT, left, resizeactive, 20 0
bind = $mainMod CTRL SHIFT, up, resizeactive, 0 20
bind = $mainMod CTRL SHIFT, down, resizeactive, 0 -20
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, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
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%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.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

2
hypr/hyprpaper.conf Normal file
View File

@ -0,0 +1,2 @@
preload = /home/aneuhmanh/wallpaper.png
wallpaper = HDMI-A-1,/home/aneuhmanh/wallpaper.png

78
hypr/themes/frappe.conf Normal file
View File

@ -0,0 +1,78 @@
$rosewater = rgb(f2d5cf)
$rosewaterAlpha = f2d5cf
$flamingo = rgb(eebebe)
$flamingoAlpha = eebebe
$pink = rgb(f4b8e4)
$pinkAlpha = f4b8e4
$mauve = rgb(ca9ee6)
$mauveAlpha = ca9ee6
$red = rgb(e78284)
$redAlpha = e78284
$maroon = rgb(ea999c)
$maroonAlpha = ea999c
$peach = rgb(ef9f76)
$peachAlpha = ef9f76
$yellow = rgb(e5c890)
$yellowAlpha = e5c890
$green = rgb(a6d189)
$greenAlpha = a6d189
$teal = rgb(81c8be)
$tealAlpha = 81c8be
$sky = rgb(99d1db)
$skyAlpha = 99d1db
$sapphire = rgb(85c1dc)
$sapphireAlpha = 85c1dc
$blue = rgb(8caaee)
$blueAlpha = 8caaee
$lavender = rgb(babbf1)
$lavenderAlpha = babbf1
$text = rgb(c6d0f5)
$textAlpha = c6d0f5
$subtext1 = rgb(b5bfe2)
$subtext1Alpha = b5bfe2
$subtext0 = rgb(a5adce)
$subtext0Alpha = a5adce
$overlay2 = rgb(949cbb)
$overlay2Alpha = 949cbb
$overlay1 = rgb(838ba7)
$overlay1Alpha = 838ba7
$overlay0 = rgb(737994)
$overlay0Alpha = 737994
$surface2 = rgb(626880)
$surface2Alpha = 626880
$surface1 = rgb(51576d)
$surface1Alpha = 51576d
$surface0 = rgb(414559)
$surface0Alpha = 414559
$base = rgb(303446)
$baseAlpha = 303446
$mantle = rgb(292c3c)
$mantleAlpha = 292c3c
$crust = rgb(232634)
$crustAlpha = 232634

1
kitty/catppuccin Submodule

@ -0,0 +1 @@
Subproject commit b14e8385c827f2d41660b71c7fec1e92bdcf2676

80
kitty/current-theme.conf Normal file
View File

@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin-Frappe
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/frappe.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #C6D0F5
background #303446
selection_foreground #303446
selection_background #F2D5CF
# Cursor colors
cursor #F2D5CF
cursor_text_color #303446
# URL underline color when hovering with mouse
url_color #F2D5CF
# Kitty window border colors
active_border_color #BABBF1
inactive_border_color #737994
bell_border_color #E5C890
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #232634
active_tab_background #CA9EE6
inactive_tab_foreground #C6D0F5
inactive_tab_background #292C3C
tab_bar_background #232634
# Colors for marks (marked text in the terminal)
mark1_foreground #303446
mark1_background #BABBF1
mark2_foreground #303446
mark2_background #CA9EE6
mark3_foreground #303446
mark3_background #85C1DC
# The 16 terminal colors
# black
color0 #51576D
color8 #626880
# red
color1 #E78284
color9 #E78284
# green
color2 #A6D189
color10 #A6D189
# yellow
color3 #E5C890
color11 #E5C890
# blue
color4 #8CAAEE
color12 #8CAAEE
# magenta
color5 #F4B8E4
color13 #F4B8E4
# cyan
color6 #81C8BE
color14 #81C8BE
# white
color7 #B5BFE2
color15 #A5ADCE

24
kitty/kitty.conf Normal file
View File

@ -0,0 +1,24 @@
font_family JetBrainsMono Nerd Font
fallback_family Noto Color Emoji
font_size 12.0
confirm_quit no
force_window_close yes
confirm_os_window_close 0
env TERM=xterm-256color
map ctrl+shift+equal change_font_size all +2.0
map ctrl+shift+minus change_font_size all -2.0
selection:
save_to_clipboard: true
include themes/Catppuccin-Frappe.conf
tab_bar_min_tabs 1
tab_bar_edge bottom
tab_bar_style powerline
tab_powerline_style slanted
tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
include current-theme.conf

View File

@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin Kitty Frappé
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/frappe.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #c6d0f5
background #303446
selection_foreground #303446
selection_background #f2d5cf
# Cursor colors
cursor #f2d5cf
cursor_text_color #303446
# URL underline color when hovering with mouse
url_color #f2d5cf
# Kitty window border colors
active_border_color #babbf1
inactive_border_color #737994
bell_border_color #e5c890
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #232634
active_tab_background #ca9ee6
inactive_tab_foreground #c6d0f5
inactive_tab_background #292c3c
tab_bar_background #232634
# Colors for marks (marked text in the terminal)
mark1_foreground #303446
mark1_background #babbf1
mark2_foreground #303446
mark2_background #ca9ee6
mark3_foreground #303446
mark3_background #85c1dc
# The 16 terminal colors
# black
color0 #51576d
color8 #626880
# red
color1 #e78284
color9 #e78284
# green
color2 #a6d189
color10 #a6d189
# yellow
color3 #e5c890
color11 #e5c890
# blue
color4 #8caaee
color12 #8caaee
# magenta
color5 #f4b8e4
color13 #f4b8e4
# cyan
color6 #81c8be
color14 #81c8be
# white
color7 #b5bfe2
color15 #a5adce

20
mako/config Normal file
View File

@ -0,0 +1,20 @@
font=JetBrainsMono Nerd Font 11
background-color=#303446
text-color=#c6d0f5
border-color=#ca9ee6
border-size=2
padding=10
margin=10
default-timeout=5000
max-history=25
layer=overlay
anchor=top-right
border-radius=8
icon-path=/usr/share/icons
progress-color=#414559
[urgency=low]
border-color=#4c566a
[urgency=high]
border-color=#ef9f76

267
nvim/init.lua Normal file
View File

@ -0,0 +1,267 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require("catppuccin").setup({
flavour = "frappe",
background = {
light = "latte",
dark = "frappe",
},
transparent_background = false,
show_end_of_buffer = false,
term_colors = false,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
styles = {
comments = { "italic" },
conditionals = { "italic" },
},
color_overrides = {
frappe = {
mauve = "#ca9ee6",
},
},
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
},
})
vim.cmd.colorscheme("catppuccin")
end,
},
{
"nvim-tree/nvim-tree.lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local function my_on_attach(bufnr)
local api = require("nvim-tree.api")
api.config.mappings.default_on_attach(bufnr)
end
require("nvim-tree").setup({
disable_netrw = true,
hijack_netrw = true,
update_focused_file = {
enable = true,
update_cwd = true,
},
view = {
width = 40,
side = "left",
},
renderer = {
highlight_git = true,
icons = {
show = {
file = true,
folder = true,
folder_arrow = true,
git = true,
},
},
},
on_attach = my_on_attach,
})
vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<CR>", { noremap = true, silent = true })
end,
},
{
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
end,
},
{
"nvim-lualine/lualine.nvim",
config = function()
local function gitsigns_status()
local gs = vim.b.gitsigns_status_dict
if gs then
local added = gs.added or 0
local changed = gs.changed or 0
local removed = gs.removed or 0
local status = ""
if added > 0 then status = status .. "[+]" .. added .. " " end
if changed > 0 then status = status .. "[~]" .. changed .. " " end
if removed > 0 then status = status .. "[-]" .. removed .. " " end
return status
end
return ""
end
require("lualine").setup({
options = {
theme = "catppuccin",
section_separators = { "", "" },
component_separators = { "", "" },
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch" },
lualine_c = { "filename" },
lualine_x = {
gitsigns_status,
"encoding",
"filetype",
},
lualine_y = {},
lualine_z = {},
},
})
end,
},
{
"akinsho/bufferline.nvim",
tag = "*",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
vim.g.mapleader = "\\"
require("bufferline").setup({
options = {
show_buffer_close_icons = true,
tab_size = 22,
separator_style = "slant",
},
})
for i = 1, 9 do
vim.keymap.set("n", "<leader>" .. i, ":BufferLineGoToBuffer " .. i .. "<CR>", { noremap = true, silent = true })
end
vim.keymap.set("n", "<Tab>", ":BufferLineCycleNext<CR>", { noremap = true, silent = true })
vim.keymap.set("n", "<S-Tab>", ":BufferLineCyclePrev<CR>", { noremap = true, silent = true })
end,
},
{
"petertriho/nvim-scrollbar",
config = function()
require("scrollbar").setup()
end,
},
{
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require("telescope").setup()
end,
},
{
"stevearc/dressing.nvim",
opts = {},
},
{
"brenoprata10/nvim-highlight-colors",
config = function()
require("nvim-highlight-colors").setup({
render = "background",
enable_named_colors = true,
enable_tailwind = true,
})
end,
},
{
"williamboman/mason.nvim",
build = ":MasonUpdate",
config = true,
},
{
"williamboman/mason-lspconfig.nvim",
config = true,
},
{
"neovim/nvim-lspconfig",
config = function()
require("mason").setup()
require("mason-lspconfig").setup({
automatic_installation = true,
})
require("lspconfig").lua_ls.setup({})
end,
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
},
config = function()
local cmp = require("cmp")
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping.select_next_item(),
["<S-Tab>"] = cmp.mapping.select_prev_item(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = "nvim_lsp" },
},
})
end,
},
})
-- Общие настройки
vim.opt.termguicolors = true
vim.opt.number = true
vim.opt.cursorline = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.smartindent = true
vim.opt.mouse = "a"
vim.opt.clipboard = "unnamedplus"
vim.opt.showcmd = false
vim.keymap.set("n", "<C-h>", "<C-w>h", { noremap = true })
vim.keymap.set("n", "<C-j>", "<C-w>j", { noremap = true })
vim.keymap.set("n", "<C-k>", "<C-w>k", { noremap = true })
vim.keymap.set("n", "<C-l>", "<C-w>l", { noremap = true })

21
nvim/lazy-lock.json Normal file
View File

@ -0,0 +1,21 @@
{
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"gitsigns.nvim": { "branch": "main", "commit": "88205953bd748322b49b26e1dfb0389932520dc9" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "f54e3c11fc9ebfcfc27e696182b0295b071d0811" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
"nvim-lspconfig": { "branch": "master", "commit": "314b35335cc84bc2a085c84c69da955ba22da163" },
"nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" },
"nvim-tree.lua": { "branch": "master", "commit": "8eb5e0bfd1c4da6efc03ab0c1ccf463dbaae831e" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }
}

View File

@ -0,0 +1,124 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/share/lua/5.1/?.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/share/lua/5.1/?/init.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/luarocks/rocks-5.1/?.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["bufferline.nvim"] = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/bufferline.nvim",
url = "https://github.com/akinsho/bufferline.nvim"
},
catppuccin = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/catppuccin",
url = "https://github.com/catppuccin/nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["nvim-tree.lua"] = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/nvim-tree/nvim-tree.lua"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
}
}
time([[Defining packer_plugins]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

108
waybar/backup/config Normal file
View File

@ -0,0 +1,108 @@
{
"layer": "top",
"position": "top",
"modules-left": [
"cpu",
"custom/cpu_temp",
"memory",
"custom/gpu",
"custom/gpu_temp",
"custom/disk",
"custom/disk_hdd"
],
"modules-center": ["clock"],
"modules-right": ["custom/net_speed", "network", "pulseaudio","custom/keyboard-state", "tray", "custom/uptime", "custom/power"],
"custom/net_speed": {
"exec": "~/.config/waybar/scripts/net_speed.sh",
"interval": 1,
"format": "{}",
"return-type": "string"
},
"cpu": {
"format": " {usage}%",
"interval": 1
},
"custom/cpu_temp": {
"exec": "~/.config/waybar/scripts/cpu_temp.sh",
"interval": 1,
"format": " {}°C",
"return-type": "string"
},
"memory": {
"format": " {used:0.1f}G",
"interval": 1
},
"custom/gpu": {
"exec": "~/.config/waybar/scripts/gpu_usage.sh",
"interval": 1,
"format": "󰘚 {}%",
"return-type": "string"
},
"custom/gpu_temp": {
"exec": "~/.config/waybar/scripts/gpu_temp.sh",
"interval": 1,
"format": " {}°C",
"return-type": "string"
},
"custom/disk": {
"exec": "~/.config/waybar/scripts/disk_usage.sh",
"interval": 60,
"format": " {}",
"return-type": "string"
},
"custom/disk_hdd": {
"exec": "~/.config/waybar/scripts/disk_hdd.sh",
"interval": 60,
"format": " {}",
"return-type": "string"
},
"clock": {
"format": " {:%H:%M %d.%m.%Y}"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "🖧 {ipaddr}",
"format-disconnected": " No Net"
},
"pulseaudio": {
"format": " {volume}%",
"format-muted": " mute",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"tray": {
"icon-size": 16,
"spacing": 10,
"types": ["systemtray"]
},
"custom/uptime": {
"exec": "uptime -p | sed 's/up //'",
"interval": 60,
"format": "󰔟 {}",
"return-type": "string"
},
"custom/power": {
"format": "󰐥",
"tooltip": "Power Menu",
"on-click": "~/.config/waybar/scripts/power_menu.sh"
},
"custom/keyboard-state": {
"exec": "/home/aneuhmanh/.config/waybar/scripts/keyboard_state_daemon.sh",
"format": "{}",
"return-type": "text",
"tail": true
}
}

97
waybar/backup/style.css Normal file
View File

@ -0,0 +1,97 @@
@import "./frappe.css";
* {
font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free", sans-serif;
font-size: 14px;
color: @text;
background-color: @base;
min-height: 0;
padding: 0;
margin: 0;
border: none;
}
window#waybar {
background-color: @base;
border-bottom: 2px solid @overlay0;
}
#cpu,
#custom-cpu_temp,
#memory,
#custom-gpu,
#custom-gpu_temp,
#custom-disk,
#custom-disk_hdd,
#network,
#pulseaudio,
#clock,
#custom-uptime,
#custom-power,
#custom-keyboard-state,
#custom-net_speed {
padding: 0 10px;
background-color: @surface0;
border-radius: 10px;
}
#tray > * {
background-color: @surface0;
border-radius: 6px;
padding: 4px;
}
#cpu {
margin-left: 12px;
}
#custom-cpu_temp {
margin-left: 6px;
}
#memory {
margin-left: 12px;
}
#custom-gpu {
margin-left: 12px;
}
#custom-gpu_temp {
margin-left: 6px;
}
#custom-disk {
margin-left: 12px;
}
#custom-disk_hdd {
margin-left: 6px;
margin-right: 12px;
}
#clock {
font-weight: bold;
}
#custom-net_speed {
margin-left: 12px;
}
#network {
margin-left: 12px;
}
#pulseaudio {
margin-left: 12px;
}
#custom-keyboard-state {
margin-left: 12px;
}
#custom-uptime {
margin-left: 12px;
}
#custom-power {
margin-left: 12px;
margin-right: 12px;
}
#tray {
margin-left: 12px;
}
#custom-cpu_temp.critical,
#custom-gpu_temp.critical {
color: @red;
background-color: @overlay1;
}

108
waybar/config Normal file
View File

@ -0,0 +1,108 @@
{
"layer": "top",
"position": "top",
"modules-left": [
"cpu",
"custom/cpu_temp",
"memory",
"custom/gpu",
"custom/gpu_temp",
"custom/disk",
"custom/disk_hdd"
],
"modules-center": ["clock"],
"modules-right": ["custom/net_speed", "network", "pulseaudio","custom/keyboard-state", "tray", "custom/uptime", "custom/power"],
"custom/net_speed": {
"exec": "~/.config/waybar/scripts/net_speed.sh",
"interval": 1,
"format": "{}",
"return-type": "string"
},
"cpu": {
"format": " {usage}%",
"interval": 1
},
"custom/cpu_temp": {
"exec": "~/.config/waybar/scripts/cpu_temp.sh",
"interval": 1,
"format": " {}°C",
"return-type": "string"
},
"memory": {
"format": " {used:0.1f}G",
"interval": 1
},
"custom/gpu": {
"exec": "~/.config/waybar/scripts/gpu_usage.sh",
"interval": 1,
"format": "󰘚 {}%",
"return-type": "string"
},
"custom/gpu_temp": {
"exec": "~/.config/waybar/scripts/gpu_temp.sh",
"interval": 1,
"format": " {}°C",
"return-type": "string"
},
"custom/disk": {
"exec": "~/.config/waybar/scripts/disk_usage.sh",
"interval": 60,
"format": " {}",
"return-type": "string"
},
"custom/disk_hdd": {
"exec": "~/.config/waybar/scripts/disk_hdd.sh",
"interval": 60,
"format": " {}",
"return-type": "string"
},
"clock": {
"format": " {:%H:%M %d.%m.%Y}"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "🖧 {ipaddr}",
"format-disconnected": " No Net"
},
"pulseaudio": {
"format": " {volume}%",
"format-muted": " mute",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"tray": {
"icon-size": 16,
"spacing": 10,
"types": ["systemtray"]
},
"custom/uptime": {
"exec": "uptime -p | sed 's/up //'",
"interval": 60,
"format": "󰔟 {}",
"return-type": "string"
},
"custom/power": {
"format": "󰐥",
"tooltip": "Power Menu",
"on-click": "~/.config/waybar/scripts/power_menu.sh"
},
"custom/keyboard-state": {
"exec": "/home/aneuhmanh/.config/waybar/scripts/keyboard_state_daemon.sh",
"format": "{}",
"return-type": "text",
"tail": true
}
}

26
waybar/frappe.css Normal file
View File

@ -0,0 +1,26 @@
@define-color rosewater #f2d5cf;
@define-color flamingo #eebebe;
@define-color pink #f4b8e4;
@define-color mauve #ca9ee6;
@define-color red #e78284;
@define-color maroon #ea999c;
@define-color peach #ef9f76;
@define-color yellow #e5c890;
@define-color green #a6d189;
@define-color teal #81c8be;
@define-color sky #99d1db;
@define-color sapphire #85c1dc;
@define-color blue #8caaee;
@define-color lavender #babbf1;
@define-color text #c6d0f5;
@define-color subtext1 #b5bfe2;
@define-color subtext0 #a5adce;
@define-color overlay2 #949cbb;
@define-color overlay1 #838ba7;
@define-color overlay0 #737994;
@define-color surface2 #626880;
@define-color surface1 #51576d;
@define-color surface0 #414559;
@define-color base #303446;
@define-color mantle #292c3c;
@define-color crust #232634;

18
waybar/scripts/cpu.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
if command -v sensors &> /dev/null; then
temp=$(sensors | grep -m1 -E 'Package id 0|Tdie|Tctl|Core 0' | grep -oP '\+?\d+(\.\d+)?(?=°C)')
if [[ -n "$temp" ]]; then
echo "$temp"
exit 0
fi
fi
if [[ -f /sys/class/thermal/thermal_zone0/temp ]]; then
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
echo "$((temp / 1000))"
exit 0
fi
echo "N/A"
exit 1

20
waybar/scripts/cpu_temp.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
if command -v sensors &> /dev/null; then
raw_temp=$(sensors | grep -m1 -E 'Package id 0|Tdie|Tctl|Core 0' | grep -oP '\+?\d+(\.\d+)?(?=°C)')
if [[ -n "$raw_temp" ]]; then
# Удалим "+" и округлим
clean_temp=$(echo "$raw_temp" | sed 's/+//' | awk '{printf("%d\n", $1)}')
echo "$clean_temp"
exit 0
fi
fi
if [[ -f /sys/class/thermal/thermal_zone0/temp ]]; then
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
echo "$((temp / 1000))"
exit 0
fi
echo "N/A"
exit 1

3
waybar/scripts/datetime.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
date_str=$(date "+%H:%M:%S %d.%m.%Y")
echo "{\"text\":\" $date_str\",\"tooltip\":\"Current Time and Date\"}"

4
waybar/scripts/disk.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
main_disk=$(df -h / | awk 'NR==2 {print $3 "/" $2}')
hdd_disk=$(df -h /mnt/hdd 2>/dev/null | awk 'NR==2 {print $3 "/" $2}')
echo "{\"text\":\" ${main_disk} / ${hdd_disk:-N/A}\",\"tooltip\":\"Disk Usage\"}"

11
waybar/scripts/disk_hdd.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
# Выводит использование /mnt/hdd (или укажи свой путь)
mount_point="/mnt/hdd"
if mount | grep "$mount_point" > /dev/null; then
usage=$(df -h "$mount_point" | awk 'NR==2 {print $3 "/" $2}')
echo "$usage"
else
echo "N/A"
fi

4
waybar/scripts/disk_usage.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
used=$(df -h / | awk 'NR==2 {print $3 "/" $2}')
echo "$used"

11
waybar/scripts/gpu.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
USAGE=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | head -n1)
TEMP=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | head -n1)
if [[ -z "$USAGE" || -z "$TEMP" ]]; then
echo '{"icon": "", "usage": "?", "temp": "?"}'
else
echo "{\"icon\": \"\", \"usage\": \"$USAGE\", \"temp\": \"$TEMP\"}"
fi

16
waybar/scripts/gpu_temp.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
if command -v nvidia-smi &> /dev/null; then
temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | head -n1)
echo "$temp"
exit 0
fi
if command -v sensors &> /dev/null; then
temp=$(sensors | grep -iE 'edge|junction|temp1' | grep -Eo '[0-9]+(\.[0-9]+)?°C' | head -n1 | tr -d '°C')
echo "$temp"
exit 0
fi
echo "N/A"
exit 1

16
waybar/scripts/gpu_usage.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
if command -v nvidia-smi &> /dev/null; then
usage=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | head -n1)
echo "$usage"
exit 0
fi
if command -v radeontop &> /dev/null; then
usage=$(radeontop -d - -l 1 | grep -m1 "gpu" | awk '{print $2}' | tr -d '%')
echo "$usage"
exit 0
fi
echo "N/A"
exit 1

View File

@ -0,0 +1,14 @@
#!/bin/bash
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
layout=$(hyprctl devices -j | jq -r '.keyboards[] | select(.main==true) | .active_keymap')
else
layout=$(setxkbmap -query | grep layout | awk '{print $2}')
fi
case "$layout" in
*English*) layout="EN" ;;
*Russian*) layout="RU" ;;
esac
echo "$layout"

View File

@ -0,0 +1,17 @@
#!/bin/bash
current_layout=""
while true; do
layout=$(hyprctl -j devices | jq -r '.keyboards[] | select(.main==true) | .active_keymap')
[[ "$layout" == *Russian* ]] && layout="RU"
[[ "$layout" == *English* ]] && layout="EN"
if [ "$layout" != "$current_layout" ]; then
echo "$layout"
current_layout="$layout"
fi
sleep 0.1
done

3
waybar/scripts/memory.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
read total used <<<$(free -m | awk '/Mem:/ {print $2, $3}')
echo "{\"text\":\" ${used}M/${total}M\",\"tooltip\":\"Memory Usage\"}"

37
waybar/scripts/net_speed.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
INTERFACE=$(ip route | grep default | awk '{print $5}' | head -n1)
STATE_FILE="/tmp/.net_speed_prev_$INTERFACE"
RX_NOW=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_NOW=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
TIME_NOW=$(date +%s)
if [[ ! -f "$STATE_FILE" ]]; then
echo "$RX_NOW $TX_NOW $TIME_NOW" > "$STATE_FILE"
echo "0↓ 0↑"
exit
fi
read RX_PREV TX_PREV TIME_PREV < "$STATE_FILE"
RX_DIFF=$((RX_NOW - RX_PREV))
TX_DIFF=$((TX_NOW - TX_PREV))
TIME_DIFF=$((TIME_NOW - TIME_PREV))
echo "$RX_NOW $TX_NOW $TIME_NOW" > "$STATE_FILE"
(( TIME_DIFF == 0 )) && TIME_DIFF=1
RX_RATE=$((RX_DIFF / TIME_DIFF))
TX_RATE=$((TX_DIFF / TIME_DIFF))
format_speed() {
local b=$1
if (( b > 1048576 )); then
echo "$((b / 1048576))M"
elif (( b > 1024 )); then
echo "$((b / 1024))K"
else
echo "${b}B"
fi
}
echo "$(format_speed $RX_RATE)$(format_speed $TX_RATE)"

View File

@ -0,0 +1,35 @@
#!/bin/bash
INTERFACE=$(ip route get 8.8.8.8 2>/dev/null | awk '{print $5; exit}')
[ -z "$INTERFACE" ] && INTERFACE="eth0"
RX_PATH="/sys/class/net/$INTERFACE/statistics/rx_bytes"
TX_PATH="/sys/class/net/$INTERFACE/statistics/tx_bytes"
OUTFILE="/tmp/waybar_net_speed_output"
prev_rx=$(cat "$RX_PATH")
prev_tx=$(cat "$TX_PATH")
prev_time=$(date +%s)
while true; do
sleep 1
cur_rx=$(cat "$RX_PATH")
cur_tx=$(cat "$TX_PATH")
cur_time=$(date +%s)
drx=$((cur_rx - prev_rx))
dtx=$((cur_tx - prev_tx))
dt=$((cur_time - prev_time))
if (( dt > 0 )); then
rx_mbps=$(awk "BEGIN { printf \"%.1f\", $drx * 8 / 1024 / 1024 / $dt }")
tx_mbps=$(awk "BEGIN { printf \"%.1f\", $dtx * 8 / 1024 / 1024 / $dt }")
echo "${rx_mbps}Mbit/s  ${tx_mbps}Mbit/s" > "$OUTFILE"
fi
prev_rx=$cur_rx
prev_tx=$cur_tx
prev_time=$cur_time
done

View File

@ -0,0 +1,8 @@
#!/bin/bash
result=$(speedtest-cli --simple 2>/dev/null)
download=$(echo "$result" | grep "Download" | awk '{print $2, $3}')
upload=$(echo "$result" | grep "Upload" | awk '{print $2, $3}')
echo "$download ↓↑ $upload"

13
waybar/scripts/power_menu.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
choice=$(echo -e "⏻ Shutdown\n Reboot\n Lock\n Logout\n Suspend\n Hibernate\nCancel" | wofi --dmenu --width=250 --height=300 --prompt="Power Menu")
case "$choice" in
*Shutdown) systemctl poweroff ;;
*Reboot) systemctl reboot ;;
*Lock) hyprlock ;;
*Logout) hyprctl dispatch exit ;;
*Suspend) systemctl suspend ;;
*Hibernate) systemctl hibernate ;;
*) ;;
esac

8
waybar/scripts/volume.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
muted=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
vol=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}')
if [ "$muted" = "yes" ]; then
echo "{\"text\":\" MUTE\",\"tooltip\":\"Volume muted\"}"
else
echo "{\"text\":\" $vol\",\"tooltip\":\"Volume\"}"
fi

97
waybar/style.css Normal file
View File

@ -0,0 +1,97 @@
@import "./frappe.css";
* {
font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free", sans-serif;
font-size: 14px;
color: @text;
background-color: @base;
min-height: 0;
padding: 0;
margin: 0;
border: none;
}
window#waybar {
background-color: @base;
border-bottom: 2px solid @overlay0;
}
#cpu,
#custom-cpu_temp,
#memory,
#custom-gpu,
#custom-gpu_temp,
#custom-disk,
#custom-disk_hdd,
#network,
#pulseaudio,
#clock,
#custom-uptime,
#custom-power,
#custom-keyboard-state,
#custom-net_speed {
padding: 0 10px;
background-color: @surface0;
border-radius: 10px;
}
#tray > * {
background-color: @surface0;
border-radius: 6px;
padding: 4px;
}
#cpu {
margin-left: 12px;
}
#custom-cpu_temp {
margin-left: 6px;
}
#memory {
margin-left: 12px;
}
#custom-gpu {
margin-left: 12px;
}
#custom-gpu_temp {
margin-left: 6px;
}
#custom-disk {
margin-left: 12px;
}
#custom-disk_hdd {
margin-left: 6px;
margin-right: 12px;
}
#clock {
font-weight: bold;
}
#custom-net_speed {
margin-left: 12px;
}
#network {
margin-left: 12px;
}
#pulseaudio {
margin-left: 12px;
}
#custom-keyboard-state {
margin-left: 12px;
}
#custom-uptime {
margin-left: 12px;
}
#custom-power {
margin-left: 12px;
margin-right: 12px;
}
#tray {
margin-left: 12px;
}
#custom-cpu_temp.critical,
#custom-gpu_temp.critical {
color: @red;
background-color: @overlay1;
}

26
waybar/themes/frappe.css Normal file
View File

@ -0,0 +1,26 @@
@define-color rosewater #f2d5cf;
@define-color flamingo #eebebe;
@define-color pink #f4b8e4;
@define-color mauve #ca9ee6;
@define-color red #e78284;
@define-color maroon #ea999c;
@define-color peach #ef9f76;
@define-color yellow #e5c890;
@define-color green #a6d189;
@define-color teal #81c8be;
@define-color sky #99d1db;
@define-color sapphire #85c1dc;
@define-color blue #8caaee;
@define-color lavender #babbf1;
@define-color text #c6d0f5;
@define-color subtext1 #b5bfe2;
@define-color subtext0 #a5adce;
@define-color overlay2 #949cbb;
@define-color overlay1 #838ba7;
@define-color overlay0 #737994;
@define-color surface2 #626880;
@define-color surface1 #51576d;
@define-color surface0 #414559;
@define-color base #303446;
@define-color mantle #292c3c;
@define-color crust #232634;