Initial Commit

This commit is contained in:
“Henry-Hiles” 2022-10-25 10:16:39 -04:00
commit 6ca41923e5
45 changed files with 3007 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
debug.log

1657
.p10k.zsh Normal file

File diff suppressed because it is too large Load diff

33
.zshrc Normal file
View file

@ -0,0 +1,33 @@
#
# Neofetch
#
neofetch
#
# General config
#
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
ZSH_THEME="powerlevel10k/powerlevel10k"
CASE_SENSITIVE="false"
HYPHEN_INSENSITIVE="true"
ENABLE_CORRECTION="true"
ZSH_CUSTOM_AUTOUPDATE_QUIET=true
#
# Plugins
#
plugins=(auto-notify zsh-256color sudo copyfile dirhistory zsh-autosuggestions zsh-bash-completions-fallback autoupdate)
#
# Oh my zsh
#
export ZSH="$HOME/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
#
# P10K
#
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

11
README.md Normal file
View file

@ -0,0 +1,11 @@
# Dotfiles
These are my dotfiles for neofetch, neovim, zsh, glava, alacritty, and btop.
## Installation
```
git clone https://github.com/Henry-Hiles/dotfiles
cd dotfiles
sh install.sh
```

9
aliases.zsh Normal file
View file

@ -0,0 +1,9 @@
alias cat=bat
alias ls='exa -a --color=always --group-directories-first --icons'
alias ping="prettyping"
alias man=batman
alias push="git push"
alias clone="gh repo clone"
alias create="gh repo create"
alias commit="git add -A && git commit -am"
alias shutdown='shutdown -h now'

25
config/alacritty/alacritty.yml Executable file
View file

@ -0,0 +1,25 @@
window:
padding:
x: 10
y: 10
dynamic_padding: false
opacity: 0.85
title: Terminal
dynamic_title: false
font:
normal:
family: fira code
draw_bold_text_with_bright_colors: true
cursor:
style:
shape: Beam
blinking: On
live_config_reload: true
colors:
transparent_background_colors: true

13
config/alacritty/cava.yml Executable file
View file

@ -0,0 +1,13 @@
window:
opacity: 0
font:
normal:
family: fira code
draw_bold_text_with_bright_colors: true
live_config_reload: true
colors:
transparent_background_colors: true

212
config/btop/btop.conf Normal file
View file

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

1
config/glava/bars Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//bars

33
config/glava/bars.glsl Executable file
View file

@ -0,0 +1,33 @@
/* Center line thickness (pixels) */
#define C_LINE 1
/* Width (in pixels) of each bar */
#define BAR_WIDTH 10
/* Width (in pixels) of each bar gap */
#define BAR_GAP 2
/* Outline color */
#define BAR_OUTLINE #d90000
/* Outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 500
/* Whether the current settings use the alpha channel;
enabling this is required for alpha to function
correctly on X11 with `"native"` transparency. */
#define USE_ALPHA 0
/* How strong the gradient changes */
#define GRADIENT_POWER 60
/* Bar color changes with height */
#define GRADIENT (d / GRADIENT_POWER + 1)
/* Bar color */
#define COLOR #AD0000
/* Direction that the bars are facing, 0 for inward, 1 for outward */
#define DIRECTION 0
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to flip the output vertically */
#define FLIP 1
/* Whether to mirror output along `Y = X`, causing output to render on the left side of the window */
/* Use with `FLIP 1` to render on the right side */
#define MIRROR_YX 0

1
config/glava/circle Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//circle

24
config/glava/circle.glsl Executable file
View file

@ -0,0 +1,24 @@
/* center radius (pixels) */
#define C_RADIUS 128
/* center line thickness (pixels) */
#define C_LINE 1.5
/* outline color */
#define OUTLINE #333333
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 150
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE (PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to fill in the space between the line and inner circle */
#define C_FILL 0
/* Whether to apply a post-processing image smoothing effect
1 to enable, 0 to disable. Only works with `xroot` transparency,
and improves performance if disabled. */
#define C_SMOOTH 1
/* Gravity step, overrude frin `smooth_parameters.glsl` */
#request setgravitystep 6.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.01

8
config/glava/env_KWin.glsl Executable file
View file

@ -0,0 +1,8 @@
#request setdecorated false
#request setxwintype "normal"
#request addxwinstate "below"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "pinned"
#request setclickthrough true

2
config/glava/env_Openbox.glsl Executable file
View file

@ -0,0 +1,2 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"

3
config/glava/env_Xfwm4.glsl Executable file
View file

@ -0,0 +1,3 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"
#request addxwinstate "below"

1
config/glava/env_awesome.glsl Executable file
View file

@ -0,0 +1 @@
#request setxwintype "!-"

1
config/glava/env_default.glsl Executable file
View file

@ -0,0 +1 @@
#request setxwintype "desktop"

1
config/glava/env_i3.glsl Executable file
View file

@ -0,0 +1 @@
#request setxwintype "!-"

1
config/glava/graph Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//graph

31
config/glava/graph.glsl Executable file
View file

@ -0,0 +1,31 @@
/* Vertical scale, larger values will amplify output */
#define VSCALE 300
/* Rendering direction, either -1 (outwards) or 1 (inwards). */
#define DIRECTION 1
/* Color gradient scale, (optionally) used in `COLOR` macro */
#define GRADIENT_SCALE 75
/* Color definition. By default this is a gradient formed by mixing two colors.
`pos` represents the pixel position relative to the visualizer baseline. */
#define COLOR mix(#802A2A, #4F4F92, clamp(pos / GRADIENT_SCALE, 0, 1))
/* 1 to draw outline, 0 to disable */
#define DRAW_OUTLINE 0
/* 1 to draw edge highlight, 0 to disable */
#define DRAW_HIGHLIGHT 1
/* Whether to anti-alias the border of the graph, creating a smoother curve.
This may have a small impact on performance.
Note: requires `xroot` or `none` opacity to be set */
#define ANTI_ALIAS 0
/* outline color */
#define OUTLINE #262626
/* 1 to join the two channels together in the middle, 0 to clamp both down to zero */
#define JOIN_CHANNELS 0
/* 1 to invert (vertically), 0 otherwise */
#define INVERT 0
/* Gravity step, overrude from `smooth_parameters.glsl` */
#request setgravitystep 2.4
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.015

1
config/glava/radial Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//radial

39
config/glava/radial.glsl Executable file
View file

@ -0,0 +1,39 @@
/* center radius (pixels) */
#define C_RADIUS 128
/* center line thickness (pixels) */
#define C_LINE 2
/* outline color */
#define OUTLINE #333333
/* number of bars (use even values for best results) */
#define NBARS 180
/* width (in pixels) of each bar*/
#define BAR_WIDTH 3.5
/* outline color */
#define BAR_OUTLINE OUTLINE
/* outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 300
/* Bar color */
#define COLOR (#cc3333 * ((d / 40) + 1))
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE (PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Aliasing factors. Higher values mean more defined and jagged lines.
Note: aliasing does not have a notable impact on performance, but requires
`xroot` transparency to be enabled since it relies on alpha blending with
the background. */
#define BAR_ALIAS_FACTOR 1.2
#define C_ALIAS_FACTOR 1.8
/* Offset (Y) of the visualization */
#define CENTER_OFFSET_Y 0
/* Offset (X) of the visualization */
#define CENTER_OFFSET_X 0
/* Gravity step, override from `smooth_parameters.glsl` */
#request setgravitystep 5.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.02

227
config/glava/rc.glsl Executable file
View file

@ -0,0 +1,227 @@
/* The module to use. A module is a set of shaders used to produce
the visualizer. The structure for a module is the following:
module_name [directory]
1.frag [file: fragment shader],
2.frag [file: fragment shader],
...
Shaders are loaded in numerical order, starting at '1.frag',
continuing indefinitely. The results of each shader (except
for the final pass) is given to the next shader in the list
as a 2D sampler.
See documentation for more details. */
#request mod bars
/* Window hints */
#request setfloating false
#request setdecorated true
#request setfocused false
#request setmaximized false
/* Set window background opacity mode. Possible values are:
"native" - True transparency provided by the compositor. Can
reduce performance on some systems, depending on
the compositor used.
"xroot" - Maintain a copy of the root window's pixmap
(usually the desktop background) to provide a
pseudo-transparent effect. Useful when no compositor
is available or native transparency isn't nessecary.
Has very little performance impact.
"none" - Disable window opacity completely. */
#request setopacity "native"
/* Whether to mirror left and right audio input channels from PulseAudio.*/
#request setmirror false
/* OpenGL context and GLSL shader versions, do not change unless
you *absolutely* know what you are doing. */
#request setversion 3 3
#request setshaderversion 330
/* Window title */
#request settitle "GLava"
/* Window geometry (x, y, width, height) */
#request setgeometry 0 0 3840 1080
/* Window background color (RGB format).
Does not work with `setopacity "xroot"` */
#request setbg 00000000
/* (X11 only) EWMH Window type. Possible values are:
"desktop", "dock", "toolbar", "menu",
"utility", "splash", "dialog", "normal"
This will set _NET_WM_WINDOW_TYPE to _NET_WM_WINDOW_TYPE_(TYPE),
where (TYPE) is the one of the window types listed (after being
converted to uppercase).
Alternatively, you can set this value to "!", which will cause
the window to be unmanaged. If this is set, then `addxwinstate`
will do nothing, but you can use "!+" and "!-" to stack on top
or below other windows.
*/
#request setxwintype "normal"
/* (X11 only) EWMH Window state atoms (multiple can be specified).
Possible values are:
"modal", "sticky", "maximized_vert", "maximized_horz",
"shaded", "skip_taskbar", "skip_pager", "hidden", "fullscreen",
"above", "below", "demands_attention", "focused", "pinned"
This will add _NET_WM_STATE_(TYPE) atoms to _NET_WM_STATE,
where (TYPE) is one of the window states listed (after being
converted to uppercase).
The lines below (commented out by default) are of relevance
if you are trying to get GLava to behave as a desktop widget
and your WM is not correctly responding to the "desktop" value
for `setxwintype`.
*/
// #request addxwinstate "sticky"
// #request addxwinstate "skip_taskbar"
// #request addxwinstate "skip_pager"
// #request addxwinstate "above"
// #request addxwinstate "pinned"
/* (X11 only) Use the XShape extension to support clicking through
the GLava window. Useful when you want to interact with other
desktop windows (icons, menus, desktop shells). Enabled by
default when GLava itself is a desktop window. */
#request setclickthrough false
/* Audio source
When the "pulseaudio" backend is set, this can be a number or
a name of an audio sink or device to record from. Set to "auto"
to use the default output device.
When the "fifo" backend is set, "auto" is interpreted as
"/tmp/mpd.fifo". Otherwise, a valid path should be provided. */
#request setsource "auto"
/* Buffer swap interval (vsync), set to '0' to prevent
waiting for refresh, '1' (or more) to wait for the specified
amount of frames. */
#request setswap 1
/* Linear interpolation for audio data frames. Drastically
improves smoothness with configurations that yield low UPS
(`setsamplerate` and `setsamplesize`), or monitors that have
high refresh rates.
This feature itself, however, will effect performance as it
will have to interpolate data every frame on the CPU. It will
automatically (and temporarily) disable itself if the update
rate is close to, or higher than the framerate:
if (update_rate / frame_rate > 0.9) disable_interpolation;
This will delay data output by one update frame, so it can
desync audio with visual effects on low UPS configs. */
#request setinterpolate true
/* Frame limiter, set to the frames per second (FPS) desired or
simply set to zero (or lower) to disable the frame limiter. */
#request setframerate 0
/* Suspends rendering if a fullscreen window is focused while
GLava is still visible (ie. on another monitor). This prevents
rendering from interfering with other graphically intensive
tasks.
If GLava is minimized or completely obscured, it will not
render regardless of this option. */
#request setfullscreencheck false
/* Enable/disable printing framerate every second. 'FPS' stands
for 'Frames Per Second', and 'UPS' stands for 'Updates Per
Second'. Updates are performed when new data is submitted
by pulseaudio, and require transformations to be re-applied
(thus being a good measure of how much work your CPU has to
perform over time) */
#request setprintframes true
/* PulseAudio sample buffer size. Lower values result in more
frequent audio updates (also depends on sampling rate), but
will also require all transformations to be applied much
more frequently (CPU intensive).
High (>2048, with 22050 Hz) values will decrease accuracy
(as some signals can be missed by transformations like FFT)
The following settings (@22050 Hz) produce the listed rates:
Sample UPS Description
- 2048 -> 43.0 (low accuracy, cheap), use with < 60 FPS
- 1024 -> 86.1 (high accuracy, expensive), use with >= 60 FPS
- 512 -> 172.3 (extreme accuracy, very expensive), use only
for graphing accurate spectrum data with
custom modules.
If the framerate drops below the update rate, the update rate
will be locked to the framerate (to prevent wasting CPU time).
This behaviour means you can use a 1024 sample size on a 60Hz
monitor with vsync enabled to get 60FPS and 60UPS.
For high refresh rate monitors (120+ Hz), it's recommended to
also stick with the 1024 sample size and use interpolation to
smooth the data, as accuracy beyond this setting is mostly
meaningless for visual purposes.
*/
#request setsamplesize 1024
/* Audio buffer size to be used for processing and shaders.
Increasing this value can have the effect of adding 'gravity'
to FFT output, as the audio signal will remain in the buffer
longer.
This value has a _massive_ effect on FFT performance and
quality for some modules. */
#request setbufsize 4096
/* PulseAudio sample rate. Lower values can add 'gravity' to
FFT output, but can also reduce accuracy. Most hardware
samples at 44100Hz.
Lower sample rates also can make output more choppy, when
not using interpolation. It's generally OK to leave this
value unless you have a strange PulseAudio configuration.
This option does nothing when using the "fifo" audio
backend. Instead, an ideal rate should be be configured
in the application generating the output. */
#request setsamplerate 22050
/* ** DEPRECATED **
Force window geometry (locking the window in place), useful
for some pesky WMs that try to reposition the window when
embedding in the desktop.
This routinely sends X11 events and should be avoided. */
#request setforcegeometry false
/* ** DEPRECATED **
Force window to be raised (focused in some WMs), useful for
WMs that have their own stacking order for desktop windows.
This routinely sends X11 events and should be avoided. */
#request setforceraised false
/* ** DEPRECATED **
Scale down the audio buffer before any operations are
performed on the data. Higher values are faster.
This value can affect the output of various transformations,
since it applies (crude) averaging to the data when shrinking
the buffer. It is reccommended to use `setsamplerate` and
`setsamplesize` to improve performance or accuracy instead. */
#request setbufscale 1

View file

@ -0,0 +1,78 @@
/* Settings for smoothing functions and transformations commonly
used to display FFT output.
IMPORTANT: THESE VALUES CAN BE OVERRIDDEN IN MODULE CONFIG
FILES, IF CHANGING VALUES HERE DOES NOT WORK, CHECK
TO MAKE SURE THEY ARE NOT BEING SET ELSEWHERE.
*/
/* The type of formula to use for weighting values when smoothing.
Possible values:
- circular heavily rounded points
- sinusoidal rounded at both low and high weighted values
like a sine wave
- linear not rounded at all; linear distance
*/
#define ROUND_FORMULA sinusoidal
/* The sampling mode for processing raw FFT input:
- average averages all the inputs in the sample range for
a given point. Produces smooth output, but peaks
are not well represented
- maximum obtains the best value from the closest peak in
the sample range. Very accurate peaks, but
output is jagged and sporadic.
- hybrid uses the results from both `average` and `maximum`
with the weight provided in `SAMPLE_HYBRID_WEIGHT` */
#define SAMPLE_MODE average
/* Weight should be provided in the range (0, 1). Higher values favour
averaged results. `hybrid` mode only. */
#define SAMPLE_HYBRID_WEIGHT 0.65
/* Factor used to scale frequencies. Lower values allows lower
frequencies to occupy more space. */
#define SAMPLE_SCALE 8
/* The frequency range to sample. 1.0 would be the entire FFT output,
and lower values reduce the displayed frequencies in a log-like
scale. */
#define SAMPLE_RANGE 0.9
/* Factor for how to scale higher frequencies. Used in a linear equation
which is multiplied by the result of the fft transformation. */
#request setfftscale 10.2
/* Cutoff for the bass end of the audio data when scaling frequencies.
Higher values cause more of the bass frequencies to be skipped when
scaling. */
#request setfftcutoff 0.3
/* How many frames to queue and run through the average function.
Increasing this value will create latency between the audio and the
animation, but will make for much smoother results. */
#request setavgframes 6
/* Whether to window frames ran through the average function (new & old
frames are weighted less). This massively helps smoothing out
spontaneous values in the animation. */
#request setavgwindow true
/* Gravity step, higher values means faster drops. The step is applied
in a rate independant method like so:
val -= (gravitystep) * (seconds per update) */
#request setgravitystep 4.2
/* Smoothing factor. Larger values mean more smoothing in the output,
however high values can be expensive to compute. Values are in
normalized width: [0.0, 1.0) */
#request setsmoothfactor 0.025
/* Whether to use a separate pass for audio data while smoothing. On
most hardware, this will improve performance, but involves doing a
separate render step for each audio texture and will add some driver
(CPU) overhead. */
#request setsmoothpass true

1
config/glava/util Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//util

1
config/glava/wave Symbolic link
View file

@ -0,0 +1 @@
/etc/xdg/glava//wave

14
config/glava/wave.glsl Executable file
View file

@ -0,0 +1,14 @@
/* min (vertical) line thickness */
#define MIN_THICKNESS 1
/* max (vertical) line thickness */
#define MAX_THICKNESS 6
/* base color to use, distance from center will multiply the RGB components */
#define BASE_COLOR vec4(0.7, 0.2, 0.45, 1)
/* amplitude */
#define AMPLIFY 500
/* outline color */
#define OUTLINE vec4(0.15, 0.15, 0.15, 1)

View file

@ -0,0 +1,57 @@
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
prin " ${cl5}┌─────────${cl0}\n Hardware Information \n${cl5}──────────"
info "├" cpu
info "├─" gpu
info "├" memory
prin " ${cl5}├─────────${cl0}\n Software Information \n${cl5}──────────"
info "├" distro
info "├" kernel
info "├" de
info "├" shell
info "├>" term
info "├" theme
info "├" packages
prin " ${cl5}└────────────────────────────────────────"
prin "\n \n \n \n \n ${cl3} \n \n ${cl5} \n \n ${cl2} \n \n ${cl6} \n \n ${cl4} \n \n ${cl1} \n \n ${cl7} \n \n ${cl0}"
}
magenta="\033[1;35m"
green="\033[1;32m"
white="\033[1;37m"
blue="\033[1;34m"
red="\033[1;31m"
black="\033[1;40;30m"
yellow="\033[1;33m"
cyan="\033[1;36m"
reset="\033[0m"
bgyellow="\033[1;43;33m"
bgwhite="\033[1;47;37m"
cl0="${reset}"
cl1="${magenta}"
cl2="${green}"
cl3="${white}"
cl4="${blue}"
cl5="${red}"
cl6="${yellow}"
cl7="${cyan}"
cl8="${black}"
cl9="${bgyellow}"
cl10="${bgwhite}"
color_blocks="off"
os_arch="off"
memory_percent="on"
package_managers="on"
shell_version="off"
speed_shorthand="on"
cpu_brand="on"
cpu_speed="off"
cpu_cores="off"
gtk_shorthand="on"
de_version="off"
separator=""
memory_display="on"
disk_display="on"
colors=(1 1 1 1 -1 -1)
ascii_colors=(1 1 1 1 -1 -1)

View file

@ -0,0 +1,14 @@
{
"eslint.filetypes": [
"javascript",
"typescript",
"typescriptreact",
"javascriptreact",
"typescript.tsx"
],
"diagnostic.refreshOnInsertMode": true,
"coc.preferences.formatOnSaveFiletypes": ["*"],
"Lua.telemetry.enable": false,
"sumneko-lua.enableNvimLuaDev": true,
"coc.preferences.diagnostic.virtualText": true
}

3
config/nvim/init.lua Normal file
View file

@ -0,0 +1,3 @@
require "options"
require "plugins"
require "theme"

View file

@ -0,0 +1,20 @@
require'bufferline'.setup {
animation = true,
tabpages = true,
closable = true,
clickable = true,
icon_custom_colors = false,
icon_separator_active = '',
icon_separator_inactive = '',
icon_close_tab = '',
icon_close_tab_modified = '',
icon_pinned = '',
insert_at_end = false,
insert_at_start = false,
maximum_padding = 1,
minimum_padding = 1,
maximum_length = 30,
semantic_letters = true,
letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP',
no_name_title = nil,
}

View file

@ -0,0 +1,23 @@
local keymap = vim.api.nvim_set_keymap
local expr_opts = { noremap = true, silent = true, expr = true}
keymap(
"i",
"<Enter>",
[[ coc#pum#visible() ? coc#_select_confirm() : "\<Enter>" ]],
expr_opts
)
keymap(
"i",
"<Down>",
[[ coc#pum#visible() ? coc#pum#next(1) : "\<Down>" ]],
expr_opts
)
keymap(
"i",
"<Up>",
[[ coc#pum#visible() ? coc#pum#prev(1) : "\<Up>" ]],
expr_opts
)

View file

@ -0,0 +1 @@
require("Comment").setup()

View file

@ -0,0 +1,31 @@
local db = require('dashboard')
db.hide_tabline = false
db.custom_center = {
{icon = '',
desc = 'Recently latest session ',
shortcut = '',
action ='SessionLoad'},
{icon = '',
desc = 'Recently opened files ',
action = 'DashboardFindHistory',
shortcut = ''},
{icon = '',
desc = 'Find File ',
action = 'Telescope find_files find_command=rg,--hidden,--files',
shortcut = ''},
{icon = '',
desc ='File Browser ',
action = 'Telescope file_browser',
shortcut = ''},
}
db.custom_header = {
[[.__ __. _______ ______ ____ ____ __ .___ ___.]],
[[| \ | | | ____| / __ \ \ \ / / | | | \/ |]],
[[| \| | | |__ | | | | \ \/ / | | | \ / |]],
[[| . ` | | __| | | | | \ / | | | |\/| |]],
[[| |\ | | |____ | `--' | \ / | | | | | |]],
[[|__| \__| |_______| \______/ \__/ |__| |__| |__|]],
[[ ]]
}

View file

@ -0,0 +1,8 @@
require("indent_blankline").setup({
space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
use_treesitter = true,
use_treesitter_scope = true,
char = "",
})

View file

@ -0,0 +1,3 @@
local saga = require('lspsaga')
saga.init_lsp_saga()

View file

@ -0,0 +1,16 @@
require("lualine").setup {
sections = {
lualine_a = { 'filename' },
lualine_b = { 'filetype' },
lualine_c = {
{
'diagnostics',
update_in_insert = true,
always_visible = true,
}
}
},
extensions = {
"quickfix"
}
}

View file

@ -0,0 +1,16 @@
local opts = { noremap = true, silent = true}
local keymap = vim.api.nvim_set_keymap
local nvimtree = require("nvim-tree")
nvimtree.setup({
view = {
adaptive_size = true,
},
renderer = {
group_empty = true,
},
})
-- open file tree
keymap("i", "<C-e>", "<cmd>:NvimTreeToggle<CR>", opts)

View file

@ -0,0 +1,5 @@
local keymap = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true}
local toggleterm = require("toggleterm")
toggleterm.setup{open_mapping = [[<C-Space>]]}

View file

@ -0,0 +1,45 @@
require("nvim-treesitter.configs").setup({
rainbow = {
enable = false,
extended_mode = true,
max_file_lines = nil,
},
autotag = {
enable = true,
filetypes = {
"html",
"javascript",
"typescript",
"markdown",
},
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<CR>",
scope_incremental = "<CR>",
node_incremental = "<CR>",
node_decremental = "<TAB>",
},
},
})
-- Setup treesitter
local ts = require("nvim-treesitter.configs")
ts.setup({
ensure_installed = {
"c",
"css",
"scss",
"typescript",
"lua",
"html",
"javascript",
"json",
"php",
"rust",
"yaml",
"vim",
"toml",
},
highlight = { enable = true },
})

View file

@ -0,0 +1,25 @@
vim.g.sudo_smart_edit = 1
vim.opt.shiftwidth = 0
vim.opt.backup = false
vim.opt.clipboard = "unnamedplus"
vim.opt.cmdheight = 1;
vim.opt.completeopt = { "menuone", "noselect" }
vim.opt.fileencoding = "utf-8"
vim.opt.hlsearch = true
vim.opt.ignorecase = true
vim.opt.writebackup = false
vim.opt.updatetime = 300
vim.opt.undofile = true
vim.opt.termguicolors = true
vim.opt.cursorline = true
vim.opt.mouse = "a"
vim.opt.smartindent = true
vim.opt.autoindent = true
vim.opt.number = true
vim.opt.relativenumber = false
vim.opt.signcolumn = "yes"
vim.opt.scrolloff = 8
vim.opt.sidescrolloff = 8
vim.pumheight = 10
vim.opt.swapfile = false
vim.opt.shortmess:append "mnrw"

View file

@ -0,0 +1,53 @@
local packer = require("packer")
function config(name)
return string.format('require "config.%s"', name)
end
return packer.startup({ function(use)
-- Utility
use 'tombh/novim-mode'
use { 'akinsho/toggleterm.nvim', config = config("toggleterm") }
use 'tpope/vim-sleuth'
use {
'romgrk/barbar.nvim',
requires = { 'kyazdani42/nvim-web-devicons' }, config = config("barbar")
}
use {
"numToStr/Comment.nvim",
config = config("comment")
}
-- Theming
use "navarasu/onedark.nvim"
use { 'lukas-reineke/indent-blankline.nvim', config = config("indent-blankline") }
use {
'nvim-lualine/lualine.nvim',
config = config("lualine")
}
use({ "stevearc/dressing.nvim" })
use({ "rcarriga/nvim-notify" })
-- Files
use { 'kyazdani42/nvim-tree.lua', config = config("nvim-tree") }
use 'kyazdani42/nvim-web-devicons'
-- Completion/Linting
use { "neoclide/coc.nvim", branch = 'release', config = config("coc") }
use { "glepnir/lspsaga.nvim", branch = "main", config = config("lspsaga") }
use {
'nvim-treesitter/nvim-treesitter',
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
config = config("treesitter")
}
use "lambdalisue/suda.vim"
-- Other
use { 'glepnir/dashboard-nvim', config = config("dashboard") }
use 'wbthomason/packer.nvim'
end,
config = {
display = {
open_fn = require('packer.util').float,
}
} })

View file

@ -0,0 +1 @@
vim.cmd "colorscheme onedark"

View file

@ -0,0 +1,234 @@
-- 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/quadradical/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/quadradical/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/quadradical/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/quadradical/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/quadradical/.cache/nvim/packer_hererocks/2.1.0-beta3/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 = {
["Comment.nvim"] = {
config = { 'require "config.comment"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
["barbar.nvim"] = {
config = { 'require "config.barbar"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/barbar.nvim",
url = "https://github.com/romgrk/barbar.nvim"
},
["coc.nvim"] = {
config = { 'require "config.coc"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/coc.nvim",
url = "https://github.com/neoclide/coc.nvim"
},
["dashboard-nvim"] = {
config = { 'require "config.dashboard"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/dashboard-nvim",
url = "https://github.com/glepnir/dashboard-nvim"
},
["dressing.nvim"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/dressing.nvim",
url = "https://github.com/stevearc/dressing.nvim"
},
["indent-blankline.nvim"] = {
config = { 'require "config.indent-blankline"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["lspsaga.nvim"] = {
config = { 'require "config.lspsaga"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/lspsaga.nvim",
url = "https://github.com/glepnir/lspsaga.nvim"
},
["lualine.nvim"] = {
config = { 'require "config.lualine"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["novim-mode"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/novim-mode",
url = "https://github.com/tombh/novim-mode"
},
["nvim-notify"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/nvim-notify",
url = "https://github.com/rcarriga/nvim-notify"
},
["nvim-tree.lua"] = {
config = { 'require "config.nvim-tree"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/kyazdani42/nvim-tree.lua"
},
["nvim-treesitter"] = {
config = { 'require "config.treesitter"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["onedark.nvim"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/onedark.nvim",
url = "https://github.com/navarasu/onedark.nvim"
},
["packer.nvim"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["suda.vim"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/suda.vim",
url = "https://github.com/lambdalisue/suda.vim"
},
["toggleterm.nvim"] = {
config = { 'require "config.toggleterm"' },
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/toggleterm.nvim",
url = "https://github.com/akinsho/toggleterm.nvim"
},
["vim-sleuth"] = {
loaded = true,
path = "/home/quadradical/.local/share/nvim/site/pack/packer/start/vim-sleuth",
url = "https://github.com/tpope/vim-sleuth"
}
}
time([[Defining packer_plugins]], false)
-- Config for: nvim-treesitter
time([[Config for nvim-treesitter]], true)
require "config.treesitter"
time([[Config for nvim-treesitter]], false)
-- Config for: lspsaga.nvim
time([[Config for lspsaga.nvim]], true)
require "config.lspsaga"
time([[Config for lspsaga.nvim]], false)
-- Config for: barbar.nvim
time([[Config for barbar.nvim]], true)
require "config.barbar"
time([[Config for barbar.nvim]], false)
-- Config for: lualine.nvim
time([[Config for lualine.nvim]], true)
require "config.lualine"
time([[Config for lualine.nvim]], false)
-- Config for: coc.nvim
time([[Config for coc.nvim]], true)
require "config.coc"
time([[Config for coc.nvim]], false)
-- Config for: dashboard-nvim
time([[Config for dashboard-nvim]], true)
require "config.dashboard"
time([[Config for dashboard-nvim]], false)
-- Config for: toggleterm.nvim
time([[Config for toggleterm.nvim]], true)
require "config.toggleterm"
time([[Config for toggleterm.nvim]], false)
-- Config for: nvim-tree.lua
time([[Config for nvim-tree.lua]], true)
require "config.nvim-tree"
time([[Config for nvim-tree.lua]], false)
-- Config for: indent-blankline.nvim
time([[Config for indent-blankline.nvim]], true)
require "config.indent-blankline"
time([[Config for indent-blankline.nvim]], false)
-- Config for: Comment.nvim
time([[Config for Comment.nvim]], true)
require "config.comment"
time([[Config for Comment.nvim]], 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

23
install.sh Normal file
View file

@ -0,0 +1,23 @@
xdg-user-dirs-update
PLUGINS=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins
THEMES=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes
echo "Installing oh-my-zsh"
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
echo "Copying Config"
cp -rv config/* ~/.config
cp -v .p10k.zsh ~
cp -v .zshrc ~
cp -v aliases.zsh ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}
echo "Installing theme"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $THEMES/powerlevel10k
echo "Installing plugins"
git clone --depth=1 https://github.com/MichaelAquilina/zsh-auto-notify.git $PLUGINS/auto-notify
git clone --depth=1 https://github.com/TamCore/autoupdate-oh-my-zsh-plugins $PLUGINS/autoupdate
git clone --depth=1 https://github.com/chrissicool/zsh-256color $PLUGINS/zsh-256color
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions $PLUGINS/zsh-autosuggestions
git clone --depth=1 https://github.com/3v1n0/zsh-bash-completions-fallback $PLUGINS/zsh-bash-completions-fallback