diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..ff7718e --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1777268161, + "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..1242ede --- /dev/null +++ b/flake.nix @@ -0,0 +1,32 @@ +{ + description = "Neovim configuration development tools"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = { nixpkgs, ... }: + let + supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + in + { + devShells = forAllSystems (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + default = pkgs.mkShell { + packages = with pkgs; [ + curl + gcc + git + just + neovim + stylua + tree-sitter + ]; + }; + }); + }; +} diff --git a/justfile b/justfile new file mode 100644 index 0000000..f876a5e --- /dev/null +++ b/justfile @@ -0,0 +1,10 @@ +treesitter_parsers := "lua c cpp python nix rust bash markdown html html_tags javascript ecma jsx css vim git_config git_rebase gitattributes gitcommit gitignore" + +default: + just --list + +check: + nvim --headless README.md '+checkhealth vim.treesitter' '+qa' + +update-treesitter: + nvim --headless "+lua require('nvim-treesitter').install(vim.split('{{treesitter_parsers}}', ' ')):wait(300000)" '+qa'