19 Commits

Author SHA1 Message Date
05c9fbada5 feat: zsh color 2026-01-26 09:23:33 -08:00
fcdfa97317 feat: sway waybar config, and change font size for kitty 2026-01-24 20:16:01 -08:00
592db54a84 feat: hypridle and hyprlock 2026-01-24 20:16:01 -08:00
5d7301d01f merege 2026-01-20 09:27:00 -08:00
b9888fa856 fix: nvim treesitter error, add hyperland lock keybind and some other cosmetic settings 2026-01-20 09:13:03 -08:00
33d2198ff6 fix: snippits leaving icons on autocomplete 2026-01-19 23:01:47 -08:00
e72e7289d9 feat: screenshots, scaling, and h3:layout changes 2026-01-15 09:06:06 -08:00
0ff69d94b3 fix: xwayland scaling 2026-01-05 15:06:24 -08:00
ee3428acd0 latest 2026-01-01 15:23:37 -08:00
087b6e8422 latest 2025-12-26 10:35:15 -08:00
685dcfa301 fix: gitignore 2025-12-26 10:34:05 -08:00
0d9fd45d34 feat: hyperland with i3 manual tiling 2025-12-25 07:51:28 -08:00
970a284ebc latest 2025-12-23 19:33:56 -08:00
e2da3d9a20 feat: Waybar 2025-12-19 22:14:03 -08:00
acd842c2aa latest lsp config with mason and autocomplete 2025-12-15 15:49:30 -08:00
798d6bb69c Add autoload autocommands for file change reload 2025-12-01 20:03:07 -08:00
833d17bc94 Update sway config to set Mod4 as mod key and other tweaks 2025-12-01 20:02:30 -08:00
a1ef3c6e12 feat:new nvim config and some other stuff 2025-11-29 11:30:17 -08:00
d524ebac95 latest 2025-11-21 08:19:00 -08:00
31 changed files with 1018 additions and 619 deletions

View File

@@ -0,0 +1,34 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restore.
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 330 # 5.5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc
}

View File

@@ -1,15 +1,14 @@
# ####################################################################################### # #######################################################################################
# AUTOGENERATED HYPR CONFIG. # AUTOGENERATED HYPRLAND CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# ####################################################################################### # #######################################################################################
autogenerated = 0 # remove this line to remove the warning autogenerated = 0 # remove this line to remove the warning
# This is an example Hyprland config file. # This is an example Hyprland config file.
# Refer to the wiki for more information. # Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # https://wiki.hypr.land/Configuring/
# Please note not all available settings / options are set here. # Please note not all available settings / options are set here.
# For a full list, see the wiki # For a full list, see the wiki
@@ -23,21 +22,21 @@ autogenerated = 0 # remove this line to remove the warning
### MONITORS ### ### MONITORS ###
################ ################
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hypr.land/Configuring/Monitors/
monitor=DP-6,preferred,0x0,auto monitor=,preferred,auto,auto
monitor=eDP-1,preferred,0x2160,1.8 #exec-once = swaybg -i /usr/share/backgrounds/gnome/vnc-d.png
################### ###################
### MY PROGRAMS ### ### MY PROGRAMS ###
################### ###################
# See https://wiki.hyprland.org/Configuring/Keywords/ # See https://wiki.hypr.land/Configuring/Keywords/
# Set programs that you use # Set programs that you use
$terminal = footclient $terminal = kitty
$fileManager = dolphin $fileManager = nautilus
$menu = wofi --show drun $menu = wofi --show drun -GI
################# #################
@@ -46,66 +45,97 @@ $menu = wofi --show drun
# Autostart necessary processes (like notifications daemons, status bars, etc.) # Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this: # Or execute your favorite apps at launch like this:
exec-once = waybar
exec-once = foot --server
exec-once = nextcloud-desktop-client.nextcoud
# exec-once = $terminal # exec-once = $terminal
# exec-once = nm-applet & # exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox # exec-once = waybar & hyprpaper & firefox
exec-once = hypridle
exec-once = nm-applet &
exec-once = blueman-applet &
exec-once = shikane &
exec-once = waybar -c ~/.config/hypr/waybar/config.jsonc -s ~/.config/hypr/waybar/style.css &
exec-once = hyprpm reload -n
exec-once = flatpak run com.github.wwmm.easyeffects -w
exec-once = powertop --auto-tune
exec-once = systemctl --user start hyprpolkitagent
exec-once = xrdb -merge ~/.Xresources
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
############################# #############################
### ENVIRONMENT VARIABLES ### ### ENVIRONMENT VARIABLES ###
############################# #############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/ # See https://wiki.hypr.land/Configuring/Environment-variables/
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24
###################
### PERMISSIONS ###
###################
# See https://wiki.hypr.land/Configuring/Permissions/
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
# for security reasons
# ecosystem {
# enforce_permissions = 1
# }
permission = /usr/(bin|local/bin)/grim, screencopy, allow
permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
##################### #####################
### LOOK AND FEEL ### ### LOOK AND FEEL ###
##################### #####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/ # Refer to https://wiki.hypr.land/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general # https://wiki.hypr.land/Configuring/Variables/#general
general { general {
gaps_in = 2 gaps_in = 2
gaps_out = 2 gaps_out = 2
border_size = 1 border_size = 1
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa) col.inactive_border = rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps # Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = true resize_on_border = true
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
allow_tearing = false allow_tearing = true
layout = dwindle #layout = dwindle
layout = hy3
} }
# https://wiki.hyprland.org/Configuring/Variables/#decoration
# https://wiki.hypr.land/Configuring/Variables/#decoration
decoration { decoration {
rounding = 10 rounding = 4
rounding_power = 2
# Change transparency of focused and unfocused windows # Change transparency of focused and unfocused windows
active_opacity = 1.0 active_opacity = 1.0
inactive_opacity = 1.0 inactive_opacity = 1.0
drop_shadow = true shadow {
shadow_range = 4 enabled = false
shadow_render_power = 3 range = 4
col.shadow = rgba(1a1a1aee) render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hyprland.org/Configuring/Variables/#blur # https://wiki.hypr.land/Configuring/Variables/#blur
blur { blur {
enabled = true enabled = false
size = 3 size = 3
passes = 1 passes = 1
@@ -113,45 +143,79 @@ decoration {
} }
} }
# https://wiki.hyprland.org/Configuring/Variables/#animations # https://wiki.hypr.land/Configuring/Variables/#animations
animations { animations {
enabled = true enabled = yes, please :)
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 # 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
animation = windows, 1, 7, myBezier # Default animations, see https://wiki.hypr.land/Configuring/Animations/
animation = windowsOut, 1, 7, default, popin 80% # NAME, ONOFF, SPEED, CURVE, [STYLE]
animation = border, 1, 10, default animation = global, 1, 10, default
animation = borderangle, 1, 8, default animation = border, 1, 5.39, easeOutQuint
animation = fade, 1, 7, default animation = windows, 1, 4.79, easeOutQuint
animation = workspaces, 1, 6, default 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
} }
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # 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 { dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this preserve_split = true # You probably want this
} }
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # See https://wiki.hypr.land/Configuring/Master-Layout/ for more
master { master {
new_status = master new_status = master
} }
# https://wiki.hyprland.org/Configuring/Variables/#misc # https://wiki.hypr.land/Configuring/Variables/#misc
misc { misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers 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. :( disable_hyprland_logo = true# If true disables the random hyprland logo / anime girl background. :(
} }
xwayland {
force_zero_scaling = true
}
env = GTK_SCALE,2
env = XCURSOR_SIZE,32
############# #############
### INPUT ### ### INPUT ###
############# #############
# https://wiki.hyprland.org/Configuring/Variables/#input # https://wiki.hypr.land/Configuring/Variables/#input
input { input {
kb_layout = us kb_layout = us
kb_variant = kb_variant =
@@ -165,64 +229,70 @@ input {
touchpad { touchpad {
natural_scroll = false natural_scroll = false
tap-to-click = false
} }
} }
# https://wiki.hyprland.org/Configuring/Variables/#gestures # See https://wiki.hypr.land/Configuring/Gestures
gestures { gesture = 3, horizontal, workspace
workspace_swipe = true
}
# Example per-device config # Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more # See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
device { device {
name = epic-mouse-v1 name = epic-mouse-v1
sensitivity = -0.5 sensitivity = -0.5
} }
#################### ###################
### KEYBINDINGSS ### ### KEYBINDINGS ###
#################### ###################
# See https://wiki.hyprland.org/Configuring/Keywords/ # See https://wiki.hypr.land/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier $mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, R, exec, $menu bind = $mainMod, D, exec, $menu
bind = $mainMod, E, exec, $fileManager bind = $mainMod, F, fullscreen
bind = $mainMod, M, exec, swaylock -c 0x000000; playerctl pause
#bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, W, togglegroup,
bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod SHIFT, SPACE, togglefloating,
bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, Q, hy3:killactive,
bind = $mainMod SHIFT, M, exit, bind = $mainMod SHIFT, M, exit,
bind = $mainMod SHIFT, S, pin
# Move focus with hjkl
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
# Move focus with hjkl
bind = $mainMod SHIFT, h, movewindoworgroup, l
bind = $mainMod SHIFT, l, movewindoworgroup, r
bind = $mainMod SHIFT, k, movewindoworgroup, u
bind = $mainMod SHIFT, j, movewindoworgroup, d
# move inside of grouped windows
bind = $mainMod, n, changegroupactive, f
bind = $mainMod, p, changegroupactive, b
bind = $mainMod, B, hy3:makegroup, h
bind = $mainMod, V, hy3:makegroup, v
bind = $mainMod, W, hy3:makegroup, tab
bind = $mainMod, X, hy3:locktab
bind = $mainMod, R, hy3:changegroup, opposite
#bind = $mainMod SHIFT, A, hy3:changefocus, lower
#bind = $mainMod, A, hy3:changefocus, raise
#bind = $mainMod SHIFT, E, hy3:expand, base
#bind = $mainMod, E, hy3:expand, expand
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l bind = $mainMod, h, hy3:movefocus, l
bind = $mainMod, right, movefocus, r bind = $mainMod, j, hy3:movefocus, d
bind = $mainMod, up, movefocus, u bind = $mainMod, k, hy3:movefocus, u
bind = $mainMod, down, movefocus, d bind = $mainMod, l, hy3:movefocus, r
bind = $mainMod, left, hy3:movefocus, l
bind = $mainMod, down, hy3:movefocus, d
bind = $mainMod, up, hy3:movefocus, u
bind = $mainMod, right, hy3:movefocus, r
bind = $mainMod SHIFT, h, hy3:movewindow, l, once
bind = $mainMod SHIFT, j, hy3:movewindow, d, once
bind = $mainMod SHIFT, k, hy3:movewindow, u, once
bind = $mainMod SHIFT, l, hy3:movewindow, r, once
bind = $mainMod SHIFT, left, hy3:movewindow, l, once
bind = $mainMod SHIFT, down, hy3:movewindow, d, once
bind = $mainMod SHIFT, up, hy3:movewindow, u, once
bind = $mainMod SHIFT, right, hy3:movewindow, r, once
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
@@ -236,24 +306,16 @@ bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10 bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 1, hy3:movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 2, hy3:movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 3, hy3:movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 4, hy3:movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 5, hy3:movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 6, hy3:movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 7, hy3:movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 8, hy3:movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 9, hy3:movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, 0, hy3:movetoworkspace, 10
bind = $mainMod, F, fullscreen
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @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 = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-
bindel = ,XF86MonBrightnessUp ,exec ,brightnessctl set 5%+
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
bind = $mainMod, MINUS, togglespecialworkspace, magic bind = $mainMod, MINUS, togglespecialworkspace, magic
@@ -267,18 +329,36 @@ bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow 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
# Screenshots
bindel = $mainMod, p, exec, grimshot --notify savecopy anything
bindel = $mainMod, m, exec, shikanectl reload
############################## ##############################
### WINDOWS AND WORKSPACES ### ### WINDOWS AND WORKSPACES ###
############################## ##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1 # Example windowrule
# windowrule = float, ^(kitty)$ # windowrule = float,class:^(kitty)$,title:^(kitty)$
# Example windowrule v2 # Ignore maximize requests from apps. You'll probably like this.
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ #windowrule = suppressevent maximize, class:.*
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # Fix some dragging issues with XWayland
#windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

View File

@@ -0,0 +1,20 @@
background {
monitor = # monitor-agnostic
blur_passes = 1
blur_size = 7
}
input-field {
monitor =
size = 20%, 5%
font_family = Noto Sans
dots_size = 0.08
}
label {
monitor =
text = $TIME
font_size = 80
position = 0, -10
}

View File

@@ -0,0 +1,118 @@
// -*- mode: jsonc -*-
{
"spacing": 2, // Gaps between modules (4px)
"modules-left": [
"hyprland/workspaces",
"hyprland/mode",
"hyprland/scratchpad",
"hyprland/window"
],
"modules-center": [
//"sway/window"
"clock",
],
"modules-right": [
//"mpd",
"pulseaudio",
//"network",
"battery",
"tray"
//"custom/power"
],
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"tray": {
// "icon-size": 21,
"spacing": 10,
// "icons": {
// "blueman": "bluetooth",
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
// }
},
"clock": {
//"timezone": "America/Los_Angeles",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%c}",
//"format": "{:%R %p %Y-%m-%d}",
//"format-alt": "{:%Y-%m-%d}"
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
//"format": "{time} {capacity}% {icon}",
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% C",
"format-plugged": "{capacity}% P",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
//"format-wifi": "{essid} ({signalStrength}%) ",
//"format-ethernet": "{ipaddr}/{cidr} ",
//"tooltip-format": "{ifname} via {gwaddr} ",
//"format-linked": "{ifname} (No IP) ",
//"format-disconnected": "Disconnected ⚠",
"format-disconnected": "Disconnected",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon}  {format_source}",
"format-bluetooth-muted": " {icon}  {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

View File

@@ -0,0 +1,321 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
/*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
/*font-family: "JetBrainsMono NF";*/
font-family: "JetBrainsMonoNFM-Regular";
font-size: 14px;
font-weight: bold;
}
window#waybar {
/*background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
background-color: rgba(0, 0, 0, 1);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
window#waybar.empty {
/*background-color: transparent;*/
}
window#waybar.solo {
/*background-color: #FFFFFF;*/
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: inset 0 -3px #ffffff;
}
/* you can set a style on hover for any module like this */
#pulseaudio:hover {
/*background-color: #a37800;*/
}
#workspaces button {
padding: 0 4px;
/*background-color: transparent;*/
color: #ffffff;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.focused {
background-color: #64727D;
/*box-shadow: inset 0 -3px #ffffff;*/
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd {
padding: 0 10px;
color: #ffffff;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
/* background-color: #64727D;*/
}
#battery {
/*background-color: #ffffff;
color: #000000;*/
}
#battery.charging, #battery.plugged {
/*color: #ffffff;
background-color: #26A65B;*/
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
/* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#power-profiles-daemon {
padding-right: 15px;
}
#power-profiles-daemon.performance {
background-color: #f53c3c;
color: #ffffff;
}
#power-profiles-daemon.balanced {
background-color: #2980b9;
color: #ffffff;
}
#power-profiles-daemon.power-saver {
background-color: #2ecc71;
color: #000000;
}
label:focus {
background-color: #000000;
}
#cpu {
background-color: #2ecc71;
color: #000000;
}
#memory {
background-color: #9b59b6;
}
#disk {
background-color: #964B00;
}
#backlight {
background-color: #90b1b1;
}
#network {
/*background-color: #2980b9;*/
}
#network.disconnected {
/*background-color: #f53c3c;*/
}
#pulseaudio {
/*background-color: #f1c40f;*/
/*color: #000000;*/
}
#pulseaudio.muted {
/*background-color: #90b1b1;*/
/*color: #2a5c45;*/
}
#wireplumber {
background-color: #fff0f5;
color: #000000;
}
#wireplumber.muted {
background-color: #f53c3c;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
/*background-color: #2980b9;*/
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad.empty {
background-color: transparent;
}
#privacy {
padding: 0;
}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
background-color: #cf5700;
}
#privacy-item.audio-in {
background-color: #1ca000;
}
#privacy-item.audio-out {
background-color: #0069d4;
}

View File

@@ -7,7 +7,7 @@ font_size 11
#text_composition_strategy legacy #text_composition_strategy legacy
#modify_font cell_width 95% #modify_font cell_width 95%
background_opacity 0.4 background_opacity 20
cursor_trail 10 cursor_trail 10
cursor_trail_start_threshold 0 cursor_trail_start_threshold 0

View File

@@ -25,4 +25,6 @@ dex -a &
# screen record or share # screen record or share
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots
/usr/lib/xdg-desktop-portal-wlr & /usr/lib/xdg-desktop-portal-wlr &

View File

@@ -2,7 +2,7 @@
# Window effect # Window effect
blur=1 blur=1
blur_layer=1 blur_layer=0
blur_optimized=1 blur_optimized=1
blur_params_num_passes = 2 blur_params_num_passes = 2
blur_params_radius = 5 blur_params_radius = 5
@@ -12,7 +12,7 @@ blur_params_contrast = 0.9
blur_params_saturation = 1.2 blur_params_saturation = 1.2
shadows = 1 shadows = 1
layer_shadows = 0 layer_shadows = 1
shadow_only_floating = 1 shadow_only_floating = 1
shadows_size = 5 shadows_size = 5
shadows_blur = 15 shadows_blur = 15
@@ -52,7 +52,7 @@ scroller_structs=20
scroller_default_proportion=1.0 scroller_default_proportion=1.0
scroller_focus_center=0 scroller_focus_center=0
scroller_prefer_center=0 scroller_prefer_center=0
edge_scroller_pointer_focus=1 edge_scroller_pointer_focus=0
scroller_default_proportion_single=1.0 scroller_default_proportion_single=1.0
scroller_proportion_preset=1.0,1.0,1.0 scroller_proportion_preset=1.0,1.0,1.0
@@ -64,8 +64,8 @@ smartgaps=0
# Overview Setting # Overview Setting
hotarea_size=10 hotarea_size=10
enable_hotarea=1 enable_hotarea=0
ov_tab_mode=0 ov_tab_mode=1
overviewgappi=5 overviewgappi=5
overviewgappo=30 overviewgappo=30
@@ -84,8 +84,9 @@ cursor_size=24
drag_tile_to_tile=1 drag_tile_to_tile=1
# keyboard # keyboard
repeat_rate=25 #repeat_rate=25
repeat_delay=600 repeat_rate=30
repeat_delay=300
numlockon=1 numlockon=1
xkb_rules_layout=us xkb_rules_layout=us
@@ -112,7 +113,7 @@ gappoh=10
gappov=10 gappov=10
scratchpad_width_ratio=0.8 scratchpad_width_ratio=0.8
scratchpad_height_ratio=0.9 scratchpad_height_ratio=0.9
borderpx=4 borderpx=1
rootcolor=0x201b14ff rootcolor=0x201b14ff
bordercolor=0x444444ff bordercolor=0x444444ff
focuscolor=0xc9b890ff focuscolor=0xc9b890ff
@@ -138,6 +139,9 @@ tagrule=id:9,layout_name:tile
# key name refer to `xev` or `wev` command output, # key name refer to `xev` or `wev` command output,
# mod keys name: super,ctrl,alt,shift,none # mod keys name: super,ctrl,alt,shift,none
bind=SUPER,period,incnmaster,+1
bind=SUPER,comma,incnmaster,-1
# reload config # reload config
bind=SUPER,c,reload_config bind=SUPER,c,reload_config
bind=SUPER,c,spawn_shell, notify-send 'Reloading Config!' bind=SUPER,c,spawn_shell, notify-send 'Reloading Config!'
@@ -147,7 +151,8 @@ bind=SUPER,d,spawn,wofi --show drun -GI
bind=SUPER,Return,spawn,kitty bind=SUPER,Return,spawn,kitty
# exit # exit
bind=SUPER+SHIFT,m,quit #bind=SUPER+SHIFT,e,quit
bind=SUPER+SHIFT,m,spawn_shell, wlr-randr --output eDP-1 --toggle
bind=SUPER,m,spawn_shell, playerctl pause; swaylock -f -c 000000 # lock bind=SUPER,m,spawn_shell, playerctl pause; swaylock -f -c 000000 # lock
bind=SUPER+SHIFT,q,killclient, bind=SUPER+SHIFT,q,killclient,
@@ -200,16 +205,16 @@ bind=SUPER,s,setlayout,scroller
bind=SUPER,a,togglegaps bind=SUPER,a,togglegaps
# tag switch # tag switch
bind=SUPER,1,view,1,0 bind=SUPER,1,comboview,1,0
bind=SUPER,2,view,2,0 bind=SUPER,2,comboview,2,0
bind=SUPER,3,view,3,0 bind=SUPER,3,comboview,3,0
bind=SUPER,4,view,4,0 bind=SUPER,4,comboview,4,0
bind=SUPER,5,view,5,0 bind=SUPER,5,comboview,5,0
bind=SUPER,6,view,6,0 bind=SUPER,6,comboview,6,0
bind=SUPER,7,view,7,0 bind=SUPER,7,comboview,7,0
bind=SUPER,8,view,8,0 bind=SUPER,8,comboview,8,0
bind=SUPER,9,view,9,0 bind=SUPER,9,comboview,9,0
bind=SUPER,0,view,0,0 bind=SUPER,0,comboview,0,0
# tag: move client to the tag and focus it # tag: move client to the tag and focus it
# tagsilent: move client to the tag and not focus it # tagsilent: move client to the tag and not focus it
@@ -243,10 +248,10 @@ bind=CTRL+SHIFT,Left,movewin,-50,+0
bind=CTRL+SHIFT,Right,movewin,+50,+0 bind=CTRL+SHIFT,Right,movewin,+50,+0
# resizewin # resizewin
bind=none,Up,resizewin,+0,-50 #bind=none,Up,resizewin,+0,-50
bind=none,Down,resizewin,+0,+50 #bind=none,Down,resizewin,+0,+50
bind=none,Left,resizewin,-50,+0 #bind=none,Left,resizewin,-50,+0
bind=none,Right,resizewin,+50,+0 #bind=none,Right,resizewin,+50,+0
# Mouse Button Bindings # Mouse Button Bindings
# NONE mode key only work in ov mode # NONE mode key only work in ov mode

View File

@@ -45,8 +45,8 @@
"num-tags":9, "num-tags":9,
}, },
"dwl/window": { "dwl/window": {
//"format": "[{layout}]{title}" "format": "[{layout}] {title}"
"format": "[{layout}]" //"format": "[{layout}]"
}, },
// Modules configuration // Modules configuration
// "sway/workspaces": { // "sway/workspaces": {

View File

@@ -1,37 +1,4 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" require("config.lazy")
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- coq used for completion
vim.g.coq_settings = {
auto_start = true,
xdg = true,
completion = {
always = false,
},
keymap = {
manual_complete = '<c-n>',
}
}
-- code completion
require('lazy').setup('plugins')
local coq = require 'coq'
require("mason").setup() -- used for automatically enabling lsp and coq
require("mason-lspconfig").setup()
-- Settings
--vim.cmd('source ~/.config/nvim/settings.vim')
-- colorscheme -- colorscheme
vim.o.termguicolors = true vim.o.termguicolors = true
@@ -40,16 +7,20 @@ vim.opt.winborder = 'rounded'
--vim.cmd("colorscheme gruvbox ") --vim.cmd("colorscheme gruvbox ")
--vim.cmd("colorscheme retrobox") --vim.cmd("colorscheme retrobox")
vim.opt.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank.
vim.cmd("set nocompatible") vim.cmd("set nocompatible")
vim.cmd("syntax on") vim.cmd("syntax on")
vim.cmd("filetype plugin indent on") vim.cmd("filetype plugin indent on")
vim.cmd("set number") vim.cmd("set number")
vim.cmd("set relativenumber") vim.cmd("set relativenumber")
vim.cmd("set expandtab") vim.cmd("set expandtab")
vim.cmd("set shiftwidth=4") vim.cmd("set shiftwidth=4")
vim.cmd("set softtabstop=4") vim.cmd("set softtabstop=4")
vim.cmd("set tabstop=4") vim.cmd("set tabstop=4")
vim.cmd("set smartindent") vim.cmd("set smartindent")
vim.cmd("set backspace=indent,eol,start") vim.cmd("set backspace=indent,eol,start")
vim.cmd("set colorcolumn=81") vim.cmd("set colorcolumn=81")
vim.cmd("set textwidth=80") vim.cmd("set textwidth=80")
@@ -57,13 +28,10 @@ vim.cmd("set wrap")
vim.cmd("set linebreak") vim.cmd("set linebreak")
vim.cmd("noswapfile") vim.cmd("noswapfile")
vim.cmd("set autoread")
vim.cmd("set complete-=i")
vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType python set fileformat=unix encoding=utf-8")
vim.cmd("au FileType markdown,tex set spell spelllang=en_us") vim.cmd("au FileType markdown,tex set spell spelllang=en_us")
-- keymaps
vim.keymap.set('n', '<leader>/', ':nohlsearch<CR>')
vim.keymap.set('n', '<leader>b', ':buffers<CR>')
vim.keymap.set('n', 'bp', ':bp<CR>')
vim.keymap.set('n', 'bn', ':bn<CR>')

View File

@@ -1,16 +0,0 @@
{
"black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" },
"copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" },
"coq_nvim": { "branch": "coq", "commit": "a63d28a9aa59c20a503ce38608fb6bc7cb3842f4" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
"lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
"vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }
}

View File

@@ -0,0 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
--vim.g.mapleader = "/\"
--im.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
-- checker = { enabled = true },
})

View File

@@ -1,12 +0,0 @@
return {
'github/copilot.vim',
config = function()
vim.keymap.set('i', '<C-J>', 'copilot#Accept("\\<CR>")', {
expr = true,
replace_keycodes = false
})
vim.keymap.set('i', '<C-L>', '<Plug>(copilot-accept-word)')
vim.g.copilot_enabled = 'v:false'
end
}

View File

@@ -1,23 +0,0 @@
return {
'ThePrimeagen/harpoon',
config = function(_, opts)
require('harpoon').setup(opts)
local mark = require('harpoon'.. ".mark")
local ui = require('harpoon'.. ".ui")
-- Harpoon marked files 1 through 4.
vim.keymap.set("n", "<a-1>", function() ui.nav_file(1) end)
vim.keymap.set("n", "<a-2>", function() ui.nav_file(2) end)
vim.keymap.set("n", "<a-3>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<a-4>", function() ui.nav_file(4) end)
-- Harpoon next and previous.
vim.keymap.set("n", "<a-n>", function() ui.nav_next() end)
vim.keymap.set("n", "<a-p>", function() ui.nav_prev() end)
-- Harpoon user interface.
vim.keymap.set("n", "<leader>hq", ui.toggle_quick_menu)
vim.keymap.set("n", "<leader>ha", mark.add_file)
end
}

View File

@@ -1,12 +0,0 @@
return {
"mason-org/mason-lspconfig.nvim",
dependencies = {
"mason-org/mason.nvim",
"neovim/nvim-lspconfig",
"ms-jpq/coq_nvim", -- Optional (auto complete)
},
config = function()
--vim.lsp.config('lua_ls',coq.lsp_ensure_capabilities())
--vim.lsp.config('clangd',coq.lsp_ensure_capabilities())
end
}

View File

@@ -1,46 +0,0 @@
return{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons', opt = true },
config = function()
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'auto',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
lualine_x = {'encoding', 'fileformat', 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}
end
}

View File

@@ -0,0 +1,53 @@
return {
"mason-org/mason-lspconfig.nvim",
dependencies = {
{"mason-org/mason.nvim"},
{'neovim/nvim-lspconfig'},
{'nvim-mini/mini.nvim'},
{'nvim-mini/mini.completion'},
},
config = function()
require("mason").setup()
require("mason-lspconfig").setup {}
-- NOTE: this is meant to be backwards compatible with Neovim v0.9
---
-- Autocompletion
---
--require('mini.snippets').setup()
require('mini.completion').setup()
---
-- Language server configuration
---
-- These keymaps are the defaults in Neovim v0.10
if vim.fn.has('nvim-0.11') == 0 then
-- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11
-- that's why we put these under a conditional block
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
vim.keymap.set('n', '<C-w>d', '<cmd>lua vim.diagnostic.open_float()<cr>')
vim.keymap.set('n', '<C-w><C-d>', '<cmd>lua vim.diagnostic.open_float()<cr>')
end
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event)
local bufmap = function(mode, rhs, lhs)
vim.keymap.set(mode, rhs, lhs, {buffer = event.buf})
end
-- These keymaps are the defaults in Neovim v0.11
bufmap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
bufmap('n', 'grr', '<cmd>lua vim.lsp.buf.references()<cr>')
bufmap('n', 'gri', '<cmd>lua vim.lsp.buf.implementation()<cr>')
bufmap('n', 'grn', '<cmd>lua vim.lsp.buf.rename()<cr>')
bufmap('n', 'gra', '<cmd>lua vim.lsp.buf.code_action()<cr>')
bufmap('n', 'gO', '<cmd>lua vim.lsp.buf.document_symbol()<cr>')
bufmap({'i', 's'}, '<C-s>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
end,
})
end
}

View File

@@ -1,5 +1,6 @@
-- plugins/telescope.lua:
return { return {
'nvim-telescope/telescope.nvim', tag = '0.1.2', 'nvim-telescope/telescope.nvim', tag = 'v0.1.9',
dependencies = { 'nvim-lua/plenary.nvim' }, dependencies = { 'nvim-lua/plenary.nvim' },
config = function() config = function()
local builtin = require('telescope.builtin') local builtin = require('telescope.builtin')

View File

@@ -2,45 +2,48 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
config = function() config = function()
require("nvim-treesitter.configs").setup { require("nvim-treesitter").install({})
-- A list of parser names, or "all" (the five listed parsers should always be installed)
ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" },
-- Install parsers synchronously (only applied to `ensure_installed`) --require("nvim-treesitter.configs").setup ({
sync_install = false, -- -- A list of parser names, or "all" (the five listed parsers should always be installed)
-- ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" },
-- Automatically install missing parsers when entering buffer -- -- Install parsers synchronously (only applied to `ensure_installed`)
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally -- sync_install = false,
auto_install = true,
-- List of parsers to ignore installing (for "all") -- -- Automatically install missing parsers when entering buffer
ignore_install = { "javascript" }, -- -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
-- auto_install = true,
---- If you need to change the installation directory of the parsers (see -> Advanced Setup) -- -- List of parsers to ignore installing (for "all")
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! -- ignore_install = { "javascript" },
highlight = { -- ---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
enable = true, -- -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to -- highlight = {
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is -- enable = true,
-- the name of the parser)
-- list of language that will be disabled -- -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable = { "c", "rust" }, -- -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files -- -- the name of the parser)
disable = function(lang, buf) -- -- list of language that will be disabled
local max_filesize = 100 * 1024 -- 100 KB -- -- disable = { "c", "rust" },
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) -- -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
if ok and stats and stats.size > max_filesize then -- disable = function(lang, buf)
return true -- local max_filesize = 100 * 1024 -- 100 KB
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
-- if ok and stats and stats.size > max_filesize then
-- return true
-- end
-- end,
-- -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- -- Using this option may slow down your editor, and you may see some duplicate highlights.
-- -- Instead of true it can also be a list of languages
-- additional_vim_regex_highlighting = false,
-- },
--})
end end
end, }
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}
end }

View File

@@ -1,56 +0,0 @@
set nocompatible
syntax on
filetype plugin indent on
set number
set relativenumber
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4
set smartindent
set backspace=indent,eol,start
set colorcolumn=81
"hi ColorColumn ctermbg=lightgrey guibg=lightgrey
set textwidth=80
set wrap
set linebreak
set autoread " Set to auto read when a file is changed from the outside
set path+=**
set wildmenu
set showcmd
set wildmode=longest:full,full
set wildoptions=pum
set wildignore+=*/tmp/*,*.so,*.swp,*.zip
set wildignore+=*\\tmp\\*,*.exe
set number ruler
set showmatch
set showbreak=↳\ \
set hidden
set hlsearch
set noswapfile
set mouse= "remove mouse
"set clipboard=unnamedplus
" Rendering
set ttyfast
set laststatus=1
set t_Co=256
let &t_ut=''
"hi ColorColumn ctermbg=lightgrey guibg=lightgrey
" Show bad whitespace in an obvious but not obnoxious color
"highlight pythonSpaceError ctermbg=darkgreen guibg=darkgreen
"highlight BadWhitespace ctermbg=darkgreen guibg=darkgreen
"au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\+$/
au FileType python
\ set fileformat=unix
\ encoding=utf-8
au FileType markdown,tex
\ set spell spelllang=en_us

View File

@@ -1,10 +0,0 @@
Generative
ansible
CXI
HPLC
SED
brokhorst
MOXA
CONFIG
QRIX
EPS

Binary file not shown.

View File

@@ -1,5 +1,6 @@
#font 'JetBrainsMono NF' 9 #font 'JetBrainsMono NF' 9
font 'JetBrainsMono Nerd Font Mono' 9 #font 'JetBrainsMono Nerd Font Mono' 9
font 'JetBrainsMonoNFM-Regular' 9
### Variables ### Variables
#set $mod Mod1 #set $mod Mod1
@@ -17,18 +18,13 @@ set $up k
set $right l set $right l
set $laptop eDP-1 set $laptop eDP-1
include ~/.config/sway/config.d/* include ~/.config/sway/config.d/*
exec systemctl --user start sway-audio-idle-inhibit
exec systemctl --user start shikane
### Output configuration ### Output configuration
# You can get the names of your outputs by running: swaymsg -t get_outputs # You can get the names of your outputs by running: swaymsg -t get_outputs
# https://gitlab.com/w0lff/shikane for multitple display handling # https://gitlab.com/w0lff/shikane for multitple display handling
output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill #output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill
output eDP-1 scale 1.7 #output eDP-1 scale 1.7
#output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 #output 'BNQ BenQ PD3200U S2N01233019' scale 1.5
#exec_always shikanectl reload #exec_always shikanectl reload
@@ -43,28 +39,51 @@ exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode.
#} #}
### Idle configuration ### Idle configuration
exec swayidle -w \ #exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \ # timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * power off"' \ # timeout 600 'swaymsg "output * power off"' \
resume 'swaymsg "output * power on"' \ # resume 'swaymsg "output * power on"' \
before-sleep 'swaylock -f -c 000000' # before-sleep 'swaylock -f -c 000000'
seat seat0 xcursor_theme Adwaita 25 seat seat0 xcursor_theme Adwaita 35
#exec pipewire
exec swaync
exec shikane
exec nm-applet
exec blueman-applet
exec systemctl --user start hyperolkitagent
exec waybar -c ~/.config/sway/waybar/config.jsonc -s ~/.config/sway/waybar/style.css
exec flatpak run com.github.wwmm.easyeffects -w
exec xrdb -merge ~/.Xresources
exec wl-paste -t text --watch clipman store --no-persist
#exec mpd
#exec syncthing
# Auto start .desktop files using dex # Auto start .desktop files using dex
exec pipewire
exec swaync
exec waybar
exec mpd
exec dex -a exec dex -a
#exec wl-paste -t text --watch clipman store --no-persist #exec wl-paste -t text --watch clipman store --no-persist
# There are two wl-paste processes running, one for the primary and one for the normal clipboard
exec wl-paste -t text --watch clipman store
exec wl-paste -p -t text --watch clipman store
# The keybind to select a clipping
bindsym $mod+y exec clipman --primary pick --tool wofi
# Clear all clippings
bindsym $mod+Shift+y exec clipman clear -a
# Remove a selected clipping
bindsym $mod+Mod1+y exec clipman clear --tool wofi
# Empty the current clipping
bindsym $mod+Ctrl+y exec : | wl-copy -p
#better audio #better audio
#exec easyeffects -w -l Laptop #exec easyeffects -w -l Laptop
default_border pixel 2 #default_border pixel 2
default_floating_border pixel 2 #default_floating_border pixel 2
exec systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP exec systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway

View File

@@ -1,56 +1,56 @@
#smart_corner_radius on #smart_corner_radius on
##gaps inner 6 gaps inner 2
##
##default_border pixel 1 default_border pixel 2
##
##corner_radius 8 #corner_radius 8
##blur enable #blur enable
##blur_passes 2 #blur_passes 2
##blur_radius 2 #blur_radius 2
##layer_effects "waybar" "blur enable"; shadows enable #layer_effects "waybar" "blur enable"; shadows enable
##shadows on #shadows on
##shadow_blur_radius 5 #shadow_blur_radius 5
##
###https://github.com/rkubosz/base16-sway #https://github.com/rkubosz/base16-sway
##
###set $base00 #031A16 set $base00 #031A16
###set $base01 #0B342D set $base01 #0B342D
###set $base02 #184E45 set $base02 #184E45
###set $base03 #2B685E set $base03 #2B685E
###set $base04 #5F9C92 set $base04 #5F9C92
###set $base05 #81B5AC set $base05 #81B5AC
###set $base06 #A7CEC8 set $base06 #A7CEC8
###set $base07 #D2E7E4 set $base07 #D2E7E4
###set $base08 #3E9688 set $base08 #3E9688
###set $base09 #3E7996 set $base09 #3E7996
###set $base0A #3E4C96 set $base0A #3E4C96
###set $base0B #883E96 set $base0B #883E96
###set $base0C #963E4C set $base0C #963E4C
###set $base0D #96883E set $base0D #96883E
###set $base0E #4C963E set $base0E #4C963E
###set $base0F #3E965B set $base0F #3E965B
##
##set $base00 #000000 #set $base00 #000000
##set $base01 #121212 #set $base01 #121212
##set $base02 #222222 #set $base02 #222222
##set $base03 #333333 #set $base03 #333333
##set $base04 #999999 #set $base04 #999999
##set $base05 #c1c1c1 #set $base05 #c1c1c1
##set $base06 #999999 #set $base06 #999999
##set $base07 #c1c1c1 #set $base07 #c1c1c1
##set $base08 #5f8787 #set $base08 #5f8787
##set $base09 #aaaaaa #set $base09 #aaaaaa
##set $base0A #a06666 #set $base0A #a06666
##set $base0B #dd9999 #set $base0B #dd9999
##set $base0C #aaaaaa #set $base0C #aaaaaa
##set $base0D #888888 #set $base0D #888888
##set $base0E #999999 #set $base0E #999999
##set $base0F #444444 #set $base0F #444444
##
### Property Name Border BG Text Indicator Child Border # Property Name Border BG Text Indicator Child Border
##client.focused $base05 $base0D $base00 $base0D $base0D client.focused $base05 $base0D $base00 $base0D $base0D
##client.focused_inactive $base01 $base01 $base05 $base03 $base01 client.focused_inactive $base01 $base01 $base05 $base03 $base01
##client.unfocused $base01 $base00 $base05 $base01 $base01 client.unfocused $base01 $base00 $base05 $base01 $base01
##client.urgent $base08 $base08 $base00 $base08 $base08 client.urgent $base08 $base08 $base00 $base08 $base08
##client.placeholder $base00 $base00 $base05 $base00 $base00 client.placeholder $base00 $base00 $base05 $base00 $base00
##client.background $base07 client.background $base07

View File

@@ -0,0 +1,3 @@
#!/bin/bash
slur

1
.config/sway/waybar Symbolic link
View File

@@ -0,0 +1 @@
/home/jozamudi/.dotfiles/.config/waybar

View File

@@ -3,7 +3,7 @@ set -g default-terminal "xterm-256color"
bind-key r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" bind-key r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!"
set-option -g default-shell /bin/zsh #set-option -g default-shell /bin/zsh
# remap prefix # remap prefix
unbind C-b unbind C-b
@@ -51,9 +51,9 @@ set-option -g update-environment "SSH_AUTH_SOCK \
SSH_CONNECTION \ SSH_CONNECTION \
DISPLAY " DISPLAY "
set -g status-position bottom # set -g status-position bottom
set -g status-left "#{session_name} " # set -g status-left " #{session_name} "
set -g status-right "" # set -g status-right ""
set -g status-right-length 100 # set -g status-right-length 100
set -g status-style 'fg=default' # set -g status-style 'fg=default'

View File

@@ -1,64 +1,24 @@
// -*- mode: jsonc -*- // -*- mode: jsonc -*-
{ {
// "layer": "top", // Waybar at top layer "spacing": 2, // Gaps between modules (4px)
// "position": "bottom", // Waybar position (top|bottom|left|right)
//"height": 10, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 6, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [ "modules-left": [
"sway/workspaces", "sway/workspaces",
"sway/mode", "sway/mode",
"sway/scratchpad", "sway/scratchpad",
"custom/media" "sway/window"
], ],
//"modules-center": [ //"modules-center": [
//"sway/window" //"sway/window"
//], //],
"modules-right": [ "modules-right": [
"mpd", //"mpd",
"custom/audio_idle_inhibitor",
"pulseaudio", "pulseaudio",
"network", //"network",
//"power-profiles-daemon",
//"cpu",
//"memory",
//"temperature",
//"backlight",
//"keyboard-state",
//"sway/language",
"battery", "battery",
//"battery#bat2",
"clock", "clock",
"tray" "tray"
//"custom/power" //"custom/power"
], ],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": { "sway/mode": {
"format": "<span style=\"italic\">{}</span>" "format": "<span style=\"italic\">{}</span>"
}, },
@@ -69,42 +29,6 @@
"tooltip": true, "tooltip": true,
"tooltip-format": "{app}: {title}" "tooltip-format": "{app}: {title}"
}, },
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title} ⸨{songPosition}|{queueLength}⸩% ",
"format-alt": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ",
"format-disconnected": "Disconnected ",
//"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"format-stopped": "",
//"unknown-tag": "N/A",
"unknown-tag": "",
"interval": 5,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": { "tray": {
// "icon-size": 21, // "icon-size": 21,
"spacing": 10, "spacing": 10,
@@ -120,26 +44,6 @@
//"format": "{:%R %p %Y-%m-%d}", //"format": "{:%R %p %Y-%m-%d}",
//"format-alt": "{:%Y-%m-%d}" //"format-alt": "{:%Y-%m-%d}"
}, },
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": { "battery": {
"states": { "states": {
// "good": 95, // "good": 95,
@@ -171,19 +75,20 @@
}, },
"network": { "network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface // "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ", //"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ", //"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ", //"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ", //"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠", //"format-disconnected": "Disconnected ⚠",
"format-disconnected": "Disconnected",
"format-alt": "{ifname}: {ipaddr}/{cidr}" "format-alt": "{ifname}: {ipaddr}/{cidr}"
}, },
"pulseaudio": { "pulseaudio": {
// "scroll-step": 1, // %, can be a float // "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}", "format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}", "format-bluetooth-muted": " {icon}  {format_source}",
"format-muted": " {format_source}", "format-muted": " {format_source}",
"format-source": "{volume}% ", "format-source": "{volume}% ",
"format-source-muted": "", "format-source-muted": "",
"format-icons": { "format-icons": {
@@ -208,29 +113,5 @@
"escape": true, "escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏻ ",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
},
"custom/audio_idle_inhibitor": {
"format": "{icon} ",
"exec": "sway-audio-idle-inhibit --dry-print-both-waybar",
"exec-if": "which sway-audio-idle-inhibit",
"return-type": "json",
"format-icons": {
"output": "",
"input": "",
"output-input": " ",
"none": ""
}
} }
} }

View File

@@ -1,8 +1,10 @@
* { * {
/* `otf-font-awesome` is required to be installed for icons */ /* `otf-font-awesome` is required to be installed for icons */
/*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
font-family: "JetBrainsMono NF"; /*font-family: "JetBrainsMono NF";*/
font-size: 13px; font-family: "JetBrainsMonoNFM-Regular";
font-size: 14px;
font-weight: bold;
} }
window#waybar { window#waybar {
@@ -25,14 +27,6 @@ window#waybar.solo {
/*background-color: #FFFFFF;*/ /*background-color: #FFFFFF;*/
} }
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
button { button {
/* Use box-shadow instead of border so the text isn't offset */ /* Use box-shadow instead of border so the text isn't offset */
@@ -54,8 +48,8 @@ button:hover {
} }
#workspaces button { #workspaces button {
padding: 0 5px; padding: 0 4px;
background-color: transparent; /*background-color: transparent;*/
color: #ffffff; color: #ffffff;
} }
@@ -65,7 +59,7 @@ button:hover {
#workspaces button.focused { #workspaces button.focused {
background-color: #64727D; background-color: #64727D;
box-shadow: inset 0 -3px #ffffff; /*box-shadow: inset 0 -3px #ffffff;*/
} }
#workspaces button.urgent { #workspaces button.urgent {

2
.gitignore vendored
View File

@@ -1 +1 @@
./.config/nvim/lazy-lock.json .config/nvim/lazy-lock.json

36
.zshrc Normal file
View File

@@ -0,0 +1,36 @@
# Auto Complete
autoload -Uz compinit
compinit
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Alias
alias vim='nvim'
alias ssh='ssh -XC'
# Config
source <(fzf --zsh)
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='${vcs_info_msg_0_}'
#PROMPT='${vcs_info_msg_0_}%# '
PROMPT='%~%# '
zstyle ':vcs_info:git:*' formats '%b'