Compare commits

...

22 Commits

Author SHA1 Message Date
8ab411e742 adding back zshrc 2025-01-28 11:00:44 +01:00
a4431f4ff3 trying to fix stuff 2025-01-28 10:59:51 +01:00
edc253a1f6 minor changes 2025-01-28 10:57:40 +01:00
15f9d42b1c Removed sec scans since it triggers alerts on work pc 2025-01-09 10:05:47 +01:00
15e69604e0 Added daily security check script to use remote linpeas and ls 2024-12-05 21:39:56 +01:00
d134439d55 let the cat out for some carbon 2024-11-30 11:07:02 +01:00
8afeb50d2c added cheatsheet so i dont forget 2024-11-26 17:23:44 +01:00
8a1762f58e Updates 2024-11-26 09:03:36 +01:00
ee00d818be added lsp, formatter debugger etc 2024-11-25 15:27:51 +01:00
e281c2392a made nvim config more readable and modular 2024-11-25 11:37:39 +01:00
f9ade6a6d5 added base config for neovim 2024-11-24 23:56:41 +01:00
96a215c45c set tmux as default on terminal launch 2024-11-24 20:03:29 +01:00
35e7769657 added tmux config 2024-11-24 19:58:05 +01:00
cdbc030e30 added tmux plugin manager 2024-11-24 18:17:28 +01:00
66cf71c398 removed p10k coonfig 2024-11-24 13:13:38 +01:00
e440a5d37f changed to omp instead of powerlevels10k since its on life support 2024-11-24 13:12:33 +01:00
73de376805 changed to omp instead of powerlevels10k since its on life support 2024-11-24 13:11:18 +01:00
95671e295c expanded zshrc 2024-11-23 12:19:28 +01:00
9ade6aa600 minor changed and added alsoftrc to get minecraft working 2024-11-23 11:27:37 +01:00
fe75cdfebf fixing errors 2024-11-22 16:39:53 +01:00
3ab926e9ea added base hyprland config 2024-11-22 16:21:07 +01:00
0233563bd6 minor changes 2024-11-22 16:20:43 +01:00
57 changed files with 1160 additions and 7 deletions

3
.alsoftrc Normal file
View File

@@ -0,0 +1,3 @@
[general]
drivers=pulse
hrtf=true

2
.config/ags/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
node_modules/
@girs/

10
.config/ags/app.ts Normal file
View 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
View 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
View File

@@ -0,0 +1,6 @@
{
"name": "astal-shell",
"dependencies": {
"astal": "/usr/share/astal/gjs"
}
}

20
.config/ags/style.scss Normal file
View 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
View 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",
}
}

View 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>
}

View File

@@ -57,7 +57,7 @@ shape = "Block"
TERM = "xterm-256color"
[font]
size = 12
size = 10
[font.bold]
family = "JetBrainsMono Nerd Font"
@@ -89,7 +89,7 @@ mouse = "Middle"
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
[terminal]
shell = "/bin/zsh"
shell = "tmux"
[window]
decorations = "full"

View 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

View File

@@ -0,0 +1,5 @@
animations {
enabled = true
first_launch_animation = true
# TODO
}

View File

@@ -0,0 +1,3 @@
# Set Darkmode
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
exec = swayosd-server

View 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-

View 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
}

View 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
}
}

View 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

View 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
}
}

View 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
}
}

View 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
}

View 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
}

View 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
}

View File

@@ -0,0 +1 @@
monitor=DP-2,2560x1440@144,auto,1

View File

@@ -0,0 +1,4 @@
opengl {
nvidia_anti_flicker = true
force_introspection = 2
}

View File

@@ -0,0 +1,6 @@
render {
explicit_sync = 2
explicit_sync_kms = 2
direct_scanout = false
expand_undersized_textures = true
}

View 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)$

View File

@@ -0,0 +1,5 @@
xwayland {
enabled = true
use_nearest_neighbor = true
force_zero_scaling = true
}

5
.config/nvim/.luarc.json Normal file
View File

@@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"vim"
]
}

15
.config/nvim/init.lua Normal file
View 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")

View 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" }
}

View File

@@ -0,0 +1,2 @@
return {}

View 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,
}

View File

@@ -0,0 +1,9 @@
return {
"catppuccin/nvim",
lazy = false,
name = "catppuccin",
priority = 1000,
config = function()
-- vim.cmd.colorscheme("catppuccin")
end,
}

View 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,
},
}

View 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,
}

View 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,
},
}

View 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 = "" },
},
},
}

View 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,
}

View 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,
}

View File

@@ -0,0 +1,7 @@
return {
"nyoom-engineering/oxocarbon.nvim",
config = function()
vim.opt.background = "dark"
vim.cmd.colorscheme "oxocarbon"
end
}

View 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,
},
}

View 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,
}

View 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
View 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"

View 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'

View 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

Submodule .config/tmux/plugins/catppuccin-tmux added at b4e0715356

Submodule .config/tmux/plugins/tmux added at 179572333b

Submodule .config/tmux/plugins/tmux-sensible added at 25cb91f42d

Submodule .config/tmux/plugins/tmux-yank added at acfd36e4fc

Submodule .config/tmux/plugins/tpm added at 99469c4a9b

Submodule .config/tmux/plugins/vim-tmux-navigator added at 424b5caa15

52
.config/tmux/tmux.conf Normal file
View 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
View 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

Submodule .tmux/plugins/tpm added at 99469c4a9b

74
.zshrc
View File

@@ -1,6 +1,70 @@
# Defaults from bash
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
#PS1='[\u@\h \W]\$ '
# 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
# 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
View 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