mirror of
https://github.com/d3m0k1d/dots.git
synced 2026-03-14 18:02:44 +00:00
Add my dots
This commit is contained in:
281
.config/fastfetch/config.jsonc
Normal file
281
.config/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
|
||||||
|
"logo": {
|
||||||
|
"type": "auto",
|
||||||
|
"source": "",
|
||||||
|
"color": {
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"4": "",
|
||||||
|
"5": "",
|
||||||
|
"6": "",
|
||||||
|
"7": "",
|
||||||
|
"8": "",
|
||||||
|
"9": ""
|
||||||
|
},
|
||||||
|
"width": null,
|
||||||
|
"height": null,
|
||||||
|
"padding": {
|
||||||
|
"top": 0,
|
||||||
|
"left": 0,
|
||||||
|
"right": 4
|
||||||
|
},
|
||||||
|
"printRemaining": true,
|
||||||
|
"preserveAspectRatio": false,
|
||||||
|
"recache": false,
|
||||||
|
"position": "left",
|
||||||
|
"chafa": {
|
||||||
|
"fgOnly": false,
|
||||||
|
"symbols": "block+border+space-wide-inverted"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"stat": false,
|
||||||
|
"pipe": false,
|
||||||
|
"showErrors": false,
|
||||||
|
"disableLinewrap": true,
|
||||||
|
"hideCursor": false,
|
||||||
|
"separator": " ➜ ",
|
||||||
|
"color": {
|
||||||
|
"keys": "",
|
||||||
|
"title": "",
|
||||||
|
"output": "",
|
||||||
|
"separator": ""
|
||||||
|
},
|
||||||
|
"brightColor": true,
|
||||||
|
"duration": {
|
||||||
|
"abbreviation": false,
|
||||||
|
"spaceBeforeUnit": "default"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"maxPrefix": "YB",
|
||||||
|
"binaryPrefix": "iec",
|
||||||
|
"ndigits": 2,
|
||||||
|
"spaceBeforeUnit": "default"
|
||||||
|
},
|
||||||
|
"temp": {
|
||||||
|
"unit": "D",
|
||||||
|
"ndigits": 1,
|
||||||
|
"color": {
|
||||||
|
"green": "32",
|
||||||
|
"yellow": "93",
|
||||||
|
"red": "91"
|
||||||
|
},
|
||||||
|
"spaceBeforeUnit": "default"
|
||||||
|
},
|
||||||
|
"percent": {
|
||||||
|
"type": [
|
||||||
|
"num",
|
||||||
|
"num-color"
|
||||||
|
],
|
||||||
|
"ndigits": 0,
|
||||||
|
"color": {
|
||||||
|
"green": "32",
|
||||||
|
"yellow": "93",
|
||||||
|
"red": "91"
|
||||||
|
},
|
||||||
|
"spaceBeforeUnit": "default",
|
||||||
|
"width": 0
|
||||||
|
},
|
||||||
|
"bar": {
|
||||||
|
"char": {
|
||||||
|
"elapsed": "■",
|
||||||
|
"total": "-"
|
||||||
|
},
|
||||||
|
"border": {
|
||||||
|
"left": "[ ",
|
||||||
|
"right": " ]",
|
||||||
|
"leftElapsed": "",
|
||||||
|
"rightElapsed": ""
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"elapsed": "auto",
|
||||||
|
"total": "97",
|
||||||
|
"border": "97"
|
||||||
|
},
|
||||||
|
"width": 10
|
||||||
|
},
|
||||||
|
"fraction": {
|
||||||
|
"ndigits": 2
|
||||||
|
},
|
||||||
|
"noBuffer": false,
|
||||||
|
"key": {
|
||||||
|
"width": 0,
|
||||||
|
"type": "string",
|
||||||
|
"paddingLeft": 0
|
||||||
|
},
|
||||||
|
"freq": {
|
||||||
|
"ndigits": 2,
|
||||||
|
"spaceBeforeUnit": "default"
|
||||||
|
},
|
||||||
|
"constants": []
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"thread": true,
|
||||||
|
"processingTimeout": 5000,
|
||||||
|
"detectVersion": true,
|
||||||
|
"playerName": "",
|
||||||
|
"dsForceDrm": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"type": "title",
|
||||||
|
"key": " ",
|
||||||
|
"keyIcon": "",
|
||||||
|
"fqdn": false,
|
||||||
|
"color": {
|
||||||
|
"user": "",
|
||||||
|
"at": "",
|
||||||
|
"host": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "separator",
|
||||||
|
"string": "-",
|
||||||
|
"outputColor": "",
|
||||||
|
"times": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "os",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "host",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "kernel",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "packages",
|
||||||
|
"keyIcon": "",
|
||||||
|
"disabled": [
|
||||||
|
"apk"
|
||||||
|
],
|
||||||
|
"combined": false
|
||||||
|
},
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "de",
|
||||||
|
"keyIcon": "",
|
||||||
|
"slowVersionDetection": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "wm",
|
||||||
|
"keyIcon": "",
|
||||||
|
"detectPlugin": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "wmtheme",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "theme",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "icons",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "font",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cursor",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminal",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminalfont",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "cpu",
|
||||||
|
"keyIcon": "",
|
||||||
|
"temp": false,
|
||||||
|
"showPeCoreCount": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "gpu",
|
||||||
|
"keyIcon": "",
|
||||||
|
"driverSpecific": false,
|
||||||
|
"detectionMethod": "pci",
|
||||||
|
"temp": false,
|
||||||
|
"hideType": "none",
|
||||||
|
"percent": {
|
||||||
|
"green": 50,
|
||||||
|
"yellow": 80,
|
||||||
|
"type": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"keyIcon": "",
|
||||||
|
"percent": {
|
||||||
|
"green": 50,
|
||||||
|
"yellow": 80,
|
||||||
|
"type": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "disk",
|
||||||
|
"keyIcon": "",
|
||||||
|
"showRegular": true,
|
||||||
|
"showExternal": true,
|
||||||
|
"showHidden": false,
|
||||||
|
"showSubvolumes": false,
|
||||||
|
"showReadOnly": true,
|
||||||
|
"showUnknown": false,
|
||||||
|
"folders": "",
|
||||||
|
"hideFolders": "/efi:/boot:/boot/*",
|
||||||
|
"hideFS": "",
|
||||||
|
"useAvailable": false,
|
||||||
|
"percent": {
|
||||||
|
"green": 50,
|
||||||
|
"yellow": 80,
|
||||||
|
"type": 0
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "localip",
|
||||||
|
"keyIcon": "",
|
||||||
|
"showIpv4": true,
|
||||||
|
"showIpv6": false,
|
||||||
|
"showMac": false,
|
||||||
|
"showLoop": false,
|
||||||
|
"showPrefixLen": true,
|
||||||
|
"showMtu": false,
|
||||||
|
"showSpeed": false,
|
||||||
|
"showFlags": false,
|
||||||
|
"compact": false,
|
||||||
|
"defaultRouteOnly": true,
|
||||||
|
"showAllIps": false,
|
||||||
|
"namePrefix": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "battery",
|
||||||
|
"keyIcon": "",
|
||||||
|
"temp": false,
|
||||||
|
"percent": {
|
||||||
|
"green": 50,
|
||||||
|
"yellow": 20,
|
||||||
|
"type": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "poweradapter",
|
||||||
|
"keyIcon": ""
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
264
.config/hypr/hyprland.conf
Normal file
264
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||||
|
monitor=,preferred,0x0,auto
|
||||||
|
monitor=,preferred,1920x1080@144,auto-left
|
||||||
|
|
||||||
|
############
|
||||||
|
### APPS ###
|
||||||
|
############
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = dolphin
|
||||||
|
$menu = wofi --show drun
|
||||||
|
$browser = zen-browser
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
exec-once = swww-daemon & swww img /home/d3m0k1d/wlp/415519.jpg & waybar & $browser & Telegram
|
||||||
|
exec-once = ~/bin/hypr_monitor_switch.sh
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
# Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#general
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 20
|
||||||
|
|
||||||
|
border_size = 0
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
rounding_power = 2
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = yes, please :)
|
||||||
|
|
||||||
|
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
|
||||||
|
# NAME, X0, Y0, X1, Y1
|
||||||
|
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
|
||||||
|
bezier = quick, 0.15, 0, 0.1, 1
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
|
||||||
|
# NAME, ONOFF, SPEED, CURVE, [STYLE]
|
||||||
|
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
|
||||||
|
animation = zoomFactor, 1, 7, quick
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ref https://wiki.hypr.land/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.hypr.land/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.hypr.land/Configuring/Master-Layout/ for more
|
||||||
|
master {
|
||||||
|
new_status = master
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#misc
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0 # 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.hypr.land/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = us, ru
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =grp:win_space_toggle
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = 0
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Gestures
|
||||||
|
gesture = 3, horizontal, workspace
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Q, exec, $terminal
|
||||||
|
bind = $mainMod, T, exec, Telegram
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
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
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hypr.land/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
|
||||||
12
.config/kitty/kitty.conf
Normal file
12
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
shell zsh
|
||||||
|
# Уровень прозрачности фона (0.0 — полностью прозрачный, 1.0 — непрозрачный)
|
||||||
|
background_opacity 0.7
|
||||||
|
|
||||||
|
# Если хотите изменять прозрачность при неактивном окне
|
||||||
|
# inactive_window_opacity 0.6
|
||||||
|
|
||||||
|
# Включить фон размытия (требует поддержки compositor’а)
|
||||||
|
enable_background_blur yes
|
||||||
|
|
||||||
|
# Сила размытия (чем больше — тем сильнее blur)
|
||||||
|
background_blur_radius 9.0
|
||||||
14
.config/lazygit/config.yml
Normal file
14
.config/lazygit/config.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
git:
|
||||||
|
pagers:
|
||||||
|
- colorArg: always
|
||||||
|
pager: delta --syntax-theme base16-256
|
||||||
|
showIcons: true
|
||||||
|
gui:
|
||||||
|
theme:
|
||||||
|
activeBorderColor:
|
||||||
|
- green
|
||||||
|
- bold
|
||||||
|
inactiveBorderColor:
|
||||||
|
- white
|
||||||
|
optionsTextColor:
|
||||||
|
- blue
|
||||||
3
.config/nvim/.luarc.json
Normal file
3
.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"format.enable": false
|
||||||
|
}
|
||||||
20
.config/nvim/.neoconf.json
Normal file
20
.config/nvim/.neoconf.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"neodev": {
|
||||||
|
"library": {
|
||||||
|
"enabled": true,
|
||||||
|
"plugins": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neoconf": {
|
||||||
|
"plugins": {
|
||||||
|
"lua_ls": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lspconfig": {
|
||||||
|
"lua_ls": {
|
||||||
|
"Lua.format.enable": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.config/nvim/.stylua.toml
Normal file
7
.config/nvim/.stylua.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
column_width = 120
|
||||||
|
line_endings = "Unix"
|
||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
quote_style = "AutoPreferDouble"
|
||||||
|
call_parentheses = "None"
|
||||||
|
collapse_simple_statement = "Always"
|
||||||
34
.config/nvim/README.md
Normal file
34
.config/nvim/README.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# AstroNvim Template
|
||||||
|
|
||||||
|
**NOTE:** This is for AstroNvim v5+
|
||||||
|
|
||||||
|
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
|
||||||
|
|
||||||
|
## 🛠️ Installation
|
||||||
|
|
||||||
|
#### Make a backup of your current nvim and shared folder
|
||||||
|
|
||||||
|
```shell
|
||||||
|
mv ~/.config/nvim ~/.config/nvim.bak
|
||||||
|
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
||||||
|
mv ~/.local/state/nvim ~/.local/state/nvim.bak
|
||||||
|
mv ~/.cache/nvim ~/.cache/nvim.bak
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Create a new user repository from this template
|
||||||
|
|
||||||
|
Press the "Use this template" button above to create a new repository to store your user configuration.
|
||||||
|
|
||||||
|
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
|
||||||
|
|
||||||
|
#### Clone the repository
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Start Neovim
|
||||||
|
|
||||||
|
```shell
|
||||||
|
nvim
|
||||||
|
```
|
||||||
27
.config/nvim/init.lua
Normal file
27
.config/nvim/init.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
||||||
|
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
||||||
|
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
|
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
||||||
|
-- stylua: ignore
|
||||||
|
local result = vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
-- stylua: ignore
|
||||||
|
vim.api.nvim_echo({ { ("Error cloning lazy.nvim:\n%s\n"):format(result), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
vim.cmd.quit()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- validate that lazy is available
|
||||||
|
if not pcall(require, "lazy") then
|
||||||
|
-- stylua: ignore
|
||||||
|
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
vim.cmd.quit()
|
||||||
|
end
|
||||||
|
|
||||||
|
require "lazy_setup"
|
||||||
|
require "polish"
|
||||||
51
.config/nvim/lazy-lock.json
Normal file
51
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"AstroNvim": { "branch": "main", "commit": "55a2b084eabe880c4ffa377f82bb972caec57e09" },
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||||
|
"aerial.nvim": { "branch": "master", "commit": "6ab1a0ce4874d21610fc5a67a6c82c7b943c635b" },
|
||||||
|
"astrocore": { "branch": "main", "commit": "c797dd5a592e2bd154f2503e231b8a4083659534" },
|
||||||
|
"astrolsp": { "branch": "main", "commit": "0befe28a4ea96e46b7f7c01e4a634c04225ba55a" },
|
||||||
|
"astrotheme": { "branch": "main", "commit": "4a2af93815e4e6adfe69c836e46047a9451de858" },
|
||||||
|
"astroui": { "branch": "main", "commit": "4943abbd42674b43249313afe83b91065a40e4be" },
|
||||||
|
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
|
||||||
|
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
|
||||||
|
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
|
||||||
|
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
|
||||||
|
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
||||||
|
"heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
|
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
||||||
|
"lsp_signature.nvim": { "branch": "master", "commit": "62cadce83aaceed677ffe7a2d6a57141af7131ea" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||||
|
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
|
||||||
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "e51f9b259f066c4347f9a79ffde54c29a0619384" },
|
||||||
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||||
|
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||||
|
"neo-tree.nvim": { "branch": "main", "commit": "8cdd6b1940f333c1dd085526a9c45b30fb2dbf50" },
|
||||||
|
"neoconf.nvim": { "branch": "main", "commit": "7a8d7fd36f95f5cbbf57d4a5c463f6c54ad54cd3" },
|
||||||
|
"none-ls.nvim": { "branch": "main", "commit": "6617d47fbf275d197e3335022a3d33ff310a4b93" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
|
||||||
|
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||||
|
"nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" },
|
||||||
|
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||||
|
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "fa2662510d30b06168b6e2e6915518decde6bbac" },
|
||||||
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
||||||
|
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||||
|
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
|
"resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" },
|
||||||
|
"smart-splits.nvim": { "branch": "master", "commit": "ddb23c1a1cf1507bda487cda7f6e4690965ef9f5" },
|
||||||
|
"snacks.nvim": { "branch": "main", "commit": "da230e3ca8146da4b73752daaf0a1d07d343c12d" },
|
||||||
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
|
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||||
|
"transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" },
|
||||||
|
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" },
|
||||||
|
"windsurf.vim": { "branch": "main", "commit": "a8d47ec54fe82df920b2545559f767003e8a7f8d" }
|
||||||
|
}
|
||||||
12
.config/nvim/lua/community.lua
Normal file
12
.config/nvim/lua/community.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- AstroCommunity: import any community modules here
|
||||||
|
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
|
||||||
|
-- This guarantees that the specs are processed before any user plugins.
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"AstroNvim/astrocommunity",
|
||||||
|
{ import = "astrocommunity.pack.lua" },
|
||||||
|
-- import/override with your plugins folder
|
||||||
|
}
|
||||||
32
.config/nvim/lua/lazy_setup.lua
Normal file
32
.config/nvim/lua/lazy_setup.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
require("lazy").setup({
|
||||||
|
{
|
||||||
|
"AstroNvim/AstroNvim",
|
||||||
|
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
|
||||||
|
import = "astronvim.plugins",
|
||||||
|
opts = { -- AstroNvim options must be set here with the `import` key
|
||||||
|
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
||||||
|
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
||||||
|
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
||||||
|
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
||||||
|
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ import = "community" },
|
||||||
|
{ import = "plugins" },
|
||||||
|
} --[[@as LazySpec]], {
|
||||||
|
-- Configure any other `lazy.nvim` configuration options here
|
||||||
|
install = { colorscheme = { "astrotheme", "habamax" } },
|
||||||
|
ui = { backdrop = 100 },
|
||||||
|
performance = {
|
||||||
|
rtp = {
|
||||||
|
-- disable some rtp plugins, add more to your liking
|
||||||
|
disabled_plugins = {
|
||||||
|
"gzip",
|
||||||
|
"netrwPlugin",
|
||||||
|
"tarPlugin",
|
||||||
|
"tohtml",
|
||||||
|
"zipPlugin",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} --[[@as LazyConfig]])
|
||||||
87
.config/nvim/lua/plugins/astrocore.lua
Normal file
87
.config/nvim/lua/plugins/astrocore.lua
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
|
||||||
|
-- Configuration documentation can be found with `:h astrocore`
|
||||||
|
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||||
|
-- as this provides autocomplete and documentation while editing
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"AstroNvim/astrocore",
|
||||||
|
---@type AstroCoreOpts
|
||||||
|
opts = {
|
||||||
|
-- Configure core features of AstroNvim
|
||||||
|
features = {
|
||||||
|
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
|
||||||
|
autopairs = true, -- enable autopairs at start
|
||||||
|
cmp = true, -- enable completion at start
|
||||||
|
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
|
||||||
|
highlighturl = true, -- highlight URLs at start
|
||||||
|
notifications = true, -- enable notifications at start
|
||||||
|
clipboard = "unnamedplus"
|
||||||
|
|
||||||
|
},
|
||||||
|
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
||||||
|
diagnostics = {
|
||||||
|
virtual_text = true,
|
||||||
|
underline = true,
|
||||||
|
},
|
||||||
|
-- passed to `vim.filetype.add`
|
||||||
|
filetypes = {
|
||||||
|
-- see `:h vim.filetype.add` for usage
|
||||||
|
extension = {
|
||||||
|
foo = "fooscript",
|
||||||
|
},
|
||||||
|
filename = {
|
||||||
|
[".foorc"] = "fooscript",
|
||||||
|
},
|
||||||
|
pattern = {
|
||||||
|
[".*/etc/foo/.*"] = "fooscript",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- vim options can be configured here
|
||||||
|
options = {
|
||||||
|
opt = { -- vim.opt.<key>
|
||||||
|
relativenumber = true, -- sets vim.opt.relativenumber
|
||||||
|
number = true, -- sets vim.opt.number
|
||||||
|
spell = false, -- sets vim.opt.spell
|
||||||
|
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
|
||||||
|
wrap = false, -- sets vim.opt.wrap
|
||||||
|
},
|
||||||
|
g = { -- vim.g.<key>
|
||||||
|
-- configure global vim variables (vim.g)
|
||||||
|
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
|
||||||
|
-- This can be found in the `lua/lazy_setup.lua` file
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Mappings can be configured through AstroCore as well.
|
||||||
|
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
|
||||||
|
mappings = {
|
||||||
|
-- first key is the mode
|
||||||
|
n = {
|
||||||
|
-- second key is the lefthand side of the map
|
||||||
|
|
||||||
|
-- navigate buffer tabs
|
||||||
|
["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
|
||||||
|
["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
|
||||||
|
|
||||||
|
-- mappings seen under group name "Buffer"
|
||||||
|
["<Leader>bd"] = {
|
||||||
|
function()
|
||||||
|
require("astroui.status.heirline").buffer_picker(
|
||||||
|
function(bufnr) require("astrocore.buffer").close(bufnr) end
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
desc = "Close buffer from tabline",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- tables with just a `desc` key will be registered with which-key if it's installed
|
||||||
|
-- this is useful for naming menus
|
||||||
|
-- ["<Leader>b"] = { desc = "Buffers" },
|
||||||
|
|
||||||
|
-- setting a mapping to false will disable it
|
||||||
|
-- ["<C-S>"] = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
105
.config/nvim/lua/plugins/astrolsp.lua
Normal file
105
.config/nvim/lua/plugins/astrolsp.lua
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
|
||||||
|
-- Configuration documentation can be found with `:h astrolsp`
|
||||||
|
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||||
|
-- as this provides autocomplete and documentation while editing
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"AstroNvim/astrolsp",
|
||||||
|
---@type AstroLSPOpts
|
||||||
|
opts = {
|
||||||
|
-- Configuration table of features provided by AstroLSP
|
||||||
|
features = {
|
||||||
|
codelens = true, -- enable/disable codelens refresh on start
|
||||||
|
inlay_hints = false, -- enable/disable inlay hints on start
|
||||||
|
semantic_tokens = true, -- enable/disable semantic token highlighting
|
||||||
|
},
|
||||||
|
-- customize lsp formatting options
|
||||||
|
formatting = {
|
||||||
|
-- control auto formatting on save
|
||||||
|
format_on_save = {
|
||||||
|
enabled = true, -- enable or disable format on save globally
|
||||||
|
allow_filetypes = { -- enable format on save for specified filetypes only
|
||||||
|
-- "go",
|
||||||
|
},
|
||||||
|
ignore_filetypes = { -- disable format on save for specified filetypes
|
||||||
|
-- "python",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
disabled = { -- disable formatting capabilities for the listed language servers
|
||||||
|
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
|
||||||
|
-- "lua_ls",
|
||||||
|
},
|
||||||
|
timeout_ms = 1000, -- default format timeout
|
||||||
|
-- filter = function(client) -- fully override the default formatting function
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
},
|
||||||
|
-- enable servers that you already have installed without mason
|
||||||
|
servers = {
|
||||||
|
-- "pyright"
|
||||||
|
},
|
||||||
|
-- customize language server configuration options passed to `lspconfig`
|
||||||
|
---@diagnostic disable: missing-fields
|
||||||
|
config = {
|
||||||
|
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
|
||||||
|
},
|
||||||
|
-- customize how language servers are attached
|
||||||
|
handlers = {
|
||||||
|
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
|
||||||
|
-- function(server, opts) require("lspconfig")[server].setup(opts) end
|
||||||
|
|
||||||
|
-- the key is the server that is being setup with `lspconfig`
|
||||||
|
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
|
||||||
|
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
|
||||||
|
},
|
||||||
|
-- Configure buffer local auto commands to add when attaching a language server
|
||||||
|
autocmds = {
|
||||||
|
-- first key is the `augroup` to add the auto commands to (:h augroup)
|
||||||
|
lsp_codelens_refresh = {
|
||||||
|
-- Optional condition to create/delete auto command group
|
||||||
|
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
|
||||||
|
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
|
||||||
|
-- the auto commands will be deleted for that buffer
|
||||||
|
cond = "textDocument/codeLens",
|
||||||
|
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
|
||||||
|
-- list of auto commands to set
|
||||||
|
{
|
||||||
|
-- events to trigger
|
||||||
|
event = { "InsertLeave", "BufEnter" },
|
||||||
|
-- the rest of the autocmd options (:h nvim_create_autocmd)
|
||||||
|
desc = "Refresh codelens (buffer)",
|
||||||
|
callback = function(args)
|
||||||
|
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- mappings to be set up on attaching of a language server
|
||||||
|
mappings = {
|
||||||
|
n = {
|
||||||
|
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
|
||||||
|
gD = {
|
||||||
|
function() vim.lsp.buf.declaration() end,
|
||||||
|
desc = "Declaration of current symbol",
|
||||||
|
cond = "textDocument/declaration",
|
||||||
|
},
|
||||||
|
["<Leader>uY"] = {
|
||||||
|
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
|
||||||
|
desc = "Toggle LSP semantic highlight (buffer)",
|
||||||
|
cond = function(client)
|
||||||
|
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- A custom `on_attach` function to be run after the default `on_attach` function
|
||||||
|
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
|
||||||
|
on_attach = function(client, bufnr)
|
||||||
|
-- this would disable semanticTokensProvider for all clients
|
||||||
|
-- client.server_capabilities.semanticTokensProvider = nil
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
39
.config/nvim/lua/plugins/astroui.lua
Normal file
39
.config/nvim/lua/plugins/astroui.lua
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- AstroUI provides the basis for configuring the AstroNvim User Interface
|
||||||
|
-- Configuration documentation can be found with `:h astroui`
|
||||||
|
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||||
|
-- as this provides autocomplete and documentation while editing
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"AstroNvim/astroui",
|
||||||
|
---@type AstroUIOpts
|
||||||
|
opts = {
|
||||||
|
-- change colorscheme
|
||||||
|
colorscheme = "astrodark",
|
||||||
|
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
|
||||||
|
highlights = {
|
||||||
|
init = { -- this table overrides highlights in all themes
|
||||||
|
-- Normal = { bg = "#000000" },Normal = { bg = "NONE", ctermbg = "NONE" },
|
||||||
|
},
|
||||||
|
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
|
||||||
|
-- Normal = { bg = "#000000" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Icons can be configured throughout the interface
|
||||||
|
icons = {
|
||||||
|
-- configure the loading of the lsp in the status line
|
||||||
|
LSPLoading1 = "⠋",
|
||||||
|
LSPLoading2 = "⠙",
|
||||||
|
LSPLoading3 = "⠹",
|
||||||
|
LSPLoading4 = "⠸",
|
||||||
|
LSPLoading5 = "⠼",
|
||||||
|
LSPLoading6 = "⠴",
|
||||||
|
LSPLoading7 = "⠦",
|
||||||
|
LSPLoading8 = "⠧",
|
||||||
|
LSPLoading9 = "⠇",
|
||||||
|
LSPLoading10 = "⠏",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
28
.config/nvim/lua/plugins/mason.lua
Normal file
28
.config/nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- Customize Mason
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
-- use mason-tool-installer for automatically installing Mason packages
|
||||||
|
{
|
||||||
|
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||||
|
-- overrides `require("mason-tool-installer").setup(...)`
|
||||||
|
opts = {
|
||||||
|
-- Make sure to use the names found in `:Mason`
|
||||||
|
ensure_installed = {
|
||||||
|
-- install language servers
|
||||||
|
"lua-language-server",
|
||||||
|
|
||||||
|
-- install formatters
|
||||||
|
"stylua",
|
||||||
|
|
||||||
|
-- install debuggers
|
||||||
|
"debugpy",
|
||||||
|
|
||||||
|
-- install any other package
|
||||||
|
"tree-sitter-cli",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
24
.config/nvim/lua/plugins/none-ls.lua
Normal file
24
.config/nvim/lua/plugins/none-ls.lua
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- Customize None-ls sources
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"nvimtools/none-ls.nvim",
|
||||||
|
opts = function(_, opts)
|
||||||
|
-- opts variable is the default configuration table for the setup function call
|
||||||
|
-- local null_ls = require "null-ls"
|
||||||
|
|
||||||
|
-- Check supported formatters and linters
|
||||||
|
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
||||||
|
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
||||||
|
|
||||||
|
-- Only insert new sources, do not replace the existing ones
|
||||||
|
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
|
||||||
|
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
|
||||||
|
-- Set a formatter
|
||||||
|
-- null_ls.builtins.formatting.stylua,
|
||||||
|
-- null_ls.builtins.formatting.prettier,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
15
.config/nvim/lua/plugins/treesitter.lua
Normal file
15
.config/nvim/lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- Customize Treesitter
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {
|
||||||
|
"lua",
|
||||||
|
"vim",
|
||||||
|
-- add more arguments for adding more treesitter parsers
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
148
.config/nvim/lua/plugins/user.lua
Normal file
148
.config/nvim/lua/plugins/user.lua
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
-- You can also add or configure plugins by creating files in this `plugins/` folder
|
||||||
|
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
|
||||||
|
-- Here are some examples:
|
||||||
|
|
||||||
|
---@type LazySpec
|
||||||
|
return {
|
||||||
|
|
||||||
|
{
|
||||||
|
"xiyaowong/transparent.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("transparent").setup {
|
||||||
|
groups = {
|
||||||
|
"Normal",
|
||||||
|
"NormalNC",
|
||||||
|
"Comment",
|
||||||
|
"Constant",
|
||||||
|
"Special",
|
||||||
|
"Identifier",
|
||||||
|
"Statement",
|
||||||
|
"PreProc",
|
||||||
|
"Type",
|
||||||
|
"Underlined",
|
||||||
|
"Todo",
|
||||||
|
"String",
|
||||||
|
"Function",
|
||||||
|
"Conditional",
|
||||||
|
"Repeat",
|
||||||
|
"Operator",
|
||||||
|
"Structure",
|
||||||
|
"LineNr",
|
||||||
|
"NonText",
|
||||||
|
"SignColumn",
|
||||||
|
"CursorColumn",
|
||||||
|
"CursorLine",
|
||||||
|
"CursorLineNr",
|
||||||
|
"StatusLine",
|
||||||
|
"StatusLineNC",
|
||||||
|
"EndOfBuffer",
|
||||||
|
},
|
||||||
|
extra_groups = {
|
||||||
|
"NormalFloat",
|
||||||
|
"NeoTreeNormal",
|
||||||
|
"NeoTreeNormalNC",
|
||||||
|
},
|
||||||
|
exclude_groups = {},
|
||||||
|
}
|
||||||
|
-- Для bufferline и аналогичных плагинов
|
||||||
|
require("transparent").clear_prefix "BufferLine"
|
||||||
|
require("transparent").clear_prefix "NeoTree"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Exafunction/windsurf.vim",
|
||||||
|
event = "BufEnter",
|
||||||
|
config = function()
|
||||||
|
-- Принять текущее предложение
|
||||||
|
vim.keymap.set("i", "<C-g>", function() return vim.fn["codeium#Accept"]() end, { expr = true, silent = true })
|
||||||
|
-- Перейти к следующему предложению
|
||||||
|
vim.keymap.set(
|
||||||
|
"i",
|
||||||
|
"<C-;>",
|
||||||
|
function() return vim.fn["codeium#CycleCompletions"](1) end,
|
||||||
|
{ expr = true, silent = true }
|
||||||
|
)
|
||||||
|
-- Перейти к предыдущему предложению
|
||||||
|
vim.keymap.set(
|
||||||
|
"i",
|
||||||
|
"<C-,>",
|
||||||
|
function() return vim.fn["codeium#CycleCompletions"](-1) end,
|
||||||
|
{ expr = true, silent = true }
|
||||||
|
)
|
||||||
|
-- Очистить текущее предложение
|
||||||
|
vim.keymap.set("i", "<C-x>", function() return vim.fn["codeium#Clear"]() end, { expr = true, silent = true })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- == Examples of Adding Plugins ==
|
||||||
|
"andweeb/presence.nvim",
|
||||||
|
{
|
||||||
|
"ray-x/lsp_signature.nvim",
|
||||||
|
event = "BufRead",
|
||||||
|
config = function() require("lsp_signature").setup() end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- == Examples of Overriding Plugins ==
|
||||||
|
|
||||||
|
-- customize dashboard options
|
||||||
|
{
|
||||||
|
"folke/snacks.nvim",
|
||||||
|
opts = {
|
||||||
|
dashboard = {
|
||||||
|
preset = {
|
||||||
|
header = table.concat({
|
||||||
|
"███ ██ ██ ██ ██ ███ ███",
|
||||||
|
"████ ██ ██ ██ ██ ████ ████",
|
||||||
|
"██ ██ ██ ██ ██ ██ ██ ████ ██",
|
||||||
|
"██ ██ ██ ██ ██ ██ ██ ██ ██",
|
||||||
|
"██ ████ ████ ██ ██ ██",
|
||||||
|
}, "\n"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- You can disable default plugins as follows:
|
||||||
|
{ "max397574/better-escape.nvim", enabled = false },
|
||||||
|
|
||||||
|
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
config = function(plugin, opts)
|
||||||
|
require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
|
||||||
|
-- add more custom luasnip configuration such as filetype extend or custom snippets
|
||||||
|
local luasnip = require "luasnip"
|
||||||
|
luasnip.filetype_extend("javascript", { "javascriptreact" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"windwp/nvim-autopairs",
|
||||||
|
config = function(plugin, opts)
|
||||||
|
require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call
|
||||||
|
-- add more custom autopairs configuration such as custom rules
|
||||||
|
local npairs = require "nvim-autopairs"
|
||||||
|
local Rule = require "nvim-autopairs.rule"
|
||||||
|
local cond = require "nvim-autopairs.conds"
|
||||||
|
npairs.add_rules(
|
||||||
|
{
|
||||||
|
Rule("$", "$", { "tex", "latex" })
|
||||||
|
-- don't add a pair if the next character is %
|
||||||
|
:with_pair(cond.not_after_regex "%%")
|
||||||
|
-- don't add a pair if the previous character is xxx
|
||||||
|
:with_pair(
|
||||||
|
cond.not_before_regex("xxx", 3)
|
||||||
|
)
|
||||||
|
-- don't move right when repeat character
|
||||||
|
:with_move(cond.none())
|
||||||
|
-- don't delete if the next character is xx
|
||||||
|
:with_del(cond.not_after_regex "xx")
|
||||||
|
-- disable adding a newline when you press <cr>
|
||||||
|
:with_cr(cond.none()),
|
||||||
|
},
|
||||||
|
-- disable for .vim files, but it work for another filetypes
|
||||||
|
Rule("a", "a", "-vim")
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
5
.config/nvim/lua/polish.lua
Normal file
5
.config/nvim/lua/polish.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||||
|
|
||||||
|
-- This will run last in the setup process.
|
||||||
|
-- This is just pure lua so anything that doesn't
|
||||||
|
-- fit in the normal config locations above can go here
|
||||||
6
.config/nvim/neovim.yml
Normal file
6
.config/nvim/neovim.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
base: lua51
|
||||||
|
|
||||||
|
globals:
|
||||||
|
vim:
|
||||||
|
any: true
|
||||||
8
.config/nvim/selene.toml
Normal file
8
.config/nvim/selene.toml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
std = "neovim"
|
||||||
|
|
||||||
|
[rules]
|
||||||
|
global_usage = "allow"
|
||||||
|
if_same_then_else = "allow"
|
||||||
|
incorrect_standard_library_use = "allow"
|
||||||
|
mixed_table = "allow"
|
||||||
|
multiple_statements = "allow"
|
||||||
217
.config/waybar/config
Normal file
217
.config/waybar/config
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
{
|
||||||
|
"layer": "top", "position": "top",
|
||||||
|
"modules-left": ["custom/logo", "clock", "custom/weather", "disk", "memory", "cpu", "temperature", "custom/powerDraw", "hyprland/window" ],
|
||||||
|
"modules-center": [ "hyprland/workspaces"],
|
||||||
|
"modules-right": ["tray", "custom/clipboard", "backlight", "idle_inhibitor", "custom/colorpicker", "bluetooth", "pulseaudio", "network", "battery" ],
|
||||||
|
"reload_style_on_change":true,
|
||||||
|
|
||||||
|
"custom/logo": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"4": "",
|
||||||
|
"5": "",
|
||||||
|
"6": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"*": [ 2, 3, 4, 5, 6 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor":{
|
||||||
|
"format": "<span font='12'>{icon} </span>",
|
||||||
|
"format-icons": {
|
||||||
|
"activated":"",
|
||||||
|
"deactivated":""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/weather": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"exec": "~/.config/waybar/scripts/weather.sh",
|
||||||
|
"interval": 10,
|
||||||
|
"on-click": "firefox https://wttr.in"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/clipboard":{
|
||||||
|
"format":"",
|
||||||
|
"on-click": "cliphist list | rofi -dmenu | cliphist decode | wl-copy",
|
||||||
|
"interval":86400
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p}",
|
||||||
|
"interval":1,
|
||||||
|
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar-weeks-pos": "right",
|
||||||
|
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
|
||||||
|
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
|
||||||
|
"format-calendar-weeks": "<span color='#aeaeae'><b>W{:%V}</b></span>",
|
||||||
|
"format-calendar-weekdays": "<span color='#aeaeae'><b>{}</b></span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format-on": "",
|
||||||
|
"format-off": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "{device_battery_percentage}% ",
|
||||||
|
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||||
|
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||||
|
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
|
||||||
|
"on-click": "rofi-bluetooth",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"format-wifi": " ",
|
||||||
|
"format-ethernet":" ",
|
||||||
|
"format-disconnected": "",
|
||||||
|
"tooltip-format": "{ipaddr}",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) | {ipaddr}",
|
||||||
|
"tooltip-format-ethernet": "{ifname} 🖧 | {ipaddr}",
|
||||||
|
"on-click": "networkmanager_dmenu"
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"interval":1,
|
||||||
|
"states": {
|
||||||
|
"good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 20
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon} ",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "<span font='12'>{icon}</span>",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
],
|
||||||
|
"on-scroll-down": "light -A 10",
|
||||||
|
"on-scroll-up": "light -U 10",
|
||||||
|
"smooth-scrolling-threshold": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"path": "/"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/colorpicker": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": "once",
|
||||||
|
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
||||||
|
"on-click": "sleep 1 && ~/.config/waybar/scripts/colorpicker.sh",
|
||||||
|
"signal": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6,
|
||||||
|
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}%"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "( {class} )",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||||
|
"(.*) - zsh": "> [$1]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureC}°C",
|
||||||
|
"format-critical": " {temperatureC}°C",
|
||||||
|
"interval": 1,
|
||||||
|
"critical-threshold": 80,
|
||||||
|
"on-click": "foot btop",
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-bluetooth":"",
|
||||||
|
"format-muted": "<span font='12'></span>",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"bluetooth": "",
|
||||||
|
"handsfree": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["🕨","🕩","🕪"]
|
||||||
|
},
|
||||||
|
"justify": "center",
|
||||||
|
"on-click": "amixer sset Master toggle",
|
||||||
|
"on-click-right": "pavucontrol",
|
||||||
|
"tooltip-format": "{icon} {volume}%"
|
||||||
|
},
|
||||||
|
|
||||||
|
"jack": {
|
||||||
|
"format": "{} ",
|
||||||
|
"format-xrun": "{xruns} xruns",
|
||||||
|
"format-disconnected": "DSP off",
|
||||||
|
"realtime": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"upower": {
|
||||||
|
"show-icon": false,
|
||||||
|
"hide-if-empty": true,
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-spacing": 20
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/powerDraw": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 1,
|
||||||
|
"exec": "~/.config/waybar/scripts/powerdraw.sh",
|
||||||
|
"return-type": "json"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
347
.config/waybar/config.jsonc
Normal file
347
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,347 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "bottom",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/logo",
|
||||||
|
"clock",
|
||||||
|
"disk",
|
||||||
|
"memory",
|
||||||
|
"cpu",
|
||||||
|
"temperature",
|
||||||
|
"custom/powerDraw"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"mpd"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"hyprland/window",
|
||||||
|
"tray",
|
||||||
|
"custom/updates",
|
||||||
|
"custom/clipboard",
|
||||||
|
"group/blight",
|
||||||
|
"idle_inhibitor",
|
||||||
|
"custom/colorpicker",
|
||||||
|
"bluetooth",
|
||||||
|
"group/audio",
|
||||||
|
"custom/hotspot",
|
||||||
|
"group/networking",
|
||||||
|
"battery"
|
||||||
|
],
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"custom/logo": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "~/.config/rofi/scripts/powermenu.sh"
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar-weeks-pos": "right",
|
||||||
|
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
|
||||||
|
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
|
||||||
|
"format-calendar-weeks": "<span color='#aeaeae'><b>W{:%V}</b></span>",
|
||||||
|
"format-calendar-weekdays": "<span color='#aeaeae'><b>{}</b></span>"
|
||||||
|
},
|
||||||
|
"hyprland/language": {
|
||||||
|
"format": "Lang: {long}",
|
||||||
|
"format-en": "AMERICA, HELL YEAH!",
|
||||||
|
"format-tr": "As bayrakları",
|
||||||
|
"keyboard-name": "at-translated-set-2-keyboard"
|
||||||
|
},
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"path": "/"
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}%"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"format-icons": [
|
||||||
|
"▁",
|
||||||
|
"▂",
|
||||||
|
"▃",
|
||||||
|
"▄",
|
||||||
|
"▅",
|
||||||
|
"▆",
|
||||||
|
"▇",
|
||||||
|
"█"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureC}°C",
|
||||||
|
"format-critical": " {temperatureC}°C",
|
||||||
|
"interval": 1,
|
||||||
|
"critical-threshold": 80,
|
||||||
|
"on-click": "foot btop",
|
||||||
|
},
|
||||||
|
"custom/powerDraw": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 1,
|
||||||
|
"exec": "~/.config/waybar/scripts/powerdraw.sh",
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "<span font='18px'>{icon}</span>",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "१",
|
||||||
|
"2": "२",
|
||||||
|
"3": "३",
|
||||||
|
"4": "४",
|
||||||
|
"5": "५",
|
||||||
|
"6": "६",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"*": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "( {class} )",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||||
|
"org.telegram.desktop": "> [$1]",
|
||||||
|
"org.gnome.Nautilus": "> [$1]",
|
||||||
|
"(.*) - zsh": "> [$1]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"custom/updates": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 60,
|
||||||
|
"exec": "~/.config/waybar/scripts/checkupdate.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"exec-if": "exit 0",
|
||||||
|
},
|
||||||
|
"custom/clipboard": {
|
||||||
|
// "exec": "echo ''",
|
||||||
|
"interval": 5,
|
||||||
|
"tooltip": true,
|
||||||
|
// "tooltip-format": "{output}",
|
||||||
|
// "exec-tooltip": "sh -c cliphist list | head -n 5",
|
||||||
|
"on-click": "sh -c 'cliphist list | rofi -dmenu | cliphist decode | wl-copy'"
|
||||||
|
},
|
||||||
|
"group/blight": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"backlight",
|
||||||
|
"backlight/slider"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "<span font='12'>{icon}</span>",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
],
|
||||||
|
"on-scroll-down": "light -U 10",
|
||||||
|
"on-scroll-up": "light -A 10",
|
||||||
|
"smooth-scrolling-threshold": 1
|
||||||
|
},
|
||||||
|
"backlight/slider": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 100,
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"device": "intel_backlight"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "<span font='12'>{icon}</span>",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom/colorpicker": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": "once",
|
||||||
|
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
||||||
|
"on-click": "sleep 1 && ~/.config/waybar/scripts/colorpicker.sh",
|
||||||
|
},
|
||||||
|
"bluetooth": {
|
||||||
|
"format-on": "",
|
||||||
|
"format-off": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "{device_battery_percentage}% ",
|
||||||
|
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||||
|
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||||
|
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
|
||||||
|
"on-click": "rofi-bluetooth",
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-bluetooth": "",
|
||||||
|
"format-muted": "",
|
||||||
|
"tooltip-format": "{volume}% {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"bluetooth": "",
|
||||||
|
"handsfree": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": [
|
||||||
|
"🕨",
|
||||||
|
"🕩",
|
||||||
|
"🕪"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"scroll-step": 5,
|
||||||
|
"justify": "center",
|
||||||
|
"on-click": "amixer sset Master toggle",
|
||||||
|
"on-click-right": "pavucontrol",
|
||||||
|
"tooltip-format": "{volume}% {icon}",
|
||||||
|
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +5%",
|
||||||
|
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -5%"
|
||||||
|
},
|
||||||
|
"pulseaudio#mic": {
|
||||||
|
"format": "{format_source}",
|
||||||
|
"format-source": "",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"tooltip-format": "{volume}% {format_source} ",
|
||||||
|
"on-click": "pactl set-source-mute 0 toggle",
|
||||||
|
"on-scroll-down": "pactl set-source-volume 0 -1%",
|
||||||
|
"on-scroll-up": "pactl set-source-volume 0 +1%"
|
||||||
|
},
|
||||||
|
"group/audio": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"pulseaudio",
|
||||||
|
"pulseaudio#mic",
|
||||||
|
"pulseaudio/slider"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pulseaudio/slider": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 140,
|
||||||
|
"orientation": "horizontal"
|
||||||
|
},
|
||||||
|
"custom/hotspot": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip": true,
|
||||||
|
"return-type": "json",
|
||||||
|
"format-icons": {
|
||||||
|
"active": "",
|
||||||
|
"notactive": ""
|
||||||
|
},
|
||||||
|
"exec": "waybar-hotspot -a watch",
|
||||||
|
"on-click": "waybar-hotspot -a toggle",
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"format-wifi": " ",
|
||||||
|
"format-ethernet": "",
|
||||||
|
"format-disconnected": "",
|
||||||
|
"tooltip-format": "{ipaddr}",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) | {ipaddr}",
|
||||||
|
"tooltip-format-ethernet": "{ifname} 🖧 | {ipaddr}",
|
||||||
|
"tooltip-format-ethernet": "{bandwidthTotalBytes}",
|
||||||
|
"on-click": "networkmanager_dmenu"
|
||||||
|
},
|
||||||
|
"network#speed": {
|
||||||
|
"format": "{bandwidthDownBits}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip-format": "{ipaddr}",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) \n{ipaddr} | {frequency} MHz{icon} ",
|
||||||
|
"tooltip-format-ethernet": "{ifname} \n{ipaddr} | {frequency} MHz{icon} ",
|
||||||
|
"tooltip-format-disconnected": "Not Connected to any type of Network",
|
||||||
|
"tooltip": true,
|
||||||
|
"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
|
||||||
|
},
|
||||||
|
"group/networking": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"network",
|
||||||
|
"network#speed"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"interval": 1,
|
||||||
|
"states": {
|
||||||
|
"good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 20
|
||||||
|
},
|
||||||
|
"tooltip": true,
|
||||||
|
"format": "{capacity}% <span font='16px'>{icon}</span>",
|
||||||
|
"format-time": "{H}h {M}min",
|
||||||
|
"tooltip": "{time}",
|
||||||
|
"format-charging": "{capacity}% <span font='16px'>{icon}</span>",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
// "format-alt": "{time} {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"on-click": "~/.config/rofi/scripts/powermenu.sh"
|
||||||
|
},
|
||||||
|
"mpd": {
|
||||||
|
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) <U+F001>",
|
||||||
|
"format-disconnected": "Disconnected <U+F001>",
|
||||||
|
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped <U+F001>",
|
||||||
|
"interval": 2,
|
||||||
|
"consume-icons": {
|
||||||
|
"on": "<U+F0C4> "
|
||||||
|
},
|
||||||
|
"random-icons": {
|
||||||
|
"off": "<span color=\"#f53c3c\"><U+F074></span> ",
|
||||||
|
"on": "<U+F074> "
|
||||||
|
},
|
||||||
|
"repeat-icons": {
|
||||||
|
"on": "<U+F01E> "
|
||||||
|
},
|
||||||
|
"single-icons": {
|
||||||
|
"on": "<U+F01E>1 "
|
||||||
|
},
|
||||||
|
"state-icons": {
|
||||||
|
"paused": "<U+F04C>",
|
||||||
|
"playing": "<U+F04B>"
|
||||||
|
},
|
||||||
|
"tooltip-format": "MPD (connected)",
|
||||||
|
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||||
|
}
|
||||||
|
}
|
||||||
11
.config/waybar/scripts/amixer-toggle.sh
Executable file
11
.config/waybar/scripts/amixer-toggle.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check the current state of the speaker
|
||||||
|
state=$(amixer -D pulse sget Master | awk '/\[on\]/{print "unmute"; exit} /\[off\]/{print "mute"; exit}')
|
||||||
|
|
||||||
|
# Toggle the state of the speaker
|
||||||
|
#
|
||||||
|
if [ "$state" = "[on] "]; then
|
||||||
|
amixer
|
||||||
|
# amixer -D pulse sset Master "$state" > /dev/null
|
||||||
|
|
||||||
3
.config/waybar/scripts/brightness.sh
Normal file
3
.config/waybar/scripts/brightness.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
60
.config/waybar/scripts/colorpicker.sh
Executable file
60
.config/waybar/scripts/colorpicker.sh
Executable file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
check() {
|
||||||
|
command -v "$1" 1>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
notify() {
|
||||||
|
check notify-send && {
|
||||||
|
notify-send -a "Color Picker" "$@"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
echo "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
loc="$HOME/.cache/colorpicker"
|
||||||
|
[ -d "$loc" ] || mkdir -p "$loc"
|
||||||
|
[ -f "$loc/colors" ] || touch "$loc/colors"
|
||||||
|
|
||||||
|
limit=10
|
||||||
|
|
||||||
|
[[ $# -eq 1 && $1 = "-l" ]] && {
|
||||||
|
cat "$loc/colors"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $# -eq 1 && $1 = "-j" ]] && {
|
||||||
|
text="$(head -n 1 "$loc/colors")"
|
||||||
|
|
||||||
|
mapfile -t allcolors < <(tail -n +2 "$loc/colors")
|
||||||
|
# allcolors=($(tail -n +2 "$loc/colors"))
|
||||||
|
tooltip="<b> COLORS</b>\n\n"
|
||||||
|
|
||||||
|
tooltip+="-> <b>$text</b> <span color='$text'></span> \n"
|
||||||
|
for i in "${allcolors[@]}"; do
|
||||||
|
tooltip+=" <b>$i</b> <span color='$i'></span> \n"
|
||||||
|
done
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
{ "text":"<span color='$text'></span>", "tooltip":"$tooltip"}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
check hyprpicker || {
|
||||||
|
notify "hyprpicker is not installed"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
killall -q hyprpicker
|
||||||
|
color=$(hyprpicker)
|
||||||
|
|
||||||
|
check wl-copy && {
|
||||||
|
echo "$color" | sed -z 's/\n//g' | wl-copy
|
||||||
|
}
|
||||||
|
|
||||||
|
prevColors=$(head -n $((limit - 1)) "$loc/colors")
|
||||||
|
echo "$color" >"$loc/colors"
|
||||||
|
echo "$prevColors" >>"$loc/colors"
|
||||||
|
sed -i '/^$/d' "$loc/colors"
|
||||||
|
pkill -RTMIN+1 waybar
|
||||||
24
.config/waybar/scripts/myUpdates.sh
Executable file
24
.config/waybar/scripts/myUpdates.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
format() {
|
||||||
|
if [ "$1" -eq 0 ]; then
|
||||||
|
echo '-'
|
||||||
|
else
|
||||||
|
echo "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! updates_arch="$(checkupdates | wc -l)"; then
|
||||||
|
updates_arch=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! updates_aur="$(yay -Qum 2>/dev/null | wc -l)"; then
|
||||||
|
updates_aur=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
updates="$((updates_arch + updates_aur))"
|
||||||
|
|
||||||
|
if [ "$updates" -gt 0 ]; then
|
||||||
|
echo " ($(format $updates_arch)/$(format $updates_aur))"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
fia
|
||||||
22
.config/waybar/scripts/myupdate.sh
Executable file
22
.config/waybar/scripts/myupdate.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
pkgmgr="pacman"
|
||||||
|
hash paru 2>/dev/null && pkgmgr="paru"
|
||||||
|
hash yay 2>/dev/null && pkgmgr="yay"
|
||||||
|
|
||||||
|
IFS=$'\n'$'\r'
|
||||||
|
|
||||||
|
updatesli=($($pkgmgr -Qu))
|
||||||
|
text=${#updatesli[@]}
|
||||||
|
icon=""
|
||||||
|
[ $text -eq 0 ] && icon="" || icon="📦"
|
||||||
|
|
||||||
|
for i in ${updatesli[@]}
|
||||||
|
do
|
||||||
|
tooltip+="$i\n"
|
||||||
|
done
|
||||||
|
|
||||||
|
cat << EOF
|
||||||
|
{ "text":"$icon", "tooltip":"UPDATES: $text"}
|
||||||
|
EOF
|
||||||
|
|
||||||
10
.config/waybar/scripts/powerdraw.sh
Executable file
10
.config/waybar/scripts/powerdraw.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f /sys/class/power_supply/BAT*/power_now ]; then
|
||||||
|
powerDraw=" $(($(cat /sys/class/power_supply/BAT*/power_now)/1000000))w"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cat << EOF
|
||||||
|
{ "text":"$powerDraw", "tooltip":"power Draw $powerDraw"}
|
||||||
|
EOF
|
||||||
24
.config/waybar/scripts/weather.sh
Executable file
24
.config/waybar/scripts/weather.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
BSSIDS="$(nmcli device wifi list |
|
||||||
|
awk 'NR>1 {if ($1 != "*") {print $1}}' |
|
||||||
|
tr -d ":" |
|
||||||
|
tr "\n" ",")"
|
||||||
|
|
||||||
|
LOC=""
|
||||||
|
REQUEST_GEO="$(wget -qO - http://openwifi.su/api/v1/bssids/"$BSSIDS")"
|
||||||
|
if [[ "$(jq ".count_results" <<< "$REQUEST_GEO")" -gt 0 ]] ; then
|
||||||
|
LAT="$(jq ".lat" <<< "$REQUEST_GEO")"
|
||||||
|
LON="$(jq ".lon" <<< "$REQUEST_GEO")"
|
||||||
|
LOC="$LAT,$LON"
|
||||||
|
fi
|
||||||
|
|
||||||
|
text="$(curl -s "https://wttr.in/$LOC?format=1" | sed 's/ //g')"
|
||||||
|
tooltip="$(curl -s "https://wttr.in/$LOC?0QT" |
|
||||||
|
sed 's/\\/\\\\/g' |
|
||||||
|
sed ':a;N;$!ba;s/\n/\\n/g' |
|
||||||
|
sed 's/"/\\"/g')"
|
||||||
|
|
||||||
|
if ! grep -q "Unknown location" <<< "$text"; then
|
||||||
|
echo "{\"text\": \"$text\", \"tooltip\": \"<tt>$tooltip</tt>\", \"class\": \"weather\"}"
|
||||||
|
fi
|
||||||
|
|
||||||
98
.config/waybar/style.css
Normal file
98
.config/waybar/style.css
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
font-size: 14px;
|
||||||
|
color: white;
|
||||||
|
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF";
|
||||||
|
min-height: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-logo {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
padding-left: 5px;
|
||||||
|
border-radius: 15px 0 0 15px;
|
||||||
|
margin-top: 2px;
|
||||||
|
background: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
padding: 0 15px;
|
||||||
|
margin-top: 2px;
|
||||||
|
border-radius: 15px 15px 15px 15px;
|
||||||
|
background: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
border-radius: 0 15px 15px 0;
|
||||||
|
margin-top: 2px;
|
||||||
|
background: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery,
|
||||||
|
#custom-clipboard,
|
||||||
|
#custom-colorpicker,
|
||||||
|
#custom-powerDraw,
|
||||||
|
#bluetooth,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#disk,
|
||||||
|
#memory,
|
||||||
|
#backlight,
|
||||||
|
#cpu,
|
||||||
|
#temperature,
|
||||||
|
#custom-weather,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#jack,
|
||||||
|
#tray,
|
||||||
|
#window,
|
||||||
|
#workspaces,
|
||||||
|
#clock {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
#pulseaudio {
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical,
|
||||||
|
#pulseaudio.muted {
|
||||||
|
color: #ff0000;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: #5fd1fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #26a65b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
background-color: #ffbe61;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
160
.config/waybar/style2.css
Normal file
160
.config/waybar/style2.css
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
@import "./waybar.css";
|
||||||
|
|
||||||
|
@define-color active @color0;
|
||||||
|
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
font-size: 15px;
|
||||||
|
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
|
||||||
|
min-height: 10px;
|
||||||
|
color: @active;
|
||||||
|
/* color: White; */
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
/* background: transparent; */
|
||||||
|
background: rgba(0, 0, 0, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
border-radius: 15px;
|
||||||
|
background: rgba(0, 0, 0, 0.9);
|
||||||
|
color: @active;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label{
|
||||||
|
color: @active;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-logo {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
/* border: 1px solid lighter(@active); */
|
||||||
|
/* border: 1px solid @active; */
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 0px 5px;
|
||||||
|
margin: 2px 5px;
|
||||||
|
background: rgba(000, 000, 000, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
/* border: 1px solid lighter(@active); */
|
||||||
|
/* border: 1px solid @active; */
|
||||||
|
padding: 0 15px;
|
||||||
|
margin: 2px 0px;
|
||||||
|
border-radius: 15px 15px 15px 15px;
|
||||||
|
background: rgba(000, 000, 000, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
/* border: 1px solid lighter(@active); */
|
||||||
|
/* border: 1px solid @active; */
|
||||||
|
padding: 0px 5px;
|
||||||
|
border-radius: 15px;
|
||||||
|
margin: 2px 5px;
|
||||||
|
background: rgba(000, 000, 000, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery,
|
||||||
|
#custom-clipboard,
|
||||||
|
#custom-colorpicker,
|
||||||
|
#custom-powerDraw,
|
||||||
|
#custom-updates,
|
||||||
|
#custom-pacman,
|
||||||
|
#bluetooth,
|
||||||
|
#pulseaudio,
|
||||||
|
#custom-hotspot,
|
||||||
|
#pulseaudio.mic,
|
||||||
|
#pulseaudio.bluetooth,
|
||||||
|
#network,
|
||||||
|
#disk,
|
||||||
|
#memory,
|
||||||
|
#backlight,
|
||||||
|
#cpu,
|
||||||
|
#temperature,
|
||||||
|
#custom-weather,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#jack,
|
||||||
|
#tray,
|
||||||
|
#window,
|
||||||
|
/* #workspaces, */
|
||||||
|
#clock {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
border-bottom: solid 2px @active;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio{
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted{
|
||||||
|
color: #FF0000;
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider,
|
||||||
|
#pulseaudio-slider {
|
||||||
|
padding: 0 5px 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider slider,
|
||||||
|
#pulseaudio-slider slider {
|
||||||
|
background-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider trough,
|
||||||
|
#pulseaudio-slider trough {
|
||||||
|
min-width: 50px;
|
||||||
|
min-height: 5px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider highlight,
|
||||||
|
#pulseaudio-slider highlight {
|
||||||
|
min-width: 5px;
|
||||||
|
min-height: 5px;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #clock{ */
|
||||||
|
/* color: #5fd1fa; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: #77DD77;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
background-color: #ffbe61;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
111
.zshrc
Normal file
111
.zshrc
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your Oh My Zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time Oh My Zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="funky"
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
|
||||||
|
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='nvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch $(uname -m)"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by Oh My Zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
|
||||||
|
# users are encouraged to define aliases within a top-level file in
|
||||||
|
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
|
||||||
|
# - $ZSH_CUSTOM/aliases.zsh
|
||||||
|
# - $ZSH_CUSTOM/macos.zsh
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
alias n='nvim'
|
||||||
|
alias l='lazygit'
|
||||||
|
alias g='git push origin master'
|
||||||
|
alias sn='shutdown now'
|
||||||
|
alias upd='sudo pacman -Syu'
|
||||||
|
alias ls='eza'
|
||||||
Reference in New Issue
Block a user