Compare commits
	
		
			20 Commits
		
	
	
		
			3ab926e9ea
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8ab411e742 | |||
| a4431f4ff3 | |||
| edc253a1f6 | |||
| 15f9d42b1c | |||
| 15e69604e0 | |||
| d134439d55 | |||
| 8afeb50d2c | |||
| 8a1762f58e | |||
| ee00d818be | |||
| e281c2392a | |||
| f9ade6a6d5 | |||
| 96a215c45c | |||
| 35e7769657 | |||
| cdbc030e30 | |||
| 66cf71c398 | |||
| e440a5d37f | |||
| 73de376805 | |||
| 95671e295c | |||
| 9ade6aa600 | |||
| fe75cdfebf | 
							
								
								
									
										2
									
								
								.config/ags/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/ags/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					node_modules/
 | 
				
			||||||
 | 
					@girs/
 | 
				
			||||||
							
								
								
									
										10
									
								
								.config/ags/app.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.config/ags/app.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					import { App } from "astal/gtk4"
 | 
				
			||||||
 | 
					import style from "./style.scss"
 | 
				
			||||||
 | 
					import Bar from "./widget/Bar"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					App.start({
 | 
				
			||||||
 | 
					    css: style,
 | 
				
			||||||
 | 
					    main() {
 | 
				
			||||||
 | 
					        App.get_monitors().map(Bar)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										21
									
								
								.config/ags/env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								.config/ags/env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					declare const SRC: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare module "inline:*" {
 | 
				
			||||||
 | 
					    const content: string
 | 
				
			||||||
 | 
					    export default content
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare module "*.scss" {
 | 
				
			||||||
 | 
					    const content: string
 | 
				
			||||||
 | 
					    export default content
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare module "*.blp" {
 | 
				
			||||||
 | 
					    const content: string
 | 
				
			||||||
 | 
					    export default content
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare module "*.css" {
 | 
				
			||||||
 | 
					    const content: string
 | 
				
			||||||
 | 
					    export default content
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								.config/ags/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.config/ags/package.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "name": "astal-shell",
 | 
				
			||||||
 | 
					    "dependencies": {
 | 
				
			||||||
 | 
					        "astal": "/usr/share/astal/gjs"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										20
									
								
								.config/ags/style.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.config/ags/style.scss
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					// https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gtk/theme/Adwaita/_colors-public.scss
 | 
				
			||||||
 | 
					$fg-color: #{"@theme_fg_color"};
 | 
				
			||||||
 | 
					$bg-color: #{"@theme_bg_color"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					window.Bar {
 | 
				
			||||||
 | 
					    background: transparent;
 | 
				
			||||||
 | 
					    color: $fg-color;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    >centerbox {
 | 
				
			||||||
 | 
					        background: $bg-color;
 | 
				
			||||||
 | 
					        border-radius: 10px;
 | 
				
			||||||
 | 
					        margin: 8px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    button {
 | 
				
			||||||
 | 
					        border-radius: 8px;
 | 
				
			||||||
 | 
					        margin: 2px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										14
									
								
								.config/ags/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								.config/ags/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "$schema": "https://json.schemastore.org/tsconfig",
 | 
				
			||||||
 | 
					    "compilerOptions": {
 | 
				
			||||||
 | 
					        "experimentalDecorators": true,
 | 
				
			||||||
 | 
					        "strict": true,
 | 
				
			||||||
 | 
					        "target": "ES2022",
 | 
				
			||||||
 | 
					        "module": "ES2022",
 | 
				
			||||||
 | 
					        "moduleResolution": "Bundler",
 | 
				
			||||||
 | 
					        // "checkJs": true,
 | 
				
			||||||
 | 
					        // "allowJs": true,
 | 
				
			||||||
 | 
					        "jsx": "react-jsx",
 | 
				
			||||||
 | 
					        "jsxImportSource": "astal/gtk4",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										36
									
								
								.config/ags/widget/Bar.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.config/ags/widget/Bar.tsx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					import { App, Astal, Gtk, Gdk } from "astal/gtk4"
 | 
				
			||||||
 | 
					import { Variable } from "astal"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const time = Variable("").poll(1000, "date")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default function Bar(gdkmonitor: Gdk.Monitor) {
 | 
				
			||||||
 | 
					    const { TOP, LEFT, RIGHT } = Astal.WindowAnchor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return <window
 | 
				
			||||||
 | 
					        visible
 | 
				
			||||||
 | 
					        cssClasses={["Bar"]}
 | 
				
			||||||
 | 
					        gdkmonitor={gdkmonitor}
 | 
				
			||||||
 | 
					        exclusivity={Astal.Exclusivity.EXCLUSIVE}
 | 
				
			||||||
 | 
					        anchor={TOP | LEFT | RIGHT}
 | 
				
			||||||
 | 
					        application={App}>
 | 
				
			||||||
 | 
					        <centerbox cssName="centerbox">
 | 
				
			||||||
 | 
					            <button
 | 
				
			||||||
 | 
					                onClicked="echo hello"
 | 
				
			||||||
 | 
					                hexpand
 | 
				
			||||||
 | 
					                halign={Gtk.Align.CENTER}
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					                Welcome to AGS!
 | 
				
			||||||
 | 
					            </button>
 | 
				
			||||||
 | 
					            <box />
 | 
				
			||||||
 | 
					            <menubutton
 | 
				
			||||||
 | 
					                hexpand
 | 
				
			||||||
 | 
					                halign={Gtk.Align.CENTER}
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					                <label label={time()} />
 | 
				
			||||||
 | 
					                <popover>
 | 
				
			||||||
 | 
					                    <Gtk.Calendar />
 | 
				
			||||||
 | 
					                </popover>
 | 
				
			||||||
 | 
					            </menubutton>
 | 
				
			||||||
 | 
					        </centerbox>
 | 
				
			||||||
 | 
					    </window>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -57,7 +57,7 @@ shape = "Block"
 | 
				
			|||||||
TERM = "xterm-256color"
 | 
					TERM = "xterm-256color"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[font]
 | 
					[font]
 | 
				
			||||||
size = 12
 | 
					size = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[font.bold]
 | 
					[font.bold]
 | 
				
			||||||
family = "JetBrainsMono Nerd Font"
 | 
					family = "JetBrainsMono Nerd Font"
 | 
				
			||||||
@@ -89,7 +89,7 @@ mouse = "Middle"
 | 
				
			|||||||
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
 | 
					semantic_escape_chars = ",│`|:\"' ()[]{}<>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[terminal]
 | 
					[terminal]
 | 
				
			||||||
shell = "/bin/zsh"
 | 
					shell = "tmux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[window]
 | 
					[window]
 | 
				
			||||||
decorations = "full"
 | 
					decorations = "full"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,6 @@ source = ~/.config/hypr/hyprland/group.conf
 | 
				
			|||||||
source = ~/.config/hypr/hyprland/binds.conf
 | 
					source = ~/.config/hypr/hyprland/binds.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/xwayland.conf
 | 
					source = ~/.config/hypr/hyprland/xwayland.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/opengl.conf
 | 
					source = ~/.config/hypr/hyprland/opengl.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/binds.conf
 | 
					 | 
				
			||||||
source = ~/.config/hypr/hyprland/render.conf
 | 
					source = ~/.config/hypr/hyprland/render.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/cursor.conf
 | 
					source = ~/.config/hypr/hyprland/cursor.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/layout.conf
 | 
					source = ~/.config/hypr/hyprland/layout.conf
 | 
				
			||||||
@@ -16,7 +15,7 @@ source = ~/.config/hypr/hyprland/layout.conf
 | 
				
			|||||||
source = ~/.config/hypr/hyprland/monitors.conf
 | 
					source = ~/.config/hypr/hyprland/monitors.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/env.conf
 | 
					source = ~/.config/hypr/hyprland/env.conf
 | 
				
			||||||
source = ~/.config/hypr/hyprland/rules.conf
 | 
					source = ~/.config/hypr/hyprland/rules.conf
 | 
				
			||||||
#source = ~/.config/hypr/hyprland/autostart.conf
 | 
					source = ~/.config/hypr/hyprland/autostart.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
animations {
 | 
					animations {
 | 
				
			||||||
    enable 			= true
 | 
					    enabled 			= true
 | 
				
			||||||
    first_launch_animation	= true
 | 
					    first_launch_animation	= true
 | 
				
			||||||
    # TODO
 | 
					    # TODO
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								.config/hypr/hyprland/autostart.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.config/hypr/hyprland/autostart.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# Set Darkmode
 | 
				
			||||||
 | 
					exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"   # for GTK4 apps
 | 
				
			||||||
 | 
					exec = swayosd-server
 | 
				
			||||||
@@ -1,16 +1,3 @@
 | 
				
			|||||||
binds {
 | 
					 | 
				
			||||||
    pass_mouse_when_bound		= false
 | 
					 | 
				
			||||||
    scroll_event_delay			= 300
 | 
					 | 
				
			||||||
    workspace_back_and_forth		= false
 | 
					 | 
				
			||||||
    allow_workspace_cycles		= false
 | 
					 | 
				
			||||||
    workspace_center_on			= 0
 | 
					 | 
				
			||||||
    focus_preferred_method		= 0
 | 
					 | 
				
			||||||
    ignore_group_lock			= false
 | 
					 | 
				
			||||||
    movefocus_cycles_fullscreen		= true
 | 
					 | 
				
			||||||
    disable_keybind_grabbing		= false
 | 
					 | 
				
			||||||
    window_direction_monitor_fallback	= true
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$mainMod = SUPER
 | 
					$mainMod = SUPER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Resize
 | 
					# Resize
 | 
				
			||||||
@@ -25,7 +12,7 @@ binde = SUPERCTRL, down, resizeactive, 0 20
 | 
				
			|||||||
bind = $mainMod, RETURN, exec, alacritty
 | 
					bind = $mainMod, RETURN, exec, alacritty
 | 
				
			||||||
bind = $mainMod, Q, killactive,
 | 
					bind = $mainMod, Q, killactive,
 | 
				
			||||||
bind = $mainMod SHIFT, X, exit,
 | 
					bind = $mainMod SHIFT, X, exit,
 | 
				
			||||||
bind = $mainMod, D, exec, wofi --show drun
 | 
					bind = $mainMod, D, exec, wofi --show drun -G
 | 
				
			||||||
bind = $mainMod, E, exec, dolphin
 | 
					bind = $mainMod, E, exec, dolphin
 | 
				
			||||||
#bind = $mainMod, P, exec, grim -g "$(slurp)" - | wl-copy
 | 
					#bind = $mainMod, P, exec, grim -g "$(slurp)" - | wl-copy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -85,9 +72,9 @@ bindm = $mainMod, mouse:273, resizewindow
 | 
				
			|||||||
# Special keys
 | 
					# Special keys
 | 
				
			||||||
#bind = , Caps_lock, exec, swayosd-client --caps-lock
 | 
					#bind = , Caps_lock, exec, swayosd-client --caps-lock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#binde = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
 | 
					binde = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
 | 
				
			||||||
#binde = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
 | 
					binde = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
 | 
				
			||||||
#bind = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
 | 
					bind = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
 | 
				
			||||||
#bind = , XF86AudioPlayPause, exec, playerctl play-pause
 | 
					#bind = , XF86AudioPlayPause, exec, playerctl play-pause
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
 | 
					#binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,5 +14,5 @@ cursor {
 | 
				
			|||||||
    enable_hyprcursor		= true
 | 
					    enable_hyprcursor		= true
 | 
				
			||||||
    hide_on_key_press		= false
 | 
					    hide_on_key_press		= false
 | 
				
			||||||
    hide_on_touch		= true
 | 
					    hide_on_touch		= true
 | 
				
			||||||
    use_cpu_buffer		= false
 | 
					    # 	use_cpu_buffer		= false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
decoration {
 | 
					decoration {
 | 
				
			||||||
    rounding			= 0
 | 
					    rounding			= 0
 | 
				
			||||||
    active_opacity		= 1.0
 | 
					    active_opacity		= 1.0
 | 
				
			||||||
    inactive_opacity		= 0.9
 | 
					    inactive_opacity		= 1.0
 | 
				
			||||||
    fullscreen_opacity		= 1.0
 | 
					    fullscreen_opacity		= 1.0
 | 
				
			||||||
    dim_inactive		= false
 | 
					    dim_inactive		= false
 | 
				
			||||||
    dim_strength		= 0.5
 | 
					    dim_strength		= 0.5
 | 
				
			||||||
@@ -10,7 +10,7 @@ decoration {
 | 
				
			|||||||
    screen_shader		=
 | 
					    screen_shader		=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    blur {
 | 
					    blur {
 | 
				
			||||||
	enable 			= true
 | 
						enabled			= true
 | 
				
			||||||
	size			= 8
 | 
						size			= 8
 | 
				
			||||||
	passes			= 1
 | 
						passes			= 1
 | 
				
			||||||
	ignore_opacity		= true
 | 
						ignore_opacity		= true
 | 
				
			||||||
@@ -27,14 +27,14 @@ decoration {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    shadow {
 | 
					    shadow {
 | 
				
			||||||
	enable			= true
 | 
						enabled			= true
 | 
				
			||||||
	range			= 50
 | 
						range			= 50
 | 
				
			||||||
	render_power		= 4
 | 
						render_power		= 4
 | 
				
			||||||
	sharp			= false
 | 
						sharp			= false
 | 
				
			||||||
	ignore_window		= true
 | 
						ignore_window		= true
 | 
				
			||||||
	color			= rgba(000000aa)
 | 
						color			= rgba(000000aa)
 | 
				
			||||||
	color_inactive		=
 | 
						# color_inactive		= 
 | 
				
			||||||
	offset			= [0,0]
 | 
						offset			= 0, 0
 | 
				
			||||||
	scale			= 1
 | 
						scale			= 1
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@ general {
 | 
				
			|||||||
    resize_corner		= 0
 | 
					    resize_corner		= 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    snap {
 | 
					    snap {
 | 
				
			||||||
        enable 			= false
 | 
					        enabled			= false
 | 
				
			||||||
	window_gap		= 10
 | 
						window_gap		= 10
 | 
				
			||||||
	monitor_gap		= 10
 | 
						monitor_gap		= 10
 | 
				
			||||||
	border_overlap		= false
 | 
						border_overlap		= false
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
input {
 | 
					input {
 | 
				
			||||||
    kb_model					= pc105+inet
 | 
					    #kb_model					= pc105+inet
 | 
				
			||||||
    kb_layout					= us
 | 
					    kb_layout					= us
 | 
				
			||||||
    kb_variant					= intl
 | 
					    #kb_variant					= intl
 | 
				
			||||||
    kb_options					=
 | 
					    kb_options					=
 | 
				
			||||||
    kb_rules					=
 | 
					    kb_rules					=
 | 
				
			||||||
    kb_file					=
 | 
					    kb_file					=
 | 
				
			||||||
@@ -28,7 +28,7 @@ input {
 | 
				
			|||||||
    emulate_discrete_scroll			= 1
 | 
					    emulate_discrete_scroll			= 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    touchpad {
 | 
					    touchpad {
 | 
				
			||||||
	diable_while_typing 			= true
 | 
						disable_while_typing 			= true
 | 
				
			||||||
	natural_scroll				= false
 | 
						natural_scroll				= false
 | 
				
			||||||
	scroll_factor				= 1.0
 | 
						scroll_factor				= 1.0
 | 
				
			||||||
	middle_button_emulation			= false
 | 
						middle_button_emulation			= false
 | 
				
			||||||
@@ -42,19 +42,19 @@ input {
 | 
				
			|||||||
    touchdevice {
 | 
					    touchdevice {
 | 
				
			||||||
	transform 				= 0
 | 
						transform 				= 0
 | 
				
			||||||
	output					= Auto
 | 
						output					= Auto
 | 
				
			||||||
	enable					= true
 | 
						enabled					= true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    tablet {
 | 
					    tablet {
 | 
				
			||||||
	transform				= 0
 | 
						transform				= 0
 | 
				
			||||||
	output					=
 | 
						#output					=
 | 
				
			||||||
	region_position				= [0,0]
 | 
						region_position				= 0, 0
 | 
				
			||||||
	absolute_region_position		= false
 | 
						#absolute_region_position		= false
 | 
				
			||||||
	region_size				= [0,0]
 | 
						region_size				= 0, 0
 | 
				
			||||||
	relative_input				= false
 | 
						relative_input				= false
 | 
				
			||||||
	left_handed				= false
 | 
						left_handed				= false
 | 
				
			||||||
	active_area_size			= [0,0]
 | 
						active_area_size			= 0, 0
 | 
				
			||||||
	active_area_position			= [0,0]
 | 
						active_area_position			= 0, 0
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,6 @@ master {
 | 
				
			|||||||
    new_on_active			= none
 | 
					    new_on_active			= none
 | 
				
			||||||
    orientation				= left
 | 
					    orientation				= left
 | 
				
			||||||
    inherit_fullscreen			= true
 | 
					    inherit_fullscreen			= true
 | 
				
			||||||
    always_center_master		= false
 | 
					 | 
				
			||||||
    smart_resizing			= true
 | 
					    smart_resizing			= true
 | 
				
			||||||
    drop_at_cursor			= true
 | 
					    drop_at_cursor			= true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
xwayland {
 | 
					xwayland {
 | 
				
			||||||
    enable			= true
 | 
					    enabled			= true
 | 
				
			||||||
    use_nearest_neighbor	= true
 | 
					    use_nearest_neighbor	= true
 | 
				
			||||||
    force_zero_scaling		= true
 | 
					    force_zero_scaling		= true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								.config/nvim/.luarc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.config/nvim/.luarc.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "diagnostics.globals": [
 | 
				
			||||||
 | 
					        "vim"
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										15
									
								
								.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
 | 
				
			||||||
 | 
					if not (vim.uv or vim.loop).fs_stat(lazypath) then
 | 
				
			||||||
 | 
					  vim.fn.system({
 | 
				
			||||||
 | 
					    "git",
 | 
				
			||||||
 | 
					    "clone",
 | 
				
			||||||
 | 
					    "--filter=blob:none",
 | 
				
			||||||
 | 
					    "https://github.com/folke/lazy.nvim.git",
 | 
				
			||||||
 | 
					    "--branch=stable",
 | 
				
			||||||
 | 
					    lazypath,
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					vim.opt.rtp:prepend(lazypath)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require("vim-options")
 | 
				
			||||||
 | 
					require("lazy").setup("plugins")
 | 
				
			||||||
							
								
								
									
										27
									
								
								.config/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								.config/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" },
 | 
				
			||||||
 | 
					  "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
 | 
				
			||||||
 | 
					  "catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
 | 
				
			||||||
 | 
					  "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
 | 
				
			||||||
 | 
					  "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
 | 
				
			||||||
 | 
					  "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
 | 
				
			||||||
 | 
					  "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" },
 | 
				
			||||||
 | 
					  "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
 | 
				
			||||||
 | 
					  "mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" },
 | 
				
			||||||
 | 
					  "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
 | 
				
			||||||
 | 
					  "neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
 | 
				
			||||||
 | 
					  "none-ls-extras.nvim": { "branch": "main", "commit": "f50d4dece9f91813f049f8100d188933f7d654d9" },
 | 
				
			||||||
 | 
					  "none-ls.nvim": { "branch": "main", "commit": "1f2bf17eddfdd45aed254b6922c6c68b933dba9e" },
 | 
				
			||||||
 | 
					  "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
 | 
				
			||||||
 | 
					  "nvim-cmp": { "branch": "main", "commit": "ed31156aa2cc14e3bc066c59357cc91536a2bc01" },
 | 
				
			||||||
 | 
					  "nvim-dap": { "branch": "master", "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" },
 | 
				
			||||||
 | 
					  "nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
 | 
				
			||||||
 | 
					  "nvim-lspconfig": { "branch": "master", "commit": "dafd61d6533bd90ecf6e2a3a972298fdddc74d82" },
 | 
				
			||||||
 | 
					  "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
 | 
				
			||||||
 | 
					  "nvim-treesitter": { "branch": "master", "commit": "d14bc4bd15a7b9b5a9e7977c6a28f2cab6c4ad4a" },
 | 
				
			||||||
 | 
					  "nvim-web-devicons": { "branch": "master", "commit": "edbe0a65cfacbbfff6a4a1e98ddd60c28c560509" },
 | 
				
			||||||
 | 
					  "oxocarbon.nvim": { "branch": "main", "commit": "004777819ba294423b638a35a75c9f0c7be758ed" },
 | 
				
			||||||
 | 
					  "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
 | 
				
			||||||
 | 
					  "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
 | 
				
			||||||
 | 
					  "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								.config/nvim/lua/plugins.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/lua/plugins.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					return {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										31
									
								
								.config/nvim/lua/plugins/alpha.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								.config/nvim/lua/plugins/alpha.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
						"goolord/alpha-nvim",
 | 
				
			||||||
 | 
						dependencies = {
 | 
				
			||||||
 | 
							"nvim-tree/nvim-web-devicons",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						config = function()
 | 
				
			||||||
 | 
							local alpha = require("alpha")
 | 
				
			||||||
 | 
							local dashboard = require("alpha.themes.startify")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							dashboard.section.header.val = {
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                     ]],
 | 
				
			||||||
 | 
								[[       ████ ██████           █████      ██                     ]],
 | 
				
			||||||
 | 
								[[      ███████████             █████                             ]],
 | 
				
			||||||
 | 
								[[      █████████ ███████████████████ ███   ███████████   ]],
 | 
				
			||||||
 | 
								[[     █████████  ███    █████████████ █████ ██████████████   ]],
 | 
				
			||||||
 | 
								[[    █████████ ██████████ █████████ █████ █████ ████ █████   ]],
 | 
				
			||||||
 | 
								[[  ███████████ ███    ███ █████████ █████ █████ ████ █████  ]],
 | 
				
			||||||
 | 
								[[ ██████  █████████████████████ ████ █████ █████ ████ ██████ ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
								[[                                                                       ]],
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							alpha.setup(dashboard.opts)
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								.config/nvim/lua/plugins/catpuccin.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.config/nvim/lua/plugins/catpuccin.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  "catppuccin/nvim",
 | 
				
			||||||
 | 
					  lazy = false,
 | 
				
			||||||
 | 
					  name = "catppuccin",
 | 
				
			||||||
 | 
					  priority = 1000,
 | 
				
			||||||
 | 
					  config = function()
 | 
				
			||||||
 | 
					    -- vim.cmd.colorscheme("catppuccin")
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										44
									
								
								.config/nvim/lua/plugins/completions.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.config/nvim/lua/plugins/completions.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "hrsh7th/cmp-nvim-lsp"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					    "L3MON4D3/LuaSnip",
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      "saadparwaiz1/cmp_luasnip",
 | 
				
			||||||
 | 
					      "rafamadriz/friendly-snippets",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
							"hrsh7th/nvim-cmp",
 | 
				
			||||||
 | 
							config = function()
 | 
				
			||||||
 | 
								local cmp = require("cmp")
 | 
				
			||||||
 | 
					      require("luasnip.loaders.from_vscode").lazy_load()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								cmp.setup({
 | 
				
			||||||
 | 
									snippet = {
 | 
				
			||||||
 | 
										expand = function(args)
 | 
				
			||||||
 | 
											require("luasnip").lsp_expand(args.body)
 | 
				
			||||||
 | 
										end,
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									window = {
 | 
				
			||||||
 | 
										completion = cmp.config.window.bordered(),
 | 
				
			||||||
 | 
										documentation = cmp.config.window.bordered(),
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									mapping = cmp.mapping.preset.insert({
 | 
				
			||||||
 | 
										["<C-b>"] = cmp.mapping.scroll_docs(-4),
 | 
				
			||||||
 | 
										["<C-f>"] = cmp.mapping.scroll_docs(4),
 | 
				
			||||||
 | 
										["<C-Space>"] = cmp.mapping.complete(),
 | 
				
			||||||
 | 
										["<C-e>"] = cmp.mapping.abort(),
 | 
				
			||||||
 | 
										["<CR>"] = cmp.mapping.confirm({ select = true }),
 | 
				
			||||||
 | 
									}),
 | 
				
			||||||
 | 
									sources = cmp.config.sources({
 | 
				
			||||||
 | 
										{ name = "nvim_lsp" },
 | 
				
			||||||
 | 
										{ name = "luasnip" },
 | 
				
			||||||
 | 
									}, {
 | 
				
			||||||
 | 
										{ name = "buffer" },
 | 
				
			||||||
 | 
									}),
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
 | 
							end,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								.config/nvim/lua/plugins/debugging.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.config/nvim/lua/plugins/debugging.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
						"mfussenegger/nvim-dap",
 | 
				
			||||||
 | 
						dependencies = {
 | 
				
			||||||
 | 
							"rcarriga/nvim-dap-ui",
 | 
				
			||||||
 | 
					    "nvim-neotest/nvim-nio",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						config = function()
 | 
				
			||||||
 | 
							local dap, dapui = require("dap"), require("dapui")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							dap.listeners.before.attach.dapui_config = function()
 | 
				
			||||||
 | 
								dapui.open()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							dap.listeners.before.launch.dapui_config = function()
 | 
				
			||||||
 | 
								dapui.open()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							dap.listeners.before.event_terminated.dapui_config = function()
 | 
				
			||||||
 | 
								dapui.close()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							dap.listeners.before.event_exited.dapui_config = function()
 | 
				
			||||||
 | 
								dapui.close()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							vim.keymap.set("n", "<Leader>dt", dap.toggle_breakpoint, {})
 | 
				
			||||||
 | 
							vim.keymap.set("n", "<Leader>dc", dap.continue, {})
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										39
									
								
								.config/nvim/lua/plugins/lsp-config.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								.config/nvim/lua/plugins/lsp-config.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"williamboman/mason.nvim",
 | 
				
			||||||
 | 
							lazy = false,
 | 
				
			||||||
 | 
							config = function()
 | 
				
			||||||
 | 
								require("mason").setup()
 | 
				
			||||||
 | 
							end,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"williamboman/mason-lspconfig.nvim",
 | 
				
			||||||
 | 
							lazy = false,
 | 
				
			||||||
 | 
							opts = {
 | 
				
			||||||
 | 
								auto_install = true,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"neovim/nvim-lspconfig",
 | 
				
			||||||
 | 
							lazy = false,
 | 
				
			||||||
 | 
							config = function()
 | 
				
			||||||
 | 
								local capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								local lspconfig = require("lspconfig")
 | 
				
			||||||
 | 
								lspconfig.lua_ls.setup({
 | 
				
			||||||
 | 
									capabilities = capabilities,	
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
 | 
								lspconfig.ts_ls.setup({
 | 
				
			||||||
 | 
									capabilities = capabilities,
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
 | 
								lspconfig.rust_analyzer.setup({
 | 
				
			||||||
 | 
									capabilities = capabilities,
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
 | 
				
			||||||
 | 
								vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {})
 | 
				
			||||||
 | 
								vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {})
 | 
				
			||||||
 | 
								vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
 | 
				
			||||||
 | 
							end,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								.config/nvim/lua/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.config/nvim/lua/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  "nvim-lualine/lualine.nvim",
 | 
				
			||||||
 | 
					  dependencies = { "nvim-tree/nvim-web-devicons" },
 | 
				
			||||||
 | 
					  event = "VeryLazy",
 | 
				
			||||||
 | 
					  opts = {
 | 
				
			||||||
 | 
					    options = {
 | 
				
			||||||
 | 
					      icons_enabled = true,
 | 
				
			||||||
 | 
					      theme = "auto",
 | 
				
			||||||
 | 
					      component_seperator = "|",
 | 
				
			||||||
 | 
					      section_separators = { left = "", right = "" },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								.config/nvim/lua/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.config/nvim/lua/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
						"nvim-neo-tree/neo-tree.nvim",
 | 
				
			||||||
 | 
						branch = "v3.x",
 | 
				
			||||||
 | 
						dependencies = {
 | 
				
			||||||
 | 
							"nvim-lua/plenary.nvim",
 | 
				
			||||||
 | 
							"nvim-tree/nvim-web-devicons",
 | 
				
			||||||
 | 
							"MunifTanjim/nui.nvim",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						config = function()
 | 
				
			||||||
 | 
							require("neo-tree").setup({
 | 
				
			||||||
 | 
								filesystem = {
 | 
				
			||||||
 | 
									filtered_items = {
 | 
				
			||||||
 | 
										visible = true,
 | 
				
			||||||
 | 
										show_hidden_count = true,
 | 
				
			||||||
 | 
										hide_dotfiles = false,
 | 
				
			||||||
 | 
										hide_gitignored = true,
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							vim.keymap.set("n", "<C-n>", ":Neotree filesystem reveal left<CR>", {})
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								.config/nvim/lua/plugins/none-ls.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.config/nvim/lua/plugins/none-ls.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  "nvimtools/none-ls.nvim",
 | 
				
			||||||
 | 
					  dependencies = {
 | 
				
			||||||
 | 
					    "nvimtools/none-ls-extras.nvim"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  config = function()
 | 
				
			||||||
 | 
					    local null_ls = require("null-ls")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    null_ls.setup({
 | 
				
			||||||
 | 
					      sources = {
 | 
				
			||||||
 | 
					        null_ls.builtins.formatting.stylua,
 | 
				
			||||||
 | 
					        null_ls.builtins.formatting.prettier,
 | 
				
			||||||
 | 
					        require("none-ls.diagnostics.eslint"),
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, {})
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								.config/nvim/lua/plugins/oxocarbon.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.config/nvim/lua/plugins/oxocarbon.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  "nyoom-engineering/oxocarbon.nvim",
 | 
				
			||||||
 | 
					  config = function()
 | 
				
			||||||
 | 
					    vim.opt.background = "dark"
 | 
				
			||||||
 | 
					    vim.cmd.colorscheme "oxocarbon"
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "nvim-telescope/telescope.nvim",
 | 
				
			||||||
 | 
					    tag = "0.1.5",
 | 
				
			||||||
 | 
					    dependencies = { "nvim-lua/plenary.nvim" },
 | 
				
			||||||
 | 
					    config = function()
 | 
				
			||||||
 | 
					      local builtin = require("telescope.builtin")
 | 
				
			||||||
 | 
					      vim.keymap.set("n", "<C-p>", builtin.find_files, {})
 | 
				
			||||||
 | 
					      vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) -- ripgrep is needed for this to work
 | 
				
			||||||
 | 
					    end,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "nvim-telescope/telescope-ui-select.nvim",
 | 
				
			||||||
 | 
					    config = function()
 | 
				
			||||||
 | 
					      require("telescope").setup({
 | 
				
			||||||
 | 
					        extentsions = {
 | 
				
			||||||
 | 
					          ["ui-select"] = {
 | 
				
			||||||
 | 
					            require("telescope.themes").get_dropdown({}),
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      require("telescope").load_extension("ui-select")
 | 
				
			||||||
 | 
					    end,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								.config/nvim/lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.config/nvim/lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					return {
 | 
				
			||||||
 | 
					  "nvim-treesitter/nvim-treesitter",
 | 
				
			||||||
 | 
					  build = ":TSUpdate",
 | 
				
			||||||
 | 
					  config = function()
 | 
				
			||||||
 | 
					    local config = require("nvim-treesitter.configs")
 | 
				
			||||||
 | 
					    config.setup({
 | 
				
			||||||
 | 
					      auto_install = true,
 | 
				
			||||||
 | 
					      highlight = { enable = true },
 | 
				
			||||||
 | 
					      indent = { enable = true },
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										10
									
								
								.config/nvim/lua/vim-options.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.config/nvim/lua/vim-options.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					vim.cmd("set expandtab")
 | 
				
			||||||
 | 
					vim.cmd("set tabstop=2")
 | 
				
			||||||
 | 
					vim.cmd("set softtabstop=2")
 | 
				
			||||||
 | 
					vim.cmd("set shiftwidth=2")
 | 
				
			||||||
 | 
					vim.g.mapleader = " "
 | 
				
			||||||
 | 
					vim.g.backgrounf = "light"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.opt.swapfile = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.wo.number = true
 | 
				
			||||||
							
								
								
									
										74
									
								
								.config/ohmyposh/zen.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								.config/ohmyposh/zen.toml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					version = 3
 | 
				
			||||||
 | 
					final_space = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[blocks]]
 | 
				
			||||||
 | 
					  type = 'prompt'
 | 
				
			||||||
 | 
					  alignment = 'left'
 | 
				
			||||||
 | 
					  newline = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [[blocks.segments]]
 | 
				
			||||||
 | 
					    type = 'path'
 | 
				
			||||||
 | 
					    style = 'plain'
 | 
				
			||||||
 | 
					    backgound = 'transparent'
 | 
				
			||||||
 | 
					    foreground = 'blue'
 | 
				
			||||||
 | 
					    template = '{{ .Path }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [blocks.segments.properties]
 | 
				
			||||||
 | 
					      style = 'full'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [[blocks.segments]]
 | 
				
			||||||
 | 
					    type = 'git'
 | 
				
			||||||
 | 
					    style = 'plain'
 | 
				
			||||||
 | 
					    background = 'transparent'
 | 
				
			||||||
 | 
					    foreground = 'p:grey'
 | 
				
			||||||
 | 
					    template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} <cyan>{{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}</>'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [blocks.segments.properties]
 | 
				
			||||||
 | 
					      branch_icon = ''
 | 
				
			||||||
 | 
					      commit_icon = '@'
 | 
				
			||||||
 | 
					      fetch_status = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[blocks]]
 | 
				
			||||||
 | 
					  type = 'rprompt'
 | 
				
			||||||
 | 
					  overflow = 'hidden'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [[blocks.segments]]
 | 
				
			||||||
 | 
					    type = 'executiontime'
 | 
				
			||||||
 | 
					    style = 'plain'
 | 
				
			||||||
 | 
					    background = 'transparent'
 | 
				
			||||||
 | 
					    foreground = 'yellow'
 | 
				
			||||||
 | 
					    template = '{{ .FormattedMs }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [blocks.segments.properties]
 | 
				
			||||||
 | 
					      threshold = 5000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[blocks]]
 | 
				
			||||||
 | 
					  type = 'prompt'
 | 
				
			||||||
 | 
					  alignment = 'left'
 | 
				
			||||||
 | 
					  newline = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [[blocks.segments]]
 | 
				
			||||||
 | 
					    type = 'text'
 | 
				
			||||||
 | 
					    style = 'plain'
 | 
				
			||||||
 | 
					    background = 'transparent'
 | 
				
			||||||
 | 
					    foreground_templates = [
 | 
				
			||||||
 | 
					      "{{if gt .Code 0}}red{{end}}",
 | 
				
			||||||
 | 
					      "{{if eq .Code 0}}magenta{{end}}",
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					    template = '❯'
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					[transient_prompt]
 | 
				
			||||||
 | 
					  background = 'transparent'
 | 
				
			||||||
 | 
					  foreground_templates = [
 | 
				
			||||||
 | 
					    "{{if gt .Code 0}}red{{end}}",
 | 
				
			||||||
 | 
					    "{{if eq .Code 0}}magenta{{end}}",
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					  template = '❯ '
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[secondary_prompt]
 | 
				
			||||||
 | 
					  foreground = 'magenta'
 | 
				
			||||||
 | 
					  background = 'transparent'
 | 
				
			||||||
 | 
					  template = '❯❯ '
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[palette]
 | 
				
			||||||
 | 
					grey = "#6c6c6c"
 | 
				
			||||||
							
								
								
									
										9
									
								
								.config/ohmyposh/zen.toml.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.config/ohmyposh/zen.toml.bak
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					version = 2
 | 
				
			||||||
 | 
					final_space = true
 | 
				
			||||||
 | 
					console_title_template = '{{ .Shell }} in {{ .Folder }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[blocks]]
 | 
				
			||||||
 | 
					  type = 'prompt'
 | 
				
			||||||
 | 
					  alignment = 'left'
 | 
				
			||||||
							
								
								
									
										38
									
								
								.config/scripts/daily_sec_check.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								.config/scripts/daily_sec_check.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the directory for report storage
 | 
				
			||||||
 | 
					REPORT_DIR="$HOME/.config/sec"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Create the directory if it doesn't exist
 | 
				
			||||||
 | 
					mkdir -p "$REPORT_DIR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get the current date
 | 
				
			||||||
 | 
					DATE=$(date +"%Y-%m-%d")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Define report filenames based on the date
 | 
				
			||||||
 | 
					LINPEAS_REPORT="$REPORT_DIR/linpeas_report_$DATE.txt"
 | 
				
			||||||
 | 
					LSE_REPORT="$REPORT_DIR/lse_report_$DATE.txt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check if today's reports already exist
 | 
				
			||||||
 | 
					if [ -f "$LINPEAS_REPORT" ] && [ -f "$LSE_REPORT" ]; then
 | 
				
			||||||
 | 
					  echo "Reports for $DATE already exist. Exiting."
 | 
				
			||||||
 | 
					  exit 0
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run linpeas if the report doesn't exist
 | 
				
			||||||
 | 
					if [ ! -f "$LINPEAS_REPORT" ]; then
 | 
				
			||||||
 | 
					  echo "Running linpeas..."
 | 
				
			||||||
 | 
					  curl -sSL https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | bash > "$LINPEAS_REPORT" 2>&1
 | 
				
			||||||
 | 
					  echo "linpeas report saved to $LINPEAS_REPORT"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  echo "linpeas report already exists: $LINPEAS_REPORT"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run lse if the report doesn't exist
 | 
				
			||||||
 | 
					if [ ! -f "$LSE_REPORT" ]; then
 | 
				
			||||||
 | 
					  echo "Running linux-smart-enumeration (lse)..."
 | 
				
			||||||
 | 
					  curl -sSL https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh | bash > "$LSE_REPORT" 2>&1
 | 
				
			||||||
 | 
					  echo "lse report saved to $LSE_REPORT"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  echo "lse report already exists: $LSE_REPORT"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										1
									
								
								.config/tmux/plugins/catppuccin-tmux
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/catppuccin-tmux
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/catppuccin-tmux added at b4e0715356
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/oxocarbon-tmux
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/oxocarbon-tmux
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/oxocarbon-tmux added at 5d9b32341c
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/tmux
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/tmux
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/tmux added at 179572333b
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/tmux-sensible
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/tmux-sensible
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/tmux-sensible added at 25cb91f42d
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/tmux-yank
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/tmux-yank
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/tmux-yank added at acfd36e4fc
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/tpm
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/tpm
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/tpm added at 99469c4a9b
									
								
							
							
								
								
									
										1
									
								
								.config/tmux/plugins/vim-tmux-navigator
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.config/tmux/plugins/vim-tmux-navigator
									
									
									
									
									
										Submodule
									
								
							 Submodule .config/tmux/plugins/vim-tmux-navigator added at 424b5caa15
									
								
							
							
								
								
									
										52
									
								
								.config/tmux/tmux.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								.config/tmux/tmux.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					set-option -sa terminal-overrides ",xterm*:Tc"
 | 
				
			||||||
 | 
					set -g mouse on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unbind C-b
 | 
				
			||||||
 | 
					set -g prefix C-Space
 | 
				
			||||||
 | 
					bind C-Space send-prefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Vim style pane selection
 | 
				
			||||||
 | 
					bind h select-pane -L
 | 
				
			||||||
 | 
					bind j select-pane -D 
 | 
				
			||||||
 | 
					bind k select-pane -U
 | 
				
			||||||
 | 
					bind l select-pane -R
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start windows and panes at 1, not 0
 | 
				
			||||||
 | 
					set -g base-index 1
 | 
				
			||||||
 | 
					set -g pane-base-index 1
 | 
				
			||||||
 | 
					set-window-option -g pane-base-index 1
 | 
				
			||||||
 | 
					set-option -g renumber-windows on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use Alt-arrow keys without prefix key to switch panes
 | 
				
			||||||
 | 
					bind -n M-Left select-pane -L
 | 
				
			||||||
 | 
					bind -n M-Right select-pane -R
 | 
				
			||||||
 | 
					bind -n M-Up select-pane -U
 | 
				
			||||||
 | 
					bind -n M-Down select-pane -D
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Shift arrow to switch windows
 | 
				
			||||||
 | 
					bind -n S-Left  previous-window
 | 
				
			||||||
 | 
					bind -n S-Right next-window
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Shift Alt vim keys to switch windows
 | 
				
			||||||
 | 
					bind -n M-H previous-window
 | 
				
			||||||
 | 
					bind -n M-L next-window
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g @catppuccin_flavour 'mocha'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g @plugin 'tmux-plugins/tpm'
 | 
				
			||||||
 | 
					set -g @plugin 'tmux-plugins/tmux-sensible'
 | 
				
			||||||
 | 
					set -g @plugin 'christoomey/vim-tmux-navigator'
 | 
				
			||||||
 | 
					set -g @plugin 'dreamsofcode-io/catppuccin-tmux'
 | 
				
			||||||
 | 
					set -g @plugin 'tmux-plugins/tmux-yank'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run '~/.tmux/plugins/tpm/tpm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# set vi-mode
 | 
				
			||||||
 | 
					set-window-option -g mode-keys vi
 | 
				
			||||||
 | 
					# keybindings
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi v send-keys -X begin-selection
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bind '"' split-window -v -c "#{pane_current_path}"
 | 
				
			||||||
 | 
					bind % split-window -h -c "#{pane_current_path}"
 | 
				
			||||||
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					[submodule ".tmux/plugins/tpm"]
 | 
				
			||||||
 | 
						path = .tmux/plugins/tpm
 | 
				
			||||||
 | 
						url = https://github.com/tmux-plugins/tpm
 | 
				
			||||||
 | 
					[submodule ".config/tmux/plugins/oxocarbon-tmux"]
 | 
				
			||||||
 | 
						path = .config/tmux/plugins/oxocarbon-tmux
 | 
				
			||||||
 | 
						url = https://github.com/NicolaiVdS/oxocarbon-tmux
 | 
				
			||||||
							
								
								
									
										1
									
								
								.tmux/plugins/tpm
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.tmux/plugins/tpm
									
									
									
									
									
										Submodule
									
								
							 Submodule .tmux/plugins/tpm added at 99469c4a9b
									
								
							
							
								
								
									
										74
									
								
								.zshrc
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								.zshrc
									
									
									
									
									
								
							@@ -1,12 +1,70 @@
 | 
				
			|||||||
export PATH="/usr/local/bin:/usr/bin:$PATH"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ Darwin = `uname` ]; then
 | 
					
 | 
				
			||||||
	source $HOME/.profile_macos
 | 
					# Set the directory we want to store zinit and plugins
 | 
				
			||||||
 | 
					ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/shere}/zinit/zinit.git"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Download Zinit, if it's not there yet
 | 
				
			||||||
 | 
					if [ ! -d "$ZINIT_HOME" ]; then
 | 
				
			||||||
 | 
					   mkdir -p "$(dirname $ZINIT_HOME)"
 | 
				
			||||||
 | 
					   git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Defaults from bash
 | 
					# Source/Load zinit
 | 
				
			||||||
[[ $- != *i* ]] && return
 | 
					source "${ZINIT_HOME}/zinit.zsh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add in zsh plugins
 | 
				
			||||||
 | 
					zinit light zsh-users/zsh-syntax-highlighting
 | 
				
			||||||
 | 
					zinit light zsh-users/zsh-completions
 | 
				
			||||||
 | 
					zinit light zsh-users/zsh-autosuggestions
 | 
				
			||||||
 | 
					zinit light Aloxaf/fzf-tab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add in snippets
 | 
				
			||||||
 | 
					zinit snippet OMZP::git
 | 
				
			||||||
 | 
					zinit snippet OMZP::sudo
 | 
				
			||||||
 | 
					zinit snippet OMZP::archlinux
 | 
				
			||||||
 | 
					zinit snippet OMZP::command-not-found
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load completions
 | 
				
			||||||
 | 
					autoload -U compinit && compinit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zinit cdreplay -q
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/zen.toml)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Keybinds
 | 
				
			||||||
 | 
					bindkey '^p' history-search-backward
 | 
				
			||||||
 | 
					bindkey '^n' history-search-forward
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# History
 | 
				
			||||||
 | 
					HISTSIZE=5000
 | 
				
			||||||
 | 
					HISTFILE=~/.zsh_history
 | 
				
			||||||
 | 
					SAVEHIST=$HISTSIZE
 | 
				
			||||||
 | 
					HISTDUP=erase
 | 
				
			||||||
 | 
					setopt appendhistory
 | 
				
			||||||
 | 
					setopt sharehistory
 | 
				
			||||||
 | 
					setopt hist_ignore_space
 | 
				
			||||||
 | 
					setopt hist_ignore_all_dups
 | 
				
			||||||
 | 
					setopt hist_save_no_dups
 | 
				
			||||||
 | 
					setopt hist_ignore_dups
 | 
				
			||||||
 | 
					setopt hist_find_no_dups
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Completion styling
 | 
				
			||||||
 | 
					zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
 | 
				
			||||||
 | 
					zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
 | 
				
			||||||
 | 
					zstyle ':completion:*' menu no
 | 
				
			||||||
 | 
					zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
 | 
				
			||||||
 | 
					zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					alias ls='ls --color'
 | 
				
			||||||
 | 
					alias vi='nvim'
 | 
				
			||||||
 | 
					alias vim='nvim'
 | 
				
			||||||
 | 
					alias nvim='nvim'
 | 
				
			||||||
 | 
					alias c='clear'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Shell integrations
 | 
				
			||||||
 | 
					eval "$(fzf --zsh)"
 | 
				
			||||||
 | 
					eval "$(zoxide init --cmd cd zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /usr/share/nvm/init-nvm.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias ls='ls --color=auto'
 | 
					 | 
				
			||||||
alias grep='grep --color=auto'
 | 
					 | 
				
			||||||
#PS1='[\u@\h \W]\$ '
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										64
									
								
								CHEATSHEETS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								CHEATSHEETS.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					# Tmux Cheatsheet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Prefix Key
 | 
				
			||||||
 | 
					- `Ctrl + Space`: Prefix key (instead of default `Ctrl + B`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Session Management
 | 
				
			||||||
 | 
					- `tmux new -s <name>`: Create new session
 | 
				
			||||||
 | 
					- `tmux attach -t <name>`: Attach to existing session
 | 
				
			||||||
 | 
					- `tmux ls`: List sessions
 | 
				
			||||||
 | 
					- `tmux kill-session -t <name>`: Kill a specific session
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Window Navigation
 | 
				
			||||||
 | 
					- `Shift + Left Arrow`: Previous window
 | 
				
			||||||
 | 
					- `Shift + Right Arrow`: Next window
 | 
				
			||||||
 | 
					- `Alt + H`: Previous window
 | 
				
			||||||
 | 
					- `Alt + L`: Next window
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Pane Navigation
 | 
				
			||||||
 | 
					- `Alt + Arrow Keys`: Switch between panes
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `h`: Move to left pane
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `j`: Move to down pane
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `k`: Move to up pane
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `l`: Move to right pane
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Pane Management
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `"`: Split window vertically (current path)
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `%`: Split window horizontally (current path)
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `x`: Close current pane
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Copy Mode (Vi-style)
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `[`: Enter copy mode
 | 
				
			||||||
 | 
					- `v`: Start selection
 | 
				
			||||||
 | 
					- `Ctrl + v`: Toggle rectangle selection
 | 
				
			||||||
 | 
					- `y`: Copy selection and exit copy mode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Resize Panes
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `(Hold) Arrow Keys`: Resize panes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Misc
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `r`: Reload tmux config
 | 
				
			||||||
 | 
					- `Ctrl + Space` + `?`: List all key bindings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installed Plugins
 | 
				
			||||||
 | 
					- TPM (Tmux Plugin Manager)
 | 
				
			||||||
 | 
					- tmux-sensible
 | 
				
			||||||
 | 
					- vim-tmux-navigator
 | 
				
			||||||
 | 
					- Catppuccin theme
 | 
				
			||||||
 | 
					- tmux-yank (for clipboard integration)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Mouse Mode
 | 
				
			||||||
 | 
					- Enabled by default
 | 
				
			||||||
 | 
					- Click to switch panes
 | 
				
			||||||
 | 
					- Scroll through pane content
 | 
				
			||||||
 | 
					- Resize panes by dragging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Configuration Details
 | 
				
			||||||
 | 
					- Base index starts at 1 (windows and panes)
 | 
				
			||||||
 | 
					- Vi mode enabled for copy mode
 | 
				
			||||||
 | 
					- Automatic window renumbering
 | 
				
			||||||
 | 
					- Catppuccin Mocha color theme
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Pro Tips
 | 
				
			||||||
 | 
					- Use `Ctrl + Space` + `d` to detach from session
 | 
				
			||||||
 | 
					- Sessions persist after detaching
 | 
				
			||||||
		Reference in New Issue
	
	Block a user