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