commit
						6179b747fa
					
				 29 changed files with 1506 additions and 0 deletions
			
			
		- 
					48.config/alacritty/alacritty.toml
 - 
					313.config/hypr/hyprland.conf
 - 
					24.config/hypr/hyprlock.conf
 - 
					2.config/hypr/hyprpaper.conf
 - 
					6.config/nvim/init.lua
 - 
					21.config/nvim/lazy-lock.json
 - 
					0.config/nvim/lua/arch2025/init.lua
 - 
					31.config/nvim/lua/arch2025/plugins/lualine.lua
 - 
					15.config/nvim/lua/arch2025/plugins/theme.lua
 - 
					16.config/nvim/lua/junikim/bootstrap-lazy.lua
 - 
					4.config/nvim/lua/junikim/init.lua
 - 
					104.config/nvim/lua/junikim/options.lua
 - 
					7.config/nvim/lua/junikim/plugins/autopairs.lua
 - 
					43.config/nvim/lua/junikim/plugins/barbar.lua
 - 
					1.config/nvim/lua/junikim/plugins/devicons.lua
 - 
					1.config/nvim/lua/junikim/plugins/emmet.lua
 - 
					6.config/nvim/lua/junikim/plugins/fugitive.lua
 - 
					1.config/nvim/lua/junikim/plugins/gitsigns.lua
 - 
					101.config/nvim/lua/junikim/plugins/lsp.lua
 - 
					13.config/nvim/lua/junikim/plugins/nvim-tree.lua
 - 
					37.config/nvim/lua/junikim/plugins/telescope.lua
 - 
					20.config/nvim/lua/junikim/plugins/treesitter.lua
 - 
					1.config/nvim/lua/junikim/plugins/vimtex.lua
 - 
					53.config/nvim/lua/junikim/remaps.lua
 - 
					105.config/rofi/config.rasi
 - 
					218.config/waybar/config.jsonc
 - 
					213.config/waybar/style.css
 - 
					52.tmux.conf
 - 
					50.zshrc
 
@ -0,0 +1,48 @@ | 
				
			|||
[window] | 
				
			|||
 | 
				
			|||
padding = {x = 10, y = 10} | 
				
			|||
opacity = 0.8 | 
				
			|||
 | 
				
			|||
[general] | 
				
			|||
live_config_reload = true | 
				
			|||
 | 
				
			|||
[font] | 
				
			|||
size = 12.0 | 
				
			|||
 | 
				
			|||
[font.bold] | 
				
			|||
family = "JetBrainsMono Nerd Font Mono" | 
				
			|||
style = "Bold" | 
				
			|||
 | 
				
			|||
[font.bold_italic] | 
				
			|||
family = "JetBrainsMono Nerd Font Mono" | 
				
			|||
style = "Bold Italic" | 
				
			|||
 | 
				
			|||
[font.italic] | 
				
			|||
family = "JetBrainsMono Nerd Font Mono" | 
				
			|||
style = "Italic" | 
				
			|||
 | 
				
			|||
[font.normal] | 
				
			|||
family = "JetBrainsMono Nerd Font Mono" | 
				
			|||
style = "Regular" | 
				
			|||
 | 
				
			|||
[colors.primary] | 
				
			|||
background= '#2d353b' | 
				
			|||
foreground= '#d3c6aa' | 
				
			|||
[colors.normal] | 
				
			|||
black=   '#475258' | 
				
			|||
red=     '#e67e80' | 
				
			|||
green=   '#a7c080' | 
				
			|||
yellow=  '#dbbc7f' | 
				
			|||
blue=    '#7fbbb3' | 
				
			|||
magenta= '#d699b6' | 
				
			|||
cyan=    '#83c092' | 
				
			|||
white=   '#d3c6aa' | 
				
			|||
[colors.bright] | 
				
			|||
black=   '#475258' | 
				
			|||
red=     '#e67e80' | 
				
			|||
green=   '#a7c080' | 
				
			|||
yellow=  '#dbbc7f' | 
				
			|||
blue=    '#7fbbb3' | 
				
			|||
magenta= '#d699b6' | 
				
			|||
cyan=    '#83c092' | 
				
			|||
white=   '#d3c6aa' | 
				
			|||
@ -0,0 +1,313 @@ | 
				
			|||
# This is an example Hyprland config file. | 
				
			|||
# Refer to the wiki for more information. | 
				
			|||
# https://wiki.hyprland.org/Configuring/ | 
				
			|||
 | 
				
			|||
# Please note not all available settings / options are set here. | 
				
			|||
# For a full list, see the wiki | 
				
			|||
 | 
				
			|||
# You can split this configuration into multiple files | 
				
			|||
# Create your files separately and then link them to this file like this: | 
				
			|||
# source = ~/.config/hypr/myColors.conf | 
				
			|||
 | 
				
			|||
 | 
				
			|||
################ | 
				
			|||
### MONITORS ### | 
				
			|||
################ | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Monitors/ | 
				
			|||
monitor=eDP-1, 1920x1080@60, 0x0, 1 | 
				
			|||
# why the skibidi is this here. | 
				
			|||
monitor=Unknown-1, disable | 
				
			|||
 | 
				
			|||
 | 
				
			|||
################### | 
				
			|||
### MY PROGRAMS ### | 
				
			|||
################### | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Keywords/ | 
				
			|||
 | 
				
			|||
# Set programs that you use | 
				
			|||
$terminal = alacritty | 
				
			|||
$fileManager = dolphin | 
				
			|||
$browser = firefox | 
				
			|||
$menu = rofi -show drun | 
				
			|||
 | 
				
			|||
 | 
				
			|||
################# | 
				
			|||
### AUTOSTART ### | 
				
			|||
################# | 
				
			|||
 | 
				
			|||
# Autostart necessary processes (like notifications daemons, status bars, etc.) | 
				
			|||
# Or execute your favorite apps at launch like this: | 
				
			|||
 | 
				
			|||
# exec-once = $terminal | 
				
			|||
# exec-once = nm-applet & | 
				
			|||
# exec-once = waybar & hyprpaper & firefox | 
				
			|||
 | 
				
			|||
exec-once = hyprpaper | 
				
			|||
exec-once = waybar | 
				
			|||
 | 
				
			|||
############################# | 
				
			|||
### ENVIRONMENT VARIABLES ### | 
				
			|||
############################# | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Environment-variables/ | 
				
			|||
 | 
				
			|||
env = XCURSOR_SIZE,24 | 
				
			|||
env = HYPRCURSOR_SIZE,24 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
##################### | 
				
			|||
### LOOK AND FEEL ### | 
				
			|||
##################### | 
				
			|||
 | 
				
			|||
# Refer to https://wiki.hyprland.org/Configuring/Variables/ | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#general | 
				
			|||
general { | 
				
			|||
    gaps_in = 5 | 
				
			|||
    gaps_out = 20 | 
				
			|||
 | 
				
			|||
    border_size = 2 | 
				
			|||
 | 
				
			|||
    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors | 
				
			|||
    col.active_border = rgba(93b259ee) | 
				
			|||
    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.hyprland.org/Configuring/Tearing/ before you turn this on | 
				
			|||
    allow_tearing = false | 
				
			|||
 | 
				
			|||
    layout = dwindle | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#decoration | 
				
			|||
decoration { | 
				
			|||
    rounding = 10 | 
				
			|||
 | 
				
			|||
    # 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.hyprland.org/Configuring/Variables/#blur | 
				
			|||
    blur { | 
				
			|||
        enabled = true | 
				
			|||
        size = 3 | 
				
			|||
        passes = 1 | 
				
			|||
 | 
				
			|||
        vibrancy = 0.1696 | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#animations | 
				
			|||
animations { | 
				
			|||
    enabled = yes, please :) | 
				
			|||
 | 
				
			|||
    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more | 
				
			|||
 | 
				
			|||
    bezier = easeOutQuint,0.23,1,0.32,1 | 
				
			|||
    bezier = easeInOutCubic,0.65,0.05,0.36,1 | 
				
			|||
    bezier = linear,0,0,1,1 | 
				
			|||
    bezier = almostLinear,0.5,0.5,0.75,1.0 | 
				
			|||
    bezier = quick,0.15,0,0.1,1 | 
				
			|||
 | 
				
			|||
    animation = global, 1, 10, default | 
				
			|||
    animation = border, 1, 5.39, easeOutQuint | 
				
			|||
    animation = windows, 1, 4.79, easeOutQuint | 
				
			|||
    animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% | 
				
			|||
    animation = windowsOut, 1, 1.49, linear, popin 87% | 
				
			|||
    animation = fadeIn, 1, 1.73, almostLinear | 
				
			|||
    animation = fadeOut, 1, 1.46, almostLinear | 
				
			|||
    animation = fade, 1, 3.03, quick | 
				
			|||
    animation = layers, 1, 3.81, easeOutQuint | 
				
			|||
    animation = layersIn, 1, 4, easeOutQuint, fade | 
				
			|||
    animation = layersOut, 1, 1.5, linear, fade | 
				
			|||
    animation = fadeLayersIn, 1, 1.79, almostLinear | 
				
			|||
    animation = fadeLayersOut, 1, 1.39, almostLinear | 
				
			|||
    animation = workspaces, 1, 1.94, almostLinear, fade | 
				
			|||
    animation = workspacesIn, 1, 1.21, almostLinear, fade | 
				
			|||
    animation = workspacesOut, 1, 1.94, almostLinear, fade | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ | 
				
			|||
# "Smart gaps" / "No gaps when only" | 
				
			|||
# uncomment all if you wish to use that. | 
				
			|||
# workspace = w[tv1], gapsout:0, gapsin:0 | 
				
			|||
# workspace = f[1], gapsout:0, gapsin:0 | 
				
			|||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] | 
				
			|||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] | 
				
			|||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] | 
				
			|||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more | 
				
			|||
dwindle { | 
				
			|||
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below | 
				
			|||
    preserve_split = true # You probably want this | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more | 
				
			|||
master { | 
				
			|||
    new_status = master | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#misc | 
				
			|||
misc { | 
				
			|||
    force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers | 
				
			|||
    disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( | 
				
			|||
} | 
				
			|||
 | 
				
			|||
 | 
				
			|||
############# | 
				
			|||
### INPUT ### | 
				
			|||
############# | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#input | 
				
			|||
input { | 
				
			|||
    kb_layout = us | 
				
			|||
    kb_variant = | 
				
			|||
    kb_model = | 
				
			|||
    kb_options = | 
				
			|||
    kb_rules = | 
				
			|||
 | 
				
			|||
    follow_mouse = 1 | 
				
			|||
 | 
				
			|||
    sensitivity = 0 # -1.0 - 1.0, 0 means no modification. | 
				
			|||
 | 
				
			|||
    touchpad { | 
				
			|||
        natural_scroll = true | 
				
			|||
	tap-to-click = false | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# https://wiki.hyprland.org/Configuring/Variables/#gestures | 
				
			|||
gestures { | 
				
			|||
    workspace_swipe = false | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# Example per-device config | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more | 
				
			|||
device { | 
				
			|||
    name = epic-mouse-v1 | 
				
			|||
    sensitivity = -0.5 | 
				
			|||
} | 
				
			|||
 | 
				
			|||
 | 
				
			|||
################### | 
				
			|||
### KEYBINDINGS ### | 
				
			|||
################### | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Keywords/ | 
				
			|||
$mainMod = SUPER # Sets "Windows" key as main modifier | 
				
			|||
 | 
				
			|||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more | 
				
			|||
bind = $mainMod SHIFT, A, exec, $terminal | 
				
			|||
bind = $mainMod SHIFT, Q, killactive, | 
				
			|||
bind = $mainMod SHIFT, E, exit, | 
				
			|||
#bind = $mainMod, E, exec, $fileManager | 
				
			|||
bind = $mainMod SHIFT, W, exec, firefox | 
				
			|||
bind = $mainMod, V, togglefloating, | 
				
			|||
bind = $mainMod, SPACE, exec, $menu | 
				
			|||
bind = $mainMod, P, pseudo, # dwindle | 
				
			|||
#bind = $mainMod, J, togglesplit, # dwindle | 
				
			|||
 | 
				
			|||
# Move focus with mainMod + arrow keys | 
				
			|||
bind = $mainMod, h, movefocus, l | 
				
			|||
bind = $mainMod, l, movefocus, r | 
				
			|||
bind = $mainMod, k, movefocus, u | 
				
			|||
bind = $mainMod, j, movefocus, d | 
				
			|||
 | 
				
			|||
bind = $mainMod SHIFT, h, movewindow, l | 
				
			|||
bind = $mainMod SHIFT, l, movewindow, r | 
				
			|||
bind = $mainMod SHIFT, k, movewindow, u | 
				
			|||
bind = $mainMod SHIFT, j, movewindow, 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, movetoworkspacesilent, 1 | 
				
			|||
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 | 
				
			|||
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 | 
				
			|||
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 | 
				
			|||
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 | 
				
			|||
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 | 
				
			|||
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 | 
				
			|||
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 | 
				
			|||
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 | 
				
			|||
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 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 s 10%+ | 
				
			|||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- | 
				
			|||
 | 
				
			|||
# Requires playerctl | 
				
			|||
bindl = , XF86AudioNext, exec, playerctl next | 
				
			|||
bindl = , XF86AudioPause, exec, playerctl play-pause | 
				
			|||
bindl = , XF86AudioPlay, exec, playerctl play-pause | 
				
			|||
bindl = , XF86AudioPrev, exec, playerctl previous | 
				
			|||
 | 
				
			|||
# Screen Locker | 
				
			|||
bindl = , switch:Lid Switch, exec, hyprlock | 
				
			|||
 | 
				
			|||
############################## | 
				
			|||
### WINDOWS AND WORKSPACES ### | 
				
			|||
############################## | 
				
			|||
 | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more | 
				
			|||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules | 
				
			|||
 | 
				
			|||
# Example windowrule v1 | 
				
			|||
# windowrule = float, ^(kitty)$ | 
				
			|||
 | 
				
			|||
# Example windowrule v2 | 
				
			|||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ | 
				
			|||
 | 
				
			|||
windowrulev2 = workspace 1,class:Alacritty | 
				
			|||
windowrulev2 = workspace 1,class:kitty | 
				
			|||
windowrulev2 = workspace 3,class:Code | 
				
			|||
windowrulev2 = workspace 3,class:jetbrains | 
				
			|||
windowrulev2 = workspace 3,class:sublime | 
				
			|||
windowrulev2 = workspace 2,class:firefox | 
				
			|||
windowrulev2 = workspace 8,class:discord | 
				
			|||
windowrulev2 = workspace 8 float,class:zoom | 
				
			|||
windowrulev2 = workspace 7 float,class:Blueberry.py | 
				
			|||
 | 
				
			|||
# Ignore maximize requests from apps. You'll probably like this. | 
				
			|||
windowrulev2 = suppressevent maximize, class:.* | 
				
			|||
 | 
				
			|||
# Fix some dragging issues with XWayland | 
				
			|||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 | 
				
			|||
@ -0,0 +1,24 @@ | 
				
			|||
# sample hyprlock.conf | 
				
			|||
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock | 
				
			|||
 | 
				
			|||
input-field { | 
				
			|||
    monitor = | 
				
			|||
    size = 30%, 60% | 
				
			|||
    outline_thickness = 3 | 
				
			|||
    inner_color = rgba(0, 0, 0, 0.0) # no fill | 
				
			|||
 | 
				
			|||
    font_color = rgb(143, 143, 143) | 
				
			|||
    fade_on_empty = false | 
				
			|||
    rounding = 15 | 
				
			|||
 | 
				
			|||
    halign = center | 
				
			|||
    valign = center | 
				
			|||
    font_family = JetBrainsMono Nerd Font Mono | 
				
			|||
} | 
				
			|||
 | 
				
			|||
background { | 
				
			|||
  path = /home/junikim/wallpaper/trees.png | 
				
			|||
  color = rgb(23, 39, 41) | 
				
			|||
} | 
				
			|||
 | 
				
			|||
 | 
				
			|||
@ -0,0 +1,2 @@ | 
				
			|||
preload = /home/junikim/wallpaper/trees.png | 
				
			|||
wallpaper = eDP-1, /home/junikim/wallpaper/trees.png | 
				
			|||
@ -0,0 +1,6 @@ | 
				
			|||
vim.g.mapleader = " " | 
				
			|||
require("junikim") | 
				
			|||
require("lazy").setup({ | 
				
			|||
  { import = 'junikim.plugins' }, | 
				
			|||
  { import = 'arch2025.plugins', enabled = true } | 
				
			|||
}) | 
				
			|||
@ -0,0 +1,21 @@ | 
				
			|||
{ | 
				
			|||
  "barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" }, | 
				
			|||
  "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, | 
				
			|||
  "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, | 
				
			|||
  "everforest-nvim": { "branch": "main", "commit": "3598755ade98f87e66415cb0e15d3f99b895bdf8" }, | 
				
			|||
  "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, | 
				
			|||
  "lazy.nvim": { "branch": "main", "commit": "ee64abc76be2b237b95d241a924b0323005b868a" }, | 
				
			|||
  "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, | 
				
			|||
  "mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" }, | 
				
			|||
  "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, | 
				
			|||
  "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, | 
				
			|||
  "nvim-cmp": { "branch": "main", "commit": "ca4d3330d386e76967e53b85953c170658255ecb" }, | 
				
			|||
  "nvim-lspconfig": { "branch": "master", "commit": "47f236c058f0511702286a21ba53bbf42abbd8a8" }, | 
				
			|||
  "nvim-tree.lua": { "branch": "master", "commit": "c7639482a1598f4756798df1b2d72f79fe5bb34f" }, | 
				
			|||
  "nvim-treesitter": { "branch": "master", "commit": "53e20aa728713af5cb4a3e0e2dcfea18975d49fc" }, | 
				
			|||
  "nvim-web-devicons": { "branch": "master", "commit": "21417212f640a1dad28a1408f04468819848f5e7" }, | 
				
			|||
  "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, | 
				
			|||
  "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, | 
				
			|||
  "vim-fugitive": { "branch": "master", "commit": "320b18fba2a4f2fe3c8225c778c687e0d2620384" }, | 
				
			|||
  "vimtex": { "branch": "master", "commit": "44a2f1203ce2b6fcf1ff2b03aeca52c45f8a157e" } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,31 @@ | 
				
			|||
local function getWords() | 
				
			|||
  local wordcount = vim.fn.wordcount() | 
				
			|||
  if wordcount.visual_words ~= nil then | 
				
			|||
    return tostring(wordcount.visual_words) .. "/" .. tostring(wordcount.words) .. " W" | 
				
			|||
  end | 
				
			|||
  return tostring(wordcount.words) .. " W" | 
				
			|||
end | 
				
			|||
 | 
				
			|||
return { | 
				
			|||
  'nvim-lualine/lualine.nvim', | 
				
			|||
  dependencies = { 'nvim-tree/nvim-web-devicons' }, | 
				
			|||
  init = function() | 
				
			|||
    vim.opt.laststatus = 3 | 
				
			|||
  end, | 
				
			|||
  opts = { | 
				
			|||
    options = { | 
				
			|||
      icons_enabled = true, | 
				
			|||
      theme = 'everforest', | 
				
			|||
      section_separators = { left = '', right = '' }, | 
				
			|||
      component_separators = { left = '', right = '' },  | 
				
			|||
    }, | 
				
			|||
    sections = { | 
				
			|||
      lualine_a = { 'mode' }, | 
				
			|||
      lualine_b = { 'branch', 'diff', 'diagnostics' }, | 
				
			|||
      lualine_c = { 'filename' }, | 
				
			|||
      lualine_x = { 'encoding', 'fileformat', 'filetype' }, | 
				
			|||
      lualine_y = { getWords }, | 
				
			|||
      --lualine_z = { [[require'lsp-status'.status()]] } | 
				
			|||
    }, | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,15 @@ | 
				
			|||
return { | 
				
			|||
  "neanias/everforest-nvim", | 
				
			|||
  version = false, | 
				
			|||
  lazy = false, | 
				
			|||
  priority = 1000, -- make sure to load this before all the other start plugins | 
				
			|||
  -- Optional; default configuration will be used if setup isn't called. | 
				
			|||
  config = function() | 
				
			|||
    require("everforest").setup({ | 
				
			|||
      -- Your config here | 
				
			|||
      transparent_background_level = 1, | 
				
			|||
      background = "medium", | 
				
			|||
    }) | 
				
			|||
    vim.cmd.colorscheme 'everforest' | 
				
			|||
  end, | 
				
			|||
} | 
				
			|||
@ -0,0 +1,16 @@ | 
				
			|||
-- 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) | 
				
			|||
@ -0,0 +1,4 @@ | 
				
			|||
vim.g.mapleader = " " | 
				
			|||
require("junikim.bootstrap-lazy") | 
				
			|||
require("junikim.options") | 
				
			|||
require("junikim.remaps") | 
				
			|||
@ -0,0 +1,104 @@ | 
				
			|||
vim.opt.mouse:append('a') | 
				
			|||
vim.opt.guicursor = "" | 
				
			|||
vim.opt.number = true | 
				
			|||
vim.opt.linebreak = true | 
				
			|||
vim.opt.shiftwidth = 2 | 
				
			|||
vim.opt.tabstop = 2 | 
				
			|||
vim.opt.softtabstop = 2 | 
				
			|||
vim.opt.expandtab = true | 
				
			|||
vim.opt.smarttab = true | 
				
			|||
vim.opt.shiftround = true | 
				
			|||
vim.opt.autoindent = true | 
				
			|||
vim.opt.textwidth = 80 | 
				
			|||
vim.opt.colorcolumn = "80" | 
				
			|||
vim.opt.list = true | 
				
			|||
vim.opt.wrap = false | 
				
			|||
vim.opt.conceallevel = 0 | 
				
			|||
 | 
				
			|||
vim.opt.splitbelow = false | 
				
			|||
vim.opt.splitright = false | 
				
			|||
 | 
				
			|||
vim.g.indentLine_fileTypeExclude = { 'text', 'tex' } | 
				
			|||
 | 
				
			|||
vim.opt.undodir = vim.fn.stdpath('data') .. "/undodir" | 
				
			|||
vim.opt.undofile = true | 
				
			|||
vim.opt.hlsearch = false | 
				
			|||
vim.opt.incsearch = true | 
				
			|||
 | 
				
			|||
vim.opt.nu = true | 
				
			|||
vim.opt.rnu = true | 
				
			|||
vim.opt.termguicolors = true | 
				
			|||
 | 
				
			|||
vim.opt.scrolloff = 7 | 
				
			|||
 | 
				
			|||
vim.cmd("filetype plugin indent on") | 
				
			|||
vim.cmd("filetype on") | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd("FileType", { | 
				
			|||
  pattern = "python", | 
				
			|||
  callback = function(args) | 
				
			|||
    vim.bo.textwidth = 0 | 
				
			|||
    vim.bo.formatprg = "autopep8" | 
				
			|||
    vim.bo.shiftwidth = 4 | 
				
			|||
    vim.bo.tabstop = 4 | 
				
			|||
    vim.bo.softtabstop = 4 | 
				
			|||
  end | 
				
			|||
}) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd( | 
				
			|||
  { "BufRead", "BufNewFile" }, | 
				
			|||
  { | 
				
			|||
    pattern = { "*.ms", "*.me", "*.mom" }, | 
				
			|||
    callback = function(args) | 
				
			|||
      vim.bo.filetype = "groff" | 
				
			|||
    end | 
				
			|||
  } | 
				
			|||
) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd( | 
				
			|||
  { "BufRead", "BufNewFile" }, | 
				
			|||
  { | 
				
			|||
    pattern = { "*.mdx", "*.md" }, | 
				
			|||
    callback = function(args) | 
				
			|||
      vim.bo.filetype = "markdown" | 
				
			|||
    end | 
				
			|||
  } | 
				
			|||
) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd("FileType", { | 
				
			|||
  pattern = { "tex", "text" }, | 
				
			|||
  callback = function(args) | 
				
			|||
    vim.o.smarttab = false | 
				
			|||
    vim.bo.autoindent = false | 
				
			|||
  end | 
				
			|||
}) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd("FileType", { | 
				
			|||
  pattern = { "c", "cpp", "slang" }, | 
				
			|||
  callback = function(args) | 
				
			|||
    vim.bo.cindent = true | 
				
			|||
  end | 
				
			|||
}) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd("FileType", { | 
				
			|||
  pattern = "markdown", | 
				
			|||
  callback = function(args) | 
				
			|||
    vim.bo.shiftwidth = 2 | 
				
			|||
    vim.bo.tabstop = 2 | 
				
			|||
    vim.bo.softtabstop = 2 | 
				
			|||
    vim.bo.autoindent = true | 
				
			|||
  end | 
				
			|||
}) | 
				
			|||
 | 
				
			|||
vim.api.nvim_create_autocmd("FileType", { | 
				
			|||
  pattern = "go", | 
				
			|||
  callback = function(args) | 
				
			|||
    vim.bo.shiftwidth = 4 | 
				
			|||
    vim.bo.expandtab = false | 
				
			|||
    vim.bo.tabstop = 4 | 
				
			|||
    vim.bo.softtabstop = 4 | 
				
			|||
    vim.bo.preserveindent = true | 
				
			|||
    vim.bo.copyindent = true | 
				
			|||
    vim.api.nvim_set_keymap("n", "<F4>", ":w|:!cpgo test<CR>", { noremap = true }) | 
				
			|||
  end | 
				
			|||
}) | 
				
			|||
@ -0,0 +1,7 @@ | 
				
			|||
return { | 
				
			|||
  'windwp/nvim-autopairs', | 
				
			|||
  event = "InsertEnter", | 
				
			|||
  config = true | 
				
			|||
  -- use opts = {} for passing setup options | 
				
			|||
  -- this is equivalent to setup({}) function | 
				
			|||
} | 
				
			|||
@ -0,0 +1,43 @@ | 
				
			|||
return { | 
				
			|||
  'romgrk/barbar.nvim', | 
				
			|||
  dependencies = { | 
				
			|||
    'lewis6991/gitsigns.nvim',     -- OPTIONAL: for git status | 
				
			|||
    'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons | 
				
			|||
  }, | 
				
			|||
  init = function() | 
				
			|||
    vim.g.barbar_auto_setup = false | 
				
			|||
    local map = vim.api.nvim_set_keymap | 
				
			|||
    local opts = { noremap = true, silent = true } | 
				
			|||
 | 
				
			|||
    -- Move to previous/next | 
				
			|||
    map('n', '<leader>,', '<Cmd>BufferPrevious<CR>', opts) | 
				
			|||
    map('n', '<leader>.', '<Cmd>BufferNext<CR>', opts) | 
				
			|||
    -- Re-order to previous/next | 
				
			|||
    map('n', '<leader><', '<Cmd>BufferMovePrevious<CR>', opts) | 
				
			|||
    map('n', '<leader>>', '<Cmd>BufferMoveNext<CR>', opts) | 
				
			|||
    -- Goto buffer in position... | 
				
			|||
    map('n', '<leader>1', '<Cmd>BufferGoto 1<CR>', opts) | 
				
			|||
    map('n', '<leader>2', '<Cmd>BufferGoto 2<CR>', opts) | 
				
			|||
    map('n', '<leader>3', '<Cmd>BufferGoto 3<CR>', opts) | 
				
			|||
    map('n', '<leader>4', '<Cmd>BufferGoto 4<CR>', opts) | 
				
			|||
    map('n', '<leader>5', '<Cmd>BufferGoto 5<CR>', opts) | 
				
			|||
    map('n', '<leader>6', '<Cmd>BufferGoto 6<CR>', opts) | 
				
			|||
    map('n', '<leader>7', '<Cmd>BufferGoto 7<CR>', opts) | 
				
			|||
    map('n', '<leader>8', '<Cmd>BufferGoto 8<CR>', opts) | 
				
			|||
    map('n', '<leader>9', '<Cmd>BufferGoto 9<CR>', opts) | 
				
			|||
    map('n', '<leader>0', '<Cmd>BufferLast<CR>', opts) | 
				
			|||
    -- Pin/unpin buffer | 
				
			|||
    map('n', '<leader>p', '<Cmd>BufferPin<CR>', opts) | 
				
			|||
    map('n', '<leader>i', '<Cmd>BufferPick<CR>', opts) | 
				
			|||
    -- Close buffer | 
				
			|||
    map('n', '<leader>c', '<Cmd>w|BufferClose<CR>', opts) | 
				
			|||
    map('n', '<leader>q', '<Cmd>BufferClose!<CR>', opts) | 
				
			|||
  end, | 
				
			|||
  opts = { | 
				
			|||
    -- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default: | 
				
			|||
    -- animation = true, | 
				
			|||
    -- insert_at_start = true, | 
				
			|||
    -- …etc. | 
				
			|||
  }, | 
				
			|||
  version = '^1.0.0', -- optional: only update when a new 1.x version is released | 
				
			|||
} | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
return { 'nvim-tree/nvim-web-devicons' } | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
return { 'mattn/emmet-vim' } | 
				
			|||
@ -0,0 +1,6 @@ | 
				
			|||
return { | 
				
			|||
  'tpope/vim-fugitive', | 
				
			|||
  init = function() | 
				
			|||
    vim.keymap.set("n", "<leader>gs", vim.cmd.Git) | 
				
			|||
  end | 
				
			|||
} | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
return { 'lewis6991/gitsigns.nvim' } | 
				
			|||
@ -0,0 +1,101 @@ | 
				
			|||
return { | 
				
			|||
  { | 
				
			|||
    'williamboman/mason.nvim', | 
				
			|||
    lazy = false, | 
				
			|||
    opts = {}, | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  -- Autocompletion | 
				
			|||
  { | 
				
			|||
    'hrsh7th/nvim-cmp', | 
				
			|||
    event = 'InsertEnter', | 
				
			|||
    config = function() | 
				
			|||
      local cmp = require('cmp') | 
				
			|||
 | 
				
			|||
      cmp.setup({ | 
				
			|||
        sources = { | 
				
			|||
          { name = 'nvim_lsp' }, | 
				
			|||
        }, | 
				
			|||
        mapping = cmp.mapping.preset.insert({ | 
				
			|||
          ['<C-p>'] = cmp.mapping.select_prev_item(cmp_select), | 
				
			|||
          ['<C-n>'] = cmp.mapping.select_next_item(cmp_select), | 
				
			|||
          ['<C-s>'] = cmp.mapping.confirm({ select = true }), | 
				
			|||
          ["<C-Space>"] = cmp.mapping.complete(), | 
				
			|||
          ['<Tab>'] = nil, | 
				
			|||
          ['<S-Tab>'] = nil, | 
				
			|||
        }), | 
				
			|||
        snippet = { | 
				
			|||
          expand = function(args) | 
				
			|||
            vim.snippet.expand(args.body) | 
				
			|||
          end, | 
				
			|||
        }, | 
				
			|||
      }) | 
				
			|||
    end | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  -- LSP | 
				
			|||
  { | 
				
			|||
    'neovim/nvim-lspconfig', | 
				
			|||
    cmd = { 'LspInfo', 'LspInstall', 'LspStart' }, | 
				
			|||
    event = { 'BufReadPre', 'BufNewFile' }, | 
				
			|||
    dependencies = { | 
				
			|||
      { 'hrsh7th/cmp-nvim-lsp' }, | 
				
			|||
      { 'williamboman/mason.nvim' }, | 
				
			|||
      { 'williamboman/mason-lspconfig.nvim' }, | 
				
			|||
    }, | 
				
			|||
    init = function() | 
				
			|||
      -- Reserve a space in the gutter | 
				
			|||
      -- This will avoid an annoying layout shift in the screen | 
				
			|||
      vim.opt.signcolumn = 'yes' | 
				
			|||
    end, | 
				
			|||
    config = function() | 
				
			|||
      local lsp_defaults = require('lspconfig').util.default_config | 
				
			|||
 | 
				
			|||
      -- Add cmp_nvim_lsp capabilities settings to lspconfig | 
				
			|||
      -- This should be executed before you configure any language server | 
				
			|||
      lsp_defaults.capabilities = vim.tbl_deep_extend( | 
				
			|||
        'force', | 
				
			|||
        lsp_defaults.capabilities, | 
				
			|||
        require('cmp_nvim_lsp').default_capabilities() | 
				
			|||
      ) | 
				
			|||
 | 
				
			|||
      -- LspAttach is where you enable features that only work | 
				
			|||
      -- if there is a language server active in the file | 
				
			|||
      vim.api.nvim_create_autocmd('LspAttach', { | 
				
			|||
        desc = 'LSP actions', | 
				
			|||
        callback = function(event) | 
				
			|||
          local opts = { buffer = event.buf } | 
				
			|||
 | 
				
			|||
          vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<cr>', opts) | 
				
			|||
          vim.keymap.set('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<cr>', opts) | 
				
			|||
          vim.keymap.set({ 'n', 'x' }, '<leader>ft', '<cmd>lua vim.lsp.buf.format({async = true})<cr>', opts) | 
				
			|||
          vim.keymap.set('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>', opts) | 
				
			|||
        end, | 
				
			|||
      }) | 
				
			|||
 | 
				
			|||
      require('mason-lspconfig').setup({ | 
				
			|||
        ensure_installed = { | 
				
			|||
          'tailwindcss', | 
				
			|||
          'ts_ls', | 
				
			|||
          'texlab', | 
				
			|||
          'pyright', | 
				
			|||
          'ltex', | 
				
			|||
          'jsonls' | 
				
			|||
        }, | 
				
			|||
        handlers = { | 
				
			|||
          -- this first function is the "default handler" | 
				
			|||
          -- it applies to every language server without a "custom handler" | 
				
			|||
          function(server_name) | 
				
			|||
            require('lspconfig')[server_name].setup({}) | 
				
			|||
          end, | 
				
			|||
        } | 
				
			|||
      }) | 
				
			|||
    end | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,13 @@ | 
				
			|||
return { | 
				
			|||
  "nvim-tree/nvim-tree.lua", | 
				
			|||
  version = "*", | 
				
			|||
  lazy = false, | 
				
			|||
  dependencies = { | 
				
			|||
    "nvim-tree/nvim-web-devicons", | 
				
			|||
  }, | 
				
			|||
  config = function() | 
				
			|||
    local api = require("nvim-tree.api") | 
				
			|||
    vim.keymap.set("n", "<C-n>", api.tree.toggle) | 
				
			|||
    require("nvim-tree").setup {} | 
				
			|||
  end, | 
				
			|||
} | 
				
			|||
@ -0,0 +1,37 @@ | 
				
			|||
return { | 
				
			|||
  'nvim-telescope/telescope.nvim', | 
				
			|||
  tag = '0.1.x', | 
				
			|||
  dependencies = { 'nvim-lua/plenary.nvim' }, | 
				
			|||
  config = function() | 
				
			|||
    local builtin = require("telescope.builtin") | 
				
			|||
    local path = require("plenary.path") | 
				
			|||
 | 
				
			|||
    local function git_exists() | 
				
			|||
      local p = "." | 
				
			|||
      while true do | 
				
			|||
        local gitpath = p .. "/.git" | 
				
			|||
        local d = io.open(gitpath) | 
				
			|||
        if d then | 
				
			|||
          d:close() | 
				
			|||
          return true | 
				
			|||
        else | 
				
			|||
          p = p .. "/.." | 
				
			|||
        end | 
				
			|||
        if path:new(p):absolute() == "/" then | 
				
			|||
          return false | 
				
			|||
        end | 
				
			|||
      end | 
				
			|||
    end | 
				
			|||
 | 
				
			|||
    vim.keymap.set('n', '<C-P>', function() | 
				
			|||
      if git_exists() then | 
				
			|||
        builtin.git_files() | 
				
			|||
      else | 
				
			|||
        builtin.find_files() | 
				
			|||
      end | 
				
			|||
    end, {}) | 
				
			|||
    vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) | 
				
			|||
    vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) | 
				
			|||
    vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) | 
				
			|||
  end | 
				
			|||
} | 
				
			|||
@ -0,0 +1,20 @@ | 
				
			|||
return { -- Highlight, edit, and navigate code | 
				
			|||
  'nvim-treesitter/nvim-treesitter', | 
				
			|||
  build = ':TSUpdate', | 
				
			|||
  main = 'nvim-treesitter.configs', -- Sets main module to use for opts | 
				
			|||
  -- [[ Configure Treesitter ]] See `:help nvim-treesitter` | 
				
			|||
  opts = { | 
				
			|||
    ensure_installed = { "c", "cpp", "rust", "javascript", "typescript", "tsx", "json", "html", "latex", "bash", "python", "go", "css", "bibtex", "make", "vim", "lua", "markdown", "gitignore", "toml", "yaml", "nix" }, | 
				
			|||
    -- Autoinstall languages that are not installed | 
				
			|||
    auto_install = true, | 
				
			|||
    sync_install = false, | 
				
			|||
    highlight = { | 
				
			|||
      enable = true, | 
				
			|||
      -- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules. | 
				
			|||
      --  If you are experiencing weird indenting issues, add the language to | 
				
			|||
      --  the list of additional_vim_regex_highlighting and disabled languages for indent. | 
				
			|||
      additional_vim_regex_highlighting = { 'ruby' }, | 
				
			|||
    }, | 
				
			|||
    indent = { enable = true, disable = { 'ruby' } }, | 
				
			|||
  }, | 
				
			|||
} | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
return { 'lervag/vimtex' } | 
				
			|||
@ -0,0 +1,53 @@ | 
				
			|||
vim.g.mapleader = " " | 
				
			|||
 | 
				
			|||
vim.keymap.set("n", "<C-h>", "<C-w>h") | 
				
			|||
vim.keymap.set("n", "<C-j>", "<C-w>j") | 
				
			|||
vim.keymap.set("n", "<C-k>", "<C-w>k") | 
				
			|||
vim.keymap.set("n", "<C-l>", "<C-w>l") | 
				
			|||
 | 
				
			|||
vim.keymap.set("i", "<A-a>", "ā") | 
				
			|||
vim.keymap.set("i", "<A-e>", "ē") | 
				
			|||
vim.keymap.set("i", "<A-i>", "ī") | 
				
			|||
vim.keymap.set("i", "<A-o>", "ō") | 
				
			|||
vim.keymap.set("i", "<A-u>", "ū") | 
				
			|||
 | 
				
			|||
vim.keymap.set("n", "<F12>", ":w|:!texbld run compile<CR>") | 
				
			|||
vim.keymap.set("n", "<F5>", ":w|:!./test.sh<CR>") | 
				
			|||
 | 
				
			|||
-- hacks | 
				
			|||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") | 
				
			|||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") | 
				
			|||
vim.keymap.set("v", "gq", "gw") | 
				
			|||
 | 
				
			|||
vim.keymap.set("n", "J", "mzJ`z") | 
				
			|||
vim.keymap.set("n", "<C-d>", "<C-d>zz") | 
				
			|||
vim.keymap.set("n", "<C-u>", "<C-u>zz") | 
				
			|||
vim.keymap.set("n", "n", "nzzzv") | 
				
			|||
vim.keymap.set("n", "N", "Nzzzv") | 
				
			|||
 | 
				
			|||
vim.keymap.set("x", "<leader>p", [["_dP]]) | 
				
			|||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]]) | 
				
			|||
vim.keymap.set("n", "<leader>Y", [["+Y]]) | 
				
			|||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true }) | 
				
			|||
vim.keymap.set("n", "<leader>X", "<cmd>!chmod -x %<CR>", { silent = true }) | 
				
			|||
 | 
				
			|||
 | 
				
			|||
-- execute file | 
				
			|||
vim.keymap.set("n", "<leader>r", "<cmd>so ~/.config/nvim/init.lua<CR>") | 
				
			|||
vim.keymap.set("n", "<leader>e", "<cmd>!%:p<CR>", { silent = true }) | 
				
			|||
 | 
				
			|||
vim.keymap.set("n", "<leader>vz", "<cmd>e ~/.zshrc<CR>"); | 
				
			|||
vim.keymap.set("n", "<leader>vc", "<cmd>e ~/.config/nvim<CR>"); | 
				
			|||
 | 
				
			|||
 | 
				
			|||
if os.getenv("TMUX") ~= nil then | 
				
			|||
  vim.keymap.set("n", "<C-f>", [[<cmd>silent !tmux neww tmuxs\; setenv WORKSPACES $WORKSPACES \;<CR>]]) | 
				
			|||
  vim.keymap.set("n", "<C-y>", [[<cmd>silent !tmux neww cht.sh<CR>]]) | 
				
			|||
else | 
				
			|||
  local function unavailable() | 
				
			|||
    print("Not in a tmux session") | 
				
			|||
  end | 
				
			|||
 | 
				
			|||
  vim.keymap.set("n", "<C-f>", unavailable) | 
				
			|||
  vim.keymap.set("n", "<C-y>", unavailable) | 
				
			|||
end | 
				
			|||
@ -0,0 +1,105 @@ | 
				
			|||
* { | 
				
			|||
    font:   "JetBrainsMono Nerd Font Mono Medium 11"; | 
				
			|||
 | 
				
			|||
    bgdark:     #272E33; | 
				
			|||
    bgalt:     #3C4841; | 
				
			|||
    bggreen:     #56635F; | 
				
			|||
    fg0:     #A7C080; | 
				
			|||
 | 
				
			|||
    accent-color:     #A7C080; | 
				
			|||
    urgent-color:     #DBBC7F; | 
				
			|||
 | 
				
			|||
    background-color:   transparent; | 
				
			|||
    text-color:         @fg0; | 
				
			|||
 | 
				
			|||
    transparent: rgba(0,0,0,0); | 
				
			|||
} | 
				
			|||
 | 
				
			|||
window { | 
				
			|||
    location:   center; | 
				
			|||
    anchor: center; | 
				
			|||
    transparency: "screenshot"; | 
				
			|||
    padding: 10px; | 
				
			|||
    border: 0px; | 
				
			|||
    border-radius: 3px; | 
				
			|||
 | 
				
			|||
    background-color:   @transparent; | 
				
			|||
    spacing: 0; | 
				
			|||
    children: [mainbox]; | 
				
			|||
    orientation: horizontal; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
mainbox { | 
				
			|||
    spacing: 0; | 
				
			|||
    children: [ inputbar, message, listview ]; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
message { | 
				
			|||
    color: @bggreen; | 
				
			|||
    padding: 5px; | 
				
			|||
    border-color: @fg0; | 
				
			|||
    border: 0px 2px 2px 2px; | 
				
			|||
    background-color: @bgdark; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
inputbar { | 
				
			|||
    color: @fg0; | 
				
			|||
    padding:    11px; | 
				
			|||
    background-color:   @bgalt; | 
				
			|||
 | 
				
			|||
    border: 1px; | 
				
			|||
    border-radius: 3px 3px 0px 0px; | 
				
			|||
    border-color: @bggreen; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
entry, prompt, case-indicator { | 
				
			|||
    text-font: inherit; | 
				
			|||
    text-color:inherit; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
prompt { | 
				
			|||
    margin: 0px 1em 0em 0em ; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
listview { | 
				
			|||
    padding: 8px; | 
				
			|||
    border-radius: 0px 0px 3px 3px; | 
				
			|||
    border-color: @bggreen; | 
				
			|||
    border: 0px 1px 1px 1px; | 
				
			|||
    background-color: rgba(46,52,64,0.9); | 
				
			|||
    dynamic: false; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
element { | 
				
			|||
    padding: 3px; | 
				
			|||
    vertical-align: 0.5; | 
				
			|||
    border-radius: 3px; | 
				
			|||
    background-color: transparent; | 
				
			|||
    color: @fg0; | 
				
			|||
    text-color: rgb(216, 222, 233); | 
				
			|||
} | 
				
			|||
 | 
				
			|||
element selected.normal { | 
				
			|||
	background-color: @accent-color; | 
				
			|||
	text-color: #2e3440; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
element-text, element-icon { | 
				
			|||
    background-color: inherit; | 
				
			|||
    text-color:       inherit; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
button { | 
				
			|||
    padding: 6px; | 
				
			|||
    color: @fg0; | 
				
			|||
    horizontal-align: 0.5; | 
				
			|||
 | 
				
			|||
    border: 2px 0px 2px 2px; | 
				
			|||
    border-radius: 4px 0px 0px 4px; | 
				
			|||
    border-color: @bggreen; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
button selected normal { | 
				
			|||
    border: 2px 0px 2px 2px; | 
				
			|||
    border-color: @fg0; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,218 @@ | 
				
			|||
// -*- mode: jsonc -*- | 
				
			|||
{ | 
				
			|||
  // "layer": "top", // Waybar at top layer | 
				
			|||
  // "position": "bottom", // Waybar position (top|bottom|left|right) | 
				
			|||
  "height": 40, // Waybar height (to be removed for auto height) | 
				
			|||
  // "width": 1280, // Waybar width | 
				
			|||
  "spacing": 4, // Gaps between modules (4px) | 
				
			|||
  "margin-top": 2, | 
				
			|||
  "margin-left": 20, | 
				
			|||
  "margin-right": 20, | 
				
			|||
  // Choose the order of the modules | 
				
			|||
  "modules-left": [ | 
				
			|||
    "hyprland/workspaces", | 
				
			|||
    "hyprland/window" | 
				
			|||
  ], | 
				
			|||
  "modules-center": [ | 
				
			|||
  ], | 
				
			|||
  "modules-right": [ | 
				
			|||
    //"mpd", | 
				
			|||
    "wireplumber", | 
				
			|||
    "cpu", | 
				
			|||
    //"memory", | 
				
			|||
    //"temperature", | 
				
			|||
    "backlight", | 
				
			|||
    //"keyboard-state", | 
				
			|||
    "battery", | 
				
			|||
    "network", | 
				
			|||
    "clock" | 
				
			|||
    //"tray", | 
				
			|||
    //"custom/power" | 
				
			|||
  ], | 
				
			|||
  "hyprland/workspaces": { | 
				
			|||
    "format": "{icon}", | 
				
			|||
    "format-icons": { | 
				
			|||
      "1": "", | 
				
			|||
      "2": "", | 
				
			|||
      "3": "", | 
				
			|||
      "4": "", | 
				
			|||
      "5": "", | 
				
			|||
      "6": "♪", | 
				
			|||
      "7": "", | 
				
			|||
      "8": "", | 
				
			|||
      "9": "" | 
				
			|||
    }, | 
				
			|||
    "persistent-workspaces": { | 
				
			|||
      "*": 9 | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  "hyprland/window": { | 
				
			|||
    "format": "👉 {}", | 
				
			|||
    "rewrite": { | 
				
			|||
      "(.*) — Mozilla Firefox": "🌎 $1", | 
				
			|||
      "(.*) - fish": "> [$1]" | 
				
			|||
    }, | 
				
			|||
    "separate-outputs": true | 
				
			|||
  }, | 
				
			|||
  "keyboard-state": { | 
				
			|||
    "numlock": true, | 
				
			|||
    "capslock": true, | 
				
			|||
    "format": "{name} {icon}", | 
				
			|||
    "format-icons": { | 
				
			|||
      "locked": "", | 
				
			|||
      "unlocked": "" | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  "mpd": { | 
				
			|||
    "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", | 
				
			|||
    "format-disconnected": "Disconnected ", | 
				
			|||
    "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", | 
				
			|||
    "unknown-tag": "N/A", | 
				
			|||
    "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": { | 
				
			|||
    // "icon-size": 21, | 
				
			|||
    "spacing": 10 | 
				
			|||
  }, | 
				
			|||
  "clock": { | 
				
			|||
    // "timezone": "America/New_York", | 
				
			|||
    "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", | 
				
			|||
    "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": { | 
				
			|||
    "states": { | 
				
			|||
      // "good": 95, | 
				
			|||
      "warning": 30, | 
				
			|||
      "critical": 15 | 
				
			|||
    }, | 
				
			|||
    "format": "{capacity}% {icon}", | 
				
			|||
    "format-full": "{capacity}% {icon}", | 
				
			|||
    "format-charging": "{capacity}% ", | 
				
			|||
    "format-plugged": "{capacity}% ", | 
				
			|||
    "format-alt": "{time} {icon}", | 
				
			|||
    // "format-good": "", // An empty format will hide the module | 
				
			|||
    // "format-full": "", | 
				
			|||
    "format-icons": [ | 
				
			|||
      "", | 
				
			|||
      "", | 
				
			|||
      "", | 
				
			|||
      "", | 
				
			|||
      "" | 
				
			|||
    ], | 
				
			|||
    "interval": 2 | 
				
			|||
  }, | 
				
			|||
  "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-alt": "{ifname}: {ipaddr}/{cidr}" | 
				
			|||
  }, | 
				
			|||
  "wireplumber": { | 
				
			|||
    "format": "{volume}% {icon}", | 
				
			|||
    "format-muted": "muted ", | 
				
			|||
    "on-click": "helvum", | 
				
			|||
    "format-icons": [ | 
				
			|||
      "", | 
				
			|||
      "", | 
				
			|||
      "" | 
				
			|||
    ] | 
				
			|||
  }, | 
				
			|||
  "custom/media": { | 
				
			|||
    "format": "{icon} {}", | 
				
			|||
    "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 | 
				
			|||
  }, | 
				
			|||
  "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" | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,213 @@ | 
				
			|||
* { | 
				
			|||
  /* `otf-font-awesome` is required to be installed for icons */ | 
				
			|||
  font-family: JetBrainsMono Nerd Font Mono; | 
				
			|||
  /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;*/ | 
				
			|||
  font-size: 16px; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
window#waybar { | 
				
			|||
  background-color: rgba(43, 48, 59, 0.9); | 
				
			|||
  color: #d3c6aa; | 
				
			|||
  transition-property: background-color; | 
				
			|||
  transition-duration: .5s; | 
				
			|||
  padding-left: 4px; | 
				
			|||
  padding-right: 4px; | 
				
			|||
  border-radius: 12px; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
window#waybar.hidden { | 
				
			|||
  opacity: 0.2; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
window#waybar.termite { | 
				
			|||
  background-color: #3F3F3F; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
window#waybar.chromium { | 
				
			|||
  background-color: #000000; | 
				
			|||
  border: none; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
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: inherit; | 
				
			|||
  text-shadow: inherit; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
/* you can set a style on hover for any module like this */ | 
				
			|||
#pulseaudio:hover { | 
				
			|||
  background-color: #a37800; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#window, #workspaces { | 
				
			|||
  background-color: #343f44; | 
				
			|||
  border: 2px solid #4f585e; | 
				
			|||
  border-radius: 10px; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#window { | 
				
			|||
  padding-left: 4px; | 
				
			|||
  padding-right: 4px; | 
				
			|||
  border: 2px solid #a7c080; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#workspaces button { | 
				
			|||
  padding: 0 8px; | 
				
			|||
  background-color: transparent; | 
				
			|||
  color: #d3c6aa; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#workspaces button.empty { | 
				
			|||
  color: rgba(211,198,170,0.5); | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#workspaces button.active { | 
				
			|||
  background: rgba(0, 0, 0, 0.2); | 
				
			|||
  box-shadow: inset 0 -3px #d3c6aa; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#workspaces button.focused { | 
				
			|||
  background-color: #64727D; | 
				
			|||
  box-shadow: inset 0 -3px #d3c6aa; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#workspaces button.urgent { | 
				
			|||
  background-color: #eb4d4b; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#mode { | 
				
			|||
  background-color: #64727D; | 
				
			|||
  box-shadow: inset 0 -3px #d3c6aa; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#clock, | 
				
			|||
#battery, | 
				
			|||
#cpu, | 
				
			|||
#memory, | 
				
			|||
#disk, | 
				
			|||
#temperature, | 
				
			|||
#wireplumber, | 
				
			|||
#backlight, | 
				
			|||
#network, | 
				
			|||
#pulseaudio, | 
				
			|||
#custom-media, | 
				
			|||
#tray, | 
				
			|||
#mode, | 
				
			|||
#idle_inhibitor, | 
				
			|||
#scratchpad, | 
				
			|||
#power-profiles-daemon, | 
				
			|||
#mpd { | 
				
			|||
  padding: 0 10px; | 
				
			|||
  color: #d3c6aa; | 
				
			|||
  border-radius: 10px; | 
				
			|||
  background-color: #343f44; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
.modules-left, | 
				
			|||
.modules-right { | 
				
			|||
  padding: 4px 4px 4px 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 { | 
				
			|||
  border: 2px solid #e67e80; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#battery { | 
				
			|||
  border: 2px solid #7fbbb3; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
@keyframes blink { | 
				
			|||
  to { | 
				
			|||
      background-color: #ffffff; | 
				
			|||
      color: #000000; | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#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 { | 
				
			|||
  border: 2px solid #83c092; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#memory { | 
				
			|||
  background-color: #9b59b6; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#disk { | 
				
			|||
  background-color: #964B00; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#backlight { | 
				
			|||
  border: 2px solid #dbbc7f; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#network { | 
				
			|||
  border: 2px solid #d699b6; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#wireplumber { | 
				
			|||
  border: 2px solid #e67e80; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
#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; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,52 @@ | 
				
			|||
set -s escape-time 0 | 
				
			|||
set -g focus-events on | 
				
			|||
set-option -g status-style fg=white,bg=black | 
				
			|||
 | 
				
			|||
set-window-option -g mode-keys vi | 
				
			|||
 | 
				
			|||
#set-option -g default-terminal "tmux-256color" | 
				
			|||
#set -sa terminal-overrides ",tmux-256color*:Tc" | 
				
			|||
set-option -sa terminal-overrides ",xterm*:Tc" | 
				
			|||
 | 
				
			|||
unbind-key C-b | 
				
			|||
set-option -g prefix C-a | 
				
			|||
bind-key C-a send-prefix | 
				
			|||
 | 
				
			|||
bind  c  new-window      -c "#{pane_current_path}" | 
				
			|||
bind  %  split-window -h -c "#{pane_current_path}" | 
				
			|||
bind '"' split-window -v -c "#{pane_current_path}" | 
				
			|||
 | 
				
			|||
bind -r k select-pane -U | 
				
			|||
bind -r j select-pane -D | 
				
			|||
bind -r h select-pane -L | 
				
			|||
bind -r l select-pane -R | 
				
			|||
bind -r r source-file ~/.tmux.conf | 
				
			|||
set -g mouse on | 
				
			|||
 | 
				
			|||
bind-key X \ | 
				
			|||
    if-shell '[ "$(tmux display -p "#{session_many_attached}")" -gt 0 ]' { | 
				
			|||
        # the session is attached to multiple clients, so we can just switch the client to a different session. | 
				
			|||
        choose-session | 
				
			|||
    } { | 
				
			|||
        # we are the last client attached to this session; kill it. | 
				
			|||
        # we need to use `run-shell` to ensure that the current session number is expanded *before* we switch to the new session. | 
				
			|||
        confirm -p 'Kill #S (y/n)?' { | 
				
			|||
            choose-tree -s { | 
				
			|||
                run-shell 'tmux switch-client -t "%%" \; kill-session -t "#S"' | 
				
			|||
            } | 
				
			|||
        } | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
set -g @plugin 'tmux-plugins/tpm' | 
				
			|||
set -g @plugin 'TanglingTreats/tmux-everforest' # Adds to the list of plugins | 
				
			|||
set -g @tmux-everforest 'dark-medium' # Sets the option to select the theme. Also the default. | 
				
			|||
 | 
				
			|||
# Other examples: | 
				
			|||
# set -g @plugin 'github_username/plugin_name' | 
				
			|||
# set -g @plugin 'github_username/plugin_name#branch' | 
				
			|||
# set -g @plugin 'git@github.com:user/plugin' | 
				
			|||
# set -g @plugin 'git@bitbucket.com:user/plugin' | 
				
			|||
 | 
				
			|||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | 
				
			|||
run '~/.tmux/plugins/tpm/tpm' | 
				
			|||
#set-window-option -g status-left " #30S " | 
				
			|||
@ -0,0 +1,50 @@ | 
				
			|||
# export PATH=$HOME/bin:/usr/local/bin:$PATH | 
				
			|||
 | 
				
			|||
export ZSH="$HOME/.oh-my-zsh" | 
				
			|||
ZSH_THEME="edvardm" | 
				
			|||
plugins=(git zsh-syntax-highlighting) | 
				
			|||
 | 
				
			|||
source $ZSH/oh-my-zsh.sh | 
				
			|||
 | 
				
			|||
set -o vi | 
				
			|||
alias gac='git add . && git commit' | 
				
			|||
alias v='nvim' | 
				
			|||
alias s='ls' | 
				
			|||
alias c='clear' | 
				
			|||
alias e='exit' | 
				
			|||
alias o='xdg-open' | 
				
			|||
alias cp='cp -r' | 
				
			|||
alias vc='nvim ~/.config/nvim' | 
				
			|||
alias vrc='vim ~/.vimrc' | 
				
			|||
alias vz='nvim ~/.zshrc' | 
				
			|||
alias sz='source ~/.zshrc' | 
				
			|||
alias sy='systemctl' | 
				
			|||
# ~/.zshrc | 
				
			|||
 | 
				
			|||
export MT_EDITOR=nvim | 
				
			|||
export VISUAL=nvim | 
				
			|||
 | 
				
			|||
export WORKSPACES=$HOME/Documents | 
				
			|||
f() { | 
				
			|||
    fff "$@" | 
				
			|||
    cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/fff/.fff_d")" | 
				
			|||
} | 
				
			|||
 | 
				
			|||
bindkey -s "^f" "~/.local/bin/tmuxs\n" | 
				
			|||
 | 
				
			|||
 | 
				
			|||
export WORKSPACES=$HOME/.config/waybar:$HOME/.config/alacritty:$HOME/.config/hypr:$HOME/.config/nvim:$WORKSPACES | 
				
			|||
alias schoolmount='sudo mount 192.168.1.179:/srv/nfs ~/nfs/rpi' | 
				
			|||
alias d2mount='sudo mount.cifs -o username=junikim,uid=$(id -u),gid=$(id -g) //157.245.86.196/d2nas ~/nfs/d2' | 
				
			|||
alias mp='ncmpcpp' | 
				
			|||
alias vh='nvim ~/.config/hypr/hyprland.conf' | 
				
			|||
 | 
				
			|||
export EDITOR=nvim | 
				
			|||
export PATH=$HOME/.local/bin:$PATH | 
				
			|||
export PATH=$HOME/go/bin:$PATH | 
				
			|||
 | 
				
			|||
if [[ "$(command -v nvim)" ]]; then | 
				
			|||
    export EDITOR='nvim' | 
				
			|||
    export MANPAGER='nvim +Man!' | 
				
			|||
    export MANWIDTH=999 | 
				
			|||
fi | 
				
			|||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue