modules/context: flake option, provides access to our flake

This commit is contained in:
Matt Sturgeon
2024-12-23 12:18:06 +00:00
parent 7391dc14ca
commit 9487403532
3 changed files with 16 additions and 4 deletions
+1 -3
View File
@@ -30,11 +30,9 @@ in
lib.evalModules {
modules = modules ++ [
../modules/top-level
# Pass our locked nixpkgs into the configuration
{
_file = "<nixvim-flake>";
nixpkgs.source = lib.mkOptionDefault flake.inputs.nixpkgs;
flake = lib.mkOptionDefault flake;
}
];
specialArgs = {
+14
View File
@@ -1,6 +1,20 @@
{ lib, ... }:
let
isFlake = x: x._type or null == "flake";
flakeType = lib.types.addCheck lib.types.path isFlake // {
name = "flake";
description = "flake";
};
in
{
options = {
flake = lib.mkOption {
type = flakeType;
description = ''
Nixvim's flake.
'';
internal = true;
};
isTopLevel = lib.mkOption {
type = lib.types.bool;
default = false;
+1 -1
View File
@@ -129,7 +129,7 @@ in
# NOTE: This is a nixvim-specific option; there's no equivalent in nixos
source = lib.mkOption {
type = lib.types.path;
# NOTE: default is only set if `flake` is passed to our lib
default = config.flake.inputs.nixpkgs;
defaultText = lib.literalMD "Nixvim's flake `input.nixpkgs`";
description = ''
The path to import Nixpkgs from.