my nixos dotfiles :3 (git.koi.rip mirror) git.koi.rip/koi/dotfiles
linux dotfiles neovim nixos catppuccin
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

refact: switch to anvim

adam b9d9c5e6 9dd81cdc

+60 -262
-25
external/config/nvim/init.lua
··· 1 - require("keymap") 2 - 3 - vim.opt.number = true 4 - 5 - vim.opt.tabstop = 2 6 - vim.opt.shiftwidth = 2 7 - vim.opt.expandtab = true 8 - 9 - vim.g.rustfmt_autosave = 1 10 - 11 - vim.diagnostic.config { 12 - signs = false, 13 - underline = true, 14 - virtual_text = { 15 - virt_text_pos = "right_align", 16 - suffix = " ", 17 - }, 18 - update_in_insert = true, 19 - } 20 - 21 - require("plugconfig") 22 - 23 - for _, group in ipairs(vim.fn.getcompletion("@lsp", "highlight")) do 24 - vim.api.nvim_set_hl(0, group, {}) 25 - end
-7
external/config/nvim/lua/keymap/init.lua
··· 1 - local opts = { noremap = true, silent = true } 2 - 3 - vim.keymap.set('n', '<C-p>', "<cmd>_dP<cr>", opts) 4 - vim.keymap.set('n', '<C-t>', vim.cmd.Ex, opts) 5 - vim.keymap.set('n', '<F5>', vim.cmd.UndotreeToggle, opts) 6 - vim.keymap.set('n', 'J', "<cmd>m .+1<cr>", opts) 7 - vim.keymap.set('n', 'K', "<cmd>m .-2<cr>", opts)
-1
external/config/nvim/lua/plugconfig/autopairs.lua
··· 1 - require("nvim-autopairs").setup {}
-9
external/config/nvim/lua/plugconfig/catppuccin.lua
··· 1 - require("catppuccin").setup { 2 - integraions = { 3 - cmp = true, 4 - gitsigns = true, 5 - native_lsp = true, 6 - } 7 - } 8 - 9 - vim.cmd.colorscheme("catppuccin")
-18
external/config/nvim/lua/plugconfig/cmp.lua
··· 1 - local cmp = require("cmp") 2 - 3 - cmp.setup { 4 - completion = { 5 - completeopt = "menu,menuone,preview,noselect", 6 - }, 7 - mapping = cmp.mapping.preset.insert { 8 - ["<Up>"] = cmp.mapping.select_prev_item(), 9 - ["<Down>"] = cmp.mapping.select_next_item(), 10 - ["<Tab>"] = cmp.mapping.confirm { select = false }, 11 - }, 12 - sources = { 13 - { name = "jule" }, 14 - { name = "nvim_lsp" }, 15 - { name = "buffer" }, 16 - { name = "path" }, 17 - }, 18 - }
-15
external/config/nvim/lua/plugconfig/copilot.lua
··· 1 - require("copilot").setup { 2 - panel = { 3 - enabled = false, 4 - }, 5 - suggestion = { 6 - enabled = true, 7 - auto_trigger = true, 8 - keymap = { 9 - accept = "<M-Tab>", 10 - }, 11 - }, 12 - filetypes = { 13 - ["*"] = true, 14 - } 15 - }
-6
external/config/nvim/lua/plugconfig/cord.lua
··· 1 - require("cord").setup { 2 - display = { 3 - theme = "catppuccin", 4 - flavor = "dark", 5 - }, 6 - }
-50
external/config/nvim/lua/plugconfig/gitsigns.lua
··· 1 - require("gitsigns").setup { 2 - signs = { 3 - add = { text = "┃" }, 4 - change = { text = "┃" }, 5 - delete = { text = "_" }, 6 - topdelete = { text = "‾" }, 7 - changedelete = { text = "~" }, 8 - untracked = { text = "┆" }, 9 - }, 10 - signs_staged = { 11 - add = { text = "┃" }, 12 - change = { text = "┃" }, 13 - delete = { text = "_" }, 14 - topdelete = { text = "‾" }, 15 - changedelete = { text = "~" }, 16 - untracked = { text = "┆" }, 17 - }, 18 - signs_staged_enable = true, 19 - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` 20 - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` 21 - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` 22 - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` 23 - watch_gitdir = { 24 - follow_files = true, 25 - }, 26 - auto_attach = true, 27 - attach_to_untracked = false, 28 - current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` 29 - current_line_blame_opts = { 30 - virt_text = true, 31 - virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' 32 - delay = 1000, 33 - ignore_whitespace = false, 34 - virt_text_priority = 100, 35 - use_focus = true, 36 - }, 37 - current_line_blame_formatter = "<author>, <author_time:%R> - <summary>", 38 - sign_priority = 6, 39 - update_debounce = 100, 40 - status_formatter = nil, -- Use default 41 - max_file_length = 40000, -- Disable if file is longer than this (in lines) 42 - preview_config = { 43 - -- Options passed to nvim_open_win 44 - border = "single", 45 - style = "minimal", 46 - relative = "cursor", 47 - row = 0, 48 - col = 1, 49 - } 50 - }
-5
external/config/nvim/lua/plugconfig/ibl.lua
··· 1 - require("ibl").setup { 2 - scope = { 3 - enabled = false 4 - } 5 - }
-13
external/config/nvim/lua/plugconfig/init.lua
··· 1 - require("plugconfig.catppuccin") 2 - 3 - require("plugconfig.jule") 4 - 5 - require("plugconfig.cmp") 6 - require("plugconfig.lsp") 7 - 8 - require("plugconfig.ibl") 9 - require("plugconfig.autopairs") 10 - require("plugconfig.gitsigns") 11 - require("plugconfig.copilot") 12 - require("plugconfig.undotree") 13 - require("plugconfig.cord")
-4
external/config/nvim/lua/plugconfig/jule.lua
··· 1 - require("jule").setup { 2 - format_on_save = true, 3 - enable_cmp = true 4 - }
-51
external/config/nvim/lua/plugconfig/lsp.lua
··· 1 - local lspconfig = require("lspconfig") 2 - local cmp_nvim_lsp = require("cmp_nvim_lsp") 3 - local capabilities = cmp_nvim_lsp.default_capabilities() 4 - 5 - lspconfig.lua_ls.setup { 6 - capabilities = capabilities, 7 - 8 - on_init = function(client) 9 - if client.workspace_folders then 10 - local path = client.workspace_folders[1].name 11 - if 12 - path ~= vim.fn.stdpath("config") 13 - and (vim.loop.fs_stat(path .. "/.luarc.json") or vim.loop.fs_stat(path .. "/.luarc.jsonc")) 14 - then 15 - return 16 - end 17 - end 18 - 19 - client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, { 20 - runtime = { 21 - version = "LuaJIT", 22 - }, 23 - workspace = { 24 - checkThirdParty = false, 25 - library = { 26 - vim.env.VIMRUNTIME, 27 - "${3rd}/luv/library", 28 - "${3rd}/love2d/library", 29 - }, 30 - }, 31 - }) 32 - end, 33 - 34 - settings = { 35 - Lua = {}, 36 - }, 37 - } 38 - 39 - lspconfig.nixd.setup { 40 - capabilities = capabilities 41 - } 42 - 43 - lspconfig.rust_analyzer.setup { 44 - capabilities = capabilities 45 - } 46 - 47 - lspconfig.bashls.setup { 48 - filetypes = { "sh", "bash", "zsh" }, 49 - 50 - capabilities = capabilities 51 - }
-12
external/config/nvim/lua/plugconfig/undotree.lua
··· 1 - vim.g.undotree_SetFocusWhenToggle = true 2 - 3 - if vim.fn.has("persistent_undo") == 1 then 4 - local target_path = vim.fn.expand("~/.vim_undo") 5 - 6 - if vim.fn.isdirectory(target_path) == 0 then 7 - vim.fn.mkdir(target_path, "p") 8 - end 9 - 10 - vim.o.undodir = target_path 11 - vim.o.undofile = true 12 - end
+1 -1
external/zsh/functions.zsh
··· 12 12 if [ $(nix flake show | grep 'devShells') ]; then 13 13 nix develop -c zsh 14 14 else 15 - nix-shell --run zsh 15 + nix-shell --run zsh $@ 16 16 fi 17 17 } 18 18
+33 -12
flake.lock
··· 12 12 "systems": "systems" 13 13 }, 14 14 "locked": { 15 - "lastModified": 1754433428, 16 - "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", 15 + "lastModified": 1760836749, 16 + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", 17 17 "owner": "ryantm", 18 18 "repo": "agenix", 19 - "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", 19 + "rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a", 20 20 "type": "github" 21 21 }, 22 22 "original": { ··· 25 25 "type": "github" 26 26 } 27 27 }, 28 + "anvim": { 29 + "inputs": { 30 + "nixpkgs": [ 31 + "nixpkgs" 32 + ] 33 + }, 34 + "locked": { 35 + "lastModified": 1761429776, 36 + "narHash": "sha256-bftHowFhhv8lazuSyslKawrQgHCrV/bhVYG6qbmiid0=", 37 + "owner": "adamperkowski", 38 + "repo": "anvim", 39 + "rev": "1d5670a0b9110155ce59a9e4a243cc351a323f5a", 40 + "type": "github" 41 + }, 42 + "original": { 43 + "owner": "adamperkowski", 44 + "repo": "anvim", 45 + "type": "github" 46 + } 47 + }, 28 48 "darwin": { 29 49 "inputs": { 30 50 "nixpkgs": [ ··· 70 90 }, 71 91 "nixpkgs": { 72 92 "locked": { 73 - "lastModified": 1759735786, 74 - "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=", 93 + "lastModified": 1761173472, 94 + "narHash": "sha256-m9W0dYXflzeGgKNravKJvTMR4Qqa2MVD11AwlGMufeE=", 75 95 "owner": "NixOS", 76 96 "repo": "nixpkgs", 77 - "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff", 97 + "rev": "c8aa8cc00a5cb57fada0851a038d35c08a36a2bb", 78 98 "type": "github" 79 99 }, 80 100 "original": { ··· 85 105 }, 86 106 "nixpkgs-unstable": { 87 107 "locked": { 88 - "lastModified": 1760524057, 89 - "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", 108 + "lastModified": 1761114652, 109 + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", 90 110 "owner": "NixOS", 91 111 "repo": "nixpkgs", 92 - "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", 112 + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", 93 113 "type": "github" 94 114 }, 95 115 "original": { ··· 101 121 "root": { 102 122 "inputs": { 103 123 "agenix": "agenix", 124 + "anvim": "anvim", 104 125 "home-manager": "home-manager", 105 126 "nixpkgs": "nixpkgs", 106 127 "nixpkgs-unstable": "nixpkgs-unstable", ··· 115 136 "systems": "systems_2" 116 137 }, 117 138 "locked": { 118 - "lastModified": 1760741187, 119 - "narHash": "sha256-P2xLbEf0NBKXK9XMdAegHNx2GLhCYyZE2c3M3orCqBA=", 139 + "lastModified": 1760848035, 140 + "narHash": "sha256-H3MFH8+i4wFagkebtHPcosQdkmxQ4a6fl1lMbLb+RkA=", 120 141 "owner": "Gerg-L", 121 142 "repo": "spicetify-nix", 122 - "rev": "d11f7efb931d6bf4db6a1f79fcafa4ca9d6bfad9", 143 + "rev": "cde9f78ae705343a38f5d1d19ab34858b5e9caa9", 123 144 "type": "github" 124 145 }, 125 146 "original": {
+6 -1
flake.nix
··· 10 10 inputs.nixpkgs.follows = "nixpkgs"; 11 11 }; 12 12 13 + anvim = { 14 + url = "github:adamperkowski/anvim"; 15 + inputs.nixpkgs.follows = "nixpkgs"; 16 + }; 17 + 13 18 spicetify-nix = { 14 19 url = "github:Gerg-L/spicetify-nix"; 15 20 inputs.nixpkgs.follows = "nixpkgs"; ··· 30 35 ... 31 36 }@inputs: 32 37 let 33 - lib = nixpkgs.lib; 38 + inherit (nixpkgs) lib; 34 39 system = "x86_64-linux"; 35 40 36 41 mkHost =
-3
home/modules/packages.nix
··· 15 15 grim 16 16 slurp 17 17 18 - nixd 19 - bash-language-server 20 - 21 18 unstable.kitget 22 19 ]; 23 20 }
+1
home/modules/programs/chromium.nix
··· 8 8 { id = "bgnkhhnnamicmpeenaelnjfhikgbkllg"; } # AdGuard AdBlocker 9 9 { id = "bkkmolkhemgaeaeggcmfbghljjjoofoh"; } # Catppuccin Chrome Theme - Mocha 10 10 { id = "lnjaiaapbakfhlbjenjkhffcdpoompki"; } # Catppuccin for Web File Explorer Icons 11 + { id = "kaalofacklcidaampbokdplbklpeldpj"; } # Wide GitHub 11 12 { id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # Dark Reader 12 13 { id = "clngdbkpkpeebahjckkjfobafhncgmne"; } # Stylus 13 14 ];
+9 -26
home/modules/programs/neovim.nix
··· 1 - { pkgs, ... }: 1 + { pkgs, anvim, ... }: 2 2 3 3 { 4 - programs.neovim = { 4 + imports = [ anvim.homeManagerModules.default ]; 5 + 6 + programs.anvim = { 5 7 enable = true; 6 - withNodeJs = true; 7 8 defaultEditor = true; 8 - plugins = with pkgs.vimPlugins; [ 9 - catppuccin-nvim 9 + }; 10 10 11 - nvim-lspconfig 12 - 13 - nvim-cmp 14 - cmp-nvim-lsp 15 - cmp-buffer 16 - cmp-path 17 - 18 - indent-blankline-nvim 19 - nvim-autopairs 20 - undotree 21 - gitsigns-nvim 22 - copilot-lua 23 - nvim-colorizer-lua 24 - 25 - cord-nvim 26 - vim-wakatime 27 - 28 - jule-nvim 29 - ]; 30 - extraPackages = with pkgs; [ lua-language-server ]; 31 - }; 11 + home.packages = with pkgs; [ 12 + bash-language-server 13 + nixd 14 + ]; 32 15 }
+1 -1
home/modules/programs/zsh.nix
··· 24 24 25 25 shellAliases = { 26 26 cp = "cp -i"; 27 - nv = ''nvim -u "$HOME/.config/nvim/init.lua"''; 27 + nv = "nvim"; 28 28 shred = "shred -uvz"; 29 29 30 30 diff = "diff --color=auto";
-1
home/modules/xdg.nix
··· 6 6 7 7 configs = { 8 8 hypr = "hypr"; 9 - nvim = "nvim"; 10 9 fastfetch = "fastfetch"; 11 10 lsd = "lsd"; 12 11 };
+9 -1
modules/home.nix
··· 1 1 { inputs, ... }: 2 2 3 3 let 4 + anvim = inputs.anvim; 4 5 agenix = inputs.agenix; 5 6 spicetify-nix = inputs.spicetify-nix; 6 7 in ··· 9 10 useGlobalPkgs = true; 10 11 useUserPackages = true; 11 12 backupFileExtension = "bak"; 12 - extraSpecialArgs = { inherit agenix spicetify-nix; }; 13 + extraSpecialArgs = { 14 + inherit 15 + inputs 16 + anvim 17 + agenix 18 + spicetify-nix 19 + ; 20 + }; # TODO: optimize maybe 13 21 users.adam = import ../home/adam.nix; 14 22 }; 15 23 }