Compare commits

...

8 Commits

Author SHA1 Message Date
6b7a6fd6e6 [Nvim] lint and pkg update 2025-10-11 00:57:02 +02:00
f5ae2e0848 [Fish] nmtui theme, bat 2025-10-11 00:56:33 +02:00
940ba48422 [Kitty] music edits 2025-10-11 00:55:52 +02:00
47d3d0d254 [Keybinds] update 2025-10-11 00:54:57 +02:00
039eb20956 [Hypr] bugfix 2025-10-11 00:54:13 +02:00
2d4b03425f [Cava] music visualizer config 2025-10-11 00:54:02 +02:00
9002b1e720 [Doc] Readme edit 2025-10-11 00:52:38 +02:00
4c6488d927 [Tuis] update 2025-10-11 00:52:29 +02:00
13 changed files with 289 additions and 157 deletions

View File

@@ -1,33 +1,33 @@
## Configuration file for CAVA. ## configuration file for cava.
# Remove the ; to change parameters. # remove the ; to change parameters.
[general] [general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0 # smoothing mode. can be 'normal', 'scientific' or 'waves'. deprecated as of 0.6.0
mode = scientific mode = scientific
# Accepts only non-negative values. # accepts only non-negative values.
framerate = 60 framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off # '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) # 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 # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. deprecated as of 0.6.0
autosens = 1 autosens = 1
; overshoot = 20 ; overshoot = 20
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value. # manual sensitivity in %. if autosens is enabled, this will only be the initial value.
# 200 means double height. Accepts only non-negative values. # 200 means double height. accepts only non-negative values.
; sensitivity = 100 ; sensitivity = 100
# The number of bars (0-512). 0 sets it to auto (fill up console). # 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' width and space between bars in number of characters.
; bars = 0 ; bars = 0
; bar_width = 2 ; bar_width = 2
; bar_spacing = 1 ; bar_spacing = 1
# bar_height is only used for output in "noritake" format # bar_height is only used for output in "noritake" format
; bar_height = 32 ; bar_height = 32
# For SDL width and space between bars is in pixels, defaults are: # for sdl width and space between bars is in pixels, defaults are:
; bar_width = 20 ; bar_width = 20
; bar_spacing = 5 ; bar_spacing = 5
@@ -42,47 +42,47 @@ autosens = 1
; max_height = 100 ; max_height = 100
# Lower and higher cutoff frequencies for lowest and highest bars # lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer. # the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars. # 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. # cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50 ; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000 ; higher_cutoff_freq = 10000
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and # 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. # only check for input once per second. cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0 ; sleep_timer = 0
[input] [input]
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem' # 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. # 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 mac it defaults to 'portaudio' or 'fifo'
# On windows this is automatic and no input settings are needed. # on windows this is automatic and no input settings are needed.
# #
# All input methods uses the same config variable 'source' # all input methods uses the same config variable 'source'
# to define where it should get the audio. # 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 # 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). # (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. # for pipewire 'source' will be the object name or object.serial of the device to capture from.
# Both input and output devices are supported. To capture the monitor source of a sink node, append '.monitor' to the sink's object name. # both input and output devices are supported. to capture the monitor source of a sink node, append '.monitor' to the sink's object name.
# #
# For alsa 'source' will be the capture device. # for alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file. # 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 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'. # 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. # 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. # 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. # 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'. # 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. # readme.md contains further information on how to setup cava for jack.
# #
; method = pulse ; method = pulse
; source = auto ; source = auto
@@ -91,13 +91,13 @@ autosens = 1
; source = auto ; source = auto
; method = alsa ; method = alsa
; source = hw:Loopback,1 ; source = hw:loopback,1
; method = fifo ; method = fifo
; source = /tmp/mpd.fifo ; source = /tmp/mpd.fifo
; method = shmem ; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF ; source = /squeezelite-aa:bb:cc:dd:ee:ff
; method = portaudio ; method = portaudio
; source = auto ; source = auto
@@ -111,16 +111,16 @@ autosens = 1
; method = jack ; method = jack
; source = default ; source = default
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods: # the options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
# sample_rate: fifo, pipewire, sndio, oss # sample_rate: fifo, pipewire, sndio, oss
# sample_bits: fifo, pipewire, sndio, oss # sample_bits: fifo, pipewire, sndio, oss
# channels: sndio, oss, jack # channels: sndio, oss, jack
# autoconnect: jack # autoconnect: jack
# Other methods ignore these settings. # other methods ignore these settings.
# #
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported # 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. # 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 # example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
# will use 44100, 16 and 1. # will use 44100, 16 and 1.
# #
; sample_rate = 44100 ; sample_rate = 44100
@@ -131,33 +131,33 @@ autosens = 1
[output] [output]
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl' # output method. can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
# or 'sdl_glsl'. # or 'sdl_glsl'.
# 'noncurses' (default) uses a buffer and cursor movements to only print # '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 # changes from frame to frame in the terminal. uses less resources and is less
# prone to tearing (vsync issues) than 'ncurses'. # prone to tearing (vsync issues) than 'ncurses'.
# #
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data # '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. # stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 1024 bars stereo (512 bars mono), which can be adjusted in the 'bars' option above. # 'raw' defaults to 1024 bars stereo (512 bars mono), which can be adjusted in the 'bars' option above.
# #
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display # '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. # 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' 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 # 'sdl_glsl' uses sdl to create an opengl context. write your own shaders or
# use one of the predefined ones. # use one of the predefined ones.
; method = noncurses ; method = noncurses
# Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or # orientation of the visualization. can be 'bottom', 'top', 'left', 'right' or
# 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl # '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 # and ncruses output. 'horizontal' (bars go up and down from center) is only supported
# on noncurses output. # on noncurses output.
# Note: many fonts have weird or missing glyphs for characters used in orientations # note: many fonts have weird or missing glyphs for characters used in orientations
# other than 'bottom', which can make output not look right. # other than 'bottom', which can make output not look right.
; orientation = bottom ; orientation = bottom
# Visual channels. Can be 'stereo' or 'mono'. # visual channels. can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center. # 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies. # 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'. # 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
@@ -166,22 +166,22 @@ autosens = 1
; mono_option = average ; mono_option = average
; reverse = 0 ; reverse = 0
# Raw output target. # raw output target.
# On Linux, a fifo will be created if target does not exist. # 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. # on windows, a named pipe will be created if target does not exist.
; raw_target = /dev/stdout ; raw_target = /dev/stdout
# Raw data format. Can be 'binary' or 'ascii'. # raw data format. can be 'binary' or 'ascii'.
; data_format = binary ; data_format = binary
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). # binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit ; bit_format = 16bit
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here # ascii max value. in 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000 ; ascii_max_range = 1000
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters. # 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)). # use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59 ; bar_delimiter = 59
; frame_delimiter = 10 ; frame_delimiter = 10
@@ -192,9 +192,9 @@ autosens = 1
; sdl_y= -1 ; sdl_y= -1
; sdl_full_screen = 0 ; sdl_full_screen = 0
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none' # 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. # 'frequency' displays the lower cut off frequency of the bar above.
# Only supported on ncurses and noncurses output. # only supported on ncurses and noncurses output.
; xaxis = none ; xaxis = none
# enable synchronized sync. 1 = on, 0 = off # enable synchronized sync. 1 = on, 0 = off
@@ -202,7 +202,7 @@ autosens = 1
# defaults to off since the behaviour in other terminal emulators is unknown # defaults to off since the behaviour in other terminal emulators is unknown
; synchronized_sync = 0 ; synchronized_sync = 0
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders # shaders for sdl_glsl, located in $home/.config/cava/shaders
; vertex_shader = pass_through.vert ; vertex_shader = pass_through.vert
; fragment_shader = bar_spectrum.frag ; fragment_shader = bar_spectrum.frag
@@ -210,7 +210,7 @@ autosens = 1
; continuous_rendering = 0 ; continuous_rendering = 0
# disable console blank (screen saver) in tty # disable console blank (screen saver) in tty
# (Not supported on FreeBSD) # (not supported on freebsd)
; disable_blanking = 0 ; disable_blanking = 0
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off # show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
@@ -221,21 +221,21 @@ autosens = 1
[color] [color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. # colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires # or defined by hex code '#xxxxxx' (hex code must be within ''). user defined colors requires
# a terminal that can change color definitions such as Gnome-terminal or rxvt. # a terminal that can change color definitions such as gnome-terminal or rxvt.
# default is to keep current terminal color # default is to keep current terminal color
; background = default ; background = default
; foreground = default ; foreground = default
# SDL and sdl_glsl only support hex code colors, these are the default: # sdl and sdl_glsl only support hex code colors, these are the default:
; background = '#111111' ; background = '#111111'
; foreground = '#D34b11' ; foreground = '#d34b11'
# ; foreground = '#D34b11' # ; foreground = '#d34b11'
# Gradient mode, only hex defined colors are supported, # gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off. # background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen # you can define as many as 8 different colors. they range from bottom to top of screen
gradient = 1 gradient = 1
gradient_color_1 = '#d34b11' gradient_color_1 = '#d34b11'
gradient_color_2 = '#cc5933' gradient_color_2 = '#cc5933'
@@ -246,8 +246,8 @@ gradient_color_6 = '#a6cc33'
gradient_color_7 = '#80cc33' gradient_color_7 = '#80cc33'
gradient_color_8 = '#59cc33' gradient_color_8 = '#59cc33'
# Horizontal is only supported on noncurses output. # horizontal is only supported on noncurses output.
# Only one color will be calculated per bar. # only one color will be calculated per bar.
; horizontal_gradient = 1 ; horizontal_gradient = 1
; horizontal_gradient_color_1 = '#c45161' ; horizontal_gradient_color_1 = '#c45161'
; horizontal_gradient_color_2 = '#e094a0' ; horizontal_gradient_color_2 = '#e094a0'
@@ -259,39 +259,39 @@ gradient_color_8 = '#59cc33'
; horizontal_gradient_color_8 = '#434279' ; horizontal_gradient_color_8 = '#434279'
# If both vertical and horizontal gradient is enabled, vertical will be blended in this direction. # if both vertical and horizontal gradient is enabled, vertical will be blended in this direction.
# Can be 'up', 'down', 'left' or 'right'. 'up' means the vertical gradient will be blended in from # can be 'up', 'down', 'left' or 'right'. 'up' means the vertical gradient will be blended in from
# bottom to top. I.e. the bottom will be only the horizontal # bottom to top. i.e. the bottom will be only the horizontal
# and top will be only the color of the vertical gradient. # and top will be only the color of the vertical gradient.
; blend_direction = 'up' ; blend_direction = 'up'
# use theme file instead of defining colors in this file # use theme file instead of defining colors in this file
# themes are located in $HOME/.config/cava/themes # themes are located in $home/.config/cava/themes
; theme = 'none' ; theme = 'none'
[smoothing] [smoothing]
# Percentage value for integral smoothing. Takes values from 0 - 100. # percentage value for integral smoothing. takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable. # higher values means smoother, but less precise. 0 to disable.
# DEPRECATED as of 0.8.0, use noise_reduction instead # deprecated as of 0.8.0, use noise_reduction instead
; integral = 77 ; integral = 77
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. # disables or enables the so-called "monstercat smoothing" with or without "waves". set to 0 to disable.
; monstercat = 0 ; monstercat = 0
; waves = 0 ; waves = 0
# Set gravity percentage for "drop off". Higher values means bars will drop faster. # 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". # 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 # deprecated as of 0.8.0, use noise_reduction instead
; gravity = 100 ; gravity = 100
# In bar height, bars that would have been lower that this will not be drawn. # in bar height, bars that would have been lower that this will not be drawn.
# DEPRECATED as of 0.8.0 # deprecated as of 0.8.0
; ignore = 0 ; ignore = 0
# Noise reduction, int 0 - 100. default 77 # 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 # 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. # 100 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 77 ; noise_reduction = 77
@@ -299,25 +299,11 @@ gradient_color_8 = '#59cc33'
[eq] [eq]
# This one is tricky. You can have as much keys as you want. # this one is tricky. you can have as much keys as you want.
# Remember to uncomment more than one key! More keys = more precision. # remember to uncomment more than one key! more keys = more precision.
# Look at readme.md on github for further explanations and examples. # look at readme.md on github for further explanations and examples.
; 1 = 1 # bass ; 1 = 1 # bass
; 2 = 1 ; 2 = 1
; 3 = 1 # midtone ; 3 = 1 # midtone
; 4 = 1 ; 4 = 1
; 5 = 1 # treble ; 5 = 1 # treble
### HYPRDOTS CAVA: Autogenerated line below for wallbash###
[color]
gradient = 1
gradient_count = 8
gradient_color_1 = '#332952'
gradient_color_2 = '#463A6B'
gradient_color_3 = '#7D4B5F'
gradient_color_4 = '#8F576D'
gradient_color_5 = '#A36578'
gradient_color_6 = '#C27A90'
gradient_color_7 = '#E69A9D'
gradient_color_8 = '#F0AAAD'

View File

@@ -0,0 +1,117 @@
#version 330
// this shader was stolen from shadertoy user ChunderFPV
#define SCALE 8.0
#define PI radians(180.0)
#define TAU (PI * 2.0)
#define CS(a) vec2(cos(a), sin(a))
#define PT(u, r) smoothstep(0.0, r, r - length(u))
in vec2 fragCoord;
out vec4 fragColor;
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform float shader_time; // shader execution time s
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
// gradient map ( color, equation, time, width, shadow, reciprocal )
vec3 gm(vec3 c, float n, float t, float w, float d, bool i) {
float g = min(abs(n), 1.0 / abs(n));
float s = abs(sin(n * PI - t));
if (i)
s = min(s, abs(sin(PI / n + t)));
return (1.0 - pow(abs(s), w)) * c * pow(g, d) * 6.0;
}
// denominator spiral, use 1/n for numerator
// ( screen xy, spiral exponent, decimal, line width, hardness, rotation )
float ds(vec2 u, float e, float n, float w, float h, float ro) {
float ur = length(u); // unit radius
float sr = pow(ur, e); // spiral radius
float a = round(sr) * n * TAU; // arc
vec2 xy = CS(a + ro) * ur; // xy coords
float l = PT(u - xy, w); // line
float s = mod(sr + 0.5, 1.0); // gradient smooth
s = min(s, 1.0 - s); // darken filter
return l * s * h;
}
void main() {
float t = shader_time / PI * 2.0;
vec4 m = vec4(0, 0, 0, 0); // iMouse;
m.xy = m.xy * 2.0 / u_resolution.xy - 1.0; // ±1x, ±1y
if (m.z > 0.0)
t += m.y * SCALE; // move time with mouse y
float z = (m.z > 0.0) ? pow(1.0 - abs(m.y), sign(m.y)) : 1.0; // zoom (+)
float e = (m.z > 0.0) ? pow(1.0 - abs(m.x), -sign(m.x))
: 1.0; // screen exponent (+)
float se = (m.z > 0.0) ? e * -sign(m.y) : 1.0; // spiral exponent
vec3 bg = vec3(0); // black background
float aa = 3.0; // anti-aliasing
for (float j = 0.0; j < aa; j++)
for (float k = 0.0; k < aa; k++) {
vec3 c = vec3(0);
vec2 o = vec2(j, k) / aa;
vec2 uv = (fragCoord * u_resolution.xy - 0.5 * u_resolution.xy + o) /
u_resolution.y * SCALE * z; // apply cartesian, scale and zoom
if (m.z > 0.0)
uv =
exp(log(abs(uv)) * e) * sign(uv); // warp screen space with exponent
float px = length(fwidth(uv)); // pixel width
float x = uv.x; // every pixel on x
float y = uv.y; // every pixel on y
float l = length(uv); // hypot of xy: sqrt(x*x+y*y)
float mc = (x * x + y * y - 1.0) / y; // metallic circle at xy
float g = min(abs(mc), 1.0 / abs(mc)); // gradient
vec3 gold = vec3(1.0, 0.6, 0.0) * g * l;
vec3 blue = vec3(0.3, 0.5, 0.9) * (1.0 - g);
vec3 rgb = max(gold, blue);
float w = 0.1; // line width
float d = 0.4; // shadow depth
c = max(c, gm(rgb, mc, -t, w * bars[0], d, false)); // metallic
c = max(c, gm(rgb, abs(y / x) * sign(y), -t, w * bars[1], d,
false)); // tangent
c = max(c, gm(rgb, (x * x) / (y * y) * sign(y), -t, w * bars[2], d,
false)); // sqrt cotangent
c = max(c, gm(rgb, (x * x) + (y * y), t, w * bars[3], d,
true)); // sqrt circles
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[4], 2.0, 0.0); // spiral 1a
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[5], 2.0, PI); // spiral 1b
c +=
rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[6], 2.0, 0.0); // spiral 2a
c += rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[7], 2.0, PI); // spiral 2b
c = max(c, 0.0); // clear negative color
c += pow(max(1.0 - l, 0.0), 3.0 / z); // center glow
if (m.z > 0.0) // display grid on click
{
vec2 xyg = abs(fract(uv + 0.5) - 0.5) / px; // xy grid
c.gb += 0.2 * (1.0 - min(min(xyg.x, xyg.y), 1.0));
}
bg += c;
}
bg /= aa * aa;
bg *= sqrt(bg) * 1.5;
fragColor = vec4(bg, 1.0);
}

View File

@@ -0,0 +1,15 @@
[color]
background = '#001e26'
foreground = '#708183'
gradient = 1
gradient_color_1 = '#268bd2'
gradient_color_2 = '#6c71c4'
gradient_color_3 = '#cb4b16'
horizontal_gradient = 1
horizontal_gradient_color_1 = '#586e75'
horizontal_gradient_color_2 = '#b58900'
horizontal_gradient_color_3 = '#839496'
blend_direction = 'up'

View File

@@ -0,0 +1,10 @@
[color]
horizontal_gradient = 1
horizontal_gradient_color_1 = '#c45161'
horizontal_gradient_color_2 = '#e094a0'
horizontal_gradient_color_3 = '#f2b6c0'
horizontal_gradient_color_4 = '#f2dde1'
horizontal_gradient_color_5 = '#cbc7d8'
horizontal_gradient_color_6 = '#8db7d2'
horizontal_gradient_color_7 = '#5e62a9'
horizontal_gradient_color_8 = '#434279'

View File

@@ -1,6 +1,7 @@
set -gx EDITOR nvim set -gx EDITOR nvim
set -gx PAGER less set -gx PAGER less
set -Ux MANPAGER "nvim +Man!" set -Ux MANPAGER "nvim +Man!"
set -x NEWT_COLORS 'root=black,black;window=black,black;border=white,black;listbox=white,black;label=blue,black;checkbox=red,black;title=green,black;button=white,red;actsellistbox=white,red;actlistbox=white,gray;compactbutton=white,gray;actcheckbox=white,blue;entry=lightgray,black;textbox=blue,black' nmtui
# set -gx BAT_THEME "Catppuccin Mocha" # set -gx BAT_THEME "Catppuccin Mocha"
## functions ## functions
set -g fish_greeting set -g fish_greeting
@@ -26,7 +27,7 @@ alias llama=" ~/projects/llama.cpp/build/bin/llama-run"
# Shorts # Shorts
alias fzf="fzf --preview color='always {}'" alias fzf="fzf --preview color='always {}'"
alias grep="grep --color=auto" alias grep="grep --color=auto"
alias cat="vimcat" alias cat="bat -p"
# Git # Git
alias gs="git status" alias gs="git status"

View File

@@ -98,10 +98,10 @@ device {
# See https://wiki.hyprland.org/Configuring/Variables/ # See https://wiki.hyprland.org/Configuring/Variables/
gestures { # gestures {
workspace_swipe = true # workspace_swipe = true
workspace_swipe_fingers = 3 # workspace_swipe_fingers = 3
} # }
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ # █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀

View File

@@ -10,16 +10,15 @@ $mainMod = Super # super / meta / windows key
# Assign apps # Assign apps
$term = kitty # fish alacritty $term = kitty # fish alacritty
$editor = neovide
$file = dolphin $file = dolphin
$browser = librewolf $browser = librewolf
$yt = freetube $yt = freetube
$notes = obsidian
$wm=Window Management $wm=Window Management
$d=[$wm] $d=[$wm]
# Window/Session actions # Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
@@ -39,15 +38,18 @@ bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for
bind = $mainMod+Shift, T, exec, st bind = $mainMod+Shift, T, exec, st
bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
bind = $mainMod, E, exec, $file # launch file manager bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, C, exec, $editor # launch text editor
bind = $mainMod, F, exec, $yt # launch yt alternative bind = $mainMod, F, exec, $yt # launch yt alternative
bind = $mainMod, B, exec, $browser # launch web browser bind = $mainMod, B, exec, $browser # launch web browser
bind = $mainMod, M, exec, $notes # launch notes app
bind = $mainMod, G, exec, gajim # launch messanger bind = $mainMod, G, exec, gajim # launch messanger
bind = $mainMod, K, exec, keepassxc # launch password manager bind = $mainMod, K, exec, keepassxc # launch password manager
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) bindd = $mainMod, N, Neovim, exec, $term -e nvim
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
bindd = Ctrl+Shift, Escape, Btop, exec, kitty -e btop
bindd = Ctrl+Alt, Delete, Btop, exec, kitty -e btop
# bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser # bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser
# Rofi menus # Rofi menus
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher

View File

@@ -1,17 +1,17 @@
# Run with `kitty --session ~/.config/kitty/music.conf` # run with `kitty --session ~/.config/kitty/music.conf`
layout tall layout tall
os_window_size 220c 64c # os_window_size 220c 64c
# Create a new tab # create a new tab
new_tab Music new_tab music
# Set the working directory for windows in the current tab # set the working directory for windows in the current tab
cd cd
launch --var window=first cava launch --var window=first cava
# Create additional terminals # create additional terminals
launch --location=hsplit pyradio launch --location=hsplit pyradio
resize_window taller 10 resize_window taller 10
focus pyradio focus pyradio
launch --location=vsplit pipes-rs launch --location=vsplit pipes-rs
resize_window narrower 50 resize_window wider 20

View File

@@ -1,32 +1,32 @@
{ {
"LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" }, "LuaSnip": { "branch": "master", "commit": "b3104910bb5ebf40492aadffae18f2528fa757d9" },
"NvChad": { "branch": "v2.5", "commit": "bbc3d43db088c141b142a40cd5f717635833a54e" }, "NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" },
"base46": { "branch": "v2.5", "commit": "8971be55aeb6d5fe086169c0ee9ce647a3871570" }, "base46": { "branch": "v2.5", "commit": "fde7a2cd54599e148d376f82980407c2d24b0fa2" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "023f795dbcf32d4351b6a9ed2e613d471b5bb812" }, "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gen.nvim": { "branch": "main", "commit": "c8e1f574d4a3a839dde73a87bdc319a62ee1e559" }, "gen.nvim": { "branch": "main", "commit": "c8e1f574d4a3a839dde73a87bdc319a62ee1e559" },
"gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" }, "gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" },
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"menu": { "branch": "main", "commit": "657bfc91382c0928453d9a4d0a10ec92db5de2bb" }, "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
"mini.nvim": { "branch": "main", "commit": "efff26174ca363c059f92e906753db47e81d870b" }, "mini.nvim": { "branch": "main", "commit": "bc34736e5b1d5561bc628f1cedd7c01f5ce5ee9f" },
"minty": { "branch": "main", "commit": "a3d69bd63fc98f640815f94b797bf978e9193022" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-cmp": { "branch": "main", "commit": "f17d9b4394027ff4442b298398dfcaab97e40c4f" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "f012c1b176f0e3c71f40eb309bdec0316689462e" }, "nvim-lspconfig": { "branch": "master", "commit": "aafecf5b8bc0a768f1a97e3a6d5441e64dee79f9" },
"nvim-tree.lua": { "branch": "master", "commit": "f7c65e11d695a084ca10b93df659bb7e68b71f9f" }, "nvim-tree.lua": { "branch": "master", "commit": "e179ad2f83b5955ab0af653069a493a1828c2697" },
"nvim-treesitter": { "branch": "master", "commit": "37427012d1c77c544356bfff0c9acc88fd3256bc" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "e87554285f581047b1bf236794b0eb812b444b87" }, "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "eec00fbfd7273cdfa0a1154dbef0bb983641eaf8" }, "render-markdown.nvim": { "branch": "main", "commit": "9ab9dade85d8c7d411cc89b592028da3d1b7955a" },
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"ui": { "branch": "v3.0", "commit": "9b31c25fc497d1ef726de15ae297769dbf90c1a5" }, "ui": { "branch": "v3.0", "commit": "532d566190391f2ddc388a5b1093b0f227366e87" },
"volt": { "branch": "main", "commit": "41c03a5d6a0a8a997e774a3482d82e5ef820c6ba" }, "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" } "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
} }

View File

@@ -1,9 +1,8 @@
local options = { local options = {
formatters_by_ft = { formatters_by_ft = {
lua = { "stylua" }, lua = { "stylua" },
css = { "prettier" }, -- css = { "prettier" },
html = { "prettier" }, -- html = { "prettier" },
typescript = { "prettier" },
}, },
-- format_on_save = { -- format_on_save = {

View File

@@ -1,6 +1,6 @@
require("nvchad.configs.lspconfig").defaults() require("nvchad.configs.lspconfig").defaults()
local servers = { "html", "cssls", "ts_ls" } local servers = { "html", "cssls", "ts_ls", "eslint" }
vim.lsp.enable(servers) vim.lsp.enable(servers)
-- local lspconfig = require "lspconfig" -- local lspconfig = require "lspconfig"

View File

@@ -1,12 +1,13 @@
using `gnu stow` using `gnu stow`
``` Customized [Hyde](https://github.com/HyDE-Project/HyDE)
https://github.com/HyDE-Project/HyDE
``` `hyde`, `waybar` and `fish` are from hyprdots with customizations
`hyde`, `waybar` and `fish` are from hyprdots with edits
`nvim` is [nvchad](https://nvchad.com/) custom conf `nvim` is [nvchad](https://nvchad.com/) custom conf

View File

@@ -19,16 +19,17 @@ lazygit
lazydocker lazydocker
lazyjorunal lazyjorunal
oatmeal oatmeal
tt
pastel pastel
hexyl hexyl
tmux tmux
zellij zellij
nvim nvim
vim vim
tetrigo
pyradio pyradio
kew kew
tt
gittype
matrix matrix
cava cava
tetrigo
tui-mines