diff --git a/flake.lock b/flake.lock index 51e248b..e552c32 100644 --- a/flake.lock +++ b/flake.lock @@ -84,6 +84,22 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1777699697, + "narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=", + "ref": "refs/heads/main", + "rev": "382052b74656a369c5408822af3f2501e9b1af81", + "revCount": 94, + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -231,6 +247,21 @@ "type": "github" } }, + "mnw": { + "locked": { + "lastModified": 1780772958, + "narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -439,6 +470,28 @@ "type": "github" } }, + "nvf": { + "inputs": { + "flake-compat": "flake-compat", + "mnw": "mnw", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784628093, + "narHash": "sha256-i76lUfbunIH9VmzdyaGm94G33RSOVvL5SM8tx+k4AXg=", + "owner": "NotAShelf", + "repo": "nvf", + "rev": "09157482a10997091d9b0690db451245e7cf955f", + "type": "github" + }, + "original": { + "owner": "NotAShelf", + "repo": "nvf", + "type": "github" + } + }, "qml-niri": { "inputs": { "flake-parts": "flake-parts_3", @@ -493,6 +546,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixvim": "nixvim", + "nvf": "nvf", "qml-niri": "qml-niri", "quickshell": "quickshell", "stylix": "stylix", diff --git a/flake.nix b/flake.nix index 3a84d48..dea0b9d 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,11 @@ nixvim.url = "github:nix-community/nixvim"; wrappers.url = "github:Lassulus/wrappers"; stylix.url = "github:danth/stylix"; + + nvf = { + url = "github:NotAShelf/nvf"; + inputs.nixpkgs.follows = "nixpkgs"; + }; hjem = { url = "github:feel-co/hjem"; inputs.nixpkgs.follows = "nixpkgs"; @@ -17,7 +22,6 @@ url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; - qml-niri = { url = "github:imiric/qml-niri/main"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/features/neovim/lua/navi/lazy.lua b/modules/features/neovim/lua/navi/lazy.lua index 1292e6f..ce71877 100644 --- a/modules/features/neovim/lua/navi/lazy.lua +++ b/modules/features/neovim/lua/navi/lazy.lua @@ -27,7 +27,7 @@ return require('lazy').setup({ build = ':TSUpdate' }, 'nvim-treesitter/playground', - 'theprimeagen/harpoon', + 'theprimeagen/harpoon2', 'mbbill/undotree', 'tpope/vim-fugitive', --'github/copilot.vim', diff --git a/modules/features/neovim/lua/navi/remap.lua b/modules/features/neovim/lua/navi/remap.lua index 160f8da..119459a 100644 --- a/modules/features/neovim/lua/navi/remap.lua +++ b/modules/features/neovim/lua/navi/remap.lua @@ -1,3 +1,4 @@ + vim.g.mapleader = " " vim.keymap.set("n", "pv", vim.cmd.Ex) @@ -5,6 +6,7 @@ vim.keymap.set("n", "", ":w! | !compiler %") vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) + vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") diff --git a/modules/features/neovim/lua/plugins/harpoon.lua b/modules/features/neovim/lua/plugins/harpoon.lua new file mode 100644 index 0000000..3307e85 --- /dev/null +++ b/modules/features/neovim/lua/plugins/harpoon.lua @@ -0,0 +1,14 @@ +--return { +-- "harpoon", +-- dependencies = {"nvim-lua/plenary.nvim"}, +-- config = function () +-- local harpoon = require("harpoon2") +-- harpoon:setup() +-- vim.keymap.set("n", "a", function() harpoon:list():add() end) +-- vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) +-- vim.keymap.set("n", "", function() harpoon:list():select(1) end) +-- vim.keymap.set("n", "", function() harpoon:list():select(2) end) +-- vim.keymap.set("n", "", function() harpoon:list():select(3) end) +-- vim.keymap.set("n", "", function() harpoon:list():select(4) end) +-- end +--} diff --git a/modules/features/neovim/neovim.nix b/modules/features/neovim/neovim.nix index ba4892b..916b235 100644 --- a/modules/features/neovim/neovim.nix +++ b/modules/features/neovim/neovim.nix @@ -44,13 +44,25 @@ specs.init = { data = null; before = ["MAIN_INIT"]; - config = "require('init')"; + config = + '' + require('init') + vim.g['wiki_root'] = '~/Documents/Scripts/Wiki/personal' + + ''; + /*local harpoon = require("harpoon") + harpoon:setup() + vim.keymap.set("n", "a", function() harpoon:list():add() end) + vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + vim.keymap.set("n", "", function() harpoon:list():select(1) end) + vim.keymap.set("n", "", function() harpoon:list():select(2) end) + vim.keymap.set("n", "", function() harpoon:list():select(3) end) + vim.keymap.set("n", "", function() harpoon:list():select(4) end)*/ }; specs.plugins = { data = [ pkgs.vimPlugins.lz-n - pkgs.vimPlugins.plenary-nvim pkgs.vimPlugins.nvim-lspconfig pkgs.vimPlugins.nvim-treesitter.withAllGrammars @@ -63,9 +75,9 @@ pkgs.vimPlugins.oil-nvim pkgs.vimPlugins.lualine-nvim pkgs.vimPlugins.luasnip - pkgs.vimPlugins.kanagawa-nvim + pkgs.vimPlugins.kanagawa-nvim #pkgs.vimPlugins.telescope-nvim - #pkgs.vimPlugins.kiwi-nvim + pkgs.vimPlugins.wiki-vim ]; }; @@ -78,9 +90,11 @@ pkgs.vimPlugins.fastaction-nvim pkgs.vimPlugins.mini-files pkgs.vimPlugins.codecompanion-nvim - pkgs.vimPlugins.harpoon pkgs.vimPlugins.undotree pkgs.vimPlugins.vim-fugitive + pkgs.vimPlugins.plenary-nvim + #pkgs.vimPlugins.harpoon2 + #pkgs.vimPlugins.neowiki-nvim ]; }; }; diff --git a/modules/features/nvf.nix b/modules/features/nvf.nix new file mode 100644 index 0000000..62de893 --- /dev/null +++ b/modules/features/nvf.nix @@ -0,0 +1,141 @@ + +{ pkgs, inputs, ... }: { + flake.nixosModules.nvf = {pkgs, ...}: { + environment.systemPackages = [ + ]; + imports = [ + inputs.nvf.nixosModules.default + ]; + + programs.nvf = { + enable = true; + settings.vim = { + theme.enable = true; + theme.name = "tokyonight"; + theme.style = "night"; + #netrw.enable = true; + + statusline.lualine.enable = true; + telescope.enable = true; + autocomplete.nvim-cmp.enable = true; + lsp.enable = true; + git.vim-fugitive.enable = true; + autopairs.nvim-autopairs.enable = true; + spellcheck.enable = true; + navigation.harpoon.enable = true; + visuals.nvim-web-devicons.enable = true; + notes.todo-comments.enable = true; + + utility = { + undotree.enable = true; + oil-nvim.enable = true; + snacks-nvim.enable = true; + }; + + languages = { + enableTreesitter = true; + + nix.enable = true; + go.enable = true; + lua.enable = true; + }; + opts = { + tabstop = 4; + softtabstop = 4; + shiftwidth = 4; + expandtab = true; + smartindent = true; + smartcase = true; + ignorecase = true; + wrap = false; + updatetime = 50; + termguicolors = true; + mouse = "a"; + cursorline = true; + pumheight = 16; + winborder = "single"; + swapfile = false; + backup = false; + hlsearch = false; + incsearch = true; + scrolloff = 8; + scroll = 6; + signcolumn = "yes"; + colorcolumn = "80"; + }; + keymaps = [ + { + key = "pv"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.Ex"; + } + { + key = "u"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.UndotreeToggle"; + } + { + key = "y"; + mode = "n"; + silent = true; + action = "\"+y"; + } + { + key = "y"; + mode = "v"; + silent = true; + action = "\"+y"; + } + { + key = "Y"; + mode = "n"; + silent = true; + action = "\"+Y"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = "n"; + mode = "n"; + silent = true; + action = "nzzzv"; + } + { + key = "N"; + mode = "n"; + silent = true; + action = "Nzzzv"; + } + { + key = "J"; + mode = "n"; + silent = true; + action = "mzJ`z"; + } + { + key = "gs"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.Git"; + } + ]; + }; + + }; + }; +} diff --git a/modules/profiles/profiles.nix b/modules/profiles/profiles.nix index eac1578..eba4099 100644 --- a/modules/profiles/profiles.nix +++ b/modules/profiles/profiles.nix @@ -4,7 +4,7 @@ self.nixosModules.git self.nixosModules.lf self.nixosModules.zsh - self.nixosModules.stylix + #self.nixosModules.stylix self.nixosModules.hjem self.nixosModules.nh ]; @@ -17,7 +17,8 @@ self.nixosModules.niri self.nixosModules.pipewire self.nixosModules.discord - self.nixosModules.neovim + #self.nixosModules.neovim + self.nixosModules.nvf self.nixosModules.alacritty self.nixosModules.firefox self.nixosModules.chromium