139 lines
3.0 KiB
Nix
139 lines
3.0 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
nixCats.url = "github:BirdeeHub/nixCats-nvim";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
nixCats,
|
|
...
|
|
}@inputs:
|
|
let
|
|
inherit (nixCats) utils;
|
|
luaPath = ./.;
|
|
forEachSystem = utils.eachSystem nixpkgs.lib.platforms.all;
|
|
extra_pkg_config = { };
|
|
|
|
dependencyOverlays = [
|
|
(utils.standardPluginOverlay inputs)
|
|
];
|
|
|
|
categoryDefinitions =
|
|
{
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
lspsAndRuntimeDeps = {
|
|
general = [ ];
|
|
};
|
|
|
|
startupPlugins = {
|
|
general = [ ];
|
|
};
|
|
|
|
optionalPlugins = {
|
|
general = with pkgs.vimPlugins; [
|
|
nvim-lspconfig
|
|
];
|
|
};
|
|
|
|
sharedLibraries = {
|
|
general = [ ];
|
|
};
|
|
|
|
environmentVariables = { };
|
|
};
|
|
|
|
packageDefinitions = {
|
|
nvim =
|
|
{ ... }:
|
|
{
|
|
settings = {
|
|
suffix-path = true;
|
|
suffix-LD = true;
|
|
wrapRc = true;
|
|
aliases = [ "vim" ];
|
|
};
|
|
categories = {
|
|
general = true;
|
|
};
|
|
};
|
|
};
|
|
defaultPackageName = "nvim";
|
|
in
|
|
|
|
forEachSystem (
|
|
system:
|
|
let
|
|
nixCatsBuilder = utils.baseBuilder luaPath {
|
|
inherit
|
|
nixpkgs
|
|
system
|
|
dependencyOverlays
|
|
extra_pkg_config
|
|
;
|
|
} categoryDefinitions packageDefinitions;
|
|
defaultPackage = nixCatsBuilder defaultPackageName;
|
|
pkgs = import nixpkgs { inherit system; };
|
|
in
|
|
{
|
|
packages = utils.mkAllWithDefault defaultPackage;
|
|
|
|
devShells = {
|
|
default = pkgs.mkShell {
|
|
name = defaultPackageName;
|
|
packages = [ defaultPackage ];
|
|
inputsFrom = [ ];
|
|
shellHook = '''';
|
|
};
|
|
};
|
|
|
|
}
|
|
)
|
|
// (
|
|
let
|
|
nixosModule = utils.mkNixosModules {
|
|
moduleNamespace = [ defaultPackageName ];
|
|
inherit
|
|
defaultPackageName
|
|
dependencyOverlays
|
|
luaPath
|
|
categoryDefinitions
|
|
packageDefinitions
|
|
extra_pkg_config
|
|
nixpkgs
|
|
;
|
|
};
|
|
homeModule = utils.mkHomeModules {
|
|
moduleNamespace = [ defaultPackageName ];
|
|
inherit
|
|
defaultPackageName
|
|
dependencyOverlays
|
|
luaPath
|
|
categoryDefinitions
|
|
packageDefinitions
|
|
extra_pkg_config
|
|
nixpkgs
|
|
;
|
|
};
|
|
in
|
|
{
|
|
|
|
overlays = utils.makeOverlays luaPath {
|
|
inherit nixpkgs dependencyOverlays extra_pkg_config;
|
|
} categoryDefinitions packageDefinitions defaultPackageName;
|
|
|
|
nixosModules.default = nixosModule;
|
|
homeModules.default = homeModule;
|
|
|
|
inherit utils nixosModule homeModule;
|
|
inherit (utils) templates;
|
|
}
|
|
);
|
|
|
|
}
|