diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-03-04 17:49:38 +0100 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-03-04 17:49:38 +0100 |
| commit | 2850c819a08e6f8f8a627330dc2035946bc13c3a (patch) | |
| tree | 2ed555f40d2dcb6f3211d67d7fae5fe90e78c02f | |
| parent | 3d8f48467174748cd415fb0ad970b3b3ad0422b3 (diff) | |
fixed syntax error and formatting in nvim.tex
| -rw-r--r-- | modules/home/i3wm/nord-blue/nvim.nix | 427 |
1 files changed, 244 insertions, 183 deletions
diff --git a/modules/home/i3wm/nord-blue/nvim.nix b/modules/home/i3wm/nord-blue/nvim.nix index 380e584..f9d885d 100644 --- a/modules/home/i3wm/nord-blue/nvim.nix +++ b/modules/home/i3wm/nord-blue/nvim.nix @@ -1,184 +1,245 @@ -------------------------------------------------- --- LEADER -------------------------------------------------- -vim.g.mapleader = " " - -------------------------------------------------- --- BASIC OPTIONS -------------------------------------------------- -vim.opt.number = true -vim.opt.relativenumber = true -vim.opt.clipboard = "unnamedplus" -vim.opt.showtabline = 2 - -vim.o.timeout = true -vim.o.timeoutlen = 300 - -------------------------------------------------- --- THEME -------------------------------------------------- -require("catppuccin").setup({ - flavour = "mocha", - transparent_background = false, -}) -vim.cmd.colorscheme("catppuccin") - -------------------------------------------------- --- TREESITTER (IDE-like syntax highlighting) -------------------------------------------------- -require("nvim-treesitter.configs").setup({ - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - indent = { enable = true }, - - incremental_selection = { - enable = true, - keymaps = { - init_selection = "<C-space>", - node_incremental = "<C-space>", - node_decremental = "<bs>", - }, - }, -}) - -------------------------------------------------- --- TELESCOPE -------------------------------------------------- -local telescope = require("telescope") -local builtin = require("telescope.builtin") - -telescope.setup({ - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, -}) - -vim.keymap.set("n", "<leader><leader>", builtin.find_files, { desc = "Find files" }) -vim.keymap.set("n", "<leader>ff", builtin.find_files) -vim.keymap.set("n", "<leader>fg", builtin.live_grep) -vim.keymap.set("n", "<leader>fb", builtin.buffers) -vim.keymap.set("n", "<leader>fh", builtin.help_tags) - -------------------------------------------------- --- WHICH-KEY -------------------------------------------------- -require("which-key").setup({}) - -------------------------------------------------- --- TABS -------------------------------------------------- -vim.keymap.set("n", "tt", "<cmd>tabnew<CR>", { desc = "New tab" }) -vim.keymap.set("n", "tc", "<cmd>tabclose<CR>", { desc = "Close tab" }) -vim.keymap.set("n", "tn", "<cmd>tabnext<CR>", { desc = "Next tab" }) -vim.keymap.set("n", "tp", "<cmd>tabprevious<CR>", { desc = "Previous tab" }) -vim.keymap.set("n", "t0", "<cmd>tabfirst<CR>", { desc = "First tab" }) -vim.keymap.set("n", "t$", "<cmd>tablast<CR>", { desc = "Last tab" }) - -------------------------------------------------- --- NVIM TREE -------------------------------------------------- -require("nvim-tree").setup({ - view = { - width = 30, - side = "left", - }, - - renderer = { - group_empty = true, - }, - - filters = { - dotfiles = false, - git_ignored = true, - }, - - git = { - enable = true, - ignore = true, - }, - - on_attach = function(bufnr) - local api = require("nvim-tree.api") - - local function opts(desc) - return { - desc = "nvim-tree: " .. desc, - buffer = bufnr, - noremap = true, - silent = true, - nowait = true, +{ pkgs, config, lib, ... }: + +{ + ################################################# + # Packages + ################################################# + home.packages = with pkgs; [ + zathura + ripgrep + fd + lazygit + ]; + + ################################################# + # Neovim + ################################################# + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + + ################################################# + # Plugins + ################################################# + plugins = with pkgs.vimPlugins; [ + + # UI / Theme + catppuccin-nvim + nvim-web-devicons + which-key-nvim + + # Syntax (IDE-style highlighting) + (nvim-treesitter.withPlugins (p: [ + p.lua + p.nix + p.rust + p.python + p.bash + p.latex + p.c + ])) + + # File Navigation + telescope-nvim + plenary-nvim + nvim-tree-lua + + # Terminal / Git + toggleterm-nvim + + # Writing / LaTeX + vimtex + orgmode + + # Start screen + { + plugin = vim-startify; + config = "let g:startify_change_to_vcs_root = 0"; } - end - - api.config.mappings.default_on_attach(bufnr) - - -- open file in new tab - vim.keymap.set("n", "t", function() - local node = api.tree.get_node_under_cursor() - if node and node.type == "file" then - vim.cmd("tabnew " .. node.absolute_path) - end - end, opts("Open in new tab")) - end, -}) - -vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>") - -------------------------------------------------- --- TOGGLETERM + LAZYGIT -------------------------------------------------- -require("toggleterm").setup({ - direction = "float", - float_opts = { border = "rounded" }, -}) - -local Terminal = require("toggleterm.terminal").Terminal - -local lazygit = Terminal:new({ - cmd = "lazygit", - hidden = true, - direction = "float", - float_opts = { border = "rounded" }, -}) - -vim.keymap.set("n", "<leader>gg", function() - lazygit:toggle() -end, { desc = "Lazygit" }) - -------------------------------------------------- --- ORGMODE -------------------------------------------------- -require("orgmode").setup({ - org_agenda_files = { "~/Documents/2. Writing/0. SOČ/org/*.org" }, - org_default_notes_file = "~/Documents/2. Writing/0. SOČ/org/index.org", -}) - -------------------------------------------------- --- VIMTEX -------------------------------------------------- -vim.g.vimtex_view_method = "zathura" -vim.g.vimtex_compiler_latexmk = { - executable = "latexmk", - options = { - "-pdf", - "-interaction=nonstopmode", - "-synctex=1", - "-file-line-error", - }, -} -vim.g.vimtex_syntax_enabled = 0 - -vim.api.nvim_create_autocmd("FileType", { - pattern = "tex", - callback = function() - vim.opt_local.wrap = true - vim.opt_local.linebreak = true - vim.opt_local.breakindent = true - vim.opt_local.textwidth = 0 - end, -})
\ No newline at end of file + ]; + + ################################################# + # Lua Configuration + ################################################# + extraLuaConfig = '' + ------------------------------------------------- + -- LEADER + ------------------------------------------------- + vim.g.mapleader = " " + + ------------------------------------------------- + -- BASIC OPTIONS + ------------------------------------------------- + vim.opt.number = true + vim.opt.relativenumber = true + vim.opt.clipboard = "unnamedplus" + vim.opt.showtabline = 2 + + vim.o.timeout = true + vim.o.timeoutlen = 300 + + ------------------------------------------------- + -- THEME + ------------------------------------------------- + require("catppuccin").setup({ + flavour = "mocha", + transparent_background = false, + }) + vim.cmd.colorscheme("catppuccin") + + ------------------------------------------------- + -- TREESITTER (IDE-style syntax highlighting) + ------------------------------------------------- + require("nvim-treesitter.configs").setup({ + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { enable = true }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "<C-space>", + node_incremental = "<C-space>", + node_decremental = "<bs>", + }, + }, + }) + + ------------------------------------------------- + -- TELESCOPE + ------------------------------------------------- + local builtin = require("telescope.builtin") + + require("telescope").setup({ + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + }, + }) + + vim.keymap.set("n", "<leader><leader>", builtin.find_files) + vim.keymap.set("n", "<leader>ff", builtin.find_files) + vim.keymap.set("n", "<leader>fg", builtin.live_grep) + vim.keymap.set("n", "<leader>fb", builtin.buffers) + vim.keymap.set("n", "<leader>fh", builtin.help_tags) + + ------------------------------------------------- + -- WHICH-KEY + ------------------------------------------------- + require("which-key").setup({}) + + ------------------------------------------------- + -- TABS + ------------------------------------------------- + vim.keymap.set("n", "tt", "<cmd>tabnew<CR>") + vim.keymap.set("n", "tc", "<cmd>tabclose<CR>") + vim.keymap.set("n", "tn", "<cmd>tabnext<CR>") + vim.keymap.set("n", "tp", "<cmd>tabprevious<CR>") + vim.keymap.set("n", "t0", "<cmd>tabfirst<CR>") + vim.keymap.set("n", "t$", "<cmd>tablast<CR>") + + ------------------------------------------------- + -- NVIM-TREE + ------------------------------------------------- + require("nvim-tree").setup({ + view = { width = 30, side = "left" }, + + renderer = { group_empty = true }, + + filters = { + dotfiles = false, + git_ignored = true, + }, + + git = { + enable = true, + ignore = true, + }, + + on_attach = function(bufnr) + local api = require("nvim-tree.api") + + local function opts(desc) + return { + desc = "nvim-tree: " .. desc, + buffer = bufnr, + noremap = true, + silent = true, + nowait = true, + } + end + + api.config.mappings.default_on_attach(bufnr) + + -- open file in new tab + vim.keymap.set("n", "t", function() + local node = api.tree.get_node_under_cursor() + if node and node.type == "file" then + vim.cmd("tabnew " .. node.absolute_path) + end + end, opts("Open in new tab")) + end, + }) + + vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>") + + ------------------------------------------------- + -- TOGGLETERM + LAZYGIT + ------------------------------------------------- + require("toggleterm").setup({ + direction = "float", + float_opts = { border = "rounded" }, + }) + + local Terminal = require("toggleterm.terminal").Terminal + + local lazygit = Terminal:new({ + cmd = "lazygit", + hidden = true, + direction = "float", + float_opts = { border = "rounded" }, + }) + + vim.keymap.set("n", "<leader>gg", function() + lazygit:toggle() + end) + + ------------------------------------------------- + -- ORGMODE + ------------------------------------------------- + require("orgmode").setup({ + org_agenda_files = { "~/Documents/2. Writing/0. SOČ/org/*.org" }, + org_default_notes_file = "~/Documents/2. Writing/0. SOČ/org/index.org", + }) + + ------------------------------------------------- + -- VIMTEX + ------------------------------------------------- + vim.g.vimtex_view_method = "zathura" + vim.g.vimtex_compiler_latexmk = { + executable = "latexmk", + options = { + "-pdf", + "-interaction=nonstopmode", + "-synctex=1", + "-file-line-error", + }, + } + vim.g.vimtex_syntax_enabled = 0 + + vim.api.nvim_create_autocmd("FileType", { + pattern = "tex", + callback = function() + vim.opt_local.wrap = true + vim.opt_local.linebreak = true + vim.opt_local.breakindent = true + vim.opt_local.textwidth = 0 + end, + }) + ''; + }; +}
\ No newline at end of file |
