Compare commits

...

20 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
50 changed files with 766 additions and 49 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

@@ -8,7 +8,6 @@ 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/binds.conf
source = ~/.config/hypr/hyprland/render.conf
source = ~/.config/hypr/hyprland/cursor.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/env.conf
source = ~/.config/hypr/hyprland/rules.conf
#source = ~/.config/hypr/hyprland/autostart.conf
source = ~/.config/hypr/hyprland/autostart.conf

View File

@@ -1,5 +1,5 @@
animations {
enable = true
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

@@ -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
# Resize
@@ -25,7 +12,7 @@ binde = SUPERCTRL, down, resizeactive, 0 20
bind = $mainMod, RETURN, exec, alacritty
bind = $mainMod, Q, killactive,
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, P, exec, grim -g "$(slurp)" - | wl-copy
@@ -85,9 +72,9 @@ 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
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

View File

@@ -14,5 +14,5 @@ cursor {
enable_hyprcursor = true
hide_on_key_press = false
hide_on_touch = true
use_cpu_buffer = false
# use_cpu_buffer = false
}

View File

@@ -1,7 +1,7 @@
decoration {
rounding = 0
active_opacity = 1.0
inactive_opacity = 0.9
inactive_opacity = 1.0
fullscreen_opacity = 1.0
dim_inactive = false
dim_strength = 0.5
@@ -10,7 +10,7 @@ decoration {
screen_shader =
blur {
enable = true
enabled = true
size = 8
passes = 1
ignore_opacity = true
@@ -27,14 +27,14 @@ decoration {
}
shadow {
enable = true
enabled = true
range = 50
render_power = 4
sharp = false
ignore_window = true
color = rgba(000000aa)
color_inactive =
offset = [0,0]
# color_inactive =
offset = 0, 0
scale = 1
}
}

View File

@@ -17,7 +17,7 @@ general {
resize_corner = 0
snap {
enable = false
enabled = false
window_gap = 10
monitor_gap = 10
border_overlap = false

View File

@@ -1,7 +1,7 @@
input {
kb_model = pc105+inet
#kb_model = pc105+inet
kb_layout = us
kb_variant = intl
#kb_variant = intl
kb_options =
kb_rules =
kb_file =
@@ -28,7 +28,7 @@ input {
emulate_discrete_scroll = 1
touchpad {
diable_while_typing = true
disable_while_typing = true
natural_scroll = false
scroll_factor = 1.0
middle_button_emulation = false
@@ -42,19 +42,19 @@ input {
touchdevice {
transform = 0
output = Auto
enable = true
enabled = true
}
tablet {
transform = 0
output =
region_position = [0,0]
absolute_region_position = false
region_size = [0,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]
active_area_size = 0, 0
active_area_position = 0, 0
}
}

View File

@@ -21,7 +21,6 @@ master {
new_on_active = none
orientation = left
inherit_fullscreen = true
always_center_master = false
smart_resizing = true
drop_at_cursor = true
}

View File

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

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