refactor: make nix modules take package instead of entire self

This commit is contained in:
pengo 2026-06-08 18:02:07 -06:00
parent df492dab6b
commit 70f3d20929
4 changed files with 20 additions and 9 deletions

View file

@ -40,25 +40,36 @@
system, system,
}: let }: let
inherit (pkgs) callPackage; inherit (pkgs) callPackage;
mango = callPackage ./nix/package.nix { mango = callPackage ./nix/package.nix {
inherit (scenefx.packages.${system}) scenefx; inherit (scenefx.packages.${system}) scenefx;
}; };
generateOptions = callPackage (import ./nix/generate-options.nix self);
in { in {
inherit mango; inherit mango;
default = mango; default = mango;
hm-options-json = callPackage (import ./nix/generate-options.nix self) { hm-options-json = generateOptions {
module = ./nix/hm-module.nix; module = ./nix/hm-module.nix;
optionPrefix = "wayland.windowManager.mango."; optionPrefix = "wayland.windowManager.mango.";
}; };
nixos-options-json = callPackage (import ./nix/generate-options.nix self) { nixos-options-json = generateOptions {
module = ./nix/nixos-module.nix; module = ./nix/nixos-module.nix;
optionPrefix = "programs.mango."; optionPrefix = "programs.mango.";
}; };
} }
); );
nixosModules.mango = import ./nix/nixos-module.nix self; nixosModules.mango = { pkgs, ... }: {
hmModules.mango = import ./nix/hm-module.nix self; imports = [
(import ./nix/nixos-module.nix self.packages.${pkgs.stdenv.hostPlatform.system}.default)
];
};
hmModules.mango = { pkgs, ... }: {
imports = [
(import ./nix/hm-module.nix self.packages.${pkgs.stdenv.hostPlatform.system}.default)
];
};
devShells = forEachSystem ( devShells = forEachSystem (
{system, ...}: { {system, ...}: {

View file

@ -9,7 +9,7 @@ self: {
eval = lib.evalModules { eval = lib.evalModules {
modules = [ modules = [
(import module self) (import module self.packages.${pkgs.stdenv.hostPlatform.system}.default)
{_module.check = false;} {_module.check = false;}
]; ];
specialArgs = {inherit pkgs;}; specialArgs = {inherit pkgs;};

View file

@ -1,4 +1,4 @@
self: { mangoPackage: {
lib, lib,
config, config,
pkgs, pkgs,
@ -23,7 +23,7 @@ in {
}; };
package = lib.mkOption { package = lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; default = mangoPackage;
description = "The mango package to use"; description = "The mango package to use";
}; };
systemd = { systemd = {

View file

@ -1,4 +1,4 @@
self: { mangoPackage: {
config, config,
lib, lib,
pkgs, pkgs,
@ -16,7 +16,7 @@ in {
}; };
package = lib.mkOption { package = lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; default = mangoPackage;
description = "The mango package to use"; description = "The mango package to use";
}; };
}; };