diff --git a/flake.lock b/flake.lock index 327821b..0eb8d3b 100644 --- a/flake.lock +++ b/flake.lock @@ -42,6 +42,27 @@ "type": "github" } }, + "devshell": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", + "owner": "numtide", + "repo": "devshell", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -94,6 +115,20 @@ "type": "github" } }, + "flake-compat_3": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -115,6 +150,27 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1659877975, @@ -148,6 +204,50 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "nixvim", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "git-hooks-nix": { "inputs": { "flake-compat": [ @@ -179,6 +279,28 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixvim", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -200,6 +322,55 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737968762, + "narHash": "sha256-xiPARGKwocaMtv+U/rgi+h2g56CZZEmrcl7ldRaslq8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "e1ae908bcc30af792b0bb0a52e53b03d2577255e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", + "type": "github" + } + }, "nix": { "inputs": { "flake-compat": "flake-compat_2", @@ -223,6 +394,27 @@ "type": "indirect" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738033138, + "narHash": "sha256-qlIM8A3bdL9c6PexhpS+QyZLO9y/8a3V75HVyJgDE5Q=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "349a74c66c596ef97ee97b4d80a3ca61227b6120", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -390,6 +582,57 @@ "type": "github" } }, + "nixvim": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", + "home-manager": "home-manager_2", + "nix-darwin": "nix-darwin", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1738188154, + "narHash": "sha256-2C0rEZ1l/X3nCwaQtulTXkmREZ/46TdWLYv1+BiCx3U=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "f584d1d70d36cd29d45abce91776f8425398a97f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_3", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737924095, + "narHash": "sha256-9RO/IlxiE7bpY7GYsdDMNB533PnDOBo9UvYyXXqlN4c=", + "owner": "NuschtOS", + "repo": "search", + "rev": "5efc9c966bb9bdad07a3c28667eac38b758c6f18", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "catppuccin": "catppuccin", @@ -400,7 +643,8 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-zoom": "nixpkgs-zoom" + "nixpkgs-zoom": "nixpkgs-zoom", + "nixvim": "nixvim" } }, "stable": { @@ -433,6 +677,42 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737483750, + "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 2fe3958..f0a8b81 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,8 @@ nixpkgs-zoom.url = "github:NixOS/nixpkgs/06031e8a5d9d5293c725a50acf01242193635022"; # nixpkgs-zoom.url = "github:NixOS/nixpkgs/79077930a404da8b7cd7ecf2fe05e8a80347e340"; + nixvim.url = "github:nix-community/nixvim"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nixpkgs, nix, nixpkgs-stable, nixos-hardware diff --git a/home/common/default.nix b/home/common/default.nix index 1244131..1a850ed 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -1,5 +1,6 @@ -{ config, pkgs, ... }: { +{ config, pkgs, inputs, outputs, ... }: { imports = [ + inputs.nixvim.homeManagerModules.nixvim ./bash.nix ./btop.nix ./catppuccin.nix @@ -54,7 +55,7 @@ lazygit links2 liquidprompt - lunarvim + # lunarvim mdcat moreutils mosh diff --git a/home/common/neovim.nix b/home/common/neovim.nix index 95db5a4..d9b5593 100644 --- a/home/common/neovim.nix +++ b/home/common/neovim.nix @@ -1,63 +1,37 @@ { config, pkgs, ... }: { - programs.neovim = { + programs.nixvim = { enable = true; - defaultEditor = false; + defaultEditor = true; viAlias = true; vimAlias = true; vimdiffAlias = true; - extraConfig = '' - colorscheme dracula - set backspace="indent,eol,start" - set autoindent - set expandtab - set tabstop=2 - set shiftwidth=2 - set history=50 - set ruler - set showcmd - set incsearch - set hlsearch - set nospell - set modeline - set wildmode=longest:full - set wildmenu - set scrolloff=2 - set number - set list - "set listchars="eol:⏎,tab:␉·,trail:␠,nbsp:⎵" - set background=dark - set laststatus=2 - set t_Co=256 - let g:ale_linters = { 'nix': ['statix']} - let g:vimwiki_list = [{'path': '~/org/', 'syntax': 'markdown', 'ext': '.md'}] - let g:vimwiki_global_ext = 0 - let g:vimwiki_fold_blank_lines = 0 - ''; - plugins = with pkgs.vimPlugins; [ - CheckAttach - Recover-vim - Shade-nvim # color - SpaceCamp # color - #YouCompleteMe - ale - ansible-vim - aurora # color - dracula-nvim - lazygit-nvim - vim-airline - vim-airline-themes - vim-bufferline - vim-fugitive - vim-gitgutter - vim-github-dashboard - vim-markdown - vim-misc - vim-nix - vim-tmux - vim-tmux-navigator - vimwiki - vimux - ]; + colorschemes.dracula.enable = true; + plugins = { + # LazyVim.enable = true; + # ansible-vim.enable = true; + # aurora.enable = true; + # vim-airline-themes.enable = true; + # vim-github-dashboard.enable = true; + # vim-misc.enable = true; + # vimwiki.enable = true; + airline.enable = true; + bufferline.enable = true; + fugitive.enable = true; + gitgutter.enable = true; + lazygit.enable = true; + nix.enable = true; + tmux-navigator.enable = true; + vimux.enable = true; + # extraPlugins = with pkgs.vimPlugins [ + # CheckAttach + # Recover-vim.enable + # Shade-nvim.enable + # SpaceCamp.enable + # ale.enable + # vim-markdown.enable + # vim-tmux.enable + # ]; + }; }; imports = [ ./bufferline.nix ]; }