[chore] removed contents of .gitignore

This commit is contained in:
Abdellah El Morabit 2025-11-10 20:38:53 +01:00
parent e58c9b67be
commit 739365a8d4
34 changed files with 16252 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@

1
README.md Normal file
View File

@ -0,0 +1 @@
#### dotfiles

99
alacritty/alacritty.toml Normal file
View File

@ -0,0 +1,99 @@
# Alacritty Configuration
# Window settings
[window]
opacity = 1
dynamic_padding = true
decorations = "Buttonless"
blur = true
title = "Terminal"
decorations_theme_variant = "Dark"
resize_increments = true
option_as_alt = "OnlyRight"
# Font settings
[font]
normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
bold = { family = "JetBrainsMono Nerd Font", style = "Bold" }
italic = { family = "JetBrainsMono Nerd Font", style = "Italic" }
size = 18.0
[font.offset]
x = 0
y = 0
[font.glyph_offset]
x = 0
y = 0
# Cursor settings
[cursor]
style = { shape = "Beam", blinking = "Always" }
vi_mode_style = { shape = "Beam", blinking = "Always" }
blink_interval = 500
thickness = 0.3
# Colors
[colors]
transparent_background_colors = true
[colors.primary]
background = "#0E1415"
foreground = "#CECECE"
[colors.cursor]
text = "#0E1415"
cursor = "#CECECE"
[colors.selection]
text = "#CECECE"
background = "#DDF0FF"
[colors.normal]
black = "#000000"
red = "#e25d56"
green = "#73ca50"
yellow = "#e9bf57"
blue = "#4a88e4"
magenta = "#915caf"
cyan = "#23acdd"
white = "#cecece"
[colors.bright]
black = "#777777"
red = "#f36868"
green = "#88db3f"
yellow = "#f0bf7a"
blue = "#6f8fdb"
magenta = "#e987e9"
cyan = "#4ac9e2"
white = "#FFFFFF"
[colors.search]
matches.background = "#DDDDFF"
matches.foreground = "#bbbbbb"
focused_match.background = "#DDFFDD"
focused_match.foreground = "#bbbbbb"
[colors.vi_mode_cursor]
text = "#0E1415"
cursor = "#CECECE"
# Padding (to complement dynamic padding)
[window.padding]
x = 20
y = 15
# Scrollback buffer
[scrolling]
history = 10000
multiplier = 3
[mouse]
hide_when_typing = true
[debug]
render_timer = false

36
bash/bashrc Normal file
View File

@ -0,0 +1,36 @@
# ~/.bashrc
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
# Color definitions
RED='\[\e[31m\]'
GREEN='\[\e[32m\]'
BLUE='\[\e[34m\]'
YELLOW='\[\e[33m\]'
CYAN='\[\e[36m\]'
RESET='\[\e[0m\]'
export PS1="${RED}\u ${CYAN}\w ${GREEN}${RESET}"
export XDG_SESSION_TYPE=wayland
export WLR_BACKENDS="libinput,headless,wayland,x11"
alias push='git push'
alias add='git add .'
alias vim=nvim
alias ll='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias gs='git status'
alias gc='git commit -m "quick commit"'
alias ..='cd ..'
alias ...='cd ../..'
alias update='sudo pacman -Syu'
alias cleanup='sudo pacman -Rns $(pacman -Qdtq)'
alias bashrc="vim ~/.bashrc && source ~/.bashrc"

157
i3/i3_config/config Normal file
View File

@ -0,0 +1,157 @@
####################################
# I3 CONFIGURATION BY NASR #
####################################
# Set the mod key
set $mod Mod4
# Defining the colors
set $bg #2f343f
set $fg #404552
set $hi #fce94f
set $ac #4084d6
set $tx #2d323d
set $ia #9e9e9e
set $be #8faf9f
set $yw #f8f893
set $gn #81c181
set $rd #bf9b76
set $id #f9f8ff
set $ce #ceecee
set $sl #7f7f7f
# Align the title to the center
title_align center
# Default window orientation and border
default_orientation auto
default_border pixel 5
# Execute programs
bindsym $mod+g exec firefox
bindsym $mod+o exec code
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
exec --no-startup-id nm-applet
# Start a terminal
bindsym $mod+Return exec alacritty
# Kill focused window
bindsym $mod+q kill
# Start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# Change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# Move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# Split in horizontal orientation
bindsym $mod+h split h
# Split in vertical orientation
bindsym $mod+v split v
# Enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# Window colors
client.focused $bg $ac $id $ac $gn
client.focused_inactive $bg $ia $id $ia $ia
client.unfocused $bg $be $sl $be $be
client.urgent $bg $rd $id $rd $rd
client.placeholder $bg $tx $id $bg $tx
client.background $id
# Define names for default workspaces for which we configure key bindings later on
set $ws1 "DEV"
set $ws2 "WEB"
set $ws3 "CLI"
set $ws4 "SOFTWARE"
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
# Reload i3
bindsym $mod+Shift+c reload
# Restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# Exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'This will end the session' -B 'Yes, exit i3' 'i3-msg exit'"
# Resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# Resizing keybindings
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# Same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# Back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Gaps between the windows
gaps inner 7
gaps outer 7
# Start i3bar to display a workspace bar
bar {
status_command i3status
position bottom
padding 2px
separator_symbol " | "
tray_output primary
colors {
background $bg
statusline $id
separator $rd
focused_workspace $fg $hi $fg
active_workspace $hi $hi $hi
inactive_workspace $bg $bg $id
urgent_workspace $bg $rd $id
binding_mode $bg $rd $id
}
workspace_min_width 100
font pango:0xMono Nerd Font 15
# Disable clicking on the bar and enable middle button click screenshots
bindsym button1 nop
bindsym --release button3 exec --no-startup-id import ~/latest-screenshot.png
}
# Display resolution and wallpaper and keyboard speed
exec_always xrandr --output HDMI-2 --mode 1920x1080 --rate 120
exec_always feh --bg-fill ~/.config/wp.jpeg
exec --no-startup-id xset r rate 250 20

21
i3/i3status/config Normal file
View File

@ -0,0 +1,21 @@
general {
colors = true
interval = 1
colors = true
color_good = '#88b090'
color_degraded = '#ccdc90'
color_bad = '#e89393'
}
order += "load"
order += "time"
time {
format = "%d %H:%M "
}
load {
format = "%5min"
}

199
nvim/init.lua Normal file
View File

@ -0,0 +1,199 @@
-- nvim optimizations
vim.loader.enable()
-- bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{ "nvim-lualine/lualine.nvim" },
{ "nvim-telescope/telescope.nvim",lazy = false, dependencies = "nvim-lua/plenary.nvim" },
{ "neovim/nvim-lspconfig" },
{ "williamboman/mason.nvim", config = true },
{
"mason-org/mason-lspconfig.nvim",
opts = {},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
{ "hrsh7th/nvim-cmp", dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
}
},
{ "ray-x/go.nvim", dependencies = { "ray-x/guihua.lua" }, config = true },
{ "akinsho/toggleterm.nvim", version = "*", config = true },
{ "sindrets/diffview.nvim", dependencies = "nvim-lua/plenary.nvim" },
{ "airblade/vim-gitgutter" },
{ 'windwp/nvim-autopairs', event = "InsertEnter", config = true }
})
-- neovim configuration
vim.opt.termguicolors = true
vim.o.encoding = 'utf-8'
vim.o.fileencoding = 'utf-8'
vim.o.tabstop = 2
vim.o.shiftwidth = 2
vim.o.expandtab = true
vim.o.smartindent = true
vim.o.hidden = true
vim.o.number = true
vim.o.relativenumber = true
vim.o.cursorline = true
vim.o.clipboard = 'unnamedplus'
vim.o.wildmenu = true
vim.o.laststatus = 2
vim.o.undofile = true
vim.o.hlsearch = true
vim.o.incsearch = true
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.errorbells = false
vim.o.visualbell = false
vim.g.mapleader = ' '
vim.opt.guicursor = "n-v-c:ver20,a:ver20"
vim.opt.mouse = nil
-- Telescope Keybinds
vim.keymap.set('n', '<leader><leader>', require('telescope.builtin').find_files)
vim.keymap.set('n', '<leader>fg', require('telescope.builtin').live_grep)
vim.keymap.set('n', '<leader>fb', require('telescope.builtin').buffers)
vim.keymap.set('n', '<leader>fh', require('telescope.builtin').help_tags)
vim.keymap.set('n', '<leader>fr', require('telescope.builtin').lsp_references)
-- Error Keymaps
vim.keymap.set('n', '<leader>tr', require('telescope.builtin').diagnostics)
vim.keymap.set('n', '<leader>tn', vim.diagnostic.goto_next);
vim.keymap.set('n', '<leader>tf', vim.diagnostic.open_float);
-- transparent background
vim.api.nvim_set_hl(0, 'Normal', { bg = 'none' })
vim.api.nvim_set_hl(0, 'NormalFloat', { bg = 'none' })
vim.api.nvim_set_hl(0, 'FloatBorder', { bg = 'none' })
vim.api.nvim_set_hl(0, 'Pmenu', { bg = 'none' })
-- Format go files
vim.keymap.set('n', '<leader>gf', function() require('go.format').goimport() end)
vim.api.nvim_set_keymap('n', '<leader>c', ':bd<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>z', ':bp<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>x', ':bn<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>dr', ':noh<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>do', ':DiffviewOpen<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>dc', ':DiffviewClose<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>dh', ':DiffviewFileHistory<CR>', { noremap = true, silent = true })
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
local cmp = require'cmp'
cmp.setup({
snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end },
mapping = cmp.mapping.preset.insert({
['<A-Space>'] = cmp.mapping.complete(),
['<Tab>'] = cmp.mapping.confirm({ select = true }),
['<Down>'] = cmp.mapping.select_next_item(),
['<Up>'] = cmp.mapping.select_prev_item(),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
}, {
{ name = 'buffer' },
{ name = 'path' },
})
})
-- define server configurations
vim.lsp.config["gopls"] = {
cmd = { "gopls" },
settings = {
gopls = {
analyses = {
unusedparams = true,
},
staticcheck = true,
gofumpt = true,
},
},
capabilities = require("cmp_nvim_lsp").default_capabilities(),
}
vim.lsp.config["clangd"] = {
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--log=verbose",
},
capabilities = require("cmp_nvim_lsp").default_capabilities(),
}
-- start servers automatically for matching filetypes
vim.api.nvim_create_autocmd("FileType", {
pattern = "go",
callback = function()
vim.lsp.start(vim.lsp.config["gopls"])
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "c", "cpp", "objc", "objcpp" },
callback = function()
vim.lsp.start(vim.lsp.config["clangd"])
end,
})
require("nvim-treesitter.configs").setup {
ensure_installed = { "go", "gomod", "c", "lua" },
highlight = { enable = true, additional_vim_regex_highlighting = false },
}
require("mason").setup()
require('lualine').setup {
options = {
theme = 'tomorrow_night',
section_separators = '',
component_separators = '',
icons_enabled = true,
globalstatus = true,
always_divide_middle = false,
always_show_tabline = false,
draw_empty = false,
color = nil,
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch','diff','diagnostics'},
lualine_c = {
{
'filename',
file_status = true,
newfile_status = true,
path = 2
}
},
lualine_x = {''},
lualine_y = {
{
'filetype', colored = false, icon_only = false
}
},
lualine_z = {'location'}
},
}

22
nvim/lazy-lock.json Normal file
View File

@ -0,0 +1,22 @@
{
"LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"go.nvim": { "branch": "master", "commit": "eb92453bc049c156290ed402f90f74090aa86363" },
"guihua.lua": { "branch": "master", "commit": "6f0b6393bf94dac4c26196e10c234a3d63657741" },
"lazy.nvim": { "branch": "main", "commit": "e6a8824858757ca9cd4f5ae1a72d845fa5c46a39" },
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "d7b5feb6e769e995f7fcf44d92f49f811c51d10c" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
"nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "47a8530e79a484d55ba5efa3768fc0b0c023d497" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"vim-gitgutter": { "branch": "main", "commit": "488c0555e47e2aabe273c635f7dd233e985311a6" }
}

6
nvim/plugin/package-lock.json generated Normal file
View File

@ -0,0 +1,6 @@
{
"name": "plugin",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}

View File

@ -0,0 +1,219 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/Users/nasr/.cache/nvim/packer_hererocks/2.1.1761727121/share/lua/5.1/?.lua;/Users/nasr/.cache/nvim/packer_hererocks/2.1.1761727121/share/lua/5.1/?/init.lua;/Users/nasr/.cache/nvim/packer_hererocks/2.1.1761727121/lib/luarocks/rocks-5.1/?.lua;/Users/nasr/.cache/nvim/packer_hererocks/2.1.1761727121/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/nasr/.cache/nvim/packer_hererocks/2.1.1761727121/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
LuaSnip = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["auto-pairs"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/auto-pairs",
url = "https://github.com/jiangmiao/auto-pairs"
},
["cmp-buffer"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
cmp_luasnip = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["diffview.nvim"] = {
config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rdiffview\frequire\0" },
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/diffview.nvim",
url = "https://github.com/sindrets/diffview.nvim"
},
["go.nvim"] = {
config = { "\27LJ\2\n:\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\rgoimport\14go.format\frequireþ\2\1\0\6\0\18\0\0266\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0005\4\5\0=\4\6\3=\3\a\2B\0\2\0016\0\b\0009\0\t\0009\0\n\0'\2\v\0004\3\0\0B\0\3\0026\1\b\0009\1\t\0019\1\f\1'\3\r\0005\4\14\0003\5\15\0=\5\16\4=\0\17\4B\1\3\1K\0\1\0\ngroup\rcallback\0\1\0\3\rcallback\0\fpattern\t*.go\ngroup\0\16BufWritePre\24nvim_create_autocmd\rGoFormat\24nvim_create_augroup\bapi\bvim\vlinter\flinters\1\6\0\0\vgolint\ngovet\ngofmt\rerrcheck\16staticcheck\1\0\2\flinters\0\fenabled\2\1\0\4\14dap_debug\2\vlinter\0\ngofmt\14goimports\21dap_debug_keymap\2\nsetup\ago\frequire\0" },
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/go.nvim",
url = "https://github.com/ray-x/go.nvim"
},
["guihua.lua"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/guihua.lua",
url = "https://github.com/ray-x/guihua.lua"
},
["lf.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/lf.nvim",
url = "https://github.com/lmburns/lf.nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["nvim-cmp"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-treesitter"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["packer.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["toggleterm.nvim"] = {
config = { "\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15toggleterm\frequire\0" },
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/toggleterm.nvim",
url = "https://github.com/akinsho/toggleterm.nvim"
},
["vim-gitgutter"] = {
loaded = true,
path = "/Users/nasr/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
url = "https://github.com/airblade/vim-gitgutter"
}
}
time([[Defining packer_plugins]], false)
-- Config for: diffview.nvim
time([[Config for diffview.nvim]], true)
try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rdiffview\frequire\0", "config", "diffview.nvim")
time([[Config for diffview.nvim]], false)
-- Config for: go.nvim
time([[Config for go.nvim]], true)
try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\rgoimport\14go.format\frequireþ\2\1\0\6\0\18\0\0266\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0005\4\5\0=\4\6\3=\3\a\2B\0\2\0016\0\b\0009\0\t\0009\0\n\0'\2\v\0004\3\0\0B\0\3\0026\1\b\0009\1\t\0019\1\f\1'\3\r\0005\4\14\0003\5\15\0=\5\16\4=\0\17\4B\1\3\1K\0\1\0\ngroup\rcallback\0\1\0\3\rcallback\0\fpattern\t*.go\ngroup\0\16BufWritePre\24nvim_create_autocmd\rGoFormat\24nvim_create_augroup\bapi\bvim\vlinter\flinters\1\6\0\0\vgolint\ngovet\ngofmt\rerrcheck\16staticcheck\1\0\2\flinters\0\fenabled\2\1\0\4\14dap_debug\2\vlinter\0\ngofmt\14goimports\21dap_debug_keymap\2\nsetup\ago\frequire\0", "config", "go.nvim")
time([[Config for go.nvim]], false)
-- Config for: toggleterm.nvim
time([[Config for toggleterm.nvim]], true)
try_loadstring("\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15toggleterm\frequire\0", "config", "toggleterm.nvim")
time([[Config for toggleterm.nvim]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

318
picom/picom.conf Normal file
View File

@ -0,0 +1,318 @@
#################################
#
# Backend
#
#################################
# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
# backend = "xrender";
# backend = "xr_glx_hybrid";
backend = "glx";
#################################
#
# GLX backend
#
#################################
glx-no-stencil = true;
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
glx-no-rebind-pixmap = true;
use-damage = false;
# Disabled to avoid artifacts painting under blur transparent windows.
#################################
#
# Shadows
#
#################################
# Enabled client-side shadows on windows.
shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 35;
# The left offset for shadows. (default -15)
shadow-offset-x = -35;
# The top offset for shadows. (default -15)
shadow-offset-y = -35;
# The translucency for shadows. (default .75)
shadow-opacity = 0.8;
# Set if you want different colour shadows
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes
# shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
# shadow-exclude = "n:e:Notification";
shadow-exclude = [
"_GTK_FRAME_EXTENTS@:c",
# Removed to avoid no-shadow in modal dialog windows.
# "! name~=''",
"name = 'Notification'",
"name = 'Plank'",
"name = 'Docky'",
"name = 'Kupfer'",
"name = 'Pensela'",
"name = 'Drawing Board'",
#
# Workaround for VirtualBox empty window at launching
"name = 'VirtualBox'",
"name = 'VirtualBoxVM'",
#
# Avoid shadow in Negatron popups
"name = 'Negatron v0.100.1' && argb",
#
# Avoid shadow for the XFCE alt tab TaskSwitcher
"name ?= 'xfwm4' && argb",
#
# "name *= 'compton'",
"class_g = 'Conky'",
"class_g = 'Kupfer'",
"class_g = 'Synapse'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g = 'Cairo-clock'",
"class_g ?= 'Xfce4-notifyd'",
#
# Exclude special Firefox/Firefox-esr/Thunderbird dropdowns.
# Ref: https://github.com/chjj/compton/issues/247
"class_g = 'Thunderbird' && argb",
"class_g = 'Telegram' && argb",
"name ?= 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu')",
#
# Exclude some special popup menu shadows, but Modal Windows.
# These are more finetuning thant previous ones:
"class_g ?= 'Thunderbird' && class_i = 'Popup' && argb",
"class_g = 'firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Tor Browser' && (window_type = 'utility') && argb",
"class_g = 'Navegador Tor' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Mozilla Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g ?= 'Xfce4-power-manager'",
#
# Exclude Vokoscreen and VokoscreenNG area selector
#
"class_g ?= 'vokoscreen' && argb",
"name = 'Área'",
"name *= 'Cuenta regresiva'",
"_NET_WM_WINDOW_TYPE:a *= '_KDE_NET_WM_WINDOW_TYPE_OVERRIDE'"
# "override_redirect = true"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
# Deprecated, use --shadow-exclude 'bounding_shaped' or --shadow-exclude 'bounding_shaped && !rounded_corners' instead.
shadow-ignore-shaped = false;
#################################
#
# Opacity
#
#################################
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
corner-radius = 10;
# Desaturate and darken the inactive windows
# Dim inactive windows. (0.0 - 1.0)
#inactive-dim = 0.2;
#inactive-dim-fixed = true;
# Do not let dimness adjust based on window opacity.
# inactive-dim-fixed = true;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
blur-background = true;
blur-method = "kernel";
blur-size = 50;
blur-deviation = 5.0;
# Blur background of opaque windows with transparent frames as well.
# blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
#blur-background-fixed = true;
# blur-kern = "3x3box";
# blur-kern = "5x5box";
# blur-kern = "5x5gaussian"
blur-kern = "9x9gaussian"
blur-background-exclude = [
"class_g = 'Peek'",
"class_g = 'Pensela'",
"name = 'Drawing Board'",
"window_type = 'dock'",
"window_type = 'dropdown_menu'",
"window_type = 'combo'",
"window_type = 'popup_menu'",
"window_type = 'utility'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
opacity-exclude = [
"name = 'Stratagus'"
];
#################################
#
# Fading
#
#################################
fading = true;
# fade-delta = 30;
#fade-in-step = 0.03;
#fade-out-step = 0.03;
fade-in-step = 0.1;
fade-out-step = 0.1;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
#################################
#
# OTHER CONFIG
#
#################################
log-level = "warn";
# log-file = "/path/to/your/log/file";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
#vsync = true;
# sw-opti = true;
# unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
resize-damage = 2;
#################################
#
# Window type settings
#
#################################
wintypes:
{
dock = { shadow = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 1; }
dropdown_menu = { opacity = 1; }
# This avoid problems with transparent windows while use-damage = true;.
# normal = { full-shadow = true;};
# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
};
#################################
#
# Deprecated
#
#################################
# Avoid drawing shadows on dock/panel windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dock-shadow = false;
# Don't draw shadows on DND windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dnd-shadow = false;
# Option `menu-opacity` is deprecated, and will be removed.Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.
# menu-opacity = 1;
# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
# glx-swap-method has been deprecated since v6, your setting "undefined" should be replaced by `use-damage = true`
# glx-swap-method = "undefined";
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
# "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file
# clear-shadow = true;
# "alpha-step" has been removed, compton now tries to make use of all alpha values
# alpha-step = 0.06;

93
rofi/config.rasi Normal file
View File

@ -0,0 +1,93 @@
* {
font: "Jetbrains Mono Medium 12";
bg0: #2E3440;
bg1: #3B4252;
fg0: #2D8DEE;
accent-color: #88C0D0;
urgent-color: #EBCB8B;
text-color: @fg0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
location: center;
width: 480;
background-color: @bg0;
}
inputbar {
spacing: 8px;
padding: 8px;
background-color: @bg1;
}
prompt, entry, element-icon, element-text {
vertical-align: 0.5;
}
prompt {
text-color: @accent-color;
}
textbox {
padding: 8px;
background-color: @bg1;
}
listview {
padding: 4px 0;
lines: 8;
columns: 1;
fixed-height: false;
}
element {
padding: 8px;
spacing: 8px;
}
element normal normal {
text-color: @fg0;
}
element normal urgent {
text-color: @urgent-color;
}
element normal active {
text-color: @accent-color;
}
element alternate active {
text-color: @accent-color;
}
element selected {
text-color: @bg0;
}
element selected normal, element selected active {
background-color: @accent-color;
}
element selected urgent {
background-color: @urgent-color;
}
element-icon {
size: 0.8em;
}
element-text {
text-color: inherit;
}

10
skhd/skhdrc Executable file
View File

@ -0,0 +1,10 @@
cmd - return : /usr/bin/open -na /Applications/Alacritty.app
cmd - h : /opt/homebrew/bin/yabai -m window --focus west
cmd - l : /opt/homebrew/bin/yabai -m window --focus east
cmd - j : /opt/homebrew/bin/yabai -m window --focus south
cmd - k : /opt/homebrew/bin/yabai -m window --focus north
alt + shift - space : /opt/homebrew/bin/yabai -m window --toggle float
alt + shift - f : /opt/homebrew/bin/yabai -m window --toggle zoom-fullscreen

59
tmux/.tmuxv2.conf Normal file
View File

@ -0,0 +1,59 @@
# TPM plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
# General
set -g default-shell /bin/zsh
set -g default-terminal 'tmux-256color'
set -g mouse on
set -g history-limit 10000
set -g base-index 1
setw -g pane-base-index 1
set -g escape-time 10
set -g repeat-time 500
set -g mode-keys vi
set -g status-keys vi
# Unbind the default arrow keys (optional)
unbind-key Up
unbind-key Down
unbind-key Left
unbind-key Right
# Use prefix + h/j/k/l to move between panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Status bar
set -g status on
set -g status-interval 5
set -g status-position bottom
set -g status-left "#[fg=blue]#[fg=black,bg=blue] #(whoami) #[fg=blue,bg=default] "
set -g status-right "#[fg=cyan,bg=default]#[fg=black,bg=cyan] #(hostname)  %H:%M #[fg=cyan,bg=default]"
set -g status-style bg=default,fg=white
set -g window-status-format "#[fg=blue]#[fg=black bg=blue] #I  #W #[fg=blue, bg=default]"
set -g window-status-current-format "#[fg=cyan,bg=default]#[fg=colour232,bg=cyan] #I  #W #[fg=cyan,bg=default]"
# Pane and window style
set -g pane-border-status top
set -g pane-border-format '#[bold]#W#[default]'
set -g pane-border-style fg=grey
set -g pane-active-border-style fg=cyan
setw -g automatic-rename on
# Key aliases
set -g command-alias[0] splitv="split-window -v"
set -g command-alias[1] splith="split-window -h"
set -g focus-events on
set -a terminal-features 'xterm-256color:RGB'

56
tmux/tmux.conf Normal file
View File

@ -0,0 +1,56 @@
# TPM plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
# General
set -g default-shell /bin/zsh
set -g default-terminal 'tmux-256color'
set -g mouse on
set -g history-limit 10000
set -g base-index 1
setw -g pane-base-index 1
set -g escape-time 10
set -g repeat-time 500
set -g mode-keys vi
set -g status-keys vi
# Unbind the default arrow keys
unbind-key Up
unbind-key Down
unbind-key Left
unbind-key Right
# Move between panes
bind-key -n M-h select-pane -L
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
bind-key -n M-l select-pane -R
bind-key -n M-ù split-window -h
bind-key -n M-$ split-window -v
# Prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Status bar
set -g status on
set -g status-interval 5
set -g status-position bottom
set -g status-left "#[fg=white]#[fg=black,bg=cyan] #(whoami) #[fg=blue,bg=default] "
set -g status-right "#[fg=cyan,bg=default]#[fg=black,bg=cyan] #(hostname)  %H:%M #[fg=cyan,bg=default]"
set -g status-style bg=default,fg=white
set -g window-status-format "#[fg=white]#[fg=black bg=cyan] #I  #W #[fg=blue, bg=default]"
set -g window-status-current-format "#[fg=white,bg=black]#[fg=colour232,bg=yellow] #I  #W #[fg=cyan,bg=default]"
# Pane and window style
set -g pane-border-status bottom
set -g pane-border-format '#P'
set -g pane-border-style fg=grey
set -g pane-active-border-style fg=cyan
setw -g automatic-rename on

6
vim/.netrwhist Normal file
View File

@ -0,0 +1,6 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =4
let g:netrw_dirhist_4='/home/nasr/build/dwm-6.5'
let g:netrw_dirhist_3='/home/nasr/.config/alacritty'
let g:netrw_dirhist_2='/home/nasr/.config'
let g:netrw_dirhist_1='/home/nasr/.config/alacritty'

185
vim/vimrc Normal file
View File

@ -0,0 +1,185 @@
"*****************************************************************************
" Vim Configuration File by Nasr
"*****************************************************************************
"-----------------------------------------------------------------------------
" Check and install vim-plug if not already installed
"-----------------------------------------------------------------------------
let vimplug_exists = expand('~/.vim/autoload/plug.vim')
if has('win32') && !has('win64')
" Check for curl executable on 32-bit Windows
let curl_exists = expand('C:\Windows\Sysnative\curl.exe')
else
" Check for curl executable on Unix-like systems or 64-bit Windows
let curl_exists = expand('curl')
endif
" Define languages and editor type for vim-bootstrap
let g:vim_bootstrap_langs = "c,html,javascript,python"
let g:vim_bootstrap_editor = "vim"
" Install vim-plug if not found
if !filereadable(vimplug_exists)
if !executable(curl_exists)
echoerr "Curl is required to install vim-plug. Please install curl or vim-plug manually."
execute "q!" " Quit Vim if installation is not possible
endif
echo "Installing vim-plug..."
silent exec "!" . curl_exists . " -fLo " . shellescape(vimplug_exists) . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
let g:not_finish_vimplug = "yes"
" Automatically install plugins on first run
autocmd VimEnter * PlugInstall
endif
"-----------------------------------------------------------------------------
" Plugin Management
"-----------------------------------------------------------------------------
" Begin plugin block
call plug#begin(expand('~/.vim/plugged'))
" Plugin List
Plug 'vim-airline/vim-airline' " Status line enhancement
Plug 'airblade/vim-gitgutter' " Git diff in the sign column
Plug 'vim-scripts/grep.vim' " Grep integration
Plug 'Yggdroot/indentLine' " Display indent guides
Plug 'editor-bootstrap/vim-bootstrap-updater' " Update vim-bootstrap configs
Plug 'jelera/vim-javascript-syntax' " Enhanced JavaScript syntax
Plug 'davidhalter/jedi-vim' " Python auto-completion
Plug 'morhetz/gruvbox' " Gruvbox color scheme
Plug 'junegunn/fzf.vim' " FZF integration
Plug 'junegunn/fzf' " FZF installation
" End plugin block
call plug#end()
" Enable file type-specific plugins and indenting
filetype plugin indent on
"-----------------------------------------------------------------------------
" Basic Settings
"-----------------------------------------------------------------------------
" Encoding settings
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8
" Backspace behavior
set backspace=indent,eol,start
" Tab and indentation settings
set tabstop=4 " Number of spaces per tab
set softtabstop=0 " Insert spaces when pressing Tab
set shiftwidth=4 " Number of spaces for indentation
set expandtab " Convert tabs to spaces
set autoindent
" Use system clipboard
set clipboard=unnamedplus
" Wrap settings
set wrap
set linebreak
" Disable backup files
set nobackup
" Bash-like command completion
set wildmode=longest,list
set wildmenu " Visual command-line completion menu
" Disable swap files
set noswapfile
" Set leader key to ',' for custom shortcuts
let mapleader = ','
" Enable hidden buffers to keep unsaved files open
set hidden
" Disable compatibility with Vi
set nocompatible
"-----------------------------------------------------------------------------
" Search Settings
"-----------------------------------------------------------------------------
set hlsearch " Highlight search matches
set incsearch " Incremental search
set ignorecase " Ignore case in search
set smartcase " Override ignorecase if uppercase letters are used
" File format compatibility
set fileformats=unix,dos,mac
"-----------------------------------------------------------------------------
" Shell Configuration
"-----------------------------------------------------------------------------
if exists('$SHELL')
set shell=$SHELL
else
set shell=/bin/sh
endif
"-----------------------------------------------------------------------------
" Session Management
"-----------------------------------------------------------------------------
let g:session_directory = "~/.vim/session"
let g:session_autoload = "no"
let g:session_autosave = "yes"
let g:session_command_aliases = 1
"-----------------------------------------------------------------------------
" Visual Settings
"-----------------------------------------------------------------------------
syntax enable " Enable syntax highlighting
set ruler " Show cursor position in the status line
set number " Show absolute line numbers
set relativenumber " Show relative line numbers
set cursorline " Highlight the current line
" Status line settings
set laststatus=2 " Always show the status line
set title " Set terminal window title
set titlestring=%F " Show the current file name in the title
" Indentation line plugin settings
let g:indentLine_enabled = 1
let g:indentLine_char = '┆'
let g:indentLine_faster = 1
"-----------------------------------------------------------------------------
" Color Scheme
"-----------------------------------------------------------------------------
colorscheme gruvbox " Use Gruvbox color scheme
set background=dark " Use dark background
"-----------------------------------------------------------------------------
" Key Mappings
"-----------------------------------------------------------------------------
" Search navigation: center the match after jumping
nnoremap n nzzzv
nnoremap N Nzzzv
" Open terminal in a split
nnoremap <silent> <leader>sh :terminal<CR>
"-----------------------------------------------------------------------------
" grep.vim Configuration
"-----------------------------------------------------------------------------
nnoremap <silent> <leader>f :Rgrep<CR>
let Grep_Default_Options = '-IR'
let Grep_Skip_Files = '*.log *.db'
let Grep_Skip_Dirs = '.git,node_modules'
"-----------------------------------------------------------------------------
" jedi-vim Configuration
"-----------------------------------------------------------------------------
autocmd FileType python call jedi#init_python()
"-----------------------------------------------------------------------------
" Miscellaneous
"-----------------------------------------------------------------------------
" Disable blinking cursor
set gcr=a:blinkon0
"-----------------------------------------------------------------------------

View File

@ -0,0 +1,5 @@
# "Decode As" entries file for Wireshark 4.6.0.
#
# This file is regenerated each time "Decode As" preferences
# are saved within Wireshark. Making manual changes should be safe,
# however.

260
wireshark/extcap.cfg Normal file
View File

@ -0,0 +1,260 @@
# Extcap configuration file for Wireshark 4.6.0.
#
# This file is regenerated each time preferences are saved within
# Wireshark. Making manual changes should be safe, however.
# Preferences that have been commented out have not been
# changed from their default value.
####### Extcap Utilities ########
# Save arguments on start of capture
# true or false (case-insensitive)
#extcap.gui_save_on_start: TRUE
# Remote SSH server address
# A string
#extcap.sshdump.remotehost:
# Remote SSH server port
# A string
#extcap.sshdump.remoteport: 22
# Remote SSH server username
# A string
#extcap.sshdump.remoteusername:
# Remote SSH server password
# Password (never stored on disk)
#extcap.sshdump.remotepassword:
# Path to SSH private key
# A string
#extcap.sshdump.sshkey:
# SSH key passphrase
# Password (never stored on disk)
#extcap.sshdump.sshkeypassphrase:
# ProxyCommand
# A string
#extcap.sshdump.proxycommand:
# Support SHA-1 keys (deprecated)
# A string
#extcap.sshdump.sshsha1:
# Remote interface
# A string
#extcap.sshdump.remoteinterface:
# Remote capture command selection
# A string
#extcap.sshdump.remotecapturecommandselect:
# Remote capture command
# A string
#extcap.sshdump.remotecapturecommand:
# Gain capture privilege on the remote machine
# A string
#extcap.sshdump.remotepriv:
# Privileged user name for sudo or doas
# A string
#extcap.sshdump.remoteprivuser:
# No promiscuous mode
# A string
#extcap.sshdump.remotenoprom:
# Remote capture filter
# A string
#extcap.sshdump.remotefilter: not ((host fe80::c711:394c:6608:f26d or host fd7a:115c:a1e0::8601:990b or host fe80::2d8:61ff:fe04:5b68 or host 100.95.153.11 or host 192.168.1.50) and port 22)
# Packets to capture
# A string
#extcap.sshdump.remotecount: 0
# Set the log level
# A string
#extcap.sshdump.loglevel:
# Use a file for logging
# A string
#extcap.sshdump.logfile:
# Starting position
# A string
#extcap.sdjournal.startfrom:
# Set the log level
# A string
#extcap.sdjournal.loglevel:
# Use a file for logging
# A string
#extcap.sdjournal.logfile:
# Remote SSH server address
# A string
#extcap.ciscodump.remotehost:
# Remote SSH server port
# A string
#extcap.ciscodump.remoteport: 22
# Remote SSH server username
# A string
#extcap.ciscodump.remoteusername: nasr
# Remote SSH server password
# Password (never stored on disk)
#extcap.ciscodump.remotepassword:
# Path to SSH private key
# A string
#extcap.ciscodump.sshkey:
# ProxyCommand
# A string
#extcap.ciscodump.proxycommand:
# Support SHA-1 keys (deprecated)
# A string
#extcap.ciscodump.sshsha1:
# Remote interface
# A string
#extcap.ciscodump.remoteinterface:
# Remote capture filter
# A string
#extcap.ciscodump.remotefilter: deny tcp host fe80::c711:394c:6608:f26d any eq 22, deny tcp any eq 22 host fe80::c711:394c:6608:f26d, deny tcp host fd7a:115c:a1e0::8601:990b any eq 22, deny tcp any eq 22 host fd7a:115c:a1e0::8601:990b, deny tcp host fe80::2d8:61ff:fe04:5b68 any eq 22, deny tcp any eq 22 host fe80::2d8:61ff:fe04:5b68, deny tcp host 100.95.153.11 any eq 22, deny tcp any eq 22 host 100.95.153.11, deny tcp host 192.168.1.50 any eq 22, deny tcp any eq 22 host 192.168.1.50, permit ip any any
# Packets to capture
# A string
#extcap.ciscodump.remotecount:
# Set the log level
# A string
#extcap.ciscodump.loglevel:
# Use a file for logging
# A string
#extcap.ciscodump.logfile:
# Max bytes in a packet
# A string
#extcap.randpkt.maxbytes: 5000
# Number of packets
# A string
#extcap.randpkt.count: 1000
# Packet delay (ms)
# A string
#extcap.randpkt.delay: 0
# Random type
# A string
#extcap.randpkt.randomtype: false
# All random packets
# A string
#extcap.randpkt.allrandom: false
# Type of packet
# A string
#extcap.randpkt.type:
# Set the log level
# A string
#extcap.randpkt.loglevel:
# Use a file for logging
# A string
#extcap.randpkt.logfile:
# Remote SSH server address
# A string
#extcap.wifidump.remotehost:
# Remote SSH server port
# A string
#extcap.wifidump.remoteport:
# Remote SSH server username
# A string
#extcap.wifidump.remoteusername:
# Remote SSH server password
# Password (never stored on disk)
#extcap.wifidump.remotepassword:
# Path to SSH private key
# A string
#extcap.wifidump.sshkey:
# SSH key passphrase
# Password (never stored on disk)
#extcap.wifidump.sshkeypassphrase:
# Support SHA-1 keys (deprecated)
# A string
#extcap.wifidump.sshsha1:
# Remote interface
# A string
#extcap.wifidump.remoteinterface: auto
# Remote channel
# A string
#extcap.wifidump.remotechannelfrequency:
# Remote channel width
# A string
#extcap.wifidump.remotechannelwidth:
# Remote capture filter
# A string
#extcap.wifidump.remotefilter:
# Frames to capture
# A string
#extcap.wifidump.remotecount:
# Set the log level
# A string
#extcap.wifidump.loglevel:
# Use a file for logging
# A string
#extcap.wifidump.logfile:
# Interface index
# A string
#extcap.dpauxmon.interface_id: 0
# Set the log level
# A string
#extcap.dpauxmon.loglevel:
# Use a file for logging
# A string
#extcap.dpauxmon.logfile:
# Listen port
# A string
#extcap.udpdump.port: 5555
# Payload type
# A string
#extcap.udpdump.payload: data
# Set the log level
# A string
#extcap.udpdump.loglevel:
# Use a file for logging
# A string
#extcap.udpdump.logfile:

View File

@ -0,0 +1,26 @@
{
"destinationAddress": "",
"destinationPort": "",
"dummyHeader": "none",
"encapsulation": 1,
"ethertype": "",
"hexdump.hasDirection": false,
"hexdump.identifyAscii": false,
"hexdump.littleEndian": false,
"hexdump.offsets": "hex",
"interfaceName": "",
"ipProtocol": "",
"ipVersion": 4,
"maxFrameLength": "",
"mode": "hexdump",
"pduPayload": "data",
"regex.encoding": "plainHex",
"regex.format": "",
"regex.inIndication": "",
"regex.outIndication": "",
"sctpPPI": "",
"sctpTag": "",
"sourceAddress": "",
"sourcePort": "",
"timestampFormat": ""
}

6
wireshark/language Normal file
View File

@ -0,0 +1,6 @@
# Language settings file for Wireshark 4.6.0.
#
# This file is regenerated each time Wireshark is quit.
# So be careful, if you want to make manual changes here.
language: system

6694
wireshark/preferences Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
# DO NOT EDIT THIS FILE! It was created by Wireshark
@Bad TCP@tcp.analysis.flags && !tcp.analysis.window_update@[0,0,0][65535,24383,24383]
@HSRP State Change@hsrp.state != 8 && hsrp.state != 16@[0,0,0][65535,63222,0]
@Spanning Tree Topology Change@stp.type == 0x80@[0,0,0][65535,63222,0]
@OSPF State Change@ospf.msg != 1@[0,0,0][65535,63222,0]
@ICMP errors@icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4@[0,0,0][0,65535,3616]
@ARP@arp@[55011,59486,65534][0,0,0]
@ICMP@icmp || icmpv6@[49680,49737,65535][0,0,0]
@TCP RST@tcp.flags.reset eq 1@[37008,0,0][65535,63121,32911]
@SCTP ABORT@sctp.chunk_type eq ABORT@[37008,0,0][65535,63121,32911]
@IPv4 TTL low or unexpected@(ip.dst != 224.0.0.0/4 && ip.ttl < 5 && !(pim || ospf || eigrp || bgp || tcp.port==179)) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp || eigrp || rip || glbp))@[42148,0,0][60652,61680,60395]
@IPv6 hop limit low or unexpected@(ipv6.dst != ff00::/8 && ipv6.hlim < 5 && !( ospf|| bgp || tcp.port==179)) || (ipv6.dst==ff00::/8 && ipv6.hlim not in {1, 64, 255})@[42148,0,0][60652,61680,60395]
@Checksum Errors@cdp.checksum.status=="Bad" || edp.checksum.status=="Bad" || ip.checksum.status=="Bad" || tcp.checksum.status=="Bad" || udp.checksum.status=="Bad"|| sctp.checksum.status=="Bad" || mstp.checksum.status=="Bad"@[0,0,0][65535,24383,24383]
@SMB@smb || nbss || nbns || nbipx || ipxsap || netbios@[65534,64008,39339][0,0,0]
@HTTP@http || tcp.port == 80@[36107,65535,32590][0,0,0]
@IPX@ipx || spx@[65534,58325,58808][0,0,0]
@DCERPC@dcerpc@[51199,38706,65533][0,0,0]
@Routing@hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp@[65534,62325,54808][0,0,0]
@TCP SYN/FIN@tcp.flags & 0x02 || tcp.flags.fin == 1@[41026,41026,41026][0,0,0]
@TCP@tcp@[59345,58980,65534][0,0,0]
@UDP@udp@[28834,57427,65533][0,0,0]
@Broadcast@eth[0] & 1@[65535,65535,65535][32768,32768,32768]
# Bluetooth
# For Bluetooth each color is assigned to dissector,
# but higher position on that list is needed for meet encapsulation
# requirements, for example AVRCP is on top of AVCTP,
# AVCTP is on top of L2CAP, etc.
@AVRCP@btavrcp@[42408,33825,25486][5111,4915,4652]
@AVCTP@btavctp@[52805,45039,37599][5111,4915,4652]
@VDP@btvdp@[64930,48878,57789][5111,4915,4652]
@A2DP@bta2dp@[65535,55032,52260][5111,4915,4652]
@AVDTP@btavdtp@[60726,32232,22916][5111,4915,4652]
@HCRP@bthcrp@[38416,38416,38416][5111,4915,4652]
@BNEP@btbnep@[46590,24119,49858][5111,4915,4652]
@HID@bthid@[47057,38562,38562][5111,4915,4652]
@OBEX@obex@[15856,45391,43152][5111,4915,4652]
@SAP@btsap@[51110,54321,18857][5111,4915,4652]
@HFP@bthfp@[57840,49413,65535][5111,4915,4652]
@HSP@bthsp@[52394,49749,56625][7995,7208,6946]
@DUN@btdun@[54914,48086,52739][7995,7208,6946]
@GNSS@btgnss@[65535,56858,42421][7995,7208,6946]
@RFCOMM@btrfcomm@[64249,44202,25136][5111,4915,4652]
@MCAP@btmcap@[62194,62965,53970][5111,4915,4652]
@SDP@btsdp@[34255,42642,22057][5111,4915,4652]
@ATT@btatt@[35252,51463,40197][7995,7208,6946]
@AMP@btamp@[61646,61964,60015][7995,7208,6946]
@SMP@btsmp@[55255,54741,5911][7967,7196,6939]
@L2CAP@btl2cap@[58215,49541,23520][4718,10030,11796]
@SCO@bthci_sco@[65535,28803,61093][5111,4915,4652]
@HCI_EVT@bthci_evt@[47126,60905,65535][5111,4915,4652]
@HCI_CMD@bthci_cmd@[18901,48590,65535][4718,10030,11796]

View File

@ -0,0 +1,19 @@
####### User Interface: Columns ########
# Packet list column format
# Each pair of strings consists of a column title and its format
gui.column.format:
"No.", "%m",
"Time", "%Yt",
"Delta", "%Gt",
"Source", "%s",
"Destination", "%d",
"Protocol", "%p",
"Length", "%L",
"Info", "%i"
####### User Interface: Layout ########
# Layout type (1-6)
# A decimal number
gui.layout_type: 3

View File

@ -0,0 +1,187 @@
# Recent settings file for Wireshark 4.6.0.
#
# This file is regenerated each time Wireshark is quit
# and when changing configuration profile.
# So be careful, if you want to make manual changes here.
# Main Toolbar show (hide).
# true or false (case-insensitive).
gui.toolbar_main_show: true
# Filter Toolbar show (hide).
# true or false (case-insensitive).
gui.filter_toolbar_show: true
# Wireless Settings Toolbar show (hide).
# true or false (case-insensitive).
gui.wireless_toolbar_show: false
# Packet list show (hide).
# true or false (case-insensitive).
gui.packet_list_show: true
# Tree view show (hide).
# true or false (case-insensitive).
gui.tree_view_show: true
# Byte view show (hide).
# true or false (case-insensitive).
gui.byte_view_show: true
# Packet diagram show (hide).
# true or false (case-insensitive).
gui.packet_diagram_show: true
# Statusbar show (hide).
# true or false (case-insensitive).
gui.statusbar_show: true
# Packet list colorize (hide).
# true or false (case-insensitive).
gui.packet_list_colorize: true
# Auto scroll packet list when capturing.
# true or false (case-insensitive).
capture.auto_scroll: true
# Timestamp display format.
# One of: RELATIVE, ABSOLUTE, ABSOLUTE_WITH_YMD, ABSOLUTE_WITH_YDOY, ABSOLUTE_WITH_DATE, DELTA, DELTA_DIS, EPOCH, UTC, UTC_WITH_YMD, UTC_WITH_YDOY, UTC_WITH_DATE
gui.time_format: RELATIVE
# Timestamp display precision.
# One of: AUTO, SEC, DSEC, CSEC, MSEC, USEC, NSEC, or a number between 0 and 9
gui.time_precision: AUTO
# Seconds display format.
# One of: SECONDS, HOUR_MIN_SEC
gui.seconds_format: SECONDS
# Zoom level.
# A decimal number.
gui.zoom_level: 0
# Bytes view display type.
# One of: HEX, BITS, DEC, OCT
gui.bytes_view: HEX
# Bytes view text encoding.
# One of: FROM_PACKET, ASCII, EBCDIC
gui.bytes_encoding: FROM_PACKET
# Packet diagram field values show (hide).
# true or false (case-insensitive).
gui.packet_diagram_field_values: false
# Allow hover selection in byte view.
# true or false (case-insensitive).
gui.allow_hover_selection: true
# Follow stream show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.follow_show: ASCII
# Follow stream delta times.
# One of: NONE, TURN, ALL
gui.follow_delta: NONE
# Show packet bytes decode as.
# One of: NONE, BASE64, COMPRESSED, HEX_DIGITS, PERCENT_ENCODING, QUOTED_PRINTABLE, ROT13
gui.show_bytes_decode: NONE
# Show packet bytes show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.show_bytes_show: ASCII
# Main window upper (or leftmost) pane size.
# Decimal number.
gui.geometry_main_upper_pane: 446
# Main window middle pane size.
# Decimal number.
gui.geometry_main_lower_pane: 935
# Main window master splitter state.
# Hex byte string.
gui.geometry_main_master_split: 000000ff0000000100000002000001be000001be00ffffffff010000000200
# Main window extra splitter state.
# Hex byte string.
gui.geometry_main_extra_split: 000000ff0000000100000002000003a7000003a700ffffffff010000000100
# Splitter state of PacketDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PacketDialog.splitter: 000000ff0000000100000002000001aa0000009b01ffffffff010000000200
# Splitter state of IOGraphDialog window.
# Qt Splitter state (hex byte string).
gui.geom.IOGraphDialog.splitter: 000000ff000000010000000200001c34000003c001ffffffff010000000200
# Splitter state of PreferencesDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PreferencesDialog.splitter: 000000ff000000010000000200000097000003e301ffffffff010000000100
# Splitter state of RtpPlayerDialog window.
# Qt Splitter state (hex byte string).
gui.geom.RtpPlayerDialog.splitter: 000000ff0000000100000002000000e20000004c01ffffffff010000000200
# Splitter state of Lua Console window.
# Qt Splitter state (hex byte string).
gui.geom.Lua Console.splitter: 000000ff0000000100000002000000c0000000c001ffffffff010000000200
# Packet list column pixel widths.
# Each pair of strings consists of a column format and its pixel width.
column.width:
%m, 84,
%Yt, 208,
%Gt, 101,
%s, 151,
%d, 151,
%p, 58,
%L, 43,
%i, 137
# Open conversation dialog tabs.
# List of conversation names, e.g. "TCP", "IPv6".
gui.conversation_tabs:
"TCP", "IPv4",
"UDP", "Ethernet",
"IPv6"
# Conversation dialog tabs columns.
# List of conversation columns numbers.
gui.conversation_tabs_columns:
# Open endpoint dialog tabs.
# List of endpoint names, e.g. "TCP", "IPv6".
gui.endpoint_tabs:
# Endpoint dialog tabs columns.
# List of endpoint columns numbers.
gui.endpoint_tabs_columns:
# For RLC stats, whether to use RLC PDUs found inside MAC frames.
# true or false (case-insensitive).
gui.rlc_pdus_from_mac_frames: false
# Last directory navigated to in File Open dialog.
gui.fileopen_remembered_dir: /home/nasr/Downloads/
# Additional Toolbars shown
# List of additional toolbars to show.
gui.additional_toolbar_show:
# Interface Toolbars show.
# List of interface toolbars to show.
gui.interface_toolbar_show:
# TCP Stream Graphs Moving Average Window Size.
gui.tsd_ma_window_size: 1
# TCP Stream Graphs Dialog Throughput show (hide).
# true or false (case-insensitive).
gui.tsd_throughput_show: true
# TCP Stream Graphs Dialog Goodput show (hide).
# true or false (case-insensitive).
gui.tsd_goodput_show: false

View File

@ -0,0 +1,23 @@
# This file was created by Wireshark. Edit with care.
@New coloring rule@tcp.flags.push == True && !http@[5911,5911,5911][65535,16448,65535]
@Bad TCP@tcp.analysis.flags && !tcp.analysis.window_update && !tcp.analysis.keep_alive && !tcp.analysis.keep_alive_ack@[4626,10023,11822][63479,34695,34695]
@HSRP State Change@hsrp.state != 8 && hsrp.state != 16@[4626,10023,11822][65535,64764,40092]
@Spanning Tree Topology Change@stp.type == 0x80@[4626,10023,11822][65535,64764,40092]
@OSPF State Change@ospf.msg != 1@[4626,10023,11822][65535,64764,40092]
@ICMP errors@icmp.type in { 3..5, 11 } || icmpv6.type in { 1..4 }@[4626,10023,11822][47031,63479,29812]
@ARP@arp@[64250,61680,55255][4626,10023,11822]
@ICMP@icmp || icmpv6@[64764,57568,65535][4626,10023,11822]
@TCP RST@tcp.flags.reset eq 1@[42148,0,0][65535,64764,40092]
@SCTP ABORT@sctp.chunk_type eq ABORT@[42148,0,0][65535,64764,40092]
@IPv4 TTL low or unexpected@(ip.dst != 224.0.0.0/4 && ip.ttl < 5 && !(pim || ospf || eigrp || bgp || tcp.port==179)) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp || eigrp || rip || glbp))@[42148,0,0][60652,61680,60395]
@IPv6 hop limit low or unexpected@(ipv6.dst != ff00::/8 && ipv6.hlim < 5 && !( ospf|| bgp || tcp.port==179)) || (ipv6.dst==ff00::/8 && ipv6.hlim not in {1, 64, 255})@[42148,0,0][60652,61680,60395]
@Checksum Errors@eth.fcs.status=="Bad" || ip.checksum.status=="Bad" || tcp.checksum.status=="Bad" || udp.checksum.status=="Bad" || sctp.checksum.status=="Bad" || mstp.checksum.status=="Bad" || cdp.checksum.status=="Bad" || edp.checksum.status=="Bad" || wlan.fcs.status=="Bad" || stt.checksum.status=="Bad"@[4626,10023,11822][63479,34695,34695]
@SMB@smb || nbss || nbns || netbios@[65278,65535,53456][4626,10023,11822]
@HTTP@http || tcp.port == 80 || http2@[58596,65535,51143][4626,10023,11822]
@DCERPC@dcerpc@[51143,38807,65535][4626,10023,11822]
@Routing@hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp@[65535,62451,54998][4626,10023,11822]
@TCP SYN/FIN@tcp.flags & 0x02 || tcp.flags.fin == 1@[41120,41120,41120][4626,10023,11822]
@TCP@tcp@[59367,59110,65535][4626,10023,11822]
@UDP@udp@[56026,61166,65535][4626,10023,11822]
@Broadcast@eth[0] & 1@[65535,65535,65535][47802,48573,46774]
@System Event@systemd_journal || sysdig@[59110,59110,59110][11565,28527,39578]

View File

@ -0,0 +1,5 @@
# "Decode As" entries file for Wireshark 4.4.0.
#
# This file is regenerated each time "Decode As" preferences
# are saved within Wireshark. Making manual changes should be safe,
# however.

View File

@ -0,0 +1,2 @@
# This file is automatically generated, DO NOT MODIFY.
"TRUE","ACK only","(((tcp.flags.ack == True) && (tcp.flags.syn == False)) && !(http)) && !(tcp.flags.push == True)",""

View File

@ -0,0 +1,260 @@
# Extcap configuration file for Wireshark 4.6.0.
#
# This file is regenerated each time preferences are saved within
# Wireshark. Making manual changes should be safe, however.
# Preferences that have been commented out have not been
# changed from their default value.
####### Extcap Utilities ########
# Save arguments on start of capture
# true or false (case-insensitive)
#extcap.gui_save_on_start: TRUE
# Remote SSH server address
# A string
#extcap.sshdump.remotehost:
# Remote SSH server port
# A string
#extcap.sshdump.remoteport: 22
# Remote SSH server username
# A string
#extcap.sshdump.remoteusername:
# Remote SSH server password
# Password (never stored on disk)
#extcap.sshdump.remotepassword:
# Path to SSH private key
# A string
#extcap.sshdump.sshkey:
# SSH key passphrase
# Password (never stored on disk)
#extcap.sshdump.sshkeypassphrase:
# ProxyCommand
# A string
#extcap.sshdump.proxycommand:
# Support SHA-1 keys (deprecated)
# A string
#extcap.sshdump.sshsha1:
# Remote interface
# A string
#extcap.sshdump.remoteinterface:
# Remote capture command selection
# A string
#extcap.sshdump.remotecapturecommandselect:
# Remote capture command
# A string
#extcap.sshdump.remotecapturecommand:
# Gain capture privilege on the remote machine
# A string
#extcap.sshdump.remotepriv:
# Privileged user name for sudo or doas
# A string
#extcap.sshdump.remoteprivuser:
# No promiscuous mode
# A string
#extcap.sshdump.remotenoprom:
# Remote capture filter
# A string
#extcap.sshdump.remotefilter: not ((host fe80::c711:394c:6608:f26d or host fd7a:115c:a1e0::8601:990b or host fe80::2d8:61ff:fe04:5b68 or host 100.95.153.11 or host 192.168.1.50) and port 22)
# Packets to capture
# A string
#extcap.sshdump.remotecount: 0
# Set the log level
# A string
#extcap.sshdump.loglevel:
# Use a file for logging
# A string
#extcap.sshdump.logfile:
# Starting position
# A string
#extcap.sdjournal.startfrom:
# Set the log level
# A string
#extcap.sdjournal.loglevel:
# Use a file for logging
# A string
#extcap.sdjournal.logfile:
# Remote SSH server address
# A string
#extcap.ciscodump.remotehost:
# Remote SSH server port
# A string
#extcap.ciscodump.remoteport: 22
# Remote SSH server username
# A string
#extcap.ciscodump.remoteusername: nasr
# Remote SSH server password
# Password (never stored on disk)
#extcap.ciscodump.remotepassword:
# Path to SSH private key
# A string
#extcap.ciscodump.sshkey:
# ProxyCommand
# A string
#extcap.ciscodump.proxycommand:
# Support SHA-1 keys (deprecated)
# A string
#extcap.ciscodump.sshsha1:
# Remote interface
# A string
#extcap.ciscodump.remoteinterface:
# Remote capture filter
# A string
#extcap.ciscodump.remotefilter: deny tcp host fe80::c711:394c:6608:f26d any eq 22, deny tcp any eq 22 host fe80::c711:394c:6608:f26d, deny tcp host fd7a:115c:a1e0::8601:990b any eq 22, deny tcp any eq 22 host fd7a:115c:a1e0::8601:990b, deny tcp host fe80::2d8:61ff:fe04:5b68 any eq 22, deny tcp any eq 22 host fe80::2d8:61ff:fe04:5b68, deny tcp host 100.95.153.11 any eq 22, deny tcp any eq 22 host 100.95.153.11, deny tcp host 192.168.1.50 any eq 22, deny tcp any eq 22 host 192.168.1.50, permit ip any any
# Packets to capture
# A string
#extcap.ciscodump.remotecount:
# Set the log level
# A string
#extcap.ciscodump.loglevel:
# Use a file for logging
# A string
#extcap.ciscodump.logfile:
# Max bytes in a packet
# A string
#extcap.randpkt.maxbytes: 5000
# Number of packets
# A string
#extcap.randpkt.count: 1000
# Packet delay (ms)
# A string
#extcap.randpkt.delay: 0
# Random type
# A string
#extcap.randpkt.randomtype: false
# All random packets
# A string
#extcap.randpkt.allrandom: false
# Type of packet
# A string
#extcap.randpkt.type:
# Set the log level
# A string
#extcap.randpkt.loglevel:
# Use a file for logging
# A string
#extcap.randpkt.logfile:
# Remote SSH server address
# A string
#extcap.wifidump.remotehost:
# Remote SSH server port
# A string
#extcap.wifidump.remoteport:
# Remote SSH server username
# A string
#extcap.wifidump.remoteusername:
# Remote SSH server password
# Password (never stored on disk)
#extcap.wifidump.remotepassword:
# Path to SSH private key
# A string
#extcap.wifidump.sshkey:
# SSH key passphrase
# Password (never stored on disk)
#extcap.wifidump.sshkeypassphrase:
# Support SHA-1 keys (deprecated)
# A string
#extcap.wifidump.sshsha1:
# Remote interface
# A string
#extcap.wifidump.remoteinterface: auto
# Remote channel
# A string
#extcap.wifidump.remotechannelfrequency:
# Remote channel width
# A string
#extcap.wifidump.remotechannelwidth:
# Remote capture filter
# A string
#extcap.wifidump.remotefilter:
# Frames to capture
# A string
#extcap.wifidump.remotecount:
# Set the log level
# A string
#extcap.wifidump.loglevel:
# Use a file for logging
# A string
#extcap.wifidump.logfile:
# Interface index
# A string
#extcap.dpauxmon.interface_id: 0
# Set the log level
# A string
#extcap.dpauxmon.loglevel:
# Use a file for logging
# A string
#extcap.dpauxmon.logfile:
# Listen port
# A string
#extcap.udpdump.port: 5555
# Payload type
# A string
#extcap.udpdump.payload: data
# Set the log level
# A string
#extcap.udpdump.loglevel:
# Use a file for logging
# A string
#extcap.udpdump.logfile:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,186 @@
# Recent settings file for Wireshark 4.6.0.
#
# This file is regenerated each time Wireshark is quit
# and when changing configuration profile.
# So be careful, if you want to make manual changes here.
# Main Toolbar show (hide).
# true or false (case-insensitive).
gui.toolbar_main_show: true
# Filter Toolbar show (hide).
# true or false (case-insensitive).
gui.filter_toolbar_show: true
# Wireless Settings Toolbar show (hide).
# true or false (case-insensitive).
gui.wireless_toolbar_show: false
# Packet list show (hide).
# true or false (case-insensitive).
gui.packet_list_show: true
# Tree view show (hide).
# true or false (case-insensitive).
gui.tree_view_show: true
# Byte view show (hide).
# true or false (case-insensitive).
gui.byte_view_show: true
# Packet diagram show (hide).
# true or false (case-insensitive).
gui.packet_diagram_show: true
# Statusbar show (hide).
# true or false (case-insensitive).
gui.statusbar_show: true
# Packet list colorize (hide).
# true or false (case-insensitive).
gui.packet_list_colorize: true
# Auto scroll packet list when capturing.
# true or false (case-insensitive).
capture.auto_scroll: true
# Timestamp display format.
# One of: RELATIVE, ABSOLUTE, ABSOLUTE_WITH_YMD, ABSOLUTE_WITH_YDOY, ABSOLUTE_WITH_DATE, DELTA, DELTA_DIS, EPOCH, UTC, UTC_WITH_YMD, UTC_WITH_YDOY, UTC_WITH_DATE
gui.time_format: ABSOLUTE_WITH_YMD
# Timestamp display precision.
# One of: AUTO, SEC, DSEC, CSEC, MSEC, USEC, NSEC, or a number between 0 and 9
gui.time_precision: SEC
# Seconds display format.
# One of: SECONDS, HOUR_MIN_SEC
gui.seconds_format: SECONDS
# Zoom level.
# A decimal number.
gui.zoom_level: 7
# Bytes view display type.
# One of: HEX, BITS, DEC, OCT
gui.bytes_view: HEX
# Bytes view text encoding.
# One of: FROM_PACKET, ASCII, EBCDIC
gui.bytes_encoding: FROM_PACKET
# Packet diagram field values show (hide).
# true or false (case-insensitive).
gui.packet_diagram_field_values: false
# Allow hover selection in byte view.
# true or false (case-insensitive).
gui.allow_hover_selection: true
# Follow stream show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.follow_show: ASCII
# Follow stream delta times.
# One of: NONE, TURN, ALL
gui.follow_delta: NONE
# Show packet bytes decode as.
# One of: NONE, BASE64, COMPRESSED, HEX_DIGITS, PERCENT_ENCODING, QUOTED_PRINTABLE, ROT13
gui.show_bytes_decode: NONE
# Show packet bytes show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.show_bytes_show: ASCII
# Main window upper (or leftmost) pane size.
# Decimal number.
gui.geometry_main_upper_pane: 477
# Main window middle pane size.
# Decimal number.
gui.geometry_main_lower_pane: 889
# Main window master splitter state.
# Hex byte string.
gui.geometry_main_master_split: 000000ff0000000100000002000001b80000017e00ffffffff010000000200
# Main window extra splitter state.
# Hex byte string.
gui.geometry_main_extra_split: 000000ff000000010000000200000374000003d000ffffffff010000000100
# Splitter state of PacketDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PacketDialog.splitter: 000000ff0000000100000002000001aa0000009b01ffffffff010000000200
# Splitter state of IOGraphDialog window.
# Qt Splitter state (hex byte string).
gui.geom.IOGraphDialog.splitter: 000000ff000000010000000200001c34000003c001ffffffff010000000200
# Splitter state of PreferencesDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PreferencesDialog.splitter: 000000ff000000010000000200000097000003e301ffffffff010000000100
# Splitter state of RtpPlayerDialog window.
# Qt Splitter state (hex byte string).
gui.geom.RtpPlayerDialog.splitter: 000000ff0000000100000002000000e20000004c01ffffffff010000000200
# Splitter state of Lua Console window.
# Qt Splitter state (hex byte string).
gui.geom.Lua Console.splitter: 000000ff0000000100000002000000c0000000c001ffffffff010000000200
# Packet list column pixel widths.
# Each pair of strings consists of a column format and its pixel width.
column.width:
%m, 88,
%t, 308,
%s, 340,
%d, 284,
%p, 128,
%L, 83,
%i, 641
# Open conversation dialog tabs.
# List of conversation names, e.g. "TCP", "IPv6".
gui.conversation_tabs:
"TCP", "IPv4",
"UDP", "Ethernet",
"IPv6"
# Conversation dialog tabs columns.
# List of conversation columns numbers.
gui.conversation_tabs_columns:
# Open endpoint dialog tabs.
# List of endpoint names, e.g. "TCP", "IPv6".
gui.endpoint_tabs:
# Endpoint dialog tabs columns.
# List of endpoint columns numbers.
gui.endpoint_tabs_columns:
# For RLC stats, whether to use RLC PDUs found inside MAC frames.
# true or false (case-insensitive).
gui.rlc_pdus_from_mac_frames: false
# Last directory navigated to in File Open dialog.
gui.fileopen_remembered_dir: /home/nasr/Downloads/
# Additional Toolbars shown
# List of additional toolbars to show.
gui.additional_toolbar_show:
# Interface Toolbars show.
# List of interface toolbars to show.
gui.interface_toolbar_show:
# TCP Stream Graphs Moving Average Window Size.
gui.tsd_ma_window_size: 1
# TCP Stream Graphs Dialog Throughput show (hide).
# true or false (case-insensitive).
gui.tsd_throughput_show: true
# TCP Stream Graphs Dialog Goodput show (hide).
# true or false (case-insensitive).
gui.tsd_goodput_show: false

171
wireshark/recent Normal file
View File

@ -0,0 +1,171 @@
# Recent settings file for Wireshark 4.6.0.
#
# This file is regenerated each time Wireshark is quit
# and when changing configuration profile.
# So be careful, if you want to make manual changes here.
# Main Toolbar show (hide).
# true or false (case-insensitive).
gui.toolbar_main_show: true
# Filter Toolbar show (hide).
# true or false (case-insensitive).
gui.filter_toolbar_show: true
# Wireless Settings Toolbar show (hide).
# true or false (case-insensitive).
gui.wireless_toolbar_show: false
# Packet list show (hide).
# true or false (case-insensitive).
gui.packet_list_show: true
# Tree view show (hide).
# true or false (case-insensitive).
gui.tree_view_show: true
# Byte view show (hide).
# true or false (case-insensitive).
gui.byte_view_show: true
# Packet diagram show (hide).
# true or false (case-insensitive).
gui.packet_diagram_show: true
# Statusbar show (hide).
# true or false (case-insensitive).
gui.statusbar_show: true
# Packet list colorize (hide).
# true or false (case-insensitive).
gui.packet_list_colorize: true
# Auto scroll packet list when capturing.
# true or false (case-insensitive).
capture.auto_scroll: true
# Timestamp display format.
# One of: RELATIVE, ABSOLUTE, ABSOLUTE_WITH_YMD, ABSOLUTE_WITH_YDOY, ABSOLUTE_WITH_DATE, DELTA, DELTA_DIS, EPOCH, UTC, UTC_WITH_YMD, UTC_WITH_YDOY, UTC_WITH_DATE
gui.time_format: RELATIVE
# Timestamp display precision.
# One of: AUTO, SEC, DSEC, CSEC, MSEC, USEC, NSEC, or a number between 0 and 9
gui.time_precision: AUTO
# Seconds display format.
# One of: SECONDS, HOUR_MIN_SEC
gui.seconds_format: SECONDS
# Zoom level.
# A decimal number.
gui.zoom_level: 0
# Bytes view display type.
# One of: HEX, BITS, DEC, OCT
gui.bytes_view: HEX
# Bytes view text encoding.
# One of: FROM_PACKET, ASCII, EBCDIC
gui.bytes_encoding: FROM_PACKET
# Packet diagram field values show (hide).
# true or false (case-insensitive).
gui.packet_diagram_field_values: false
# Allow hover selection in byte view.
# true or false (case-insensitive).
gui.allow_hover_selection: true
# Follow stream show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.follow_show: ASCII
# Follow stream delta times.
# One of: NONE, TURN, ALL
gui.follow_delta: NONE
# Show packet bytes decode as.
# One of: NONE, BASE64, COMPRESSED, HEX_DIGITS, PERCENT_ENCODING, QUOTED_PRINTABLE, ROT13
gui.show_bytes_decode: NONE
# Show packet bytes show as.
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
gui.show_bytes_show: ASCII
# Main window upper (or leftmost) pane size.
# Decimal number.
gui.geometry_main_upper_pane: 446
# Main window middle pane size.
# Decimal number.
gui.geometry_main_lower_pane: 305
# Main window master splitter state.
# Hex byte string.
gui.geometry_main_master_split: 000000ff0000000100000002000001b2000001b200ffffffff010000000200
# Main window extra splitter state.
# Hex byte string.
gui.geometry_main_extra_split: 000000ff0000000100000002000003a7000003a700ffffffff010000000100
# Splitter state of PacketDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PacketDialog.splitter: 000000ff0000000100000002000000c0000000de01ffffffff010000000200
# Splitter state of PreferencesDialog window.
# Qt Splitter state (hex byte string).
gui.geom.PreferencesDialog.splitter: 000000ff00000001000000020000009c0000053001ffffffff010000000100
# Packet list column pixel widths.
# Each pair of strings consists of a column format and its pixel width.
column.width:
%m, 47,
"%Cus:frame.time_epoch", 150,
%ns, 268,
"%Cus:dns", 103,
%p, 81,
%L, 72,
"%Cus:pkt_comment", 1151
# Open conversation dialog tabs.
# List of conversation names, e.g. "TCP", "IPv6".
gui.conversation_tabs:
# Conversation dialog tabs columns.
# List of conversation columns numbers.
gui.conversation_tabs_columns:
# Open endpoint dialog tabs.
# List of endpoint names, e.g. "TCP", "IPv6".
gui.endpoint_tabs:
# Endpoint dialog tabs columns.
# List of endpoint columns numbers.
gui.endpoint_tabs_columns:
# For RLC stats, whether to use RLC PDUs found inside MAC frames.
# true or false (case-insensitive).
gui.rlc_pdus_from_mac_frames: false
# Last directory navigated to in File Open dialog.
gui.fileopen_remembered_dir: /home/nasr/Downloads/
# Additional Toolbars shown
# List of additional toolbars to show.
gui.additional_toolbar_show:
# Interface Toolbars show.
# List of interface toolbars to show.
gui.interface_toolbar_show:
# TCP Stream Graphs Moving Average Window Size.
gui.tsd_ma_window_size: 1
# TCP Stream Graphs Dialog Throughput show (hide).
# true or false (case-insensitive).
gui.tsd_throughput_show: true
# TCP Stream Graphs Dialog Goodput show (hide).
# true or false (case-insensitive).
gui.tsd_goodput_show: false

152
wireshark/recent_common Normal file
View File

@ -0,0 +1,152 @@
# Common recent settings file for Wireshark 4.6.0.
#
# This file is regenerated each time Wireshark is quit
# and when changing configuration profile.
# So be careful, if you want to make manual changes here.
######## Recent capture files (latest last), cannot be altered through command line ########
recent.capture_file: /home/nasr/Downloads/basics (1).pcapng
recent.capture_file: /home/nasr/Downloads/basics.pcapng
######## Recent capture filters (latest first), cannot be altered through command line ########
######## Recent display filters (latest last), cannot be altered through command line ########
# Main window geometry.
# Decimal numbers.
gui.geometry_main_x: 20
gui.geometry_main_y: 49
gui.geometry_main_width: 1874
gui.geometry_main_height: 1005
# Main window maximized.
# true or false (case-insensitive).
gui.geometry_main_maximized: false
# Main window geometry state.
# Hex byte string.
gui.geometry_main: 01d9d0cb0003000000000014000000310000076b00000423000000170000003400000768000004200000000000000000078000000017000000340000076800000420
# Leftalign Action Buttons.
# true or false (case-insensitive).
gui.geometry_leftalign_actions: false
# Last used Configuration Profile.
gui.last_used_profile: CTF-Basics
# Number of packets or events to check for automatic profile switching.
# Decimal number. Zero disables switching.
#gui.profile_switch_check_count: 1000
# Warn if running with elevated permissions (e.g. as root).
# true or false (case-insensitive).
privs.warn_if_elevated: true
# Warn if Wireshark is unable to capture.
# true or false (case-insensitive).
sys.warn_if_no_capture: false
# Find packet search in.
# One of: PACKET_LIST, PACKET_DETAILS, PACKET_BYTES
gui.search_in: PACKET_LIST
# Find packet character set.
# One of: NARROW_AND_WIDE, NARROW, WIDE
gui.search_char_set: NARROW_AND_WIDE
# Find packet case sensitive search.
# true or false (case-insensitive).
gui.search_case_sensitive: false
# Find packet search reverse direction.
# true or false (case-insensitive).
gui.search_reverse_dir: false
# Find packet search multiple occurrences.
# true or false (case-insensitive).
gui.search_multiple_occurs: false
# Find packet search type.
# One of: DISPLAY_FILTER, HEX_VALUE, STRING, REGEX
gui.search_type: DISPLAY_FILTER
# Geometry and maximized state of ip_hosts window.
# Decimal integers.
gui.geom.ip_hosts.x: 0
gui.geom.ip_hosts.y: 29
gui.geom.ip_hosts.width: 1914
gui.geom.ip_hosts.height: 1045
# true or false (case-insensitive).
gui.geom.ip_hosts.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.ip_hosts.qt_geometry: 01d9d0cb00030000000000000000001d0000077f0000043700000003000000200000077c000004340000000000000000078000000003000000200000077c00000434
# Geometry and maximized state of PacketDialog window.
# Decimal integers.
gui.geom.PacketDialog.x: 20
gui.geom.PacketDialog.y: 49
gui.geom.PacketDialog.width: 1510
gui.geom.PacketDialog.height: 1005
# true or false (case-insensitive).
gui.geom.PacketDialog.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.PacketDialog.qt_geometry: 01d9d0cb000300000000001400000031000005ff000004230000001700000034000005fc00000420000000000000000007800000001700000034000005fc00000420
# Geometry and maximized state of ExpertInfoDialog window.
# Decimal integers.
gui.geom.ExpertInfoDialog.x: 20
gui.geom.ExpertInfoDialog.y: 49
gui.geom.ExpertInfoDialog.width: 934
gui.geom.ExpertInfoDialog.height: 1005
# true or false (case-insensitive).
gui.geom.ExpertInfoDialog.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.ExpertInfoDialog.qt_geometry: 01d9d0cb000300000000001400000031000003bf000004230000001700000034000003bc00000420000000000000000007800000001700000034000003bc00000420
# Geometry and maximized state of ProfileDialog window.
# Decimal integers.
gui.geom.ProfileDialog.x: 20
gui.geom.ProfileDialog.y: 49
gui.geom.ProfileDialog.width: 1510
gui.geom.ProfileDialog.height: 1005
# true or false (case-insensitive).
gui.geom.ProfileDialog.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.ProfileDialog.qt_geometry: 01d9d0cb000300000000001400000031000005ff000004230000001700000034000005fc00000420000000000000000007800000001700000034000005fc00000420
# Geometry and maximized state of PreferencesDialog window.
# Decimal integers.
gui.geom.PreferencesDialog.x: 20
gui.geom.PreferencesDialog.y: 49
gui.geom.PreferencesDialog.width: 1510
gui.geom.PreferencesDialog.height: 1005
# true or false (case-insensitive).
gui.geom.PreferencesDialog.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.PreferencesDialog.qt_geometry: 01d9d0cb000300000000001400000031000005ff000004230000001700000034000005fc00000420000000000000000007800000001700000034000005fc00000420
# Geometry and maximized state of CaptureFilePropertiesDialog window.
# Decimal integers.
gui.geom.CaptureFilePropertiesDialog.x: 20
gui.geom.CaptureFilePropertiesDialog.y: 49
gui.geom.CaptureFilePropertiesDialog.width: 934
gui.geom.CaptureFilePropertiesDialog.height: 1005
# true or false (case-insensitive).
gui.geom.CaptureFilePropertiesDialog.maximized: false
# Qt Geometry State (hex byte string).
gui.geom.CaptureFilePropertiesDialog.qt_geometry: 01d9d0cb000300000000001400000031000003bf000004230000001700000034000003bc00000420000000000000000007800000001700000034000003bc00000420
# Custom colors.
# List of custom colors selected in Qt color picker.
gui.custom_colors:
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff",
"ffffffff", "ffffffff"

22
zsh/zshrc Normal file
View File

@ -0,0 +1,22 @@
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="miepa"
plugins=(git)
source $ZSH/oh-my-zsh.sh
alias update="brew update && brew upgrade"
alias cleanup="brew cleanup"
alias vim="nvim"
alias runmain="clang++ main.cpp -o main&& ./main"
export PATH="$HOME/.local/bin:$PATH"
export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH" # Add Homebrew pkg-config path
export PKG_CONFIG_PATH="/opt/homebrew/Cellar/raylib/5.5/lib/pkgconfig:$PKG_CONFIG_PATH"
export EDITOR=nvim
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh