First commit

This commit is contained in:
2025-04-28 23:30:53 -07:00
parent 7043afeb40
commit dacf412b7f
9 changed files with 664 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
if (get_window_type()=="WINDOW_TYPE_NORMAL") then
debug_print(get_application_name())
if (get_class_instance_name()=="math term") then
set_window_workspace(2)
xsize, ysize = get_screen_geometry()
set_window_size (xsize/2, ysize)
maximize_vertically()
set_window_position(0,0,0)
undecorate_window()
set_on_top()
change_workspace(2)
end
if (get_application_name()=="math zathura") then
set_window_workspace(2)
xsize, ysize = get_screen_geometry()
set_window_size (xsize/2, ysize)
maximize_vertically()
set_window_position(xsize/2,0,0)
undecorate_window()
set_on_top()
end
if (get_class_instance_name()=="kitty") then
xsize, ysize = get_screen_geometry()
set_window_size (xsize, ysize)
end
end
+183
View File
@@ -0,0 +1,183 @@
# vim:fileencoding=utf-8:ft=conf
# Font family. You can also specify different fonts for the
# bold/italic/bold-italic variants. By default they are derived automatically,
# by the OSes font system. Setting them manually is useful for font families
# that have many weight variants like Book, Medium, Thick, etc. For example:
# font_family Operator Mono Book
# bold_font Operator Mono Thick
# bold_italic_font Operator Mono Medium
# font_family Input Mono
font_family Fantasque Sans Mono
italic_font auto
bold_font auto
bold_italic_font auto
# Font size (in pts)
font_size 11.0
# The foreground color
foreground #c0b18b
#foreground #c0b18b
# The background color
background #262626
# The foreground for selections
selection_foreground #2f2f2f
# The background for selections
selection_background #d75f5f
# The cursor color
cursor #8fee96
# The cursor shape can be one of (block, beam, underline)
shell_integration no-cursor
cursor_shape block
# The interval (in seconds) at which to blink the cursor. Set to zero to
# disable blinking.
cursor_blink_interval 0.5
# Stop blinking cursor after the specified number of seconds of keyboard inactivity. Set to
# zero or a negative number to never stop blinking.
cursor_stop_blinking_after 15.0
# Number of lines of history to keep in memory for scrolling back
scrollback_lines 2000
# Program with which to view scrollback in a new window. The scrollback buffer is passed as
# STDIN to this program. If you change it, make sure the program you use can
# handle ANSI escape sequences for colors and text formatting.
scrollback_pager less +G -R
# Wheel scroll multiplier (modify the amount scrolled by the mouse wheel)
wheel_scroll_multiplier 5.0
# The interval between successive clicks to detect double/triple clicks (in seconds)
click_interval 0.5
# Characters considered part of a word when double clicking. In addition to these characters
# any character that is marked as an alpha-numeric character in the unicode
# database will be matched.
select_by_word_characters :@-./_~?&=%+#
# Hide mouse cursor after the specified number of seconds of the mouse not being used. Set to
# zero or a negative number to disable mouse cursor hiding.
mouse_hide_wait 1.0
# The enabled window layouts. A comma separated list of layout names. The special value * means
# all layouts. The first listed layout will be used as the startup layout.
# For a list of available layouts, see the file layouts.py
enabled_layouts *
# If enabled, the window size will be remembered so that new instances of kitty will have the same
# size as the previous instance. If disabled, the window will initially have size configured
# by initial_window_width/height, in pixels.
remember_window_size no
window_margin_width 0
window_padding_width 0
window_border_width 0
#initial_window_width 640
#initial_window_height 400
# Delay (in milliseconds) between screen updates. Decreasing it, increases fps
# at the cost of more CPU usage. The default value yields ~100fps which is more
# that sufficient for most uses.
# repaint_delay 10
repaint_delay 10
# Delay (in milliseconds) before input from the program running in the terminal
# is processed. Note that decreasing it will increase responsiveness, but also
# increase CPU usage and might cause flicker in full screen programs that
# redraw the entire screen on each loop, because kitty is so fast that partial
# screen updates will be drawn.
input_delay 3
# Visual bell duration. Flash the screen when a bell occurs for the specified number of
# seconds. Set to zero to disable.
visual_bell_duration 0.0
# Enable/disable the audio bell. Useful in environments that require silence.
enable_audio_bell yes
# The program with which to open URLs that are clicked on. The special value "default" means to
# use the operating system's default URL handler.
open_url_with default
# The value of the TERM environment variable to set
term xterm-kitty
# The color for the border of the active window
active_border_color #ffffff
# The color for the border of inactive windows
inactive_border_color #cccccc
# Tab-bar colors
active_tab_foreground #000
active_tab_background #eee
inactive_tab_foreground #444
inactive_tab_background #999
# The 16 terminal colors. There are 8 basic colors, each color has a dull and
# bright version.
# black
color0 #2f2f2f
color8 #656565
# red
color1 #d75f5f
color9 #d75f5f
# green
color2 #d4d232
color10 #8fee96
# yellow
color3 #af865a
color11 #cd950c
# blue
color4 #22c3a1
color12 #22c3a1
# magenta
color5 #775759
color13 #775759
# cyan
color6 #84edb9
color14 #84edb9
# white
color7 #c0b18b
color15 #d8d8d8
# Key mapping
# For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html
# For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
# You can use the special action no_op to unmap a keyboard shortcut that is
# assigned in the default configuration.
# Clipboard
map super+v paste_from_clipboard
map ctrl+shift+s paste_from_selection
map super+c copy_to_clipboard
map shift+insert paste_from_selection
# Scrolling
map ctrl+shift+up scroll_line_up
map ctrl+shift+down scroll_line_down
map ctrl+shift+k scroll_line_up
map ctrl+shift+j scroll_line_down
map ctrl+shift+page_up scroll_page_up
map ctrl+shift+page_down scroll_page_down
map ctrl+shift+home scroll_home
map ctrl+shift+end scroll_end
map ctrl+shift+h show_scrollback
hide_window_decorations titlebar-only
+43
View File
@@ -0,0 +1,43 @@
vim.diagnostic.config({
virtual_text = false,
signs = true,
underline = true,
update_in_insert = false,
})
require'nvim-treesitter.configs'.setup {
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline", "rust" },
sync_install = false,
auto_install = false,
ignore_install = { "javascript" },
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
}
--vim.api.nvim_create_autocmd("BufEnter", {
-- pattern = "*",
-- callback = function()
-- vim.bo.tabstop = 8
-- vim.bo.shiftwidth = 8
-- vim.bo.expandtab = false
-- end
--})
vim.api.nvim_create_autocmd("FileType", {
pattern = "tex",
callback = function()
vim.bo.tabstop = 4
vim.bo.shiftwidth = 4
vim.bo.expandtab = false
end
})
+58
View File
@@ -0,0 +1,58 @@
set shiftwidth=8
set tabstop=8
"set expandtab=false
set number
set signcolumn=yes:1
colorscheme slate
let mapleader = ","
nnoremap <silent> <leader>n :lua vim.diagnostic.goto_next()<CR>
nnoremap <silent> <leader>p :lua vim.diagnostic.goto_prev()<CR>
nnoremap <silent> <leader>e :lua vim.diagnostic.open_float()<CR>
" vim-plug config
call plug#begin()
" Plug 'williamboman/mason.nvim'
" Plug 'williamboman/mason-lspconfig.nvim'
Plug 'neovim/nvim-lspconfig'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'SirVer/ultisnips'
Plug 'quangnguyen30192/cmp-nvim-ultisnips'
let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<s-tab>'
let g:UltiSnipsJumpBackwardTrigger = '<c-tab>'
let g:UltiSnipsEditSplit="vertical"
let g:UltiSnipsSnippetDirectories=["/home/furtest/files/scripts/config_files/nvim/ultisnips"]
Plug 'lervag/vimtex'
let g:tex_flavor='latex'
let g:vimtex_view_method='zathura'
let g:vimtex_view_general_options = '-reuse-instance'
let g:vimtex_quickfix_mode=0
set conceallevel=1
let g:tex_conceal='abdmg'
Plug 'iamcco/markdown-preview.nvim'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" Plug 'voldikss/vim-floaterm' " Floating terminal window (useless)
call plug#end()
" Source nvim-cmp config
lua require('nvim-cmp')
" lua require("mason").setup()
" lua require("mason-lspconfig").setup()
lua require('config')
+79
View File
@@ -0,0 +1,79 @@
-- Set up nvim-cmp.
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
vim.fn["UltiSnips#Anon"](args.body)
end,
},
mapping = cmp.mapping.preset.insert({
['<C-k>'] = cmp.mapping.select_prev_item(),
['<C-j>'] = cmp.mapping.select_next_item(),
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<tab>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'ultisnips' },
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
}),
matching = { disallow_symbol_nonprefix_matching = false }
})
-- Set up lspconfig.
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lsp = require('lspconfig')
lsp.ccls.setup{
capabilities = capabilities,
init_options = {
cache = {
directory = vim.fn.expand("~/.cache/ccls") -- Store index globally
},
compilationDatabaseDirectory = "build", -- Uses 'build/compile_commands.json' if present
highlight = { lsRanges = true }, -- Improves semantic highlighting
index = {
threads = 4, -- Adjust based on your CPU (more threads = faster indexing)
initialBlacklist = { ".*_test.cpp", ".*_unittest.cpp" } -- Avoid indexing test files
},
completion = {
detailedLabel = true -- Better completion info
},
diagnostics = {
onChange = 300 -- Delay diagnostics updates for better performance
}
}
}
-- clangd and ccls are both C and C++ language servers
-- having them both active at the same time is useless
-- lsp.clangd.setup {
-- capabilities = capabilities,
-- }
+127
View File
@@ -0,0 +1,127 @@
global !p
def math():
return vim.eval('vimtex#syntax#in_mathzone()') == '1'
def comment():
return vim.eval('vimtex#syntax#in_comment()') == '1'
def env(name):
[x,y] = vim.eval("vimtex#env#is_inside('" + name + "')")
return x != '0' and y != '0'
endglobal
snippet beg "begin{} / end{}" bA
\\begin{$1}
$0
\\end{$1}
endsnippet
priority 100
snippet ... "dots" iA
\dots
endsnippet
snippet km "Math" wA
$${1}$`!p
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
snip.rv = ' '
else:
snip.rv = ''
`$2
endsnippet
snippet dm "Math" wA
\[
${1:${VISUAL}}
\] $0
endsnippet
context "math()"
snippet '([A-Za-z])(\d)' "auto subscript" wrA
`!p snip.rv = match.group(1)`_`!p snip.rv = match.group(2)`
endsnippet
#context "math()"
#snippet '([A-Za-z])_(\d\d)' "auto subscript2" wrA
#`!p snip.rv = match.group(1)`_{`!p snip.rv = match.group(2)`}
#endsnippet
context "math()"
snippet '([A-Za-z])_' "auto subscript2" wrA
`!p snip.rv = match.group(1)`_{$1}$0
endsnippet
snippet enum "Enumerate" bA
\begin{enumerate}
\item $0
\end{enumerate}
endsnippet
snippet item "Itemize" bA
\begin{itemize}
\item $0
\end{itemize}
endsnippet
snippet sum "sum" w
\sum_{n=${1:1}}^{${2:\infty}} ${3:a_n z^n}
endsnippet
context "math()"
snippet mat "Matrice symbol" A
\mathcal{M}_{${1:n},${2:p}}(${3:\mathbb{R}})$0
endsnippet
snippet pmat "pmat" bA
\begin{pmatrix}
$0
\end{pmatrix}
endsnippet
snippet // "Fraction" iA
\\frac{$1}{$2}$0
endsnippet
context "math()"
snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "Fraction" wrA
\\frac{`!p snip.rv = match.group(1)`}{$1}$0
endsnippet
context "math()"
priority 1000
snippet '^.*\)/' "() Fraction" wrA
`!p
stripped = match.string[:-1]
depth = 0
i = len(stripped) - 1
while True:
if stripped[i] == ')': depth += 1
if stripped[i] == '(': depth -= 1
if depth == 0: break;
i -= 1
snip.rv = stripped[0:i] + "\\frac{" + stripped[i+1:-1] + "}"
`{$1}$0
endsnippet
context "math()"
snippet text "text zone" A
\text{ $1 }$0
endsnippet
snippet def "definition" bA
\begin{definition}[$1]
$0
\end{definition}
endsnippet
snippet space "space" i
\hspace{3ex} $0
endsnippet
context "math()"
snippet bar "overline bar" iA
\overline{$1}$0
endsnippet
+52
View File
@@ -0,0 +1,52 @@
unbind C-b
set-option -g prefix C-f
bind r source-file ~/.tmux.conf
bind h select-pane -L
bind l select-pane -R
bind k select-pane -U
bind j select-pane -D
bind g copy-mode
setw -g mode-keys vi
# don't rename windows automatically
#set-option -g allow-rename off
# DESIGN TWEAKS
# don't do anything when a 'bell' rings
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none
# clock mode
setw -g clock-mode-colour colour1
# copy mode
setw -g mode-style 'fg=colour2 bg=colour18 bold'
# pane borders
set -g pane-border-style 'fg=colour2'
set -g pane-active-border-style 'fg=colour3'
# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'fg=colour2'
set -g status-left ''
set -g status-right '%Y-%m-%d %H:%M '
set -g status-right-length 50
set -g status-left-length 10
setw -g window-status-current-style 'fg=colour0 bg=colour2 bold'
setw -g window-status-current-format ' #I #W #F '
setw -g window-status-style 'fg=colour2 dim'
setw -g window-status-format ' #I #[fg=colour7]#W #[fg=colour2]#F '
setw -g window-status-bell-style 'fg=colour2 bg=colour1 bold'
# messages
set -g message-style 'fg=colour2 bg=colour0 bold'
+23
View File
@@ -0,0 +1,23 @@
alias ll='ls -alFh'
alias la='ls -A'
alias l='ls -C'
alias update='/home/furtest/files/scripts/update.sh'
alias stop='/home/furtest/files/scripts/shutdown.sh'
alias co='/home/furtest/files/scripts/cossh.sh'
alias unisync='/home/furtest/files/scripts/file_sync/sync.sh'
alias open='xdg-open $@ > /dev/null 2>&1'
alias cd='z'
alias ghidra='/home/furtest/application/ghidra/ghidraRun'
alias volatility='/home/furtest/application/volatility/volatility'
alias ghidra_auto='python3 /home/furtest/files/scripts/ghidra_auto.py'
alias analyse='/home/furtest/application/ghidra_11.0.3_PUBLIC/support/analyzeHeadless'
alias maths='/home/furtest/files/scripts/maths.sh'
alias szsh='source ~/.zshrc'
alias checksec='/home/furtest/application/checksec/checksec'
alias leave='tmux detach'
alias sudo='sudo -E'
if [ "$(hostnamectl | sed -n 's/Operating System: //p')" = 'Arch Linux' ];then
alias vim='nvim'
else
alias vim='/home/furtest/application/nvim/bin/nvim'
fi
+73
View File
@@ -0,0 +1,73 @@
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded
ZSH_THEME="awesomepanda"
# Set list of themes to pick from when loading at random
ZSH_THEME_RANDOM_CANDIDATES=( "edvardm" "awesomepanda" )
# Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
COMPLETION_WAITING_DOTS="true"
plugins=(git common-aliases zsh-autosuggestions sudo colored-man-pages zoxide tmux safe-paste colorize vi-mode)
source $ZSH/oh-my-zsh.sh
# Written by hand :
if [ -f ~/.zsh_aliases ]; then
source ~/.zsh_aliases
fi
DEFAULT_USER=furtest
if whence "nvim" &> /dev/null;then
export EDITOR='nvim'
else
export EDITOR='vim'
fi
export WINEPREFIX=/home/furtest/applications/wine
export WINEARCH=win32
setxkbmap -option
setxkbmap -option ctrl:nocaps
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
# For vim keybindings in terminal
bindkey -v
#deno and rust to path
export DENO_INSTALL="/home/furtest/.deno"
export PATH="$PATH:$DENO_INSTALL/bin:/home/furtest/.cargo/bin"
#if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then
# exec tmux new-session -A -s main
#fi
#Installed oh my zsh plugins + link to doc/explanation
#
#zsh-interactive-cd : better completition (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/zsh-interactive-cd) (use fzf)
#common-aliases : Add a lot of useful aliases (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/common-aliases)
#zsh-autosuggestions : Suggest from history (https://github.com/zsh-users/zsh-autosuggestions), stored in custom
#sudo : esc + esc add sudo at start of command (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/sudo)
#colored-man-pages : add colors to the man pages (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colored-man-pages)
#zoxide : smarter cd, remembers visited folder to go back faster (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/zoxide)
#tmux : add aliases for tmux (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/tmux)
#safe-paste : stop code from being executed when pasted (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/safe-paste)
#colorize : Syntax highlighted cat (ccat) (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colorize)
#vi-mode : Improve terminal vi keybinding (https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode)
# Created by `pipx` on 2024-09-29 10:10:31
export PATH="$PATH:/home/furtest/.local/bin"