Initial commit
This commit is contained in:
		
						commit
						d75b5a0be6
					
				
					 8 changed files with 567 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
result
 | 
			
		||||
							
								
								
									
										17
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
# Nixvim template
 | 
			
		||||
 | 
			
		||||
This template gives you a good starting point for configuring nixvim standalone.
 | 
			
		||||
 | 
			
		||||
## Configuring
 | 
			
		||||
 | 
			
		||||
To start configuring, just add or modify the nix files in `./config`.
 | 
			
		||||
If you add a new configuration file, remember to add it to the
 | 
			
		||||
[`config/default.nix`](./config/default.nix) file
 | 
			
		||||
 | 
			
		||||
## Testing your new configuration
 | 
			
		||||
 | 
			
		||||
To test your configuration simply run the following command
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
nix run .
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										78
									
								
								config/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								config/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
{
 | 
			
		||||
  # Import all your configuration modules here
 | 
			
		||||
  # imports = [./bufferline.nix];
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./plugins/gitsigns.nix
 | 
			
		||||
    ./plugins/lsp.nix
 | 
			
		||||
    ./plugins/rhubarb.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  colorschemes.base16 = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    colorscheme = "darktooth";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  opts = {
 | 
			
		||||
    expandtab = true;
 | 
			
		||||
    number = true;
 | 
			
		||||
    relativenumber = true;
 | 
			
		||||
    autoindent = true;
 | 
			
		||||
    termguicolors = true;
 | 
			
		||||
    tabstop = 4;
 | 
			
		||||
    shiftwidth = 4;
 | 
			
		||||
    mouse = "a";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  globals = {
 | 
			
		||||
    mapleader = "`";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  keymaps = [
 | 
			
		||||
    {
 | 
			
		||||
      action = "<cmd>Telescope find_files<CR>";
 | 
			
		||||
      key = "<leader>f";
 | 
			
		||||
    }
 | 
			
		||||
    {
 | 
			
		||||
      action = "<cmd>Telescope live_grep<CR>";
 | 
			
		||||
      key = "<leader>g";
 | 
			
		||||
    }
 | 
			
		||||
    {
 | 
			
		||||
      action = "<cmd>:TransparentToggle<CR>";
 | 
			
		||||
      key = "<leader>t";
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  autoCmd = [
 | 
			
		||||
    {
 | 
			
		||||
      event = ["BufEnter"];
 | 
			
		||||
      pattern = ["*"];
 | 
			
		||||
      command = "setlocal cursorline";
 | 
			
		||||
    }
 | 
			
		||||
    {
 | 
			
		||||
      event = ["BufLeave"];
 | 
			
		||||
      pattern = ["*"];
 | 
			
		||||
      command = "setlocal nocursorline";
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  plugins = {
 | 
			
		||||
    lualine.enable = true;
 | 
			
		||||
    telescope.enable = true;
 | 
			
		||||
    treesitter.enable = true;
 | 
			
		||||
    tmux-navigator.enable = true;
 | 
			
		||||
    fugitive.enable = true;
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
    :TransparentEnable
 | 
			
		||||
    :TransparentDisable
 | 
			
		||||
    :TransparentToggle
 | 
			
		||||
    */
 | 
			
		||||
    transparent = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings.exclude_groups = [
 | 
			
		||||
        "CursorLine"
 | 
			
		||||
        "CursorLineNr"
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								config/plugins/gitsigns.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								config/plugins/gitsigns.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
{
 | 
			
		||||
  plugins.gitsigns = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # This is the recommended config from the repo
 | 
			
		||||
  extraConfigLua = ''
 | 
			
		||||
    require('gitsigns').setup{
 | 
			
		||||
      on_attach = function(bufnr)
 | 
			
		||||
        local gitsigns = require('gitsigns')
 | 
			
		||||
 | 
			
		||||
        local function map(mode, l, r, opts)
 | 
			
		||||
          opts = opts or {}
 | 
			
		||||
          opts.buffer = bufnr
 | 
			
		||||
          vim.keymap.set(mode, l, r, opts)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        -- Navigation
 | 
			
		||||
        map('n', ']c', function()
 | 
			
		||||
          if vim.wo.diff then
 | 
			
		||||
            vim.cmd.normal({']c', bang = true})
 | 
			
		||||
          else
 | 
			
		||||
            gitsigns.nav_hunk('next')
 | 
			
		||||
          end
 | 
			
		||||
        end)
 | 
			
		||||
 | 
			
		||||
        map('n', '[c', function()
 | 
			
		||||
          if vim.wo.diff then
 | 
			
		||||
            vim.cmd.normal({'[c', bang = true})
 | 
			
		||||
          else
 | 
			
		||||
            gitsigns.nav_hunk('prev')
 | 
			
		||||
          end
 | 
			
		||||
        end)
 | 
			
		||||
 | 
			
		||||
        -- Actions
 | 
			
		||||
        map('n', '<leader>hs', gitsigns.stage_hunk)
 | 
			
		||||
        map('n', '<leader>hr', gitsigns.reset_hunk)
 | 
			
		||||
        map('v', '<leader>hs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
 | 
			
		||||
        map('v', '<leader>hr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
 | 
			
		||||
        map('n', '<leader>hS', gitsigns.stage_buffer)
 | 
			
		||||
        map('n', '<leader>hu', gitsigns.undo_stage_hunk)
 | 
			
		||||
        map('n', '<leader>hR', gitsigns.reset_buffer)
 | 
			
		||||
        map('n', '<leader>hp', gitsigns.preview_hunk)
 | 
			
		||||
        map('n', '<leader>hb', function() gitsigns.blame_line{full=true} end)
 | 
			
		||||
        map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
 | 
			
		||||
        map('n', '<leader>hd', gitsigns.diffthis)
 | 
			
		||||
        map('n', '<leader>hD', function() gitsigns.diffthis('~') end)
 | 
			
		||||
        map('n', '<leader>td', gitsigns.toggle_deleted)
 | 
			
		||||
 | 
			
		||||
        -- Text object
 | 
			
		||||
        map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
 | 
			
		||||
      end
 | 
			
		||||
    }
 | 
			
		||||
  '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								config/plugins/lsp.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								config/plugins/lsp.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
{
 | 
			
		||||
  plugins.lsp = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    servers = {
 | 
			
		||||
      # python
 | 
			
		||||
      ruff.enable = true;
 | 
			
		||||
 | 
			
		||||
      # lua (nvim config)
 | 
			
		||||
      lua-ls.enable = true;
 | 
			
		||||
 | 
			
		||||
      # rust
 | 
			
		||||
      rust-analyzer = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        installCargo = true;
 | 
			
		||||
        installRustc = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # ocaml
 | 
			
		||||
      ocamllsp.enable = true;
 | 
			
		||||
 | 
			
		||||
      # nix
 | 
			
		||||
      nixd.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								config/plugins/rhubarb.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								config/plugins/rhubarb.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
{pkgs, ...}: {
 | 
			
		||||
  extraPlugins = with pkgs.vimPlugins; [rhubarb];
 | 
			
		||||
 | 
			
		||||
  keymaps = [
 | 
			
		||||
    {
 | 
			
		||||
      action = "<cmd>GBrowse<CR>";
 | 
			
		||||
      key = "<leader>bro";
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										334
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										334
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,334 @@
 | 
			
		|||
{
 | 
			
		||||
  "nodes": {
 | 
			
		||||
    "devshell": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-utils": "flake-utils",
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1713532798,
 | 
			
		||||
        "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "devshell",
 | 
			
		||||
        "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "devshell",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-compat": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1696426674,
 | 
			
		||||
        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
			
		||||
        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
			
		||||
        "revCount": 57,
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-compat_2": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1696426674,
 | 
			
		||||
        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-parts": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs-lib": "nixpkgs-lib"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1715865404,
 | 
			
		||||
        "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-parts_2": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs-lib": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1715865404,
 | 
			
		||||
        "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-root": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1713493429,
 | 
			
		||||
        "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
 | 
			
		||||
        "owner": "srid",
 | 
			
		||||
        "repo": "flake-root",
 | 
			
		||||
        "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "srid",
 | 
			
		||||
        "repo": "flake-root",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-utils": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "systems": "systems"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1701680307,
 | 
			
		||||
        "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "flake-utils",
 | 
			
		||||
        "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "flake-utils",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "git-hooks": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-compat": "flake-compat_2",
 | 
			
		||||
        "gitignore": "gitignore",
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ],
 | 
			
		||||
        "nixpkgs-stable": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1716213921,
 | 
			
		||||
        "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
 | 
			
		||||
        "owner": "cachix",
 | 
			
		||||
        "repo": "git-hooks.nix",
 | 
			
		||||
        "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "cachix",
 | 
			
		||||
        "repo": "git-hooks.nix",
 | 
			
		||||
        "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": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1717052710,
 | 
			
		||||
        "narHash": "sha256-LRhOxzXmOza5SymhOgnEzA8EAQp+94kkeUYWKKpLJ/U=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "rev": "29c69d9a466e41d46fd3a7a9d0591ef9c113c2ae",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nix-darwin": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixvim",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1716993688,
 | 
			
		||||
        "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
 | 
			
		||||
        "owner": "lnl7",
 | 
			
		||||
        "repo": "nix-darwin",
 | 
			
		||||
        "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "lnl7",
 | 
			
		||||
        "repo": "nix-darwin",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1716948383,
 | 
			
		||||
        "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "ref": "nixos-unstable",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs-lib": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1714640452,
 | 
			
		||||
        "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_2": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1716769173,
 | 
			
		||||
        "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "ref": "nixos-unstable",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixvim": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "devshell": "devshell",
 | 
			
		||||
        "flake-compat": "flake-compat",
 | 
			
		||||
        "flake-parts": "flake-parts_2",
 | 
			
		||||
        "flake-root": "flake-root",
 | 
			
		||||
        "git-hooks": "git-hooks",
 | 
			
		||||
        "home-manager": "home-manager",
 | 
			
		||||
        "nix-darwin": "nix-darwin",
 | 
			
		||||
        "nixpkgs": "nixpkgs_2",
 | 
			
		||||
        "treefmt-nix": "treefmt-nix"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1717191071,
 | 
			
		||||
        "narHash": "sha256-wue0+NHKFhTiY7dTtP0jyNwVgUCMOBfcP7mSHVa6PMw=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "nixvim",
 | 
			
		||||
        "rev": "d15fade62b743839a20d927d3506d503858f49f0",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "nixvim",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "root": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-parts": "flake-parts",
 | 
			
		||||
        "nixpkgs": "nixpkgs",
 | 
			
		||||
        "nixvim": "nixvim"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "systems": {
 | 
			
		||||
      "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": 1715940852,
 | 
			
		||||
        "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "treefmt-nix",
 | 
			
		||||
        "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "treefmt-nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "root": "root",
 | 
			
		||||
  "version": 7
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
{
 | 
			
		||||
  description = "A nixvim configuration";
 | 
			
		||||
 | 
			
		||||
  inputs = {
 | 
			
		||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
			
		||||
    nixvim.url = "github:nix-community/nixvim";
 | 
			
		||||
    flake-parts.url = "github:hercules-ci/flake-parts";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs =
 | 
			
		||||
    { nixvim, flake-parts, ... }@inputs:
 | 
			
		||||
    flake-parts.lib.mkFlake { inherit inputs; } {
 | 
			
		||||
      systems = [
 | 
			
		||||
        "x86_64-linux"
 | 
			
		||||
        "aarch64-linux"
 | 
			
		||||
        "x86_64-darwin"
 | 
			
		||||
        "aarch64-darwin"
 | 
			
		||||
      ];
 | 
			
		||||
 | 
			
		||||
      perSystem =
 | 
			
		||||
        { pkgs, system, ... }:
 | 
			
		||||
        let
 | 
			
		||||
          nixvimLib = nixvim.lib.${system};
 | 
			
		||||
          nixvim' = nixvim.legacyPackages.${system};
 | 
			
		||||
          nixvimModule = {
 | 
			
		||||
            inherit pkgs;
 | 
			
		||||
            module = import ./config; # import the module directly
 | 
			
		||||
            # You can use `extraSpecialArgs` to pass additional arguments to your module files
 | 
			
		||||
            extraSpecialArgs = {
 | 
			
		||||
              # inherit (inputs) foo;
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
          nvim = nixvim'.makeNixvimWithModule nixvimModule;
 | 
			
		||||
        in
 | 
			
		||||
        {
 | 
			
		||||
          checks = {
 | 
			
		||||
            # Run `nix flake check .` to verify that your config is not broken
 | 
			
		||||
            default = nixvimLib.check.mkTestDerivationFromNixvimModule nixvimModule;
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          packages = {
 | 
			
		||||
            # Lets you run `nix run .` to start nixvim
 | 
			
		||||
            default = nvim;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue