my_nixvim_sharings/flake.nix
2024-08-07 12:53:02 +08:00

62 lines
1.7 KiB
Nix

{
# https://github.com/redyf/Neve/blob/main/flake.nix
description = "my_nixvim flake, Neve mod (only flake.nix)";
inputs = {
nixvim.url = "github:nix-community/nixvim";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
flake-utils.url = "github:numtide/flake-utils";
# https://github.com/nvim-neorg/nixpkgs-neorg-overlay
# https://github.com/nix-community/nixvim/issues/1395
neorg-overlay.url = "github:nvim-neorg/nixpkgs-neorg-overlay";
};
outputs = {
self
, nixpkgs
, nixpkgs-stable
, nixvim
, flake-utils
, neorg-overlay
, ...
} @ inputs: let
config = import ./config; # import the module directly
in
flake-utils.lib.eachDefaultSystem (system: let
nixvimLib = nixvim.lib.${system};
pkgs = import nixpkgs {
inherit system;
nixpkgs.overlays = [ neorg-overlay.overlays.default ];
};
pkgs-stable = import nixpkgs-stable {
inherit system;
nixpkgs.overlays = [ neorg-overlay.overlays.default ];
};
nixvim' = nixvim.legacyPackages.${system};
nvim = nixvim'.makeNixvimWithModule {
inherit pkgs;
module = config;
# You can use `extraSpecialArgs` to pass additional arguments to your module files
extraSpecialArgs = {
inherit self;
inherit pkgs-stable;
};
};
in {
checks = {
# Run `nix flake check .` to verify that your config is not broken
default = nixvimLib.check.mkTestDerivationFromNvim {
inherit nvim;
name = "my_nixvim";
};
};
packages = {
# Lets you run `nix run .` to start nixvim
default = nvim;
};
# formatter = pkgs.alejandra;
});
}