added niri config with waybar, rip, nvim update, brightness sh
This commit is contained in:
|
Before Width: | Height: | Size: 778 KiB After Width: | Height: | Size: 778 KiB |
|
Before Width: | Height: | Size: 974 KiB After Width: | Height: | Size: 974 KiB |
|
Before Width: | Height: | Size: 430 KiB After Width: | Height: | Size: 430 KiB |
@@ -13,7 +13,7 @@ general {
|
|||||||
# BACKGROUND
|
# BACKGROUND
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
path = $WALLPAPER
|
path = /home/liph/.config/backgrounds/universe/magenta.jpg
|
||||||
blur_passes = 2
|
blur_passes = 2
|
||||||
color = $base
|
color = $base
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ bold_italic_font auto
|
|||||||
|
|
||||||
font_size 14
|
font_size 14
|
||||||
|
|
||||||
background_opacity 0.9
|
background_opacity 0.90
|
||||||
|
|||||||
322
niri/.config/niri/config.kdl
Normal file
322
niri/.config/niri/config.kdl
Normal file
@@ -0,0 +1,322 @@
|
|||||||
|
// This config is in the KDL format: https://kdl.dev
|
||||||
|
// "/-" comments out the following node.
|
||||||
|
// Check the wiki for a full description of the configuration:
|
||||||
|
// https://yalter.github.io/niri/Configuration:-Introduction
|
||||||
|
input {
|
||||||
|
keyboard {
|
||||||
|
xkb {
|
||||||
|
layout "ch"
|
||||||
|
variant "de_mac"
|
||||||
|
model "apple"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
touchpad {
|
||||||
|
tap
|
||||||
|
natural-scroll
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse {
|
||||||
|
}
|
||||||
|
|
||||||
|
trackpoint {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// x11 support for wayland
|
||||||
|
xwayland-satellite {
|
||||||
|
path "xwayland-satellite"
|
||||||
|
}
|
||||||
|
environment {
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||||
|
ELECTRON_ENABLE_LOGGING "1"
|
||||||
|
}
|
||||||
|
|
||||||
|
output "eDP-1" {
|
||||||
|
mode "1920x1080@120.030"
|
||||||
|
position x=1280 y=0
|
||||||
|
}
|
||||||
|
layout {
|
||||||
|
gaps 2
|
||||||
|
center-focused-column "never"
|
||||||
|
preset-column-widths {
|
||||||
|
proportion 0.3333
|
||||||
|
proportion 0.5
|
||||||
|
proportion 0.66667
|
||||||
|
}
|
||||||
|
default-column-width { proportion 0.5; }
|
||||||
|
focus-ring {
|
||||||
|
width 2
|
||||||
|
active-color "#b4befe"
|
||||||
|
inactive-color "#a6adc8"
|
||||||
|
}
|
||||||
|
border {
|
||||||
|
off
|
||||||
|
|
||||||
|
width 4
|
||||||
|
active-color "#eba0ac"
|
||||||
|
inactive-color "#505050"
|
||||||
|
urgent-color "#9b0000"
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
softness 30
|
||||||
|
spread 5
|
||||||
|
offset x=0 y=5
|
||||||
|
color "#0007"
|
||||||
|
}
|
||||||
|
struts {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spawn-at-startup "waybar" "-c" "/home/liph/.config/waybar-niri/config.jsonc" "-s" "/home/liph/.config/waybar-niri/style.css"
|
||||||
|
spawn-at-startup "swaync"
|
||||||
|
spawn-at-startup "swww-daemon"
|
||||||
|
spawn-at-startup "kitty"
|
||||||
|
spawn-at-startup "librewolf"
|
||||||
|
spawn-at-startup "sh" "-c" "sleep 5 && exec swayidle -w timeout 300 hyprlock timeout 600 'niri msg action power-off-monitors' resume 'niri msg action power-on-monitors' timeout 3600 'systemctl suspend'"
|
||||||
|
|
||||||
|
|
||||||
|
prefer-no-csd
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
hot-corners {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open the Firefox picture-in-picture player as floating by default.
|
||||||
|
// window-rule {
|
||||||
|
// match app-id=r#"librewolf$"# title="^Picture-in-Picture$"
|
||||||
|
// open-floating false
|
||||||
|
// }
|
||||||
|
|
||||||
|
workspace "1"
|
||||||
|
workspace "2"
|
||||||
|
workspace "3"
|
||||||
|
// workspace "4"
|
||||||
|
// workspace "5"
|
||||||
|
|
||||||
|
// Example: block out two password managers from screen capture.
|
||||||
|
// (This example rule is commented out with a "/-" in front.)
|
||||||
|
/-window-rule {
|
||||||
|
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||||
|
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||||
|
|
||||||
|
block-out-from "screen-capture"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// terminal window-rule
|
||||||
|
window-rule {
|
||||||
|
match at-startup=true app-id="kitty"
|
||||||
|
open-on-workspace "1"
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match at-startup=false app-id="kitty"
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
// browser window-rules
|
||||||
|
window-rule {
|
||||||
|
match at-startup=true app-id="librewolf"
|
||||||
|
open-on-workspace "2"
|
||||||
|
open-maximized true
|
||||||
|
// geometry-corner-radius 5
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match at-startup=false app-id="librewolf"
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id="Claude"
|
||||||
|
open-on-workspace "3"
|
||||||
|
default-column-width { proportion 0.6667; }
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
geometry-corner-radius 5
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
binds {
|
||||||
|
// Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
Mod+Shift+L { spawn "hyprlock"; }
|
||||||
|
|
||||||
|
Mod+Alt+P hotkey-overlay-title="Open Bitwarden" { spawn "bitwarden-desktop"; }
|
||||||
|
Mod+Alt+T hotkey-overlay-title="Open Tipp10" { spawn "tipp10"; }
|
||||||
|
Mod+Alt+V hotkey-overlay-title="Open Vial" { spawn "Vial"; }
|
||||||
|
Mod+Alt+M hotkey-overlay-title="Open Tidal" { spawn "tidal-hifi" "--ozone-platform=wayland" "--enable-features=WaylandWindowDecorations"; }
|
||||||
|
Mod+Alt+O hotkey-overlay-title="Open Obsidian" { spawn "obsidian"; }
|
||||||
|
Mod+Alt+C hotkey-overlay-title="Open Claude" { spawn "claude-desktop"; }
|
||||||
|
Mod+Alt+Z hotkey-overlay-title="Open Librewolf" { spawn "librewolf"; }
|
||||||
|
Mod+Alt+Return hotkey-overlay-title="Open Kitty" { spawn "kitty"; }
|
||||||
|
Mod+Alt+Space hotkey-overlay-title="Open Wofi" { spawn "wofi" "--show" "drun"; }
|
||||||
|
// Brightness Controll
|
||||||
|
Mod+Ctrl+0 { spawn "sh" "-c" "~/scripts/layer_notify.sh 0"; }
|
||||||
|
Mod+Ctrl+1 { spawn "sh" "-c" "~/scripts/layer_notify.sh 1"; }
|
||||||
|
Mod+Ctrl+2 { spawn "sh" "-c" "~/scripts/layer_notify.sh 2"; }
|
||||||
|
Mod+Ctrl+3 { spawn "sh" "-c" "~/scripts/layer_notify.sh 3"; }
|
||||||
|
|
||||||
|
// Brightness controls
|
||||||
|
Mod+Ctrl+4 { spawn "sh" "-c" "~/scripts/niri_br_up.sh"; }
|
||||||
|
Mod+Ctrl+5 { spawn "sh" "-c" "~/scripts/niri_br_down.sh"; }
|
||||||
|
Mod+Ctrl+6 { spawn "sh" "-c" "~/scripts/niri_br_blue.sh"; }
|
||||||
|
Mod+Ctrl+7 { spawn "sh" "-c" "~/scripts/niri_br_reset.sh"; }
|
||||||
|
|
||||||
|
// Swaync Notifications
|
||||||
|
Mod+Ctrl+8 { spawn "swaync-client" "-t"; }
|
||||||
|
|
||||||
|
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||||
|
|
||||||
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
||||||
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||||
|
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||||
|
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||||
|
|
||||||
|
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||||
|
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||||
|
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||||
|
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||||
|
|
||||||
|
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||||
|
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||||
|
|
||||||
|
Mod+O repeat=false { toggle-overview; }
|
||||||
|
|
||||||
|
Mod+Shift+C repeat=false { close-window; }
|
||||||
|
|
||||||
|
Mod+Left { focus-column-left; }
|
||||||
|
Mod+Down { focus-window-down; }
|
||||||
|
Mod+Up { focus-window-up; }
|
||||||
|
Mod+Right { focus-column-right; }
|
||||||
|
Mod+H { focus-column-left; }
|
||||||
|
Mod+J { focus-window-down; }
|
||||||
|
Mod+K { focus-window-up; }
|
||||||
|
Mod+L { focus-column-right; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Left { move-column-left; }
|
||||||
|
Mod+Ctrl+Down { move-window-down; }
|
||||||
|
Mod+Ctrl+Up { move-window-up; }
|
||||||
|
Mod+Ctrl+Right { move-column-right; }
|
||||||
|
Mod+Ctrl+H { move-column-left; }
|
||||||
|
Mod+Ctrl+J { move-window-down; }
|
||||||
|
Mod+Ctrl+K { move-window-up; }
|
||||||
|
Mod+Ctrl+L { move-column-right; }
|
||||||
|
|
||||||
|
// Mod+Shift+Down { focus-monitor-down; }
|
||||||
|
// Mod+Shift+Up { focus-monitor-up; }
|
||||||
|
// Mod+Shift+Right { focus-monitor-right; }
|
||||||
|
// Mod+Shift+H { focus-monitor-left; }
|
||||||
|
// Mod+Shift+J { focus-monitor-down; }
|
||||||
|
// Mod+Shift+K { focus-monitor-up; }
|
||||||
|
// Mod+Shift+L { focus-monitor-right; }
|
||||||
|
|
||||||
|
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||||
|
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||||
|
|
||||||
|
Mod+Page_Down { focus-workspace-down; }
|
||||||
|
Mod+Page_Up { focus-workspace-up; }
|
||||||
|
Mod+U { focus-workspace-down; }
|
||||||
|
Mod+I { focus-workspace-up; }
|
||||||
|
Mod+Alt+J { move-column-to-workspace-down; }
|
||||||
|
Mod+Alt+K { move-column-to-workspace-up; }
|
||||||
|
Mod+Alt+U { move-column-to-workspace-down; }
|
||||||
|
Mod+Alt+I { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
Mod+Shift+Page_Down { move-workspace-down; }
|
||||||
|
Mod+Shift+Page_Up { move-workspace-up; }
|
||||||
|
Mod+Shift+U { move-workspace-down; }
|
||||||
|
Mod+Shift+I { move-workspace-up; }
|
||||||
|
|
||||||
|
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||||
|
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||||
|
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
Mod+WheelScrollRight { focus-column-right; }
|
||||||
|
Mod+WheelScrollLeft { focus-column-left; }
|
||||||
|
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||||
|
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||||
|
|
||||||
|
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||||
|
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||||
|
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||||
|
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||||
|
|
||||||
|
Mod+1 { focus-workspace 1; }
|
||||||
|
Mod+2 { focus-workspace 2; }
|
||||||
|
Mod+3 { focus-workspace 3; }
|
||||||
|
Mod+4 { focus-workspace 4; }
|
||||||
|
Mod+5 { focus-workspace 5; }
|
||||||
|
Mod+6 { focus-workspace 6; }
|
||||||
|
Mod+7 { focus-workspace 7; }
|
||||||
|
Mod+8 { focus-workspace 8; }
|
||||||
|
Mod+9 { focus-workspace 9; }
|
||||||
|
// Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||||
|
// Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||||
|
// Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||||
|
// Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||||
|
// Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||||
|
// Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||||
|
// Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||||
|
// Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||||
|
// Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||||
|
|
||||||
|
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
|
||||||
|
Mod+Comma { consume-window-into-column; }
|
||||||
|
Mod+Period { expel-window-from-column; }
|
||||||
|
|
||||||
|
Mod+R { switch-preset-column-width; }
|
||||||
|
// Cycling through the presets in reverse order is also possible.
|
||||||
|
// Mod+R { switch-preset-column-width-back; }
|
||||||
|
Mod+Shift+R { switch-preset-window-height; }
|
||||||
|
Mod+Ctrl+R { reset-window-height; }
|
||||||
|
Mod+F { maximize-column; }
|
||||||
|
Mod+Shift+F { fullscreen-window; }
|
||||||
|
|
||||||
|
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||||
|
|
||||||
|
// Mod+C { center-column; }
|
||||||
|
|
||||||
|
Mod+Ctrl+C { center-visible-columns; }
|
||||||
|
|
||||||
|
Mod+Minus { set-column-width "-10%"; }
|
||||||
|
Mod+Equal { set-column-width "+10%"; }
|
||||||
|
|
||||||
|
// Finer height adjustments when in column with other windows.
|
||||||
|
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||||
|
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||||
|
|
||||||
|
// Move the focused window between the floating and the tiling layout.
|
||||||
|
Mod+V { toggle-window-floating; }
|
||||||
|
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||||
|
|
||||||
|
Mod+W { toggle-column-tabbed-display; }
|
||||||
|
|
||||||
|
// screenshot
|
||||||
|
Mod+Alt+4 { spawn "sh" "-c" "grim -g \"$(slurp)\" ~/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png && notify-send 'Screenshot' 'Area screenshot saved'"; }
|
||||||
|
// Fullscreen and save
|
||||||
|
Mod+Alt+5 { spawn "sh" "-c" "grim ~/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png && notify-send -t 2000 'Screenshot' 'Fullscreen screenshot saved'"; }
|
||||||
|
// Select area to clipboard
|
||||||
|
Mod+Shift+4 { spawn "sh" "-c" "grim -g \"$(slurp)\" - | wl-copy && notify-send -t 2000 'Screenshot' 'Fullscreen copied to clipboard'"; }
|
||||||
|
|
||||||
|
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||||
|
|
||||||
|
Mod+Shift+E { quit; }
|
||||||
|
Ctrl+Alt+Delete { quit; }
|
||||||
|
|
||||||
|
Mod+Shift+P { power-off-monitors; }
|
||||||
|
}
|
||||||
126
niri/.config/niri/waybar-niri/config.jsonc
Normal file
126
niri/.config/niri/waybar-niri/config.jsonc
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
// -*- mode: jsonc -*-
|
||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"height": 30,
|
||||||
|
"spacing": 0,
|
||||||
|
"modules-left": ["custom/logo", "cpu", "memory", "bluetooth", "mpris"],
|
||||||
|
"modules-center": ["niri/workspaces"],
|
||||||
|
"modules-right": [
|
||||||
|
"tray",
|
||||||
|
"power-profiles-daemon",
|
||||||
|
// "niri/language",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"clock",
|
||||||
|
"custom/power",
|
||||||
|
],
|
||||||
|
"niri/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
// Named workspaces
|
||||||
|
// (you need to configure them in niri)
|
||||||
|
// "1",
|
||||||
|
// "2": "2",
|
||||||
|
// "3": "3",
|
||||||
|
// "4": "4",
|
||||||
|
// "5": "5",
|
||||||
|
// "6": "6",
|
||||||
|
// Icons by state
|
||||||
|
"active": "",
|
||||||
|
"default": "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"mpris": {
|
||||||
|
"format": "DEFAULT: {player_icon} {dynamic}",
|
||||||
|
"format-paused": "DEFAULT: {status_icon} <i>{dynamic}</i>",
|
||||||
|
"player-icons": {
|
||||||
|
"default": "▶",
|
||||||
|
"mpv": "🎵",
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "⏸",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p}",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "<span font='14' color='#a6d189'> </span> {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "<span font='14' color='#ea999c'> </span> {}%",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"interval": 1,
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15,
|
||||||
|
},
|
||||||
|
"format": "<span font='14' color='#8caaee'>{icon}</span> {capacity}%",
|
||||||
|
"format-full": "<span font='14' color='#8caaee'>{icon}</span> {capacity}%",
|
||||||
|
"format-charging": "<span font='14' color='#8caaee'></span> {capacity}%",
|
||||||
|
"format-plugged": "<span font='14' color='#8caaee'></span> {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", ""],
|
||||||
|
},
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||||
|
"tooltip": true,
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"performance": "",
|
||||||
|
"balanced": "",
|
||||||
|
"power-saver": "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"format-wifi": "<span font='14' color='#a6d189'></span> ",
|
||||||
|
"format-ethernet": "<span font='14' color='#e5c890'></span>",
|
||||||
|
"format-disconnected": "<span font='14'color='#e78284'></span>",
|
||||||
|
"format-alt": "{bandwidthDownBytes}",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "<span font='14' color='#e5c890'>{icon}</span> {volume}%",
|
||||||
|
"format-muted": "<span font='14'></span>",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""],
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format": "⏻",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "wlogout -l ~/.config/niri/wlogout/layout",
|
||||||
|
},
|
||||||
|
"custom/logo": {
|
||||||
|
"format": "<span font='14'></span>",
|
||||||
|
"on-click": "wofi --show drun",
|
||||||
|
},
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "<span font='14'></span>",
|
||||||
|
"format-disabled": "<span font='14' color='#8caaee'></span>",
|
||||||
|
"format-connected": "<span font='14' color='#8caaee'></span>",
|
||||||
|
"on-click": "blueman-manager",
|
||||||
|
},
|
||||||
|
}
|
||||||
26
niri/.config/niri/waybar-niri/mocha.css
Normal file
26
niri/.config/niri/waybar-niri/mocha.css
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
@define-color rosewater #f5e0dc;
|
||||||
|
@define-color flamingo #f2cdcd;
|
||||||
|
@define-color pink #f5c2e7;
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color maroon #eba0ac;
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color teal #94e2d5;
|
||||||
|
@define-color sky #89dceb;
|
||||||
|
@define-color sapphire #74c7ec;
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color overlay2 #9399b2;
|
||||||
|
@define-color overlay1 #7f849c;
|
||||||
|
@define-color overlay0 #6c7086;
|
||||||
|
@define-color surface2 #585b70;
|
||||||
|
@define-color surface1 #45475a;
|
||||||
|
@define-color surface0 #313244;
|
||||||
|
@define-color base #1e1e2e;
|
||||||
|
@define-color mantle #181825;
|
||||||
|
@define-color crust #11111b;
|
||||||
125
niri/.config/niri/waybar-niri/style.css
Normal file
125
niri/.config/niri/waybar-niri/style.css
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
* {
|
||||||
|
font-family: "FiraCode Nerd Font";
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(43, 48, 59, 0.5);
|
||||||
|
background: radial-gradient(alpha(@theme_base_color, 0.4), @theme_base_color);
|
||||||
|
color: @theme_fg_color;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
#workspaces {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: @theme_fg_color;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: #e5c890;
|
||||||
|
}
|
||||||
|
#workspaces button.active,
|
||||||
|
#workspaces button.default,
|
||||||
|
#workspaces button.focused {
|
||||||
|
background: #babbf1;
|
||||||
|
}
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
#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: @theme_fg_color;
|
||||||
|
}
|
||||||
|
#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,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#custom-power,
|
||||||
|
#bluetooth,
|
||||||
|
#power-profiles-daemon {
|
||||||
|
padding: 5px 15px;
|
||||||
|
color: @theme_text_color;
|
||||||
|
background-color: alpha(@theme_unfocused_bg_color, 0.4);
|
||||||
|
border-radius: 20px;
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
#custom-power {
|
||||||
|
background-color: #e78284;
|
||||||
|
border-radius: 20px 0 0 20px;
|
||||||
|
transition: all 250ms ease-in-out;
|
||||||
|
}
|
||||||
|
#battery.charging {
|
||||||
|
color: #00ff1c;
|
||||||
|
}
|
||||||
|
#clock {
|
||||||
|
border-radius: 20px;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
#pulseaudio.muted {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
#network.disconnected {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
#tray {
|
||||||
|
border-radius: 20px;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
#custom-logo {
|
||||||
|
background-color: #8caaee;
|
||||||
|
padding: 0 17px;
|
||||||
|
border-radius: 0 20px 20px 0;
|
||||||
|
}
|
||||||
|
#custom-power {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#bluetooth {
|
||||||
|
border-radius: 20px;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
36
niri/.config/niri/wlogout/layout
Normal file
36
niri/.config/niri/wlogout/layout
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label": "lock",
|
||||||
|
"action": "hyprlock",
|
||||||
|
"text": "Lock",
|
||||||
|
"keybind": "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label": "logout",
|
||||||
|
"action": "niri msg action quit",
|
||||||
|
"text": "Logout",
|
||||||
|
"keybind": "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label": "suspend",
|
||||||
|
"action": "systemctl suspend",
|
||||||
|
"text": "Suspend",
|
||||||
|
"keybind": "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label": "hibernate",
|
||||||
|
"action": "systemctl hibernate",
|
||||||
|
"text": "Hibernate",
|
||||||
|
"keybind": "h"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label": "shutdown",
|
||||||
|
"action": "systemctl poweroff",
|
||||||
|
"text": "Shutdown",
|
||||||
|
"keybind": "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label": "reboot",
|
||||||
|
"action": "systemctl reboot",
|
||||||
|
"text": "Reboot",
|
||||||
|
"keybind": "r"
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
||||||
|
"R.nvim": { "branch": "main", "commit": "b7de6e6f43d79e31b077096ca0089fde85190f46" },
|
||||||
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
||||||
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
@@ -8,6 +9,7 @@
|
|||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
||||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
|
"cmp-r": { "branch": "main", "commit": "70bfe8f4c062acc10266e24825439c009a0b1b89" },
|
||||||
"cmp-tabnine": { "branch": "main", "commit": "c0167cdc86c15e782c5461ee62aebee89231c2ed" },
|
"cmp-tabnine": { "branch": "main", "commit": "c0167cdc86c15e782c5461ee62aebee89231c2ed" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "8314f4c9e205e7f30b62147069729f9a1227d8bf" },
|
"conform.nvim": { "branch": "master", "commit": "8314f4c9e205e7f30b62147069729f9a1227d8bf" },
|
||||||
@@ -16,8 +18,8 @@
|
|||||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"fzf-lua": { "branch": "main", "commit": "a03d68e40eea835a1cdbd9f93049708dab3621e6" },
|
"fzf-lua": { "branch": "main", "commit": "b8d1356b7120f5cf111709cb2fa504096248fb26" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "72acb69020c92d99cf388bfeb390481ccec50c04" },
|
"gitsigns.nvim": { "branch": "main", "commit": "42d6aed4e94e0f0bbced16bbdcc42f57673bd75e" },
|
||||||
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
|
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
||||||
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e5f73a9e3d271d449685f1059eb1868f4ba276f6" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "fe661093f4b05136437b531e7f959af2a2ae66c8" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||||
@@ -35,7 +37,7 @@
|
|||||||
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" },
|
"nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "ca6ea12daf0a4d92dc24c5c9ae22a1f0418ade37" },
|
"nvim-lint": { "branch": "master", "commit": "ca6ea12daf0a4d92dc24c5c9ae22a1f0418ade37" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "5a82e10b2df0ed31bec642c1c0344baee7c458b6" },
|
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
|
||||||
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
|
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||||
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
||||||
@@ -54,8 +56,8 @@
|
|||||||
"telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
|
"telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
"vim-test": { "branch": "master", "commit": "aa619692ff48a3cf3e6bdb893765039488d4e5f3" },
|
"vim-test": { "branch": "master", "commit": "aa619692ff48a3cf3e6bdb893765039488d4e5f3" },
|
||||||
"vimtex": { "branch": "master", "commit": "1b56d5ae6e19cd018f1adaf4868561b087698b9b" },
|
"vimtex": { "branch": "master", "commit": "3abfa1ff75b81c01e4305e8062549ac0ea5cc9b8" },
|
||||||
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
||||||
"yazi.nvim": { "branch": "main", "commit": "30d8c852a0ca52437dad84cf5c92962d565a54a9" }
|
"yazi.nvim": { "branch": "main", "commit": "4a8bd3284708e11e48bcd865892902a46abdcce0" }
|
||||||
}
|
}
|
||||||
|
|||||||
30
nvim/.config/nvim/lua/plugins.inactive/mason.lua
Normal file
30
nvim/.config/nvim/lua/plugins.inactive/mason.lua
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
-- plugins/mason.lua
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require("mason").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
auto_install = true,
|
||||||
|
ensure_installed = {
|
||||||
|
"lua_ls",
|
||||||
|
"pyright",
|
||||||
|
"bashls",
|
||||||
|
"ts_ls",
|
||||||
|
"solargraph",
|
||||||
|
"html",
|
||||||
|
"texlab",
|
||||||
|
"ltex",
|
||||||
|
"dockerls",
|
||||||
|
"yamlls",
|
||||||
|
"taplo",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -7,7 +7,6 @@ return {
|
|||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
-- Lua
|
-- Lua
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
|
|
||||||
-- JavaScript/TypeScript/Web
|
-- JavaScript/TypeScript/Web
|
||||||
javascript = { "prettier" },
|
javascript = { "prettier" },
|
||||||
typescript = { "prettier" },
|
typescript = { "prettier" },
|
||||||
@@ -24,32 +23,24 @@ return {
|
|||||||
markdown = { "prettier" },
|
markdown = { "prettier" },
|
||||||
graphql = { "prettier" },
|
graphql = { "prettier" },
|
||||||
handlebars = { "prettier" },
|
handlebars = { "prettier" },
|
||||||
|
|
||||||
-- Toml
|
-- Toml
|
||||||
toml = { "tombi" },
|
toml = { "taplo" }, -- Changed from tombi to taplo
|
||||||
|
|
||||||
-- text
|
|
||||||
-- Ruby
|
-- Ruby
|
||||||
ruby = { "rubocop" },
|
ruby = { "rubocop" },
|
||||||
|
-- LaTeX
|
||||||
-- latex
|
|
||||||
tex = { "tex-fmt" },
|
tex = { "tex-fmt" },
|
||||||
|
-- Python (ruff replaces black + isort)
|
||||||
-- Python (black first, then isort for imports)
|
python = { "ruff_format" }, -- Changed: consolidated to ruff
|
||||||
python = { "black", "isort" },
|
|
||||||
|
|
||||||
-- Bash/Shell
|
-- Bash/Shell
|
||||||
sh = { "beautysh" },
|
sh = { "shfmt" }, -- Changed: using shfmt instead of beautysh
|
||||||
bash = { "beautysh" },
|
bash = { "shfmt" }, -- Changed: using shfmt instead of beautysh
|
||||||
zsh = { "beautysh" },
|
zsh = { "beautysh" }, -- Keep beautysh for zsh
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Format on save
|
-- Format on save
|
||||||
format_on_save = {
|
format_on_save = {
|
||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
lsp_fallback = true,
|
lsp_fallback = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Formatter settings
|
-- Formatter settings
|
||||||
formatters = {
|
formatters = {
|
||||||
stylua = {
|
stylua = {
|
||||||
@@ -58,12 +49,14 @@ return {
|
|||||||
prettier = {
|
prettier = {
|
||||||
prepend_args = { "--tab-width", "2" },
|
prepend_args = { "--tab-width", "2" },
|
||||||
},
|
},
|
||||||
|
shfmt = {
|
||||||
|
prepend_args = { "-i", "2" }, -- 2 spaces for bash/sh
|
||||||
|
},
|
||||||
beautysh = {
|
beautysh = {
|
||||||
prepend_args = { "--indent-size", "2" }, -- 2 spaces for bash
|
prepend_args = { "--indent-size", "2" }, -- 2 spaces for zsh
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Manual format keymap (same as your old <leader>gf)
|
-- Manual format keymap (same as your old <leader>gf)
|
||||||
vim.keymap.set("n", "<leader>gf", function()
|
vim.keymap.set("n", "<leader>gf", function()
|
||||||
require("conform").format({
|
require("conform").format({
|
||||||
@@ -72,7 +65,6 @@ return {
|
|||||||
timeout_ms = 1000,
|
timeout_ms = 1000,
|
||||||
})
|
})
|
||||||
end, { desc = "Format buffer" })
|
end, { desc = "Format buffer" })
|
||||||
|
|
||||||
-- Optional: format on visual selection
|
-- Optional: format on visual selection
|
||||||
vim.keymap.set("v", "<leader>gf", function()
|
vim.keymap.set("v", "<leader>gf", function()
|
||||||
require("conform").format({
|
require("conform").format({
|
||||||
|
|||||||
@@ -11,6 +11,19 @@ return {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
opts = {
|
opts = {
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
|
ensure_installed = {
|
||||||
|
"lua_ls",
|
||||||
|
"pyright",
|
||||||
|
"bashls",
|
||||||
|
"ts_ls",
|
||||||
|
"solargraph",
|
||||||
|
"html",
|
||||||
|
"texlab",
|
||||||
|
"ltex",
|
||||||
|
"dockerls", -- Fixed: correct name
|
||||||
|
"yamlls", -- Fixed: correct name (not yaml-language-server)
|
||||||
|
"taplo", -- TOML LSP
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -22,17 +35,37 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
local navic = require("nvim-navic")
|
local navic = require("nvim-navic")
|
||||||
|
-- local lspconfig = require("lspconfig")
|
||||||
|
|
||||||
|
-- Common on_attach function
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
if client.server_capabilities.documentSymbolProvider then
|
||||||
|
navic.attach(client, bufnr)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Define server configurations
|
-- Define server configurations
|
||||||
local servers = {
|
local servers = {
|
||||||
ts_ls = {},
|
ts_ls = {
|
||||||
tombi = {},
|
capabilities = capabilities,
|
||||||
solargraph = {},
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
|
taplo = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
|
solargraph = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
textlsp = {
|
textlsp = {
|
||||||
filetypes = { "ltx", "txt" },
|
filetypes = { "ltx", "txt" },
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
},
|
},
|
||||||
-- Add texlab for LaTeX
|
|
||||||
texlab = {
|
texlab = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
settings = {
|
settings = {
|
||||||
texlab = {
|
texlab = {
|
||||||
build = {
|
build = {
|
||||||
@@ -41,7 +74,7 @@ return {
|
|||||||
onSave = true,
|
onSave = true,
|
||||||
},
|
},
|
||||||
forwardSearch = {
|
forwardSearch = {
|
||||||
executable = "zathura", -- Change to your PDF viewer if different
|
executable = "zathura",
|
||||||
args = { "--synctex-forward", "%l:1:%f", "%p" },
|
args = { "--synctex-forward", "%l:1:%f", "%p" },
|
||||||
},
|
},
|
||||||
chktex = {
|
chktex = {
|
||||||
@@ -51,17 +84,29 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- Optional: Add ltex for grammar/spell checking (can be resource-heavy)
|
|
||||||
ltex = {
|
ltex = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
filetypes = { "latex", "tex", "bib", "markdown" },
|
||||||
settings = {
|
settings = {
|
||||||
ltex = {
|
ltex = {
|
||||||
language = "en-US", -- or "de-DE", "de-CH", etc.
|
language = "en-US",
|
||||||
enabled = { "latex", "tex", "bib" },
|
enabled = { "latex", "tex", "bib" },
|
||||||
|
java = {
|
||||||
|
path = "",
|
||||||
|
initialHeapSize = 64,
|
||||||
|
maximumHeapSize = 512,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
html = {},
|
html = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
lua_ls = {
|
lua_ls = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
@@ -76,9 +121,14 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pyright = {},
|
pyright = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
bashls = {
|
bashls = {
|
||||||
filetypes = { "sh", "bash", "zsh" },
|
filetypes = { "sh", "bash", "zsh" },
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
settings = {
|
settings = {
|
||||||
bashIde = {
|
bashIde = {
|
||||||
globPattern = "*@(.sh|.inc|.bash|.command|.zsh)",
|
globPattern = "*@(.sh|.inc|.bash|.command|.zsh)",
|
||||||
@@ -86,17 +136,26 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
dockerls = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
|
yamlls = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = {
|
||||||
|
yaml = {
|
||||||
|
schemas = {
|
||||||
|
["https://json.schemastore.org/docker-compose.json"] = "docker-compose*.{yml,yaml}",
|
||||||
|
["https://json.schemastore.org/github-workflow.json"] = ".github/workflows/*",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Setup each server with the new API
|
-- Setup each server
|
||||||
for server, config in pairs(servers) do
|
for server, config in pairs(servers) do
|
||||||
config.capabilities = capabilities
|
|
||||||
-- Add navic on_attach for breadcrumbs
|
|
||||||
config.on_attach = function(client, bufnr)
|
|
||||||
if client.server_capabilities.documentSymbolProvider then
|
|
||||||
navic.attach(client, bufnr)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.lsp.config[server] = config
|
vim.lsp.config[server] = config
|
||||||
vim.lsp.enable(server)
|
vim.lsp.enable(server)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
|
||||||
dependencies = { "williamboman/mason.nvim" },
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
-- Formatters (you already have these)
|
|
||||||
"luaformatter",
|
|
||||||
"prettier",
|
|
||||||
"rubocop",
|
|
||||||
"black",
|
|
||||||
"isort",
|
|
||||||
"beautysh",
|
|
||||||
"tombi",
|
|
||||||
"tex-fmt",
|
|
||||||
"texlab",
|
|
||||||
|
|
||||||
-- Linters (add these)
|
|
||||||
"ruff", -- Python (fast!)
|
|
||||||
"shellcheck", -- Bash
|
|
||||||
"jsonlint", -- JSON
|
|
||||||
"stylelint", -- CSS/SCSS
|
|
||||||
"htmlhint", -- HTML
|
|
||||||
"hadolint", -- Dockerfile
|
|
||||||
"eslint_d", -- JavaScript/TypeScript
|
|
||||||
"markdownlint", -- Markdown
|
|
||||||
|
|
||||||
-- LSP servers (optional)
|
|
||||||
"bash-language-server",
|
|
||||||
"dockerfile-language-server",
|
|
||||||
"ts_ls",
|
|
||||||
"solargraph",
|
|
||||||
"html",
|
|
||||||
"lua_ls",
|
|
||||||
"pyright",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
return {
|
return {
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
branch = "v3.x",
|
branch = "v3.x",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
vim.keymap.set("n", "<leader>ee", ":Neotree filesystem reveal left<CR>", {})
|
vim.keymap.set("n", "<leader>ee", ":Neotree filesystem reveal left<CR>", {})
|
||||||
vim.keymap.set("n", "<leader>bf", ":Neotree buffers reveal float<CR>", {})
|
vim.keymap.set("n", "<leader>bf", ":Neotree buffers reveal float<CR>", {})
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,58 +4,48 @@ return {
|
|||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
config = function()
|
config = function()
|
||||||
local lint = require("lint")
|
local lint = require("lint")
|
||||||
|
|
||||||
lint.linters_by_ft = {
|
lint.linters_by_ft = {
|
||||||
-- Python
|
-- Python
|
||||||
python = { "ruff" }, -- Fast! Replaces pylint, flake8, isort
|
python = { "ruff" }, -- Fast! Replaces pylint, flake8, isort
|
||||||
-- Alternative: python = { "pylint" },
|
-- Alternative: python = { "pylint" },
|
||||||
-- Or combine: python = { "ruff", "mypy" }, -- ruff + type checking
|
-- Or combine: python = { "ruff", "mypy" }, -- ruff + type checking
|
||||||
|
|
||||||
-- Bash/Shell
|
-- Bash/Shell
|
||||||
sh = { "shellcheck" },
|
sh = { "shellcheck" },
|
||||||
bash = { "shellcheck" },
|
bash = { "shellcheck" },
|
||||||
zsh = { "shellcheck" },
|
zsh = { "zsh" },
|
||||||
|
|
||||||
-- JSON
|
-- JSON
|
||||||
json = { "jsonlint" },
|
json = { "jsonlint" },
|
||||||
jsonc = { "jsonlint" },
|
jsonc = { "jsonlint" },
|
||||||
|
-- YAML (added for your compose files)
|
||||||
|
yaml = { "yamllint" },
|
||||||
-- CSS/SCSS
|
-- CSS/SCSS
|
||||||
css = { "stylelint" },
|
css = { "stylelint" },
|
||||||
scss = { "stylelint" },
|
scss = { "stylelint" },
|
||||||
sass = { "stylelint" },
|
sass = { "stylelint" },
|
||||||
less = { "stylelint" },
|
less = { "stylelint" },
|
||||||
|
|
||||||
-- HTML
|
-- HTML
|
||||||
html = { "htmlhint" },
|
html = { "htmlhint" },
|
||||||
-- Alternative: html = { "tidy" },
|
-- Alternative: html = { "tidy" },
|
||||||
|
|
||||||
-- Dockerfile (bonus)
|
-- Dockerfile (bonus)
|
||||||
dockerfile = { "hadolint" },
|
dockerfile = { "hadolint" },
|
||||||
|
|
||||||
-- JavaScript/TypeScript (bonus)
|
-- JavaScript/TypeScript (bonus)
|
||||||
javascript = { "eslint_d" },
|
javascript = { "eslint_d" },
|
||||||
typescript = { "eslint_d" },
|
typescript = { "eslint_d" },
|
||||||
javascriptreact = { "eslint_d" },
|
javascriptreact = { "eslint_d" },
|
||||||
typescriptreact = { "eslint_d" },
|
typescriptreact = { "eslint_d" },
|
||||||
|
|
||||||
-- Ruby (you already have this formatter)
|
-- Ruby (you already have this formatter)
|
||||||
ruby = { "rubocop" },
|
ruby = { "rubocop" },
|
||||||
|
|
||||||
-- Markdown (bonus)
|
-- Markdown (bonus)
|
||||||
markdown = { "markdownlint" },
|
markdown = { "markdownlint" },
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Auto-lint on save and when leaving insert mode
|
-- Auto-lint on save and when leaving insert mode
|
||||||
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||||
group = lint_augroup,
|
group = lint_augroup,
|
||||||
callback = function()
|
callback = function()
|
||||||
lint.try_lint()
|
lint.try_lint()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Manual lint trigger
|
-- Manual lint trigger
|
||||||
vim.keymap.set("n", "<leader>l", function()
|
vim.keymap.set("n", "<leader>l", function()
|
||||||
lint.try_lint()
|
lint.try_lint()
|
||||||
|
|||||||
16
nvim/.config/nvim/lua/plugins/r-nvim.lua
Normal file
16
nvim/.config/nvim/lua/plugins/r-nvim.lua
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
return {
|
||||||
|
"R-nvim/R.nvim",
|
||||||
|
lazy = false, -- load immediately
|
||||||
|
config = function()
|
||||||
|
local opts = {
|
||||||
|
R_args = { "--quiet", "--no-save" },
|
||||||
|
min_editor_width = 72,
|
||||||
|
hl_term = true, -- Add this line for terminal highlighting
|
||||||
|
rconsole_width = 78,
|
||||||
|
}
|
||||||
|
require("r").setup(opts)
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"R-nvim/cmp-r",
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -18,6 +18,9 @@ return {
|
|||||||
"lua",
|
"lua",
|
||||||
"vim",
|
"vim",
|
||||||
"latex",
|
"latex",
|
||||||
|
"r",
|
||||||
|
"rnoweb", -- for Sweave files
|
||||||
|
"yaml", -- for YAML headers in Rmdkk
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Auto install missing parsers
|
-- Auto install missing parsers
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ vim.cmd("set tabstop=2")
|
|||||||
vim.cmd("set softtabstop=2")
|
vim.cmd("set softtabstop=2")
|
||||||
vim.cmd("set shiftwidth=2")
|
vim.cmd("set shiftwidth=2")
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = ","
|
||||||
vim.g.background = "light"
|
vim.g.background = "light"
|
||||||
|
|
||||||
vim.opt.swapfile = false
|
vim.opt.swapfile = false
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
kanata --cfg ~/.config/kanata/config.kbd &
|
kanata --cfg ~/.config/kanata/config.kbd &
|
||||||
|
|
||||||
|
sudo mount -a
|
||||||
|
|||||||
20
scripts/scripts/niri_br_blue.sh
Executable file
20
scripts/scripts/niri_br_blue.sh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
STATE_FILE="$HOME/.cache/brightness_state"
|
||||||
|
TEMP_FILE="$HOME/.cache/bluelight_state"
|
||||||
|
|
||||||
|
CURRENT=$(cat "$TEMP_FILE" 2>/dev/null || echo "6500")
|
||||||
|
BRIGHTNESS=$(cat "$STATE_FILE" 2>/dev/null || echo "1.0")
|
||||||
|
|
||||||
|
if [ "$CURRENT" = "6500" ]; then
|
||||||
|
NEW=3400
|
||||||
|
MSG="ON"
|
||||||
|
else
|
||||||
|
NEW=6500
|
||||||
|
MSG="OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkill -9 gammastep
|
||||||
|
gammastep -O $NEW -b "$BRIGHTNESS" &>/dev/null &
|
||||||
|
|
||||||
|
echo "$NEW" >"$TEMP_FILE"
|
||||||
|
notify-send "Blue Light" "$MSG" -t 1000
|
||||||
15
scripts/scripts/niri_br_down.sh
Executable file
15
scripts/scripts/niri_br_down.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
STATE_FILE="$HOME/.cache/brightness_state"
|
||||||
|
TEMP_FILE="$HOME/.cache/bluelight_state"
|
||||||
|
|
||||||
|
CURRENT=$(cat "$STATE_FILE" 2>/dev/null || echo "1.0")
|
||||||
|
NEW=$(echo "$CURRENT - 0.1" | bc -l)
|
||||||
|
if (($(echo "$NEW < 0.3" | bc -l))); then NEW=0.3; fi
|
||||||
|
|
||||||
|
TEMP=$(cat "$TEMP_FILE" 2>/dev/null || echo "6500")
|
||||||
|
|
||||||
|
pkill -9 gammastep
|
||||||
|
gammastep -O $TEMP -b "$NEW" &>/dev/null &
|
||||||
|
|
||||||
|
echo "$NEW" >"$STATE_FILE"
|
||||||
|
notify-send "Brightness" "$(printf '%.0f%%' $(echo "$NEW * 100" | bc))" -t 1000
|
||||||
11
scripts/scripts/niri_br_reset.sh
Executable file
11
scripts/scripts/niri_br_reset.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
STATE_FILE="$HOME/.cache/brightness_state"
|
||||||
|
TEMP_FILE="$HOME/.cache/bluelight_state"
|
||||||
|
|
||||||
|
TEMP=$(cat "$TEMP_FILE" 2>/dev/null || echo "6500")
|
||||||
|
|
||||||
|
pkill -9 gammastep
|
||||||
|
gammastep -O $TEMP -b 1.0 &>/dev/null &
|
||||||
|
|
||||||
|
echo "1.0" >"$STATE_FILE"
|
||||||
|
notify-send "Brightness" "100%" -t 1000
|
||||||
19
scripts/scripts/niri_br_up.sh
Executable file
19
scripts/scripts/niri_br_up.sh
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
STATE_FILE="$HOME/.cache/brightness_state"
|
||||||
|
TEMP_FILE="$HOME/.cache/bluelight_state"
|
||||||
|
|
||||||
|
CURRENT=$(cat "$STATE_FILE" 2>/dev/null || echo "1.0")
|
||||||
|
NEW=$(echo "$CURRENT + 0.1" | bc -l)
|
||||||
|
if (($(echo "$NEW > 1.0" | bc -l))); then
|
||||||
|
NEW=1.0
|
||||||
|
notify-send "Brightness" "Maximum (100%)" -t 1000
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
TEMP=$(cat "$TEMP_FILE" 2>/dev/null || echo "6500")
|
||||||
|
|
||||||
|
pkill -9 gammastep
|
||||||
|
gammastep -O $TEMP -b "$NEW" &>/dev/null &
|
||||||
|
|
||||||
|
echo "$NEW" >"$STATE_FILE"
|
||||||
|
notify-send "Brightness" "$(printf '%.0f%%' $(echo "$NEW * 100" | bc))" -t 1000
|
||||||
5
swaync/.config/swaync/config.json
Normal file
5
swaync/.config/swaync/config.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"timeout": 3,
|
||||||
|
"timeout-low": 2,
|
||||||
|
"timeout-critical": 0
|
||||||
|
}
|
||||||
332
swaync/.config/swaync/style.css
Normal file
332
swaync/.config/swaync/style.css
Normal file
@@ -0,0 +1,332 @@
|
|||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
font-size: 18px;
|
||||||
|
font-family: "Inconsolata Nerd Font";
|
||||||
|
transition: 200ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
trough highlight {
|
||||||
|
background: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
scale {
|
||||||
|
margin: 0 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
scale trough {
|
||||||
|
margin: 0rem 1rem;
|
||||||
|
min-height: 8px;
|
||||||
|
min-width: 70px;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
trough slider {
|
||||||
|
margin: -10px;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
background-color: #89b4fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
trough slider:hover {
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.8), 0 0 8px #89b4fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
trough {
|
||||||
|
background-color: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* notifications */
|
||||||
|
.notification-background {
|
||||||
|
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #45475a;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
margin: 18px;
|
||||||
|
background: #181825;
|
||||||
|
color: #cdd6f4;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-background .notification {
|
||||||
|
padding: 7px;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-background .notification.critical {
|
||||||
|
box-shadow: inset 0 0 7px 0 #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-content {
|
||||||
|
margin: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-content overlay {
|
||||||
|
/* icons */
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-content .summary {
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-content .time {
|
||||||
|
color: #a6adc8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-content .body {
|
||||||
|
color: #bac2de;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification > *:last-child > * {
|
||||||
|
min-height: 3.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-background .close-button {
|
||||||
|
margin: 7px;
|
||||||
|
padding: 2px;
|
||||||
|
border-radius: 6.3px;
|
||||||
|
color: #1e1e2e;
|
||||||
|
background-color: #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-background .close-button:hover {
|
||||||
|
background-color: #eba0ac;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-background .close-button:active {
|
||||||
|
background-color: #f5c2e7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-action {
|
||||||
|
border-radius: 7px;
|
||||||
|
color: #cdd6f4;
|
||||||
|
box-shadow: inset 0 0 0 1px #45475a;
|
||||||
|
margin: 4px;
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 0.2rem; /* controls the button size not text size*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-action {
|
||||||
|
background-color: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-action:hover {
|
||||||
|
background-color: #45475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification .notification-action:active {
|
||||||
|
background-color: #585b70;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification.critical progress {
|
||||||
|
background-color: #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification.low progress,
|
||||||
|
.notification.normal progress {
|
||||||
|
background-color: #89b4fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification progress,
|
||||||
|
.notification trough,
|
||||||
|
.notification progressbar {
|
||||||
|
border-radius: 12.6px;
|
||||||
|
padding: 3px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* control center */
|
||||||
|
.control-center {
|
||||||
|
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
background-color: #1e1e2e;
|
||||||
|
color: #cdd6f4;
|
||||||
|
padding: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .notification-background {
|
||||||
|
border-radius: 7px;
|
||||||
|
box-shadow: inset 0 0 0 1px #45475a;
|
||||||
|
margin: 4px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .notification-background .notification {
|
||||||
|
border-radius: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .notification-background .notification.low {
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .widget-title > label {
|
||||||
|
color: #cdd6f4;
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .widget-title button {
|
||||||
|
border-radius: 7px;
|
||||||
|
color: #cdd6f4;
|
||||||
|
background-color: #313244;
|
||||||
|
box-shadow: inset 0 0 0 1px #45475a;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .widget-title button:hover {
|
||||||
|
background-color: #45475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .widget-title button:active {
|
||||||
|
background-color: #585b70;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .notification-group {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .notification-group:focus .notification-background {
|
||||||
|
background-color: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar slider {
|
||||||
|
margin: -3px;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar trough {
|
||||||
|
margin: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dnd */
|
||||||
|
.widget-dnd {
|
||||||
|
margin-top: 5px;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch {
|
||||||
|
font-size: initial;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #313244;
|
||||||
|
box-shadow: none;
|
||||||
|
min-height: 24px; /* Add this */
|
||||||
|
min-width: 48px; /* Add this */
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch:checked {
|
||||||
|
background: #89b4fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch slider {
|
||||||
|
background: #45475a;
|
||||||
|
border-radius: 8px;
|
||||||
|
min-height: 20px; /* Add this */
|
||||||
|
min-width: 20px; /* Add this */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mpris */
|
||||||
|
.widget-mpris-player {
|
||||||
|
background: #313244;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mpris-overlay {
|
||||||
|
background-color: #313244;
|
||||||
|
opacity: 0.9;
|
||||||
|
padding: 15px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris-album-art {
|
||||||
|
-gtk-icon-size: 100px;
|
||||||
|
border-radius: 12.6px;
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris-title {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris-subtitle {
|
||||||
|
font-size: 1rem;
|
||||||
|
color: #bac2de;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris button {
|
||||||
|
border-radius: 12.6px;
|
||||||
|
color: #cdd6f4;
|
||||||
|
margin: 0 5px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris button image {
|
||||||
|
-gtk-icon-size: 1.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris button:hover {
|
||||||
|
background-color: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris button:active {
|
||||||
|
background-color: #45475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris button:disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-menubar > box > .menu-button-bar > button > label {
|
||||||
|
font-size: 3rem;
|
||||||
|
padding: 0.5rem 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-menubar > box > .menu-button-bar > :last-child {
|
||||||
|
color: #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.power-buttons button:hover,
|
||||||
|
.powermode-buttons button:hover,
|
||||||
|
.screenshot-buttons button:hover {
|
||||||
|
background: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center .widget-label > label {
|
||||||
|
color: #cdd6f4;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-buttons-grid {
|
||||||
|
padding-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-buttons-grid > flowbox > flowboxchild > button label {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-volume {
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-volume label {
|
||||||
|
color: #74c7ec;
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-volume trough highlight {
|
||||||
|
background: #74c7ec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-backlight trough highlight {
|
||||||
|
background: #f9e2af;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-backlight label {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: #f9e2af;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-backlight .KB {
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image {
|
||||||
|
padding-right: 0.5rem;
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ bind-key k select-pane -U
|
|||||||
bind-key l select-pane -R
|
bind-key l select-pane -R
|
||||||
|
|
||||||
# Configure Catppuccin
|
# Configure Catppuccin
|
||||||
set -g @catppuccin_flavor "macchiato"
|
set -g @catppuccin_flavor "mocha"
|
||||||
set -g @catppuccin_status_background "none"
|
set -g @catppuccin_status_background "none"
|
||||||
set -g @catppuccin_window_status_style "none"
|
set -g @catppuccin_window_status_style "none"
|
||||||
set -g @catppuccin_pane_status_enabled "off"
|
set -g @catppuccin_pane_status_enabled "off"
|
||||||
|
|||||||
@@ -1,137 +1,118 @@
|
|||||||
// -*- mode: jsonc -*-
|
// -*- mode: jsonc -*-
|
||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"spacing": 0,
|
"spacing": 0,
|
||||||
"modules-left": [
|
"modules-left": ["custom/logo", "cpu", "memory", "bluetooth", "mpris"],
|
||||||
"custom/logo",
|
"modules-center": ["hyprland/workspaces"],
|
||||||
"cpu",
|
"modules-right": [
|
||||||
"memory",
|
"tray",
|
||||||
"bluetooth",
|
"power-profiles-daemon",
|
||||||
"mpris"
|
"hyprland/language",
|
||||||
],
|
"pulseaudio",
|
||||||
"modules-center": [
|
"network",
|
||||||
"hyprland/workspaces"
|
"battery",
|
||||||
],
|
"clock",
|
||||||
"modules-right": [
|
"custom/power",
|
||||||
"tray",
|
],
|
||||||
"power-profiles-daemon",
|
"mpris": {
|
||||||
"hyprland/language",
|
"format": "DEFAULT: {player_icon} {dynamic}",
|
||||||
"pulseaudio",
|
"format-paused": "DEFAULT: {status_icon} <i>{dynamic}</i>",
|
||||||
"network",
|
"player-icons": {
|
||||||
"battery",
|
"default": "▶",
|
||||||
"clock",
|
"mpv": "🎵",
|
||||||
"custom/power"
|
|
||||||
],
|
|
||||||
"mpris": {
|
|
||||||
"format": "DEFAULT: {player_icon} {dynamic}",
|
|
||||||
"format-paused": "DEFAULT: {status_icon} <i>{dynamic}</i>",
|
|
||||||
"player-icons": {
|
|
||||||
"default": "▶",
|
|
||||||
"mpv": "🎵"
|
|
||||||
},
|
|
||||||
"status-icons": {
|
|
||||||
"paused": "⏸"
|
|
||||||
}
|
|
||||||
// "ignored-players": ["firefox"]
|
|
||||||
},
|
},
|
||||||
"tray": {
|
"status-icons": {
|
||||||
"icon-size": 14,
|
"paused": "⏸",
|
||||||
"spacing": 10
|
|
||||||
},
|
},
|
||||||
"clock": {
|
// "ignored-players": ["firefox"]
|
||||||
"format": "{:%I:%M:%S %p}",
|
},
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
"tray": {
|
||||||
"format-alt": "{:%Y-%m-%d}",
|
"icon-size": 14,
|
||||||
"interval": 1
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p}",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "<span font='14' color='#33d17a'> </span> {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "<span font='14' color='#c061cb'> </span> {}%",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"interval": 1,
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15,
|
||||||
},
|
},
|
||||||
"cpu": {
|
"format": "<span font='14'>{icon}</span> {capacity}%",
|
||||||
"format": "<span font='14' color='#33d17a'> </span> {usage}%",
|
"format-full": "<span font='14'>{icon}</span> {capacity}%",
|
||||||
"tooltip": false,
|
"format-charging": "<span font='14'></span> {capacity}%",
|
||||||
"interval": 1
|
"format-plugged": "<span font='14'></span> {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", ""],
|
||||||
|
},
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||||
|
"tooltip": true,
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"performance": "",
|
||||||
|
"balanced": "",
|
||||||
|
"power-saver": "",
|
||||||
},
|
},
|
||||||
"memory": {
|
},
|
||||||
"format": "<span font='14' color='#c061cb'> </span> {}%",
|
"network": {
|
||||||
"interval": 1
|
"format-wifi": "<span font='14' color='#3584e4'></span> ",
|
||||||
|
"format-ethernet": "<span font='14'></span>",
|
||||||
|
"format-disconnected": "<span font='14'></span>",
|
||||||
|
"format-alt": "{bandwidthDownBytes}",
|
||||||
|
"interval": 1,
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "<span font='14' color='#f5c211'>{icon}</span> {volume}%",
|
||||||
|
"format-muted": "<span font='14'></span>",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": " ",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""],
|
||||||
},
|
},
|
||||||
"battery": {
|
"on-click": "pavucontrol",
|
||||||
"interval": 1,
|
},
|
||||||
"states": {
|
"custom/power": {
|
||||||
// "good": 95,
|
"format": "⏻",
|
||||||
"warning": 30,
|
"tooltip": false,
|
||||||
"critical": 15
|
"on-click": "wlogout",
|
||||||
},
|
},
|
||||||
"format": "<span font='14'>{icon}</span> {capacity}%",
|
"custom/logo": {
|
||||||
"format-full": "<span font='14'>{icon}</span> {capacity}%",
|
"format": "<span font='14'></span>",
|
||||||
"format-charging": "<span font='14'></span> {capacity}%",
|
"on-click": "wofi --show drun",
|
||||||
"format-plugged": "<span font='14'></span> {capacity}%",
|
},
|
||||||
"format-icons": [
|
"bluetooth": {
|
||||||
"",
|
"format": "<span font='14'></span>",
|
||||||
"",
|
"format-disabled": "<span font='14'></span>",
|
||||||
"",
|
"format-connected": "<span font='14'></span>",
|
||||||
"",
|
"on-click": "blueman-manager",
|
||||||
""
|
},
|
||||||
]
|
"custom/keyboard-layer": {
|
||||||
},
|
"exec": "~/scripts/keyboard-layer.sh",
|
||||||
"power-profiles-daemon": {
|
"return-type": "json",
|
||||||
"format": "{icon}",
|
"interval": "once",
|
||||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
"format": "🎹 {}",
|
||||||
"tooltip": true,
|
},
|
||||||
"format-icons": {
|
|
||||||
"default": "",
|
|
||||||
"performance": "",
|
|
||||||
"balanced": "",
|
|
||||||
"power-saver": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format-wifi": "<span font='14' color='#3584e4'></span> ",
|
|
||||||
"format-ethernet": "<span font='14'></span>",
|
|
||||||
"format-disconnected": "<span font='14'></span>",
|
|
||||||
"format-alt": "{bandwidthDownBytes}",
|
|
||||||
"interval": 1
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "<span font='14' color='#f5c211'>{icon}</span> {volume}%",
|
|
||||||
"format-muted": "<span font='14'></span>",
|
|
||||||
"format-source": "{volume}% ",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": " ",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"on-click": "pavucontrol"
|
|
||||||
},
|
|
||||||
"custom/power": {
|
|
||||||
"format": "⏻",
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "wlogout"
|
|
||||||
},
|
|
||||||
"custom/logo": {
|
|
||||||
"format": "<span font='14'></span>",
|
|
||||||
"on-click": "wofi --show drun"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format": "<span font='14'></span>",
|
|
||||||
"format-disabled": "<span font='14'></span>",
|
|
||||||
"format-connected": "<span font='14'></span>",
|
|
||||||
"on-click": "blueman-manager"
|
|
||||||
},
|
|
||||||
"custom/keyboard-layer": {
|
|
||||||
"exec": "~/scripts/keyboard-layer.sh",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"format": "🎹 {}"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,19 @@
|
|||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = "F", run = "plugin smart-filter", desc = "Smart filter" },
|
{ on = "F", run = "plugin smart-filter", desc = "Smart filter" },
|
||||||
# rsync plugin
|
# rsync plugin
|
||||||
{ on = ["R"], run = "plugin rsync", desc = "Copy files using rsync" },
|
{ on = [
|
||||||
|
"R",
|
||||||
|
], run = "plugin rsync", desc = "Copy files using rsync" },
|
||||||
# yafg plugin
|
# yafg plugin
|
||||||
{ on = ["F", "G"], run = "plugin yafg" },
|
{ on = [
|
||||||
|
"F",
|
||||||
|
"G",
|
||||||
|
], run = "plugin yafg" },
|
||||||
# lazygit plugin
|
# lazygit plugin
|
||||||
{ on = ["g", "i"], run = "plugin lazygit", desc = "run lazygit" },
|
{ on = [
|
||||||
|
"g",
|
||||||
|
"i",
|
||||||
|
], run = "plugin lazygit", desc = "run lazygit" },
|
||||||
# mount plugin
|
# mount plugin
|
||||||
{ on = "M", run = "plugin mount" },
|
{ on = "M", run = "plugin mount" },
|
||||||
# smart-enter plugin
|
# smart-enter plugin
|
||||||
@@ -18,68 +26,207 @@ prepend_keymap = [
|
|||||||
# Direct fuzzy search access
|
# Direct fuzzy search access
|
||||||
{ on = "}", run = "plugin whoosh jump_by_fzf", desc = "Direct fuzzy search for bookmarks" },
|
{ on = "}", run = "plugin whoosh jump_by_fzf", desc = "Direct fuzzy search for bookmarks" },
|
||||||
# Basic bookmark operations
|
# Basic bookmark operations
|
||||||
{ on = ["]", "a"], run = "plugin whoosh save", desc = "Add bookmark (hovered file/directory)" },
|
{ on = [
|
||||||
{ on = ["]", "A"], run = "plugin whoosh save_cwd", desc = "Add bookmark (current directory)" },
|
"]",
|
||||||
|
"a",
|
||||||
|
], run = "plugin whoosh save", desc = "Add bookmark (hovered file/directory)" },
|
||||||
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"A",
|
||||||
|
], run = "plugin whoosh save_cwd", desc = "Add bookmark (current directory)" },
|
||||||
## Temporary bookmarks
|
## Temporary bookmarks
|
||||||
{ on = ["]", "t"], run = "plugin whoosh save_temp", desc = "Add temporary bookmark (hovered file/directory)" },
|
{ on = [
|
||||||
{ on = ["]", "T"], run = "plugin whoosh save_cwd_temp", desc = "Add temporary bookmark (current directory)" },
|
"]",
|
||||||
|
"t",
|
||||||
|
], run = "plugin whoosh save_temp", desc = "Add temporary bookmark (hovered file/directory)" },
|
||||||
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"T",
|
||||||
|
], run = "plugin whoosh save_cwd_temp", desc = "Add temporary bookmark (current directory)" },
|
||||||
## Jump to bookmarks
|
## Jump to bookmarks
|
||||||
{ on = "<A-k>", run = "plugin whoosh jump_key_k", desc = "Jump directly to bookmark with key k" },
|
{ on = "<A-k>", run = "plugin whoosh jump_key_k", desc = "Jump directly to bookmark with key k" },
|
||||||
{ on = ["]", "f"], run = "plugin whoosh jump_by_fzf", desc = "Jump bookmark by fzf" },
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"f",
|
||||||
|
], run = "plugin whoosh jump_by_fzf", desc = "Jump bookmark by fzf" },
|
||||||
## Delete bookmarks
|
## Delete bookmarks
|
||||||
{ on = ["]", "d"], run = "plugin whoosh delete_by_key", desc = "Delete bookmark by key" },
|
{ on = [
|
||||||
{ on = ["]", "D"], run = "plugin whoosh delete_by_fzf", desc = "Delete bookmarks by fzf (use TAB to select multiple)" },
|
"]",
|
||||||
{ on = ["]", "C"], run = "plugin whoosh delete_all", desc = "Delete all user bookmarks" },
|
"d",
|
||||||
|
], run = "plugin whoosh delete_by_key", desc = "Delete bookmark by key" },
|
||||||
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"D",
|
||||||
|
], run = "plugin whoosh delete_by_fzf", desc = "Delete bookmarks by fzf (use TAB to select multiple)" },
|
||||||
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"C",
|
||||||
|
], run = "plugin whoosh delete_all", desc = "Delete all user bookmarks" },
|
||||||
## Rename Bookmarks
|
## Rename Bookmarks
|
||||||
{ on = ["]", "r"], run = "plugin whoosh rename_by_key", desc = "Rename bookmark by key" },
|
{ on = [
|
||||||
{ on = ["]", "R"], run = "plugin whoosh rename_by_fzf", desc = "Rename bookmark by fzf" },
|
"]",
|
||||||
|
"r",
|
||||||
|
], run = "plugin whoosh rename_by_key", desc = "Rename bookmark by key" },
|
||||||
|
{ on = [
|
||||||
|
"]",
|
||||||
|
"R",
|
||||||
|
], run = "plugin whoosh rename_by_fzf", desc = "Rename bookmark by fzf" },
|
||||||
# Navigation
|
# Navigation
|
||||||
{ on = ["<Esc>"], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
{ on = [
|
||||||
{ on = ["q"], run = "quit", desc = "Exit the process" },
|
"<Esc>",
|
||||||
{ on = ["<C-q>"], run = "close", desc = "Close the current tab, or quit if it is last tab" },
|
], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||||
|
{ on = [
|
||||||
|
"q",
|
||||||
|
], run = "quit", desc = "Exit the process" },
|
||||||
|
{ on = [
|
||||||
|
"<C-q>",
|
||||||
|
], run = "close", desc = "Close the current tab, or quit if it is last tab" },
|
||||||
# projects plugin
|
# projects plugin
|
||||||
{ on = ["P", "p"], run = "plugin projects 'load SomeProject'", desc = "Load the 'SomeProject' project" },
|
{ on = [
|
||||||
{ on = ["P", "s"], run = "plugin projects save", desc = "Save current project" },
|
"P",
|
||||||
{ on = ["P", "l"], run = "plugin projects load", desc = "Load project" },
|
"p",
|
||||||
{ on = ["P", "P"], run = "plugin projects load_last", desc = "Load last project" },
|
], run = "plugin projects 'load SomeProject'", desc = "Load the 'SomeProject' project" },
|
||||||
{ on = ["P", "d"], run = "plugin projects delete", desc = "Delete project" },
|
{ on = [
|
||||||
{ on = ["P", "D"], run = "plugin projects delete_all", desc = "Delete all projects" },
|
"P",
|
||||||
{ on = ["P", "m"], run = "plugin projects 'merge current'", desc = "Merge current tab to other projects" },
|
"s",
|
||||||
{ on = ["P", "M"], run = "plugin projects 'merge all'", desc = "Merge current project to other projects" },
|
], run = "plugin projects save", desc = "Save current project" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"l",
|
||||||
|
], run = "plugin projects load", desc = "Load project" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"P",
|
||||||
|
], run = "plugin projects load_last", desc = "Load last project" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"d",
|
||||||
|
], run = "plugin projects delete", desc = "Delete project" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"D",
|
||||||
|
], run = "plugin projects delete_all", desc = "Delete all projects" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"m",
|
||||||
|
], run = "plugin projects 'merge current'", desc = "Merge current tab to other projects" },
|
||||||
|
{ on = [
|
||||||
|
"P",
|
||||||
|
"M",
|
||||||
|
], run = "plugin projects 'merge all'", desc = "Merge current project to other projects" },
|
||||||
# fazif plugin
|
# fazif plugin
|
||||||
{ on = ["b", "d"], run = "plugin fazif faziffd", desc = "Find files/directories with fd and fzf" },
|
{ on = [
|
||||||
{ on = ["b", "D"], run = "plugin fazif faziffdr", desc = "Find files/directories with fd and fzf" },
|
"b",
|
||||||
{ on = ["b", "r"], run = "plugin fazif fazifrg", desc = "Find content in files with ripgrep and fzf" },
|
"d",
|
||||||
{ on = ["b", "R"], run = "plugin fazif fazifrga", desc = "Find content in documents with ripgrep-all and fzf" },
|
], run = "plugin fazif faziffd", desc = "Find files/directories with fd and fzf" },
|
||||||
|
{ on = [
|
||||||
|
"b",
|
||||||
|
"D",
|
||||||
|
], run = "plugin fazif faziffdr", desc = "Find files/directories with fd and fzf" },
|
||||||
|
{ on = [
|
||||||
|
"b",
|
||||||
|
"r",
|
||||||
|
], run = "plugin fazif fazifrg", desc = "Find content in files with ripgrep and fzf" },
|
||||||
|
{ on = [
|
||||||
|
"b",
|
||||||
|
"R",
|
||||||
|
], run = "plugin fazif fazifrga", desc = "Find content in documents with ripgrep-all and fzf" },
|
||||||
# Tagging plugin
|
# Tagging plugin
|
||||||
# ─────────────────────────── TOGGLE TAG(S) ────────────────────────────
|
# ─────────────────────────── TOGGLE TAG(S) ────────────────────────────
|
||||||
{ on = ["t", "t", "k"], run = "plugin simple-tag -- toggle-tag", desc = "Toggle a tag (press any key)" },
|
{ on = [
|
||||||
{ on = ["'"], run = "plugin simple-tag -- toggle-tag --keys=!", desc = "Toggle tag(s) with fixed tag key(s) = (! and 1 and q)" },
|
"t",
|
||||||
{ on = ["-"], run = "plugin simple-tag -- toggle-tag --keys=1", desc = "Toggle tag(s) with fixed tag key(s) = (! and 1 and q)" },
|
"t",
|
||||||
{ on = ["t", "t", "i"], run = "plugin simple-tag -- toggle-tag --input", desc = "Toggle tag(s) with value from (input box)" },
|
"k",
|
||||||
|
], run = "plugin simple-tag -- toggle-tag", desc = "Toggle a tag (press any key)" },
|
||||||
|
{ on = [
|
||||||
|
"'",
|
||||||
|
], run = "plugin simple-tag -- toggle-tag --keys=!", desc = "Toggle tag(s) with fixed tag key(s) = (! and 1 and q)" },
|
||||||
|
{ on = [
|
||||||
|
"-",
|
||||||
|
], run = "plugin simple-tag -- toggle-tag --keys=1", desc = "Toggle tag(s) with fixed tag key(s) = (! and 1 and q)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"t",
|
||||||
|
"i",
|
||||||
|
], run = "plugin simple-tag -- toggle-tag --input", desc = "Toggle tag(s) with value from (input box)" },
|
||||||
# ─────────────────────────── ADD TAG(S) ───────────────────────────────
|
# ─────────────────────────── ADD TAG(S) ───────────────────────────────
|
||||||
{ on = ["t", "a", "k"], run = "plugin simple-tag -- add-tag", desc = "Add a tag (press any key)" },
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"a",
|
||||||
|
"k",
|
||||||
|
], run = "plugin simple-tag -- add-tag", desc = "Add a tag (press any key)" },
|
||||||
# { on = [ "t", "a", "f" ], run = "plugin simple-tag -- add-tag --keys=!1q", desc = "Add tag(s) with fixed tag keys = (! and 1 and q)" },
|
# { on = [ "t", "a", "f" ], run = "plugin simple-tag -- add-tag --keys=!1q", desc = "Add tag(s) with fixed tag keys = (! and 1 and q)" },
|
||||||
{ on = ["t", "a", "i"], run = "plugin simple-tag -- add-tag --input", desc = "Add tag(s) with value from (input box)" },
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"a",
|
||||||
|
"i",
|
||||||
|
], run = "plugin simple-tag -- add-tag --input", desc = "Add tag(s) with value from (input box)" },
|
||||||
# ─────────────────────────── REMOVE/DELETE TAG(S) ───────────────────────────
|
# ─────────────────────────── REMOVE/DELETE TAG(S) ───────────────────────────
|
||||||
{ on = ["t", "d", "k"], run = "plugin simple-tag -- remove-tag", desc = "Remove a tag (press any key)" },
|
{ on = [
|
||||||
{ on = ["t", "d", "f"], run = "plugin simple-tag -- remove-tag --keys=!1q", desc = "Remove tag(s) with fixed tag keys = (! and 1 and q)" },
|
"t",
|
||||||
{ on = ["t", "d", "i"], run = "plugin simple-tag -- remove-tag --input", desc = "Remove tag(s) with value from (input box)" },
|
"d",
|
||||||
|
"k",
|
||||||
|
], run = "plugin simple-tag -- remove-tag", desc = "Remove a tag (press any key)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"d",
|
||||||
|
"f",
|
||||||
|
], run = "plugin simple-tag -- remove-tag --keys=!1q", desc = "Remove tag(s) with fixed tag keys = (! and 1 and q)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"d",
|
||||||
|
"i",
|
||||||
|
], run = "plugin simple-tag -- remove-tag --input", desc = "Remove tag(s) with value from (input box)" },
|
||||||
# ─────────────────────────── REPLACE ALL OLD TAG(S) WITH NEW TAG(S) ───────────────────────────
|
# ─────────────────────────── REPLACE ALL OLD TAG(S) WITH NEW TAG(S) ───────────────────────────
|
||||||
{ on = ["t", "r", "k"], run = "plugin simple-tag -- replace-tag", desc = "Replace with a new tag (press any key)" },
|
{ on = [
|
||||||
{ on = ["t", "r", "f"], run = "plugin simple-tag -- replace-tag --keys=!1q", desc = "Replace tag(s) with fixed tag keys = (! and 1 and q)" },
|
"t",
|
||||||
{ on = ["t", "r", "i"], run = "plugin simple-tag -- replace-tag --input", desc = "Replace tag(s) with value from (input box)" },
|
"r",
|
||||||
|
"k",
|
||||||
|
], run = "plugin simple-tag -- replace-tag", desc = "Replace with a new tag (press any key)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"r",
|
||||||
|
"f",
|
||||||
|
], run = "plugin simple-tag -- replace-tag --keys=!1q", desc = "Replace tag(s) with fixed tag keys = (! and 1 and q)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"r",
|
||||||
|
"i",
|
||||||
|
], run = "plugin simple-tag -- replace-tag --input", desc = "Replace tag(s) with value from (input box)" },
|
||||||
# ─────────────────────────── EDIT TAG(S) ───────────────────────────
|
# ─────────────────────────── EDIT TAG(S) ───────────────────────────
|
||||||
{ on = ["t", "e"], run = "plugin simple-tag -- edit-tag ", desc = "Edit tag(s) (input box)" },
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"e",
|
||||||
|
], run = "plugin simple-tag -- edit-tag ", desc = "Edit tag(s) (input box)" },
|
||||||
# ───────────────────────────── CLEAR TAG(S) ─────────────────────────────
|
# ───────────────────────────── CLEAR TAG(S) ─────────────────────────────
|
||||||
{ on = ["t", "c"], run = "plugin simple-tag -- clear", desc = "Clear all tags from selected or hovered files" },
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"c",
|
||||||
|
], run = "plugin simple-tag -- clear", desc = "Clear all tags from selected or hovered files" },
|
||||||
# ───────────────────────────── CHANGE UI ─────────────────────────────
|
# ───────────────────────────── CHANGE UI ─────────────────────────────
|
||||||
{ on = ["t", "u", "s"], run = "plugin simple-tag -- toggle-ui", desc = "Toggle tag indicator (icon > tag key > hidden)" },
|
{ on = [
|
||||||
{ on = ["t", "u", "h"], run = "plugin simple-tag -- toggle-ui --mode=hidden", desc = "Hide all tags indicator" },
|
"t",
|
||||||
|
"u",
|
||||||
|
"s",
|
||||||
|
], run = "plugin simple-tag -- toggle-ui", desc = "Toggle tag indicator (icon > tag key > hidden)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"u",
|
||||||
|
"h",
|
||||||
|
], run = "plugin simple-tag -- toggle-ui --mode=hidden", desc = "Hide all tags indicator" },
|
||||||
# ─────────────────────── FILTER FILES/FOLDERS BY TAGS: ───────────────────────
|
# ─────────────────────── FILTER FILES/FOLDERS BY TAGS: ───────────────────────
|
||||||
{ on = ["t", "f"], run = "plugin simple-tag -- filter", desc = "Filter files/folders by a tag (press any key)" },
|
{ on = [
|
||||||
{ on = ["t", "F"], run = "plugin simple-tag -- filter --input", desc = "Filter files/folders by tag(s) (input box)" },
|
"t",
|
||||||
{ on = ["t", "F"], run = "plugin simple-tag -- filter --input --mode=or", desc = "Filter files/folders by contain tags (input box)" },
|
"f",
|
||||||
|
], run = "plugin simple-tag -- filter", desc = "Filter files/folders by a tag (press any key)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"F",
|
||||||
|
], run = "plugin simple-tag -- filter --input", desc = "Filter files/folders by tag(s) (input box)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"F",
|
||||||
|
], run = "plugin simple-tag -- filter --input --mode=or", desc = "Filter files/folders by contain tags (input box)" },
|
||||||
# ─────────────────────── VISUAL SELECT FILES/FOLDERS BY TAGS: ───────────────────────
|
# ─────────────────────── VISUAL SELECT FILES/FOLDERS BY TAGS: ───────────────────────
|
||||||
# Available selection actions:
|
# Available selection actions:
|
||||||
# replace → Replaces the current selection list with files/folders that have the selected tag.
|
# replace → Replaces the current selection list with files/folders that have the selected tag.
|
||||||
@@ -88,91 +235,247 @@ prepend_keymap = [
|
|||||||
# subtract → Deselects files/folders that have the selected tag from the current selection.
|
# subtract → Deselects files/folders that have the selected tag from the current selection.
|
||||||
# exclude → Combines the currently selected files/folders with the tagged items, then deselects any overlapping items between the current selection and the tagged items.
|
# exclude → Combines the currently selected files/folders with the tagged items, then deselects any overlapping items between the current selection and the tagged items.
|
||||||
# undo → Undos or redoes the last selection action.
|
# undo → Undos or redoes the last selection action.
|
||||||
{ on = ["t", "s", "t"], run = "plugin simple-tag -- toggle-select", desc = "Select a selection action then select a tag key (toggle-select)" },
|
{ on = [
|
||||||
{ on = ["t", "s", "t"], run = "plugin simple-tag -- toggle-select --keys=!1q", desc = "" },
|
"t",
|
||||||
{ on = ["t", "s", "r"], run = "plugin simple-tag -- replace-select", desc = "replace-select" },
|
"s",
|
||||||
{ on = ["t", "s", "u"], run = "plugin simple-tag -- unite-select", desc = "unite-select" },
|
"t",
|
||||||
{ on = ["t", "s", "i"], run = "plugin simple-tag -- intersect-select", desc = "intersect-select" },
|
], run = "plugin simple-tag -- toggle-select", desc = "Select a selection action then select a tag key (toggle-select)" },
|
||||||
{ on = ["t", "s", "s"], run = "plugin simple-tag -- subtract-select", desc = "subtract-select" },
|
{ on = [
|
||||||
{ on = ["t", "s", "e"], run = "plugin simple-tag -- exclude-select", desc = "exclude-select" },
|
"t",
|
||||||
{ on = ["t", "s", "e"], run = "plugin simple-tag -- replace-select --keys=!1q", desc = "Replaces the current selection list with files/folders that have (! and 1 and q) tag(s)" },
|
"s",
|
||||||
{ on = ["t", "s", "R"], run = "plugin simple-tag -- replace-select --input", desc = "replace-select --input" },
|
"t",
|
||||||
{ on = ["t", "s", "U"], run = "plugin simple-tag -- unite-select --input", desc = "unite-select --input" },
|
], run = "plugin simple-tag -- toggle-select --keys=!1q", desc = "" },
|
||||||
{ on = ["t", "s", "I"], run = "plugin simple-tag -- intersect-select --input", desc = "intersect-select --input" },
|
{ on = [
|
||||||
{ on = ["t", "s", "S"], run = "plugin simple-tag -- subtract-select --input", desc = "subtract-select --input" },
|
"t",
|
||||||
{ on = ["t", "s", "E"], run = "plugin simple-tag -- exclude-select --input", desc = "exclude-select --input" },
|
"s",
|
||||||
{ on = ["t", "s", "R"], run = "plugin simple-tag -- replace-select --input --mode=or", desc = "replace-select --input --mode=or" },
|
"r",
|
||||||
{ on = ["t", "s", "R"], run = "plugin simple-tag -- replace-select --keys=!1q --mode=or", desc = "replace-select --keys=!1q --mode=or" },
|
], run = "plugin simple-tag -- replace-select", desc = "replace-select" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"u",
|
||||||
|
], run = "plugin simple-tag -- unite-select", desc = "unite-select" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"i",
|
||||||
|
], run = "plugin simple-tag -- intersect-select", desc = "intersect-select" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"s",
|
||||||
|
], run = "plugin simple-tag -- subtract-select", desc = "subtract-select" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"e",
|
||||||
|
], run = "plugin simple-tag -- exclude-select", desc = "exclude-select" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"e",
|
||||||
|
], run = "plugin simple-tag -- replace-select --keys=!1q", desc = "Replaces the current selection list with files/folders that have (! and 1 and q) tag(s)" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"R",
|
||||||
|
], run = "plugin simple-tag -- replace-select --input", desc = "replace-select --input" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"U",
|
||||||
|
], run = "plugin simple-tag -- unite-select --input", desc = "unite-select --input" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"I",
|
||||||
|
], run = "plugin simple-tag -- intersect-select --input", desc = "intersect-select --input" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"S",
|
||||||
|
], run = "plugin simple-tag -- subtract-select --input", desc = "subtract-select --input" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"E",
|
||||||
|
], run = "plugin simple-tag -- exclude-select --input", desc = "exclude-select --input" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"R",
|
||||||
|
], run = "plugin simple-tag -- replace-select --input --mode=or", desc = "replace-select --input --mode=or" },
|
||||||
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"R",
|
||||||
|
], run = "plugin simple-tag -- replace-select --keys=!1q --mode=or", desc = "replace-select --keys=!1q --mode=or" },
|
||||||
# Undo/Redo selection (only works after using 5 modes above)
|
# Undo/Redo selection (only works after using 5 modes above)
|
||||||
{ on = ["t", "s", "u"], run = "plugin simple-tag -- undo-select", desc = "Undos/Redos the last selection action" },
|
{ on = [
|
||||||
|
"t",
|
||||||
|
"s",
|
||||||
|
"u",
|
||||||
|
], run = "plugin simple-tag -- undo-select", desc = "Undos/Redos the last selection action" },
|
||||||
# Directory navigation
|
# Directory navigation
|
||||||
{ on = ["k"], run = "arrow -1", desc = "Move cursor up" },
|
{ on = [
|
||||||
{ on = ["j"], run = "arrow 1", desc = "Move cursor down" },
|
"k",
|
||||||
{ on = ["h"], run = "leave", desc = "Go back to parent directory" },
|
], run = "arrow -1", desc = "Move cursor up" },
|
||||||
{ on = ["l"], run = "enter", desc = "Enter directory" },
|
{ on = [
|
||||||
|
"j",
|
||||||
|
], run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
{ on = [
|
||||||
|
"h",
|
||||||
|
], run = "leave", desc = "Go back to parent directory" },
|
||||||
|
{ on = [
|
||||||
|
"l",
|
||||||
|
], run = "enter", desc = "Enter directory" },
|
||||||
# File operations
|
# File operations
|
||||||
{ on = ["<Enter>"], run = "open", desc = "Open selected files" },
|
{ on = [
|
||||||
{ on = ["y"], run = "yank", desc = "Yank selected files (copy)" },
|
"<Enter>",
|
||||||
{ on = ["x"], run = "yank --cut", desc = "Yank selected files (cut)" },
|
], run = "open", desc = "Open selected files" },
|
||||||
{ on = ["p"], run = "paste", desc = "Paste yanked files" },
|
{ on = [
|
||||||
{ on = ["d"], run = "remove", desc = "Trash selected files" },
|
"y",
|
||||||
{ on = ["D"], run = "remove --permanently", desc = "Permanently delete selected files" },
|
], run = "yank", desc = "Yank selected files (copy)" },
|
||||||
{ on = ["a"], run = "create", desc = "Create a file or directory" },
|
{ on = [
|
||||||
{ on = ["r"], run = "rename --cursor=before_ext", desc = "Rename selected file" },
|
"x",
|
||||||
|
], run = "yank --cut", desc = "Yank selected files (cut)" },
|
||||||
|
{ on = [
|
||||||
|
"p",
|
||||||
|
], run = "paste", desc = "Paste yanked files" },
|
||||||
|
{ on = [
|
||||||
|
"d",
|
||||||
|
], run = "remove", desc = "Trash selected files" },
|
||||||
|
{ on = [
|
||||||
|
"D",
|
||||||
|
], run = "remove --permanently", desc = "Permanently delete selected files" },
|
||||||
|
{ on = [
|
||||||
|
"a",
|
||||||
|
], run = "create", desc = "Create a file or directory" },
|
||||||
|
{ on = [
|
||||||
|
"r",
|
||||||
|
], run = "rename --cursor=before_ext", desc = "Rename selected file" },
|
||||||
# Selection
|
# Selection
|
||||||
{ on = ["e"], run = ["select --state=none", "arrow 1"], desc = "Toggle selection" },
|
{ on = [
|
||||||
{ on = ["v"], run = "visual_mode", desc = "Enter visual mode" },
|
"e",
|
||||||
{ on = ["V"], run = "visual_mode --unset", desc = "Enter visual mode (unset)" },
|
], run = [
|
||||||
|
"select --state=none",
|
||||||
|
"arrow 1",
|
||||||
|
], desc = "Toggle selection" },
|
||||||
|
{ on = [
|
||||||
|
"v",
|
||||||
|
], run = "visual_mode", desc = "Enter visual mode" },
|
||||||
|
{ on = [
|
||||||
|
"V",
|
||||||
|
], run = "visual_mode --unset", desc = "Enter visual mode (unset)" },
|
||||||
# Search
|
# Search
|
||||||
{ on = ["/"], run = "find --smart", desc = "Find file" },
|
{ on = [
|
||||||
{ on = ["n"], run = "find_arrow", desc = "Go to next found" },
|
"/",
|
||||||
{ on = ["N"], run = "find_arrow --previous", desc = "Go to previous found" },
|
], run = "find --smart", desc = "Find file" },
|
||||||
|
{ on = [
|
||||||
|
"n",
|
||||||
|
], run = "find_arrow", desc = "Go to next found" },
|
||||||
|
{ on = [
|
||||||
|
"N",
|
||||||
|
], run = "find_arrow --previous", desc = "Go to previous found" },
|
||||||
# Tabs
|
# Tabs
|
||||||
{ on = ["T"], run = "tab_create --current", desc = "Create new tab" },
|
{ on = [
|
||||||
{ on = ["1"], run = "tab_switch 0", desc = "Switch to tab 1" },
|
"T",
|
||||||
{ on = ["2"], run = "tab_switch 1", desc = "Switch to tab 2" },
|
], run = "tab_create --current", desc = "Create new tab" },
|
||||||
{ on = ["3"], run = "tab_switch 2", desc = "Switch to tab 3" },
|
{ on = [
|
||||||
|
"1",
|
||||||
|
], run = "tab_switch 0", desc = "Switch to tab 1" },
|
||||||
|
{ on = [
|
||||||
|
"2",
|
||||||
|
], run = "tab_switch 1", desc = "Switch to tab 2" },
|
||||||
|
{ on = [
|
||||||
|
"3",
|
||||||
|
], run = "tab_switch 2", desc = "Switch to tab 3" },
|
||||||
# Preview
|
# Preview
|
||||||
{ on = ["z"], run = "plugin --sync hide-preview", desc = "Toggle preview" },
|
{ on = [
|
||||||
|
"z",
|
||||||
|
], run = "plugin --sync hide-preview", desc = "Toggle preview" },
|
||||||
# Other
|
# Other
|
||||||
{ on = ["g", "h"], run = "cd ~", desc = "Go to home directory" },
|
{ on = [
|
||||||
{ on = ["g", "c"], run = "cd ~/.config", desc = "Go to config directory" },
|
"g",
|
||||||
{ on = ["g", "d"], run = "cd ~/Downloads", desc = "Go to downloads" },
|
"h",
|
||||||
{ on = ["~"], run = "help", desc = "Open help" },
|
], run = "cd ~", desc = "Go to home directory" },
|
||||||
|
{ on = [
|
||||||
|
"g",
|
||||||
|
"c",
|
||||||
|
], run = "cd ~/.config", desc = "Go to config directory" },
|
||||||
|
{ on = [
|
||||||
|
"g",
|
||||||
|
"d",
|
||||||
|
], run = "cd ~/Downloads", desc = "Go to downloads" },
|
||||||
|
{ on = [
|
||||||
|
"~",
|
||||||
|
], run = "help", desc = "Open help" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks]
|
[tasks]
|
||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = ["<Esc>"], run = "close", desc = "Close task manager" },
|
{ on = [
|
||||||
{ on = ["k"], run = "arrow -1", desc = "Move cursor up" },
|
"<Esc>",
|
||||||
{ on = ["j"], run = "arrow 1", desc = "Move cursor down" },
|
], run = "close", desc = "Close task manager" },
|
||||||
|
{ on = [
|
||||||
|
"k",
|
||||||
|
], run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = [
|
||||||
|
"j",
|
||||||
|
], run = "arrow 1", desc = "Move cursor down" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[select]
|
[select]
|
||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = ["<Esc>"], run = "close", desc = "Cancel selection" },
|
{ on = [
|
||||||
{ on = ["<Enter>"], run = "close --submit", desc = "Submit selection" },
|
"<Esc>",
|
||||||
{ on = ["k"], run = "arrow -1", desc = "Move cursor up" },
|
], run = "close", desc = "Cancel selection" },
|
||||||
{ on = ["j"], run = "arrow 1", desc = "Move cursor down" },
|
{ on = [
|
||||||
|
"<Enter>",
|
||||||
|
], run = "close --submit", desc = "Submit selection" },
|
||||||
|
{ on = [
|
||||||
|
"k",
|
||||||
|
], run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = [
|
||||||
|
"j",
|
||||||
|
], run = "arrow 1", desc = "Move cursor down" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = ["<Esc>"], run = "close", desc = "Cancel input" },
|
{ on = [
|
||||||
{ on = ["<Enter>"], run = "close --submit", desc = "Submit input" },
|
"<Esc>",
|
||||||
|
], run = "close", desc = "Cancel input" },
|
||||||
|
{ on = [
|
||||||
|
"<Enter>",
|
||||||
|
], run = "close --submit", desc = "Submit input" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[completion]
|
[completion]
|
||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = ["<Tab>"], run = "close --submit", desc = "Submit completion" },
|
{ on = [
|
||||||
{ on = ["k"], run = "arrow -1", desc = "Move cursor up" },
|
"<Tab>",
|
||||||
{ on = ["j"], run = "arrow 1", desc = "Move cursor down" },
|
], run = "close --submit", desc = "Submit completion" },
|
||||||
|
{ on = [
|
||||||
|
"k",
|
||||||
|
], run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = [
|
||||||
|
"j",
|
||||||
|
], run = "arrow 1", desc = "Move cursor down" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[help]
|
[help]
|
||||||
prepend_keymap = [
|
prepend_keymap = [
|
||||||
{ on = ["<Esc>"], run = "escape", desc = "Clear filter or exit help" },
|
{ on = [
|
||||||
{ on = ["q"], run = "close", desc = "Exit help" },
|
"<Esc>",
|
||||||
{ on = ["k"], run = "arrow -1", desc = "Move cursor up" },
|
], run = "escape", desc = "Clear filter or exit help" },
|
||||||
{ on = ["j"], run = "arrow 1", desc = "Move cursor down" },
|
{ on = [
|
||||||
|
"q",
|
||||||
|
], run = "close", desc = "Exit help" },
|
||||||
|
{ on = [
|
||||||
|
"k",
|
||||||
|
], run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = [
|
||||||
|
"j",
|
||||||
|
], run = "arrow 1", desc = "Move cursor down" },
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -73,11 +73,6 @@ use = "GianniBYoung/rsync"
|
|||||||
rev = "14d2828"
|
rev = "14d2828"
|
||||||
hash = "7394430ba473dce1023721622438bf3d"
|
hash = "7394430ba473dce1023721622438bf3d"
|
||||||
|
|
||||||
[[plugin.deps]]
|
|
||||||
use = "Ape/simple-status"
|
|
||||||
rev = "d0da104"
|
|
||||||
hash = "68603fdd1dcaf415227e2c77a9317947"
|
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "llanosrocas/yaziline"
|
use = "llanosrocas/yaziline"
|
||||||
rev = "6266926"
|
rev = "6266926"
|
||||||
|
|||||||
@@ -1,16 +1,19 @@
|
|||||||
zshrc /home/liph/dotfiles/zshrc z
|
zshrc /home/liph/dotfiles/zshrc z
|
||||||
yazi /home/liph/dotfiles/yazi/.config/yazi y
|
yazi /home/liph/dotfiles/yazi/.config/yazi y
|
||||||
|
tex /home/liph/Documents/tex D,t
|
||||||
tank /mnt/tank t,t
|
tank /mnt/tank t,t
|
||||||
|
r /home/liph/Documents/r D,r
|
||||||
podman /mnt/flash1/podman t,p
|
podman /mnt/flash1/podman t,p
|
||||||
ohmyposh /home/liph/dotfiles/ohmyposh/.config/ohmyposh d,o
|
ohmyposh /home/liph/dotfiles/ohmyposh/.config/ohmyposh d,o
|
||||||
|
obsidian /home/liph/Documents/obsidian/vault D,o
|
||||||
nvim /home/liph/dotfiles/nvim/.config/nvim/ n,n,n
|
nvim /home/liph/dotfiles/nvim/.config/nvim/ n,n,n
|
||||||
neovim_plug /home/liph/dotfiles/nvim/.config/nvim/lua/plugins/ n,p
|
neovim_plug /home/liph/dotfiles/nvim/.config/nvim/lua/plugins/ n,p
|
||||||
mnt /mnt m
|
mnt /mnt m
|
||||||
kitty /home/liph/dotfiles/kitty/.config/kitty k
|
kitty /home/liph/dotfiles/kitty/.config/kitty k
|
||||||
hypr /home/liph/.config/hypr h
|
hypr /home/liph/.config/hypr h
|
||||||
home /home/liph f
|
home /home/liph f
|
||||||
Downloads /home/liph/Downloads D,D
|
Downloads /home/liph/Downloads D,d
|
||||||
dotfiles /home/liph/dotfiles d,d
|
dotfiles /home/liph/dotfiles d,d
|
||||||
Documents /home/liph/Documents D,d
|
Documents /home/liph/Documents D,D
|
||||||
.config /home/liph/.config c
|
.config /home/liph/.config c
|
||||||
aerc /home/liph/dotfiles/aerc/.config/aerc d,a
|
aerc /home/liph/dotfiles/aerc/.config/aerc d,a
|
||||||
|
|||||||
@@ -23,24 +23,14 @@ image_quality = 75
|
|||||||
# edit = [
|
# edit = [
|
||||||
# { run = '$EDITOR "$@"', block = true, for = "unix" },
|
# { run = '$EDITOR "$@"', block = true, for = "unix" },
|
||||||
# ]
|
# ]
|
||||||
open = [
|
open = [{ run = 'xdg-open "$1"', desc = "Open", orphan = true }]
|
||||||
{ run = 'xdg-open "$1"', desc = "Open", orphan = true },
|
edit = [{ run = 'nvim "$@"', block = true, desc = "nvim", for = "unix" }]
|
||||||
]
|
|
||||||
edit = [
|
|
||||||
{ run = 'nvim "$@"', block = true, desc = "nvim", for = "unix" },
|
|
||||||
]
|
|
||||||
reveal = [
|
reveal = [
|
||||||
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||||
]
|
]
|
||||||
play = [
|
play = [{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" }]
|
||||||
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
|
pdf = [{ run = 'zathura "$@"', orphan = true, for = "linux" }]
|
||||||
]
|
text = [{ run = 'nvim "$@"', block = true, for = "linux" }]
|
||||||
pdf = [
|
|
||||||
{ run = 'zathura "$@"', orphan = true, for = "linux" },
|
|
||||||
]
|
|
||||||
text = [
|
|
||||||
{ run = 'nvim "$@"', block = true, for = "linux" },
|
|
||||||
]
|
|
||||||
|
|
||||||
[open]
|
[open]
|
||||||
rules = [
|
rules = [
|
||||||
@@ -48,7 +38,7 @@ rules = [
|
|||||||
{ mime = "inode/empty", use = "edit" },
|
{ mime = "inode/empty", use = "edit" },
|
||||||
# { mime = "inode/x-empty", use = "edit" },
|
# { mime = "inode/x-empty", use = "edit" },
|
||||||
# Text files - use edit (which uses $EDITOR/nvim)
|
# Text files - use edit (which uses $EDITOR/nvim)
|
||||||
{ mime = "text/*", use = "edit" }, # Changed from "text" to "edit"
|
{ mime = "text/*", use = "edit" }, # Changed from "text" to "edit"
|
||||||
# { mime = "text/x-tex", use = "edit" }, # Changed from "text" to "edit"
|
# { mime = "text/x-tex", use = "edit" }, # Changed from "text" to "edit"
|
||||||
{ mime = "application/json", use = "edit" },
|
{ mime = "application/json", use = "edit" },
|
||||||
{ mime = "application/x-sh", use = "edit" },
|
{ mime = "application/x-sh", use = "edit" },
|
||||||
@@ -142,10 +132,10 @@ prepend_previewers = [
|
|||||||
{ url = "*/", run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"' },
|
{ url = "*/", run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"' },
|
||||||
# piper markdown (commented out as you had it)
|
# piper markdown (commented out as you had it)
|
||||||
# rich preview plugin
|
# rich preview plugin
|
||||||
{ url = "*.csv", run = "rich-preview" }, # for csv files
|
{ url = "*.csv", run = "rich-preview" }, # for csv files
|
||||||
{ url = "*.md", run = "rich-preview" }, # for markdown (.md) files
|
{ url = "*.md", run = "rich-preview" }, # for markdown (.md) files
|
||||||
{ url = "*.rst", run = "rich-preview" }, # for restructured text (.rst) files
|
{ url = "*.rst", run = "rich-preview" }, # for restructured text (.rst) files
|
||||||
{ url = "*.ipynb", run = "rich-preview" }, # for jupyter notebooks (.ipynb)
|
{ url = "*.ipynb", run = "rich-preview" }, # for jupyter notebooks (.ipynb)
|
||||||
{ url = "*.json", run = "rich-preview" }, # for json (.json) files
|
{ url = "*.json", run = "rich-preview" }, # for json (.json) files
|
||||||
# { url = "*.lang_type", run = "rich-preview"} # for particular language files eg. .py, .go., .lua, etc.
|
# { url = "*.lang_type", run = "rich-preview"} # for particular language files eg. .py, .go., .lua, etc.
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -68,19 +68,19 @@ alias lgit='lazygit'
|
|||||||
|
|
||||||
# proton vpn
|
# proton vpn
|
||||||
alias vpnn='sudo protonvpn c'
|
alias vpnn='sudo protonvpn c'
|
||||||
alias vpnr='sudo protonvpn reconnect' # reconnect after sleep
|
alias vpnr='sudo protonvpn reconnect' # reconnect after sleep
|
||||||
alias vpn='sudo protonvpn c -f' # connect to fastest server
|
alias vpn='sudo protonvpn c -f' # connect to fastest server
|
||||||
alias vpnd='sudo protonvpn d' # diconnect current session
|
alias vpnd='sudo protonvpn d' # diconnect current session
|
||||||
alias vpnp='sudo protonvpn c --p2p' # connect to fastest p2p server
|
alias vpnp='sudo protonvpn c --p2p' # connect to fastest p2p server
|
||||||
alias vpns='protonvpn status' # check status
|
alias vpns='protonvpn status' # check status
|
||||||
|
|
||||||
# NetworkManager
|
# NetworkManager
|
||||||
alias nmwi='nmcli device wifi list' # show you all possible wifi networks
|
alias nmwi='nmcli device wifi list' # show you all possible wifi networks
|
||||||
alias nmst='nmcli device status' # shows you the current connection
|
alias nmst='nmcli device status' # shows you the current connection
|
||||||
alias nmco='nmcli device wifi connect' # add '$SSID' and '$PASSWORD'
|
alias nmco='nmcli device wifi connect' # add '$SSID' and '$PASSWORD'
|
||||||
alias nmsh='nmcli con show' # shows all valid connnections
|
alias nmsh='nmcli con show' # shows all valid connnections
|
||||||
alias nmup='nmcli con up' # add the name of the connection in ''
|
alias nmup='nmcli con up' # add the name of the connection in ''
|
||||||
alias nmdo='nmcli con down' # add the nome of the connection in ''
|
alias nmdo='nmcli con down' # add the nome of the connection in ''
|
||||||
|
|
||||||
# open with password
|
# open with password
|
||||||
alias tshift='sudo -E timeshift-launcher'
|
alias tshift='sudo -E timeshift-launcher'
|
||||||
@@ -99,13 +99,15 @@ alias lsu='sudo umount /mount/'
|
|||||||
|
|
||||||
# streamrip
|
# streamrip
|
||||||
alias ripp='rip search tidal album'
|
alias ripp='rip search tidal album'
|
||||||
|
alias rip='pyenv exec rip'
|
||||||
|
alias ripc='nvim ~/.config/streamrip/config.toml'
|
||||||
|
|
||||||
# paru
|
# paru
|
||||||
alias ys='$AUR_HELPER -S' # install package
|
alias ys='$AUR_HELPER -S' # install packoz
|
||||||
alias yr='$AUR_HELPER -Rn' # remove package
|
alias yr='$AUR_HELPER -Rn' # remove package
|
||||||
alias yy='$AUR_HELPER -Ss' # paru search for package
|
alias yy='$AUR_HELPER -Ss' # paru search for package
|
||||||
alias yay='$AUR_HELPER'
|
alias yay='$AUR_HELPER'
|
||||||
alias yi='$AUR_HELPER -Si' # aur info
|
alias yi='$AUR_HELPER -Si' # aur info
|
||||||
alias which-aur="echo 'Currently using: $AUR_HELPER'"
|
alias which-aur="echo 'Currently using: $AUR_HELPER'"
|
||||||
|
|
||||||
# trash-cli
|
# trash-cli
|
||||||
@@ -113,30 +115,30 @@ alias te='trash-empty'
|
|||||||
alias tr='trash-restore'
|
alias tr='trash-restore'
|
||||||
|
|
||||||
# pyenv
|
# pyenv
|
||||||
alias pyl='pyenv local' # set this for folder in spec python version
|
alias pyl='pyenv local' # set this for folder in spec python version
|
||||||
alias pyg='pyenv global' # changes the global python version
|
alias pyg='pyenv global' # changes the global python version
|
||||||
alias pyve='pyenv virtualenvs' # shows all possible vitualenvironments
|
alias pyve='pyenv virtualenvs' # shows all possible vitualenvironments
|
||||||
alias pyd='pyenv virtualenv-delete'
|
alias pyd='pyenv virtualenv-delete'
|
||||||
alias pyn='pyenv virtualenv' # makes a new env $VSERION $NAME
|
alias pyn='pyenv virtualenv' # makes a new env $VSERION $NAME
|
||||||
alias pyv='pyenv versions'
|
alias pyv='pyenv versions'
|
||||||
alias pyil='pyenv install -l'
|
alias pyil='pyenv install -l'
|
||||||
alias pyi='pyenv install'
|
alias pyi='pyenv install'
|
||||||
|
|
||||||
# aria2 and yt-dlp
|
# aria2 and yt-dlp
|
||||||
alias aryt="yt-dlp --external-downloader aria2c --external-downloader-args '-x 8 -j2'" # add URL in ''
|
alias aryt="yt-dlp --external-downloader aria2c --external-downloader-args '-x 8 -j2'" # add URL in ''
|
||||||
alias aria='aria2c -x 8' # add URL in '' for 8 segmented download
|
alias aria='aria2c -x 8' # add URL in '' for 8 segmented download
|
||||||
alias yd='yt-dlp' # copy link from videodownload helper and add the URL in ''
|
alias yd='yt-dlp' # copy link from videodownload helper and add the URL in ''
|
||||||
|
|
||||||
alias photodetect='gphoto2 --auto-detect'
|
alias photodetect='gphoto2 --auto-detect'
|
||||||
alias photoget='gphoto2 --get-all-files'
|
alias photoget='gphoto2 --get-all-files'
|
||||||
|
|
||||||
# borg backup
|
# borg backup
|
||||||
alias boinit='borg init --encryption repokey' # add folder like /folder/ initiates the backupfunction
|
alias boinit='borg init --encryption repokey' # add folder like /folder/ initiates the backupfunction
|
||||||
alias bolist='borg list' # /backup/ creates a list of al the backups which are contained in this folder
|
alias bolist='borg list' # /backup/ creates a list of al the backups which are contained in this folder
|
||||||
alias boc='borg create --stats --progress --compression lz4' # /backup::backup1 dotfiles creates the backup. The ::backup1 will be name of the backup
|
alias boc='borg create --stats --progress --compression lz4' # /backup::backup1 dotfiles creates the backup. The ::backup1 will be name of the backup
|
||||||
# create placeholder sudo borg create --stats --compression lz4 ::{user}-{now} file or folder
|
# create placeholder sudo borg create --stats --compression lz4 ::{user}-{now} file or folder
|
||||||
alias bomo='borg mount /home/liph/backup /tmp/borg' # which repo to mount and where to mount it. make sure the folder already exists
|
alias bomo='borg mount /home/liph/backup /tmp/borg' # which repo to mount and where to mount it. make sure the folder already exists
|
||||||
alias boumo='borg umount /tmp/borg' # unmount the mount folder
|
alias boumo='borg umount /tmp/borg' # unmount the mount folder
|
||||||
|
|
||||||
# systemctl
|
# systemctl
|
||||||
alias sysen='sudo systemctl enable'
|
alias sysen='sudo systemctl enable'
|
||||||
@@ -165,13 +167,13 @@ alias pocupf='pocp && pocf'
|
|||||||
alias pocdupd='pocst && pocd && pocp && poc'
|
alias pocdupd='pocst && pocd && pocp && poc'
|
||||||
|
|
||||||
# disk space
|
# disk space
|
||||||
alias dfh='df -h' # shows a list of all mounted drives
|
alias dfh='df -h' # shows a list of all mounted drives
|
||||||
alias duh='du -sh' #calculates folder space
|
alias duh='du -sh' #calculates folder space
|
||||||
alias duf='duf' # analyzes diskspace
|
alias duf='duf' # analyzes diskspace
|
||||||
alias duaa='dua i' # opens dua in interactive mode
|
alias duaa='dua i' # opens dua in interactive mode
|
||||||
alias rns='sudo pacman -Rns $(pacman -Qdtq)' # remove orphaned packages
|
alias rns='sudo pacman -Rns $(pacman -Qdtq)' # remove orphaned packages
|
||||||
alias rsc='sudo pacman -Sc' # remove cached packeged
|
alias rsc='sudo pacman -Sc' # remove cached packeged
|
||||||
alias rmc='rm -rf ~/.cache/*' # clear user cache
|
alias rmc='rm -rf ~/.cache/*' # clear user cache
|
||||||
|
|
||||||
# ip addr
|
# ip addr
|
||||||
alias ipa='sudo ip addr add '
|
alias ipa='sudo ip addr add '
|
||||||
@@ -179,8 +181,7 @@ alias ipl='sudo ip link set '
|
|||||||
alias ipf='sudo ip addr flush '
|
alias ipf='sudo ip addr flush '
|
||||||
|
|
||||||
# wireguard vpn
|
# wireguard vpn
|
||||||
alias wgu='sudo wg-quick up' # start the connection you like to establish (f.E open)
|
alias wgu='sudo wg-quick up' # start the connection you like to establish (f.E open)
|
||||||
alias wgd='sudo wg-quick down' # end the connection you like to end (f.E open)
|
alias wgd='sudo wg-quick down' # end the connection you like to end (f.E open)
|
||||||
alias wgc='sudo wg showconf' # show the config for a connection (f.E open)
|
alias wgc='sudo wg showconf' # show the config for a connection (f.E open)
|
||||||
alias wgs='sudo wg show' # show informations about the connection
|
alias wgs='sudo wg show' # show informations about the connection
|
||||||
|
|
||||||
|
|||||||
@@ -39,3 +39,6 @@ export MOZ_ENABLE_WAYLAND=1
|
|||||||
# Bitwarde
|
# Bitwarde
|
||||||
# export BW_SESSION=$(bw unlock --raw)
|
# export BW_SESSION=$(bw unlock --raw)
|
||||||
|
|
||||||
|
# you-should-use settings (optional)
|
||||||
|
# export YSU_MESSAGE_POSITION="after" # Show reminder after command output
|
||||||
|
# export YSU_HARDCORE=0 # Prevent execution if alias exists (probably too aggressive)
|
||||||
|
|||||||
@@ -6,6 +6,12 @@ zinit light zsh-users/zsh-syntax-highlighting
|
|||||||
zinit light zsh-users/zsh-completions
|
zinit light zsh-users/zsh-completions
|
||||||
zinit light zsh-users/zsh-autosuggestions
|
zinit light zsh-users/zsh-autosuggestions
|
||||||
zinit light Aloxaf/fzf-tab
|
zinit light Aloxaf/fzf-tab
|
||||||
|
zinit light hlissner/zsh-autopair
|
||||||
|
zinit light ajeetdsouza/zoxide
|
||||||
|
zinit ice lucid wait as"completion"
|
||||||
|
zinit snippet https://github.com/eza-community/eza/blob/main/completions/zsh/_eza
|
||||||
|
zinit light MichaelAquilina/zsh-you-should-use
|
||||||
|
zinit light wfxr/forgit
|
||||||
|
|
||||||
# Add in snippets from "OhMyZsh“
|
# Add in snippets from "OhMyZsh“
|
||||||
zinit snippet OMZP::git
|
zinit snippet OMZP::git
|
||||||
@@ -15,3 +21,5 @@ zinit snippet OMZP::aws
|
|||||||
zinit snippet OMZP::kubectl
|
zinit snippet OMZP::kubectl
|
||||||
zinit snippet OMZP::kubectx
|
zinit snippet OMZP::kubectx
|
||||||
zinit snippet OMZP::command-not-found
|
zinit snippet OMZP::command-not-found
|
||||||
|
|
||||||
|
zinit light jeffreytse/zsh-vi-mode
|
||||||
|
|||||||
24
zshrc/.zshrc
24
zshrc/.zshrc
@@ -9,6 +9,12 @@ if [ ! -d "$ZINIT_HOME" ]; then
|
|||||||
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ZVM_INIT_MODE=sourcing
|
||||||
|
# Fix zsh-vi-mode conflicts with fzf
|
||||||
|
function zvm_after_init() {
|
||||||
|
source <(fzf --zsh)
|
||||||
|
}
|
||||||
|
|
||||||
# Source zsh, alias
|
# Source zsh, alias
|
||||||
source "${ZINIT_HOME}/zinit.zsh"
|
source "${ZINIT_HOME}/zinit.zsh"
|
||||||
source ~/.aliases.zsh
|
source ~/.aliases.zsh
|
||||||
@@ -17,9 +23,8 @@ source ~/.export.zsh
|
|||||||
# https://github.com/jungunn/fzf-git.sh
|
# https://github.com/jungunn/fzf-git.sh
|
||||||
source ~/scripts/fzf-git.sh
|
source ~/scripts/fzf-git.sh
|
||||||
# you should unse
|
# you should unse
|
||||||
source /usr/share/zsh/plugins/zsh-you-should-use/you-should-use.plugin.zsh
|
# source /usr/share/zsh/plugins/zsh-you-should-use/you-should-use.plugin.zsh
|
||||||
# Set up fzf key bindings and fuzzy completion
|
# Set up fzf key bindings and fuzzy completion
|
||||||
source <(fzf --zsh)
|
|
||||||
## hydroxide
|
## hydroxide
|
||||||
#source ~/scripts/hydroxide.sh
|
#source ~/scripts/hydroxide.sh
|
||||||
|
|
||||||
@@ -51,9 +56,9 @@ eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/zen.toml)"
|
|||||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
|
|
||||||
# Bindkey
|
# Bindkey
|
||||||
bindkey -e
|
# bindkey -e
|
||||||
bindkey '^p' history-search-backward
|
# bindkey '^p' history-search-backward
|
||||||
bindkey '^n' history-search-forward
|
# bindkey '^n' history-search-forward
|
||||||
|
|
||||||
# History
|
# History
|
||||||
HISTSIZE=5000
|
HISTSIZE=5000
|
||||||
@@ -80,9 +85,9 @@ eval "$(zoxide init --cmd cd zsh)"
|
|||||||
eval "$(thefuck --alias)"
|
eval "$(thefuck --alias)"
|
||||||
eval "$(navi widget zsh)"
|
eval "$(navi widget zsh)"
|
||||||
# pyenv https://github.com/pyenv/pyenv-virtualenv
|
# pyenv https://github.com/pyenv/pyenv-virtualenv
|
||||||
eval "$(pyenv init --path)"
|
# eval "$(pyenv init --path)"
|
||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
# eval "$(pyenv virtualenv-init -)"
|
eval "$(pyenv virtualenv-init -)"
|
||||||
# starship
|
# starship
|
||||||
# eval "$(starship init zsh)"
|
# eval "$(starship init zsh)"
|
||||||
|
|
||||||
@@ -118,3 +123,8 @@ zinit light-mode for \
|
|||||||
### End of Zinit's installer chunk
|
### End of Zinit's installer chunk
|
||||||
|
|
||||||
# . "$HOME/.local/bin/env"
|
# . "$HOME/.local/bin/env"
|
||||||
|
# In .zshrc, after zinit loads
|
||||||
|
function zvm_after_init() {
|
||||||
|
# Re-bind ctrl+space for autosuggestions if needed
|
||||||
|
bindkey '^@' autosuggest-accept
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user