flake: add nixvimConfigurations flake-parts module

This commit is contained in:
Matt Sturgeon 2025-01-19 05:37:20 +00:00
parent 9aa6d0f6e6
commit 5426c9dd83
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
5 changed files with 37 additions and 7 deletions

View file

@ -4,6 +4,7 @@
./flake-modules
./lib.nix
./legacy-packages.nix
./nixvim-configurations.nix
./overlays.nix
./packages.nix
./templates.nix

View file

@ -1,7 +1,9 @@
{ inputs, ... }:
let
# Modules for the flakeModules output and the default module
defaultModules = { };
defaultModules = {
nixvimConfigurations = ./nixvimConfigurations.nix;
};
# Modules for the flakeModules output, but not the default module
extraModules = {

View file

@ -0,0 +1,21 @@
{ lib, flake-parts-lib, ... }:
let
configurationType = lib.mkOptionType {
name = "configuration";
description = "configuration";
descriptionClass = "noun";
merge = lib.options.mergeOneOption;
check = x: x._type or null == "configuration";
};
in
flake-parts-lib.mkTransposedPerSystemModule {
name = "nixvimConfigurations";
option = lib.mkOption {
type = lib.types.lazyAttrsOf configurationType;
default = { };
description = ''
An attribute set of Nixvim configurations.
'';
};
file = ./nixvimConfigurations.nix;
}

View file

@ -1,19 +1,15 @@
{ helpers, ... }:
{
perSystem =
{
config,
makeNixvimWithModule,
system,
...
}:
{
legacyPackages = rec {
inherit makeNixvimWithModule;
makeNixvim = module: makeNixvimWithModule { inherit module; };
nixvimConfiguration = helpers.modules.evalNixvim {
inherit system;
};
nixvimConfiguration = config.nixvimConfigurations.default;
};
};
}

View file

@ -0,0 +1,10 @@
{ helpers, ... }:
{
perSystem =
{ system, ... }:
{
nixvimConfigurations.default = helpers.modules.evalNixvim {
inherit system;
};
};
}