Compare commits
22 Commits
2fedd15513
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ab411e742 | |||
| a4431f4ff3 | |||
| edc253a1f6 | |||
| 15f9d42b1c | |||
| 15e69604e0 | |||
| d134439d55 | |||
| 8afeb50d2c | |||
| 8a1762f58e | |||
| ee00d818be | |||
| e281c2392a | |||
| f9ade6a6d5 | |||
| 96a215c45c | |||
| 35e7769657 | |||
| cdbc030e30 | |||
| 66cf71c398 | |||
| e440a5d37f | |||
| 73de376805 | |||
| 95671e295c | |||
| 9ade6aa600 | |||
| fe75cdfebf | |||
| 3ab926e9ea | |||
| 0233563bd6 |
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"
|
||||||
|
|||||||
35
.config/hypr/hyprland.conf
Normal file
35
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
source = ~/.config/hypr/hyprland/general.conf
|
||||||
|
source = ~/.config/hypr/hyprland/decoration.conf
|
||||||
|
source = ~/.config/hypr/hyprland/animations.conf
|
||||||
|
source = ~/.config/hypr/hyprland/input.conf
|
||||||
|
source = ~/.config/hypr/hyprland/group.conf
|
||||||
|
source = ~/.config/hypr/hyprland/binds.conf
|
||||||
|
source = ~/.config/hypr/hyprland/xwayland.conf
|
||||||
|
source = ~/.config/hypr/hyprland/opengl.conf
|
||||||
|
source = ~/.config/hypr/hyprland/render.conf
|
||||||
|
source = ~/.config/hypr/hyprland/cursor.conf
|
||||||
|
source = ~/.config/hypr/hyprland/layout.conf
|
||||||
|
|
||||||
|
source = ~/.config/hypr/hyprland/monitors.conf
|
||||||
|
source = ~/.config/hypr/hyprland/env.conf
|
||||||
|
source = ~/.config/hypr/hyprland/rules.conf
|
||||||
|
source = ~/.config/hypr/hyprland/autostart.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5
.config/hypr/hyprland/animations.conf
Normal file
5
.config/hypr/hyprland/animations.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
first_launch_animation = true
|
||||||
|
# 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
|
||||||
89
.config/hypr/hyprland/binds.conf
Normal file
89
.config/hypr/hyprland/binds.conf
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Resize
|
||||||
|
binde = SUPERCTRL, left, resizeactive, -20 0
|
||||||
|
binde = SUPERCTRL, right, resizeactive, 20 0
|
||||||
|
binde = SUPERCTRL, up, resizeactive, 0 -20
|
||||||
|
binde = SUPERCTRL, down, resizeactive, 0 20
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Launch
|
||||||
|
bind = $mainMod, RETURN, exec, alacritty
|
||||||
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod SHIFT, X, exit,
|
||||||
|
bind = $mainMod, D, exec, wofi --show drun -G
|
||||||
|
bind = $mainMod, E, exec, dolphin
|
||||||
|
#bind = $mainMod, P, exec, grim -g "$(slurp)" - | wl-copy
|
||||||
|
|
||||||
|
# AGS
|
||||||
|
#bind = $mainMod, X, exec, ags -t session
|
||||||
|
|
||||||
|
# Window options
|
||||||
|
bind = $mainMod, P, pseudo,
|
||||||
|
bind = $mainMod, S, togglesplit,
|
||||||
|
bind = $mainMod, F, fullscreen,
|
||||||
|
bind = $mainMod, Space, togglefloating,
|
||||||
|
|
||||||
|
# Focus windows
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, L, movefocus, r
|
||||||
|
bind = $mainMod, K, movefocus, u
|
||||||
|
bind = $mainMod, J, movefocus, d
|
||||||
|
|
||||||
|
# Move windows
|
||||||
|
bind = $mainMod SHIFT, L, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, K, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, H, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, J, movewindow, d
|
||||||
|
|
||||||
|
# Switch workspaces
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Switch active window to workspace
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Scroll workspace with mouse scrollwhell
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move and resize windows with mouse too
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Special keys
|
||||||
|
#bind = , Caps_lock, exec, swayosd-client --caps-lock
|
||||||
|
|
||||||
|
binde = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
||||||
|
binde = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||||
|
bind = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
|
||||||
|
#bind = , XF86AudioPlayPause, exec, playerctl play-pause
|
||||||
|
|
||||||
|
#binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
|
||||||
|
#binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower
|
||||||
|
|
||||||
|
#bind = ,XF86AudioNext, exec, playerctl next
|
||||||
|
#bind = ,XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
#bind = ,XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
#binde = , XF86KbdBrightnessUp, exec, brightnessctl --device='smc::kbd_backlight' set 10+
|
||||||
|
#binde = , XF86KbdBrightnessDown, exec, brightnessctl --device='smc::kbd_backlight' set 10-
|
||||||
|
|
||||||
18
.config/hypr/hyprland/cursor.conf
Normal file
18
.config/hypr/hyprland/cursor.conf
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
cursor {
|
||||||
|
sync_gsettings_theme = true
|
||||||
|
no_hardware_cursors = 2
|
||||||
|
no_break_fs_vrr = false
|
||||||
|
min_refresh_rate = 24
|
||||||
|
hotspot_padding = 1
|
||||||
|
inactive_timeout = 0
|
||||||
|
no_warps = false
|
||||||
|
persistent_warps = false
|
||||||
|
warp_on_change_workspace = false
|
||||||
|
default_monitor =
|
||||||
|
zoom_factor = 1.0
|
||||||
|
zoom_rigid = false
|
||||||
|
enable_hyprcursor = true
|
||||||
|
hide_on_key_press = false
|
||||||
|
hide_on_touch = true
|
||||||
|
# use_cpu_buffer = false
|
||||||
|
}
|
||||||
40
.config/hypr/hyprland/decoration.conf
Normal file
40
.config/hypr/hyprland/decoration.conf
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
fullscreen_opacity = 1.0
|
||||||
|
dim_inactive = false
|
||||||
|
dim_strength = 0.5
|
||||||
|
dim_special = 0.2
|
||||||
|
dim_around = 0.4
|
||||||
|
screen_shader =
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 8
|
||||||
|
passes = 1
|
||||||
|
ignore_opacity = true
|
||||||
|
new_optimizations = true
|
||||||
|
xray = true
|
||||||
|
noise = 0.0117
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.1696
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
|
special = false
|
||||||
|
popups = false
|
||||||
|
popups_ignorealpha = 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 50
|
||||||
|
render_power = 4
|
||||||
|
sharp = false
|
||||||
|
ignore_window = true
|
||||||
|
color = rgba(000000aa)
|
||||||
|
# color_inactive =
|
||||||
|
offset = 0, 0
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
6
.config/hypr/hyprland/env.conf
Normal file
6
.config/hypr/hyprland/env.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = NVD_BACKEND,direct
|
||||||
25
.config/hypr/hyprland/general.conf
Normal file
25
.config/hypr/hyprland/general.conf
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
general {
|
||||||
|
border_size = 1
|
||||||
|
no_border_on_floating = true
|
||||||
|
gaps_in = 3
|
||||||
|
gaps_out = 4
|
||||||
|
gaps_workspaces = 0
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.active_border = rgba(595959aa)
|
||||||
|
col.nogroup_border = 0xffffaaff
|
||||||
|
col.nogroup_border_active = 0xffff00ff
|
||||||
|
layout = dwindle
|
||||||
|
no_focus_fallback = false
|
||||||
|
resize_on_border = false
|
||||||
|
extend_border_grab_area = 15
|
||||||
|
hover_icon_on_border = true
|
||||||
|
allow_tearing = true
|
||||||
|
resize_corner = 0
|
||||||
|
|
||||||
|
snap {
|
||||||
|
enabled = false
|
||||||
|
window_gap = 10
|
||||||
|
monitor_gap = 10
|
||||||
|
border_overlap = false
|
||||||
|
}
|
||||||
|
}
|
||||||
31
.config/hypr/hyprland/group.conf
Normal file
31
.config/hypr/hyprland/group.conf
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
group {
|
||||||
|
auto_group = true
|
||||||
|
insert_after_current = true
|
||||||
|
focus_removed_window = true
|
||||||
|
drag_into_group = 1
|
||||||
|
merge_groups_on_drag = true
|
||||||
|
merge_groups_on_groupbar = true
|
||||||
|
merge_floated_into_tiled_on_groupbar = false
|
||||||
|
group_on_movetoworkspace = false
|
||||||
|
col.border_active = 0x66ffff00
|
||||||
|
col.border_inactive = 0x66777700
|
||||||
|
col.border_locked_active = 0x66ff5500
|
||||||
|
col.border_locked_inactive = 0x66775500
|
||||||
|
|
||||||
|
groupbar {
|
||||||
|
enabled = true
|
||||||
|
font_family =
|
||||||
|
font_size = 8
|
||||||
|
gradients = true
|
||||||
|
height = 14
|
||||||
|
stacked = false
|
||||||
|
priority = 3
|
||||||
|
render_titles = true
|
||||||
|
scrolling = true
|
||||||
|
text_color = 0xffffffff
|
||||||
|
col.active = 0x66ffff00
|
||||||
|
col.inactive = 0x66777700
|
||||||
|
col.locked_active = 0x66ff5500
|
||||||
|
col.locked_inactive = 0x66775500
|
||||||
|
}
|
||||||
|
}
|
||||||
77
.config/hypr/hyprland/input.conf
Normal file
77
.config/hypr/hyprland/input.conf
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
input {
|
||||||
|
#kb_model = pc105+inet
|
||||||
|
kb_layout = us
|
||||||
|
#kb_variant = intl
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
kb_file =
|
||||||
|
numlock_by_default = false
|
||||||
|
resolve_binds_by_sym = false
|
||||||
|
repeat_rate = 25
|
||||||
|
repeat_delay = 600
|
||||||
|
sensitivity = 0.0
|
||||||
|
accel_profile =
|
||||||
|
force_no_accel = false
|
||||||
|
left_handed = false
|
||||||
|
scroll_points =
|
||||||
|
scroll_method =
|
||||||
|
scroll_button = 0
|
||||||
|
scroll_button_lock = 0
|
||||||
|
scroll_factor = 1.0
|
||||||
|
natural_scroll = false
|
||||||
|
follow_mouse = 1
|
||||||
|
focus_on_close = 0
|
||||||
|
mouse_refocus = true
|
||||||
|
float_switch_override_focus = 1
|
||||||
|
special_fallthrough = false
|
||||||
|
off_window_axis_events = 1
|
||||||
|
emulate_discrete_scroll = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
disable_while_typing = true
|
||||||
|
natural_scroll = false
|
||||||
|
scroll_factor = 1.0
|
||||||
|
middle_button_emulation = false
|
||||||
|
tap_button_map =
|
||||||
|
clickfinger_behavior = false
|
||||||
|
tap-to-click = true
|
||||||
|
drag_lock = false
|
||||||
|
tap-and-drag = true
|
||||||
|
}
|
||||||
|
|
||||||
|
touchdevice {
|
||||||
|
transform = 0
|
||||||
|
output = Auto
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
tablet {
|
||||||
|
transform = 0
|
||||||
|
#output =
|
||||||
|
region_position = 0, 0
|
||||||
|
#absolute_region_position = false
|
||||||
|
region_size = 0, 0
|
||||||
|
relative_input = false
|
||||||
|
left_handed = false
|
||||||
|
active_area_size = 0, 0
|
||||||
|
active_area_position = 0, 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = true
|
||||||
|
workspace_swipe_fingers = 4
|
||||||
|
workspace_swipe_min_fingers = false
|
||||||
|
workspace_swipe_distance = 300
|
||||||
|
workspace_swipe_touch = false
|
||||||
|
workspace_swipe_invert = true
|
||||||
|
workspace_swipe_touch_invert = false
|
||||||
|
workspace_swipe_min_speed_to_force = 30
|
||||||
|
workspace_swipe_cancel_ratio = 0.5
|
||||||
|
workspace_swipe_create_new = true
|
||||||
|
workspace_swipe_direction_lock = true
|
||||||
|
workspace_swipe_direction_lock_threshold = 10
|
||||||
|
workspace_swipe_forever = false
|
||||||
|
workspace_swipe_use_r = false
|
||||||
|
}
|
||||||
|
|
||||||
26
.config/hypr/hyprland/layout.conf
Normal file
26
.config/hypr/hyprland/layout.conf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
dwindle {
|
||||||
|
pseudotile = yes
|
||||||
|
force_split = 0
|
||||||
|
preserve_split = true
|
||||||
|
smart_split = false
|
||||||
|
smart_resizing = true
|
||||||
|
permanent_direction_override = false
|
||||||
|
special_scale_factor = 1
|
||||||
|
split_width_multiplier = 1.0
|
||||||
|
use_active_for_splits = true
|
||||||
|
default_split_ratio = 1.0
|
||||||
|
split_bias = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
allow_small_split = false
|
||||||
|
special_scale_factor = 1
|
||||||
|
mfact = 0.55
|
||||||
|
new_status = true
|
||||||
|
new_on_top = false
|
||||||
|
new_on_active = none
|
||||||
|
orientation = left
|
||||||
|
inherit_fullscreen = true
|
||||||
|
smart_resizing = true
|
||||||
|
drop_at_cursor = true
|
||||||
|
}
|
||||||
34
.config/hypr/hyprland/misc.conf
Normal file
34
.config/hypr/hyprland/misc.conf
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
misc {
|
||||||
|
disable_hyprland_logo = false
|
||||||
|
disable_splash_rendering = false
|
||||||
|
col.splash = 0xffffffff
|
||||||
|
font_family = JetBrainsMono Nerd Font
|
||||||
|
splash_font_family =
|
||||||
|
force_default_wallpaper = 2
|
||||||
|
vfr = true
|
||||||
|
vrr = 1
|
||||||
|
mouse_move_enables_dpms = false
|
||||||
|
key_press_enables_dpms = false
|
||||||
|
always_follow_on_dnd = true
|
||||||
|
layers_hog_keyboard_focus = true
|
||||||
|
animate_manual_resizes = true
|
||||||
|
animate_mouse_windowdragging = false
|
||||||
|
disable_autoreload = false
|
||||||
|
enable_swallow = true
|
||||||
|
swallow_regex =
|
||||||
|
swallow_exception_regex =
|
||||||
|
focus_on_activate = false
|
||||||
|
mouse_move_focuses_monitor = true
|
||||||
|
render_ahead_of_time = false
|
||||||
|
render_ahead_safezone = 1
|
||||||
|
allow_session_lock_restore = false
|
||||||
|
background_color = 0x111111
|
||||||
|
close_special_on_empty = true
|
||||||
|
new_window_takes_over_fullscreen = 0
|
||||||
|
exit_window_retains_fullscreen = false
|
||||||
|
initial_workspace_tracking = 1
|
||||||
|
middle_click_paste = true
|
||||||
|
render_unfocused_fps = 15
|
||||||
|
disable_xdg_env_checks = false
|
||||||
|
lockdead_screen_delay = 1000
|
||||||
|
}
|
||||||
1
.config/hypr/hyprland/monitors.conf
Normal file
1
.config/hypr/hyprland/monitors.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
monitor=DP-2,2560x1440@144,auto,1
|
||||||
4
.config/hypr/hyprland/opengl.conf
Normal file
4
.config/hypr/hyprland/opengl.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
opengl {
|
||||||
|
nvidia_anti_flicker = true
|
||||||
|
force_introspection = 2
|
||||||
|
}
|
||||||
6
.config/hypr/hyprland/render.conf
Normal file
6
.config/hypr/hyprland/render.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
render {
|
||||||
|
explicit_sync = 2
|
||||||
|
explicit_sync_kms = 2
|
||||||
|
direct_scanout = false
|
||||||
|
expand_undersized_textures = true
|
||||||
|
}
|
||||||
13
.config/hypr/hyprland/rules.conf
Normal file
13
.config/hypr/hyprland/rules.conf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
windowrulev2 = float, title:^(Picture-in-Picture)$
|
||||||
|
windowrulev2 = pin, title:^(Picture-in-Picture)$
|
||||||
|
windowrulev2 = move 72% 72%, title:^(Picture-in-Picture)$
|
||||||
|
windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$
|
||||||
|
|
||||||
|
windowrulev2 = opacity 0.0 override 0.0 override, class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = nofocus, class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
|
||||||
|
|
||||||
|
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
|
||||||
|
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
|
||||||
|
windowrulev2 = noblur, class:^(steam)$
|
||||||
5
.config/hypr/hyprland/xwayland.conf
Normal file
5
.config/hypr/hyprland/xwayland.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
xwayland {
|
||||||
|
enabled = true
|
||||||
|
use_nearest_neighbor = 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,6 +1,70 @@
|
|||||||
# Defaults from bash
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
alias grep='grep --color=auto'
|
# Set the directory we want to store zinit and plugins
|
||||||
#PS1='[\u@\h \W]\$ '
|
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
|
||||||
|
|
||||||
|
# Source/Load zinit
|
||||||
|
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
|
||||||
|
|
||||||
|
|||||||
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