Compare commits
1 commit
0231317ae1
...
b64686c1bb
Author | SHA1 | Date | |
---|---|---|---|
|
b64686c1bb |
3 changed files with 100 additions and 65 deletions
40
flake.lock
generated
40
flake.lock
generated
|
@ -34,6 +34,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"gen-luarc": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
|
@ -163,11 +181,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1749285348,
|
||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||
"lastModified": 1749143949,
|
||||
"narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||
"rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -195,12 +213,28 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"gen-luarc": "gen-luarc",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"presence-nvim": "presence-nvim",
|
||||
"workspace-diagnostics-nvim": "workspace-diagnostics-nvim"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"workspace-diagnostics-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
92
flake.nix
92
flake.nix
|
@ -3,6 +3,7 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
gen-luarc.url = "github:mrcjkb/nix-gen-luarc-json";
|
||||
|
||||
# Add bleeding-edge plugins here.
|
||||
|
@ -24,6 +25,7 @@
|
|||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
gen-luarc,
|
||||
...
|
||||
}: let
|
||||
|
@ -34,59 +36,51 @@
|
|||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
# This is where the Neovim derivation is built.
|
||||
neovim-overlay = import ./nix/neovim-overlay.nix {inherit inputs;};
|
||||
inherit (self) outputs;
|
||||
# This is a function that generates an attribute by calling a function you
|
||||
# pass to it, with each system as an argument
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
in
|
||||
{
|
||||
formatter = forAllSystems(system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||
|
||||
overlays = {
|
||||
neovim-overlay = import ./nix/neovim-overlay.nix {inherit inputs;};
|
||||
# You can add this overlay to your NixOS configuration
|
||||
default = self.outputs.overlays.neovim-overlay;
|
||||
flake-utils.lib.eachSystem supportedSystems (system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
# Import the overlay, so that the final Neovim derivation(s) can be accessed via pkgs.<nvim-pkg>
|
||||
neovim-overlay
|
||||
# This adds a function can be used to generate a .luarc.json
|
||||
# containing the Neovim API all plugins in the workspace directory.
|
||||
# The generated file can be symlinked in the devShell's shellHook.
|
||||
gen-luarc.overlays.default
|
||||
];
|
||||
};
|
||||
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ self.outputs.overlays.neovim-overlay ];
|
||||
};
|
||||
in {
|
||||
nvim-pkg = pkgs.nvim-pkg;
|
||||
default = self.outputs.packages.${system}.nvim-pkg;
|
||||
}
|
||||
);
|
||||
|
||||
devShells = forAllSystems (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
self.outputs.overlays.neovim-overlay
|
||||
gen-luarc.overlays.default
|
||||
];
|
||||
};
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
name = "nvim-devShell";
|
||||
buildInputs = with pkgs; [
|
||||
# Tools for Lua and Nix development, useful for editing files in this repo
|
||||
lua-language-server
|
||||
nil
|
||||
stylua
|
||||
luajitPackages.luacheck
|
||||
];
|
||||
shellHook = ''
|
||||
# symlink the .luarc.json generated in the overlay
|
||||
ln -fs ${pkgs.nvim-luarc-json} .luarc.json
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
# templates = {
|
||||
# };
|
||||
shell = pkgs.mkShell {
|
||||
name = "nvim-devShell";
|
||||
buildInputs = with pkgs; [
|
||||
# Tools for Lua and Nix development, useful for editing files in this repo
|
||||
lua-language-server
|
||||
nil
|
||||
stylua
|
||||
luajitPackages.luacheck
|
||||
];
|
||||
shellHook = ''
|
||||
# symlink the .luarc.json generated in the overlay
|
||||
ln -fs ${pkgs.nvim-luarc-json} .luarc.json
|
||||
'';
|
||||
};
|
||||
in {
|
||||
formatter = nixpkgs.legacyPackages.${system}.alejandra;
|
||||
packages = rec {
|
||||
default = nvim;
|
||||
nvim = pkgs.nvim-pkg;
|
||||
};
|
||||
devShells = {
|
||||
default = shell;
|
||||
};
|
||||
})
|
||||
// {
|
||||
# You can add this overlay to your NixOS configuration
|
||||
overlays.default = neovim-overlay;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -120,20 +120,27 @@ with final.pkgs.lib; let
|
|||
# ^ bleeding-edge plugins from flake inputs
|
||||
];
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
# Dependencies
|
||||
ripgrep
|
||||
extraPackages = with pkgs;
|
||||
[
|
||||
# Dependencies
|
||||
ripgrep
|
||||
|
||||
# language servers, etc.
|
||||
asm-lsp # Assembly language server
|
||||
clang-tools # C/C++ language server
|
||||
(callPackage ./cpptools.nix {}) # C/C++ debugger from VSCode | https://github.com/microsoft/vscode-cpptools
|
||||
nil # nix LSP
|
||||
nodePackages.bash-language-server # Bash language server
|
||||
lua-language-server
|
||||
(pkgs.python312.withPackages (python-pkgs: [ python-pkgs.python-lsp-server python-pkgs.python-lsp-ruff python-pkgs.pylsp-rope]))
|
||||
jsonnet-language-server
|
||||
];
|
||||
# language servers, etc.
|
||||
asm-lsp # Assembly language server
|
||||
clang-tools # C/C++ language server
|
||||
(callPackage ./cpptools.nix {}) # C/C++ debugger from VSCode | https://github.com/microsoft/vscode-cpptools
|
||||
nil # nix LSP
|
||||
nodePackages.bash-language-server # Bash language server
|
||||
lua-language-server
|
||||
]
|
||||
++ [
|
||||
(pkgs.python312.withPackages (python-pkgs: [
|
||||
python-pkgs.python-lsp-server
|
||||
python-pkgs.python-lsp-ruff
|
||||
python-pkgs.pylsp-mypy
|
||||
python-pkgs.pylsp-rope
|
||||
]))
|
||||
];
|
||||
in {
|
||||
# This is the neovim derivation
|
||||
# returned by the overlay
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue