commit 3f2be61c779cf9f97b6070736bc6d67e119512f7
parent ca9ede56f3a82772e34d320344d016933de4ccc8
Author: KoenigLinus <linus@behrens-familie.de>
Date: Thu, 17 Apr 2025 12:04:59 +0200
17.04.2025 linux switch
Diffstat:
21 files changed, 347 insertions(+), 80 deletions(-)
diff --git a/.sources/plan9port b/.sources/plan9port
@@ -0,0 +1 @@
+Subproject commit 9da5b4451365e33c4f561d74a99ad5c17ff20fed
diff --git a/ghostty/config b/ghostty/config
@@ -0,0 +1,34 @@
+# Config generated by Ghostty Config
+
+cursor-style = block
+cursor-style-blink = false
+shell-integration-features = no-cursor
+
+macos-titlebar-proxy-icon = hidden
+title = " "
+
+clipboard-read = allow
+clipboard-write = allow
+theme = tokyonight-storm
+background = #24283b
+foreground = #c0caf5
+selection-background = #364a82
+selection-foreground = #c0caf5
+cursor-color = #c0caf5
+cursor-text = #1d202f
+palette = 0=#1d202f
+palette = 1=#f7768e
+palette = 2=#9ece6a
+palette = 3=#e0af68
+palette = 4=#7aa2f7
+palette = 5=#bb9af7
+palette = 6=#7dcfff
+palette = 7=#a9b1d6
+palette = 8=#414868
+palette = 9=#f7768e
+palette = 10=#9ece6a
+palette = 11=#e0af68
+palette = 12=#7aa2f7
+palette = 13=#bb9af7
+palette = 14=#7dcfff
+palette = 15=#c0caf5
diff --git a/init.bash b/init.bash
@@ -9,3 +9,6 @@ ln -s ~/dotfiles/.sources/ ~/.sources
rm -rf ~/.scripts
ln -s ~/dotfiles/.scripts/ ~/.scripts
+
+rm -rf $HOME/Library/Application Support/com.mitchellh.ghostty
+ln -s $HOME/dotfiles/ghostty/ $HOME/Library/Application Support/com.mitchellh.ghostty
diff --git a/nvim/init.lua b/nvim/init.lua
@@ -1,9 +1,18 @@
--- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")
+-- local my_theme = require("linus-theme")
+-- my_theme.setup()
+
+-------------------------------------------------------------
vim.o.encoding = "utf-8"
vim.o.fileencoding = "utf-8"
+vim.opt.spell = true
+vim.opt.spelllang = { "en", "de" }
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
+
+-------------------------------------------------------------
+
+vim.opt.termguicolors = true
diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json
@@ -0,0 +1,44 @@
+{
+ "LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" },
+ "blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" },
+ "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
+ "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
+ "conform.nvim": { "branch": "master", "commit": "b1a75324ddf96b7bb84963a297b1ed334db087c0" },
+ "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
+ "fzf-lua": { "branch": "main", "commit": "6488ada2f376e47789391dc353b6d91a3f9de6f6" },
+ "gitsigns.nvim": { "branch": "main", "commit": "17ab794b6fce6fce768430ebc925347e349e1d60" },
+ "grug-far.nvim": { "branch": "main", "commit": "6ef402861468c6bd987155be17a34ba4291dc1d0" },
+ "gruvbox.nvim": { "branch": "main", "commit": "12b5420b665e8053d74eb075d8a589477333f67d" },
+ "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
+ "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
+ "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
+ "markview.nvim": { "branch": "main", "commit": "4f9ad36efe01c283aa886453ba75bf569c897c84" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
+ "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
+ "mini.ai": { "branch": "main", "commit": "e139eb1101beb0250fea322f8c07a42f0f175688" },
+ "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
+ "mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
+ "mini.starter": { "branch": "main", "commit": "d8038690eadf203a40863c3a9423df880a901d39" },
+ "neo-tree.nvim": { "branch": "main", "commit": "73d63376352ac731379892e27ac7b3d9449148e3" },
+ "no-neck-pain.nvim": { "branch": "main", "commit": "53c8ef094c86e8897be2dcce0259d35914f6cdc0" },
+ "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
+ "nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
+ "nvim-lint": { "branch": "master", "commit": "81e8ba7655cc4395b1092ef4e1b6e83f54cd54ad" },
+ "nvim-lspconfig": { "branch": "master", "commit": "3e873195f501b1e02d9fd7e5af5cbe74fc2f98c1" },
+ "nvim-treesitter": { "branch": "master", "commit": "523a9e148919f58eb5a013f76787e57696e00c93" },
+ "nvim-treesitter-textobjects": { "branch": "master", "commit": "9937e5e356e5b227ec56d83d0a9d0a0f6bc9cad4" },
+ "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
+ "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
+ "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
+ "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
+ "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
+ "substitute.nvim": { "branch": "main", "commit": "9db749a880e3dd3b0eb57f698aa8f1e1630e1f25" },
+ "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
+ "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
+ "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
+ "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
+ "transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" },
+ "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
+ "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
+ "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
+}
diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json
@@ -2,8 +2,9 @@
"extras": [
],
+ "install_version": 7,
"news": {
- "NEWS.md": "7429"
+ "NEWS.md": "10960"
},
- "version": 7
+ "version": 8
}
\ No newline at end of file
diff --git a/nvim/lua/config/highlite.lua b/nvim/lua/config/highlite.lua
@@ -0,0 +1,9 @@
+-- -- ~/.config/nvim/lua/config/highlights.lua
+-- return {
+-- -- Beispiel: Tree-sitter Textfarben dimmen
+-- ["@text"] = { fg = "#000000" }, -- normaler Text
+-- ["@text.strong"] = { fg = "#000000", bold = true },
+-- ["@text.emphasis"] = { fg = "#000000", italic = true },
+-- ["@text.literal"] = { fg = "#444444" }, -- inline code
+-- ["@comment"] = { fg = "#555555", italic = true }, -- Kommentare dunkler machen
+-- }
diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua
@@ -1,3 +1,12 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
+--
+
+-- NoNeckPain
+--
+
+local map = LazyVim.safe_keymap_set
+
+map("n", "<leader>z", "<cmd>NoNeckPain<cr>", { desc = "NoNeckPain: zen" })
+map("n", "<leader>h", "<cmd>TransparentToggle<cr>", { desc = "Transparency: toggle" })
diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua
@@ -30,7 +30,7 @@ require("lazy").setup({
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
- install = { colorscheme = { "tokyonight", "habamax" } },
+ -- install = { colorscheme = { "tokyonight", "habamax" } },
checker = {
enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update
diff --git a/nvim/lua/plugins/bufferline.lua b/nvim/lua/plugins/bufferline.lua
@@ -0,0 +1,12 @@
+return {
+ -- add gruvbox
+ { "ellisonleao/gruvbox.nvim" },
+
+ -- Configure LazyVim to load gruvbox
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "gruvbox",
+ },
+ },
+}
diff --git a/nvim/lua/plugins/example.lua b/nvim/lua/plugins/example.lua
@@ -131,6 +131,7 @@ return {
"query",
"regex",
"tsx",
+ "latex",
"typescript",
"vim",
"yaml",
diff --git a/nvim/lua/plugins/gruvbox.lua b/nvim/lua/plugins/gruvbox.lua
@@ -1,9 +0,0 @@
--- ~/.config/nvim/lua/plugins/gruvbox.lua
-return {
- "ellisonleao/gruvbox.nvim",
- lazy = false, -- Load immediately
- priority = 1000,
- config = function()
- vim.cmd([[colorscheme gruvbox]])
- end,
-}
diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua
@@ -1,28 +1,29 @@
return {
"nvim-lualine/lualine.nvim",
- dependencies = { "nvim-tree/nvim-web-devicons" },
- config = function()
- local lualine = require("lualine")
- local lazy_status = require("lazy.status") -- to configure lazy pending updates count
-
- lualine.setup({
- options = {
- theme = "gruvbox",
- section_separators = "",
- component_separators = "",
- },
- sections = {
- lualine_x = {
- {
- lazy_status.updates,
- cond = lazy_status.has_updates,
- color = { fg = "#ff9e64" },
- },
- { "encoding" },
- { "fileformat" },
- { "filetype" },
- },
- },
- })
- end,
+ enabled = false,
+ -- dependencies = { "nvim-tree/nvim-web-devicons" },
+ -- config = function()
+ -- local lualine = require("lualine")
+ -- local lazy_status = require("lazy.status") -- to configure lazy pending updates count
+ --
+ -- lualine.setup({
+ -- options = {
+ -- -- theme = "gruvbox",
+ -- section_separators = "",
+ -- component_separators = "",
+ -- },
+ -- sections = {
+ -- lualine_x = {
+ -- {
+ -- lazy_status.updates,
+ -- cond = lazy_status.has_updates,
+ -- color = { fg = "#ff9e64" },
+ -- },
+ -- { "encoding" },
+ -- { "fileformat" },
+ -- { "filetype" },
+ -- },
+ -- },
+ -- })
+ --end,
}
diff --git a/nvim/lua/plugins/mini.lua b/nvim/lua/plugins/mini.lua
@@ -0,0 +1,33 @@
+-- ~/.config/nvim/lua/plugins/softwrap.lua
+return {
+ -- Das ist ein Dummy-Eintrag, damit LazyVim ihn lädt
+ -- Du kannst stattdessen auch ein echtes Plugin hier rein tun, wenn du willst.
+ -- Aber dieser Configblock funktioniert ohne Plugin!
+ "nvim-lua/plenary.nvim", -- oder irgendein vorhandenes Plugin als Träger
+ config = function()
+ local function toggle_wrap()
+ local enabled = vim.wo.wrap
+ vim.wo.wrap = not enabled
+ vim.wo.linebreak = not enabled
+ vim.wo.breakindent = not enabled
+ if not enabled then
+ vim.notify("Soft wrap enabled", vim.log.levels.INFO)
+ else
+ vim.notify("Soft wrap disabled", vim.log.levels.INFO)
+ end
+ end
+
+ -- Autocommand für bestimmte Dateitypen
+ vim.api.nvim_create_autocmd("FileType", {
+ pattern = { "markdown", "tex", "text", "plaintex" },
+ callback = function()
+ vim.opt_local.wrap = true
+ vim.opt_local.linebreak = true
+ vim.opt_local.breakindent = true
+ end,
+ })
+
+ -- Toggle auf <leader>z
+ vim.keymap.set("n", "<leader>t", toggle_wrap, { desc = "Toggle soft wrap" })
+ end,
+}
diff --git a/nvim/lua/plugins/neotree.lua b/nvim/lua/plugins/neotree.lua
@@ -0,0 +1,20 @@
+return {
+ "nvim-neo-tree/neo-tree.nvim",
+ opts = {
+ filesystem = {
+ hijack_netrw_behavior = "open_current", -- Keeps Neo-tree from opening automatically
+ window = {
+ position = "float",
+ width = 30,
+ },
+ },
+ event_handlers = {
+ {
+ event = "file_opened",
+ handler = function()
+ require("neo-tree.command").execute({ action = "close" })
+ end,
+ },
+ },
+ },
+}
diff --git a/nvim/lua/plugins/no-neck-pain.lua b/nvim/lua/plugins/no-neck-pain.lua
@@ -0,0 +1,3 @@
+return {
+ "shortcuts/no-neck-pain.nvim",
+}
diff --git a/nvim/lua/plugins/opacity.lua b/nvim/lua/plugins/opacity.lua
@@ -0,0 +1,3 @@
+return {
+ "xiyaowong/transparent.nvim",
+}
diff --git a/nvim/lua/plugins/render.lua b/nvim/lua/plugins/render.lua
@@ -0,0 +1,14 @@
+return {
+ "OXY2DEV/markview.nvim",
+ lazy = false,
+}
+
+-- return {
+-- "MeanderingProgrammer/render-markdown.nvim",
+-- dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
+-- -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
+-- -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
+-- ---@module 'render-markdown'
+-- ---@type render.md.UserConfig
+-- opts = {},
+-- }
diff --git a/nvim/lua/plugins/starter-mini.lua b/nvim/lua/plugins/starter-mini.lua
@@ -0,0 +1,66 @@
+return {
+ "echasnovski/mini.starter",
+ version = false, -- wait till new 0.7.0 release to put it back on semver
+ event = "VimEnter",
+ opts = function()
+ local logo = table.concat({
+ "neovim",
+ }, "\n")
+ local pad = string.rep(" ", 1)
+ local new_section = function(name, action, section)
+ return { name = name, action = action, section = pad .. section }
+ end
+
+ local starter = require("mini.starter")
+ --stylua: ignore
+ local config = {
+ evaluate_single = true,
+ header = logo,
+ items = {
+ new_section("Find file", LazyVim.pick(), "Telescope"),
+ new_section("New file", "ene | startinsert", "Built-in"),
+ new_section("Recent files", LazyVim.pick("oldfiles"), "Telescope"),
+ new_section("Find text", LazyVim.pick("live_grep"), "Telescope"),
+ new_section("Config", LazyVim.pick.config_files(), "Config"),
+ new_section("Restore session", [[lua require("persistence").load()]], "Session"),
+ new_section("Lazy Extras", "LazyExtras", "Config"),
+ new_section("Lazy", "Lazy", "Config"),
+ new_section("Quit", "qa", "Built-in"),
+ },
+ content_hooks = {
+ starter.gen_hook.adding_bullet(pad .. "░ ", false),
+ starter.gen_hook.aligning("center", "center"),
+ },
+ }
+ return config
+ end,
+ config = function(_, config)
+ -- close Lazy and re-open when starter is ready
+ if vim.o.filetype == "lazy" then
+ vim.cmd.close()
+ vim.api.nvim_create_autocmd("User", {
+ pattern = "MiniStarterOpened",
+ callback = function()
+ require("lazy").show()
+ end,
+ })
+ end
+
+ local starter = require("mini.starter")
+ starter.setup(config)
+
+ vim.api.nvim_create_autocmd("User", {
+ pattern = "LazyVimStarted",
+ callback = function(ev)
+ local stats = require("lazy").stats()
+ local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
+ local pad_footer = string.rep(" ", 8)
+ starter.config.footer = pad_footer .. "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms"
+ -- INFO: based on @echasnovski's recommendation (thanks a lot!!!)
+ if vim.bo[ev.buf].filetype == "ministarter" then
+ pcall(starter.refresh)
+ end
+ end,
+ })
+ end,
+}
diff --git a/nvim/lua/plugins/todo-comment.lua b/nvim/lua/plugins/todo-comment.lua
@@ -1,49 +1,49 @@
return {
- "folke/todo-comments.nvim",
- dependencies = { "nvim-lua/plenary.nvim" },
- opts = {
- keywords = {
- FIX = {
- icon = " ", -- icon used for the sign, and in search results
- color = "error", -- can be a hex color, or a named color (see below)
- alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
- -- signs = false, -- configure signs for some keywords individually
- },
- TODO = { icon = " ", color = "info" },
- HACK = { icon = " ", color = "warning" },
- WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
- PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
- NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
+ "folke/todo-comments.nvim",
+ dependencies = { "nvim-lua/plenary.nvim" },
+ opts = {
+ keywords = {
+ FIX = {
+ icon = " ", -- icon used for the sign, and in search results
+ color = "error", -- can be a hex color, or a named color (see below)
+ alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
+ -- signs = false, -- configure signs for some keywords individually
+ },
+ TODO = { icon = " ", color = "info" },
+ HACK = { icon = " ", color = "warning" },
+ WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
+ PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
+ NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
- -- FIX: Test
- -- TODO: Test
- -- HACK: Test
- -- WARN: Test
- -- PERF: Test
- -- NOTE: Test
- -- TEST: Test
+ -- FIX: Test
+ -- TODO: Test
+ -- HACK: Test
+ -- WARN: Test
+ -- PERF: Test
+ -- NOTE: Test
+ -- TEST: Test
- HERLEITUNG = { icon = "", color = "#cfcfcf" },
- UEBEN = { icon = "", color = "warning" },
- LERNEN = { icon = "", color = "info" },
- RESEARCH = { icon = "", color = "hint" },
- ANKI = { icon = "", color = "#9654b0" },
- WTF = { icon = "", color = "error", alt = { "WARNING", "XXX" } },
- ARNECKE = { icon = "", color = "#ffa3f1", alt = { "WARNING", "XXX" } },
+ HERLEITUNG = { icon = "", color = "#cfcfcf" },
+ UEBEN = { icon = "", color = "warning" },
+ LERNEN = { icon = "", color = "info" },
+ RESEARCH = { icon = "", color = "hint" },
+ ANKI = { icon = "", color = "#9654b0" },
+ WTF = { icon = "", color = "error", alt = { "WARNING", "XXX" } },
+ ARNECKE = { icon = "", color = "#ffa3f1", alt = { "WARNING", "XXX" } },
- -- HERLEITUNG: Test
- -- UEBEN: Test
- -- LERNEN: Test
- -- RESEARCH: Test
- -- ANKI: Test
- -- WTF: Test
- -- ARNECKE: Test
- },
+ -- HERLEITUNG: Test
+ -- UEBEN: Test
+ -- LERNEN: Test
+ -- RESEARCH: Test
+ -- ANKI: Test
+ -- WTF: Test
+ -- ARNECKE: Test
+ },
- highlight = {
- multiline = true, -- enable multine todo comments
- comments_only = false, -- uses treesitter to match keywords in comments only
- max_line_len = 400, -- ignore lines longer than this
- },
+ highlight = {
+ multiline = true, -- enable multine todo comments
+ comments_only = false, -- uses treesitter to match keywords in comments only
+ max_line_len = 400, -- ignore lines longer than this
},
+ },
}
diff --git a/nvim/lua/plugins/user/highlights.lua b/nvim/lua/plugins/user/highlights.lua
@@ -0,0 +1,13 @@
+vim.api.nvim_create_augroup("TransparentBackground", { clear = true })
+vim.api.nvim_create_autocmd("ColorScheme", {
+ group = "TransparentBackground",
+ callback = function()
+ -- Remove the background from Normal text and floating windows
+ vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
+ vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
+
+ -- Optionally, remove background from other UI elements
+ vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
+ vim.api.nvim_set_hl(0, "EndOfBuffer", { bg = "none" })
+ end,
+})