Files
nvim/flake.nix

75 lines
1.7 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
mdfmt = {
url = "github:moorereason/mdfmt";
flake = false;
};
};
outputs = {
self,
nixpkgs,
...
} @ inputs: let
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = f:
nixpkgs.lib.genAttrs systems (
system: let
pkgs = import nixpkgs {inherit system;};
in
f {
inherit pkgs;
inherit (pkgs) lib stdenv;
}
);
in {
formatter = forAllSystems ({pkgs, ...}: pkgs.alejandra);
packages = forAllSystems (
{
pkgs,
lib,
stdenv,
...
}: {
neovim = pkgs.callPackage ./package.nix {
mdfmt = self.packages.${stdenv.hostPlatform.system}.mdfmt;
};
godot-neovim = pkgs.writeShellApplication {
name = "godot-neovim";
};
mdfmt = pkgs.buildGoModule {
name = "mdfmt";
src = inputs.mdfmt;
vendorHash = "sha256-JtYvDgjUoEc1Mp7Eq8lbu9jWI+RR9yBo4ujGY+J70J4=";
};
default = self.packages."${stdenv.hostPlatform.system}".neovim;
}
);
devShells = forAllSystems (
{pkgs, ...}: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
stylua
];
};
}
);
nixosModules = {
neovim = import ./nixos.nix {inherit self;};
default = self.nixosModules.neovim;
};
homeManagerModules = {
neovim = import ./home.nix {inherit self;};
default = self.homeManagerModules.neovim;
};
};
}