mirror of
https://github.com/agresdominik/dotfiles.git
synced 2026-07-21 16:00:55 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cae9e03002 | |||
| a332c64a6f | |||
| cc7e03dc90 | |||
| 35d98db928 |
@@ -0,0 +1 @@
|
|||||||
|
lazy-lock.json
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
-- Set leader key to Space
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = ","
|
||||||
|
|
||||||
|
-- Load basic settings
|
||||||
|
require("config.options")
|
||||||
|
require("config.keymaps")
|
||||||
|
|
||||||
|
-- Load plugins (lazy.nvim will be auto-installed)
|
||||||
|
require("config.plugins")
|
||||||
|
|
||||||
|
-- Plugin-specific configuration
|
||||||
|
require("config.lsp")
|
||||||
|
require("config.treesitter")
|
||||||
|
require("config.telescope")
|
||||||
|
require("config.cmp")
|
||||||
|
|
||||||
|
-- VimTeX Config
|
||||||
|
|
||||||
|
vim.g.vimtex_view_method = 'zathura'
|
||||||
|
vim.g.vimtex_compiler_method = 'latexmk'
|
||||||
|
vim.g.vimtex_compiler_latexmk = {
|
||||||
|
build_dir = 'out'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Language Checks
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = { "tex", "plaintex", "latex", "markdown" },
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.linebreak = true
|
||||||
|
vim.opt_local.spelllang = { "de_de", "en_us" }
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Diable Copilot on Start
|
||||||
|
vim.g.copilot_filetypes = {
|
||||||
|
["*"] = false,
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
-- Completion setup for Neovim using nvim-cmp and LuaSnip
|
||||||
|
|
||||||
|
-- Safely import modules
|
||||||
|
local cmp_status, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local snip_status, luasnip = pcall(require, "luasnip")
|
||||||
|
if not snip_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Load friendly-snippets (optional, prebuilt snippets)
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
-- Setup nvim-cmp
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(), -- Trigger completion menu
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Confirm selection
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
|
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
elseif luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
}),
|
||||||
|
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" }, -- LSP completion
|
||||||
|
{ name = "luasnip" }, -- Snippets
|
||||||
|
}, {
|
||||||
|
{ name = "buffer" }, -- Words in current buffer
|
||||||
|
{ name = "path" }, -- File system paths
|
||||||
|
}),
|
||||||
|
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
|
||||||
|
formatting = {
|
||||||
|
format = function(entry, vim_item)
|
||||||
|
vim_item.menu = ({
|
||||||
|
nvim_lsp = "[LSP]",
|
||||||
|
luasnip = "[Snip]",
|
||||||
|
buffer = "[Buf]",
|
||||||
|
path = "[Path]",
|
||||||
|
})[entry.source.name]
|
||||||
|
return vim_item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Disable cmp for markdown notes (no recommendations/autocomplete)
|
||||||
|
cmp.setup.filetype("markdown", {
|
||||||
|
enabled = false,
|
||||||
|
})
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
-- Tabs shortcuts
|
||||||
|
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
|
||||||
|
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
|
||||||
|
map('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', opts)
|
||||||
|
map('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', opts)
|
||||||
|
map('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', opts)
|
||||||
|
map('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', opts)
|
||||||
|
map('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', opts)
|
||||||
|
map('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', opts)
|
||||||
|
map('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', opts)
|
||||||
|
map('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', opts)
|
||||||
|
map('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', opts)
|
||||||
|
map('n', '<A-0>', '<Cmd>BufferLast<CR>', opts)
|
||||||
|
|
||||||
|
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
|
||||||
|
|
||||||
|
map('n', '<C-p>', '<Cmd>BufferPick<CR>', opts)
|
||||||
|
map('n', '<C-s-p>', '<Cmd>BufferPickDelete<CR>', opts)
|
||||||
|
|
||||||
|
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', opts)
|
||||||
|
map('n', '<Space>bn', '<Cmd>BufferOrderByName<CR>', opts)
|
||||||
|
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', opts)
|
||||||
|
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', opts)
|
||||||
|
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', opts)
|
||||||
|
|
||||||
|
-- Toggle Neotree
|
||||||
|
map('n', '<leader>e', ':Neotree toggle<CR>', opts)
|
||||||
|
|
||||||
|
-- Terminal
|
||||||
|
map('n', '<leader>t', ':terminal<CR>', opts)
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
-- Common on_attach handler
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
local opts = { buffer = bufnr }
|
||||||
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
||||||
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||||
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Configure all your servers
|
||||||
|
vim.lsp.config("lua_ls", {
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = {
|
||||||
|
Lua = { diagnostics = { globals = { "vim" } } },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("pyright", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("gopls", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("clangd", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("omnisharp", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("jdtls", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("ts_ls", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("jsonls", { on_attach = on_attach })
|
||||||
|
vim.lsp.config("yamlls", { on_attach = on_attach })
|
||||||
|
|
||||||
|
-- Enable them all
|
||||||
|
for _, server in ipairs({
|
||||||
|
"lua_ls", "pyright", "gopls", "clangd",
|
||||||
|
"omnisharp", "jdtls", "ts_ls", "jsonls", "yamlls",
|
||||||
|
}) do
|
||||||
|
vim.lsp.enable(server)
|
||||||
|
end
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
vim.opt.number = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
vim.opt.cursorline = true
|
||||||
|
vim.opt.mouse = "a"
|
||||||
|
vim.opt.clipboard = "unnamedplus"
|
||||||
|
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
-- Bootstrap lazy.nvim if not installed
|
||||||
|
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)
|
||||||
|
|
||||||
|
-- Plugins
|
||||||
|
require("lazy").setup({
|
||||||
|
-- Core
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
|
||||||
|
-- UI
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
|
||||||
|
-- Treesitter
|
||||||
|
--{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
config = function()
|
||||||
|
vim.treesitter.language.register("markdown", "vimwiki")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
|
||||||
|
-- Themes
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
{
|
||||||
|
'sainnhe/sonokai',
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
-- Optionally configure and load the colorscheme
|
||||||
|
-- directly inside the plugin declaration.
|
||||||
|
vim.g.sonokai_enable_italic = true
|
||||||
|
vim.cmd.colorscheme('sonokai')
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Vimwiki
|
||||||
|
{
|
||||||
|
"vimwiki/vimwiki",
|
||||||
|
init = function()
|
||||||
|
vim.g.vimwiki_global_ext = 0
|
||||||
|
vim.g.vimwiki_conceallevel = 0
|
||||||
|
vim.g.vimwiki_list = {
|
||||||
|
{
|
||||||
|
path = "~/wiki/uni/",
|
||||||
|
syntax = "markdown",
|
||||||
|
ext = ".md",
|
||||||
|
name = "Uni",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Autocomplete
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-cmdline",
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Markdown Preview Page
|
||||||
|
{
|
||||||
|
"iamcco/markdown-preview.nvim",
|
||||||
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||||
|
ft = { "markdown" },
|
||||||
|
build = function()
|
||||||
|
require("lazy").load({ plugins = { "markdown-preview.nvim" } })
|
||||||
|
vim.fn["mkdp#util#install"]()
|
||||||
|
end,
|
||||||
|
config = function()
|
||||||
|
vim.g.mkdp_echo_preview_url = 1
|
||||||
|
|
||||||
|
vim.cmd([[
|
||||||
|
function! OpenMarkdownPreview(url)
|
||||||
|
call jobstart(['xdg-open', a:url], {'detach': v:true})
|
||||||
|
endfunction
|
||||||
|
]])
|
||||||
|
|
||||||
|
vim.g.mkdp_browserfunc = "OpenMarkdownPreview"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
-- Tabs
|
||||||
|
{ 'romgrk/barbar.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
|
||||||
|
'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
|
||||||
|
},
|
||||||
|
init = function() vim.g.barbar_auto_setup = false end,
|
||||||
|
opts = {
|
||||||
|
-- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
|
||||||
|
-- animation = true,
|
||||||
|
-- insert_at_start = true,
|
||||||
|
-- …etc.
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"nvim-tree/nvim-web-devicons", -- optional, but recommended
|
||||||
|
},
|
||||||
|
lazy = false, -- neo-tree will lazily load itself
|
||||||
|
},
|
||||||
|
|
||||||
|
-- GitHub Copilot
|
||||||
|
"github/copilot.vim",
|
||||||
|
|
||||||
|
{
|
||||||
|
"lervag/vimtex",
|
||||||
|
lazy = false, -- we don't want to lazy load VimTeX
|
||||||
|
-- tag = "v2.15", -- uncomment to pin to a specific release
|
||||||
|
init = function()
|
||||||
|
-- VimTeX configuration goes here, e.g.
|
||||||
|
vim.g.vimtex_view_method = "zathura"
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
local telescope = require("telescope")
|
||||||
|
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {
|
||||||
|
prompt_prefix = "🔍 ",
|
||||||
|
selection_caret = " ",
|
||||||
|
path_display = { "smart" },
|
||||||
|
sorting_strategy = "ascending",
|
||||||
|
layout_config = { prompt_position = "top" },
|
||||||
|
},
|
||||||
|
pickers = {
|
||||||
|
find_files = {
|
||||||
|
hidden = true, -- show hidden files
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Optional: keymaps for quick access
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find files" })
|
||||||
|
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Grep text" })
|
||||||
|
vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Find buffers" })
|
||||||
|
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Find help" })
|
||||||
|
vim.keymap.set("n", "<leader>fr", builtin.oldfiles, { desc = "Recent files" })
|
||||||
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
require("nvim-treesitter.configs").setup({
|
||||||
|
ensure_installed = {
|
||||||
|
-- Programming Languages
|
||||||
|
"lua", "python", "bash", "javascript", "typescript",
|
||||||
|
"go", "java", "c", "cpp", "c_sharp", "rust",
|
||||||
|
|
||||||
|
-- Web Languages
|
||||||
|
"html", "css", "scss", "json", "yaml", "toml", "xml",
|
||||||
|
|
||||||
|
-- Other formats
|
||||||
|
"markdown", "markdown_inline", "sql", "dockerfile", "gitignore"
|
||||||
|
},
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
Heilberufler
|
||||||
|
ePA
|
||||||
|
eHBA
|
||||||
|
Agres
|
||||||
|
sc
|
||||||
|
hum
|
||||||
|
hum
|
||||||
|
Seidling
|
||||||
|
EMA
|
||||||
|
GMP
|
||||||
|
BfArM
|
||||||
|
GKV
|
||||||
|
Primärverpackung
|
||||||
|
Medikationsprozess
|
||||||
|
Ärztlicherseits
|
||||||
|
Medikations
|
||||||
|
Digitalisierungsprozesse
|
||||||
|
Telematikinfrastruktur
|
||||||
|
Heilberuflerausweis
|
||||||
|
Medikationsprozesse
|
||||||
|
CLMM
|
||||||
|
LLM
|
||||||
|
KI
|
||||||
|
OpenAI
|
||||||
|
GPT
|
||||||
|
Wirkweise
|
||||||
|
hum
|
||||||
|
hum
|
||||||
|
hum
|
||||||
|
Schickhardt
|
||||||
|
BVL
|
||||||
|
Werkzeuge
|
||||||
|
Zukunftige
|
||||||
|
Resumee
|
||||||
|
Vorlesungs
|
||||||
|
Whatsapp
|
||||||
|
Zabel
|
||||||
|
extrakranielle
|
||||||
|
Intra
|
||||||
|
Intrakranielle
|
||||||
|
Extrakraniell
|
||||||
|
Proffessionsethik
|
||||||
|
Intrakraniell
|
||||||
|
intrakraniellen
|
||||||
|
mitbestrahlt
|
||||||
|
Oligometastasierung
|
||||||
|
Hypofraktionierte
|
||||||
|
Hochdosisbereich
|
||||||
|
Neurokognition
|
||||||
|
Ganzhirnbestrahlung
|
||||||
|
Hippocampusatrophie
|
||||||
|
neurokognitiven
|
||||||
|
MRT
|
||||||
|
Lagerungskontrolle
|
||||||
|
bildgeführte
|
||||||
|
Atemgating
|
||||||
|
Pneumonitis
|
||||||
|
Lungenläsionen
|
||||||
|
Begleiterkrankungen
|
||||||
|
Kapselschmerz
|
||||||
|
CyberKnife
|
||||||
|
oligometastasierten
|
||||||
|
Tumorschäden
|
||||||
|
hypofraktionierten
|
||||||
|
p53
|
||||||
|
leptomeningeale
|
||||||
|
Rückenmarkshäute
|
||||||
|
SBRT
|
||||||
|
intrakraniell
|
||||||
|
intrakranielle
|
||||||
|
toc
|
||||||
|
tex
|
||||||
|
APA
|
||||||
|
UniTyLab
|
||||||
|
Unitylab
|
||||||
|
VR
|
||||||
|
Holodeck
|
||||||
|
augmentationen
|
||||||
|
Unitylabs
|
||||||
|
Expositionstherapie
|
||||||
|
LLMs
|
||||||
|
OsiriX
|
||||||
|
Meixner
|
||||||
|
Homeoffice
|
||||||
|
ArbN
|
||||||
|
ArbG
|
||||||
Binary file not shown.
@@ -64,6 +64,9 @@ alias vps01='tmux new-session -s vps01 "ssh agres@agres.online"'
|
|||||||
alias vps02='tmux new-session -s vps02 "ssh agres@agres.cloud"'
|
alias vps02='tmux new-session -s vps02 "ssh agres@agres.cloud"'
|
||||||
alias pve01='tmux new-session -s pve01 "ssh agres@192.168.0.200"'
|
alias pve01='tmux new-session -s pve01 "ssh agres@192.168.0.200"'
|
||||||
|
|
||||||
|
# docs folder
|
||||||
|
alias docsync='cd ~/documents && git pull && git add -A && git commit -m "sync $(date +%F)" && git push'
|
||||||
|
|
||||||
# Slop Alias
|
# Slop Alias
|
||||||
claude() {
|
claude() {
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user