From 70f3d20929306394bacba390551a8b46ea92944f Mon Sep 17 00:00:00 2001 From: pengo Date: Mon, 8 Jun 2026 18:02:07 -0600 Subject: [PATCH] refactor: make nix modules take package instead of entire self --- flake.nix | 19 +++++++++++++++---- nix/generate-options.nix | 2 +- nix/hm-module.nix | 4 ++-- nix/nixos-module.nix | 4 ++-- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 29eb2496..027a8676 100644 --- a/flake.nix +++ b/flake.nix @@ -40,25 +40,36 @@ system, }: let inherit (pkgs) callPackage; + mango = callPackage ./nix/package.nix { inherit (scenefx.packages.${system}) scenefx; }; + + generateOptions = callPackage (import ./nix/generate-options.nix self); in { inherit mango; default = mango; - hm-options-json = callPackage (import ./nix/generate-options.nix self) { + hm-options-json = generateOptions { module = ./nix/hm-module.nix; optionPrefix = "wayland.windowManager.mango."; }; - nixos-options-json = callPackage (import ./nix/generate-options.nix self) { + nixos-options-json = generateOptions { module = ./nix/nixos-module.nix; optionPrefix = "programs.mango."; }; } ); - nixosModules.mango = import ./nix/nixos-module.nix self; - hmModules.mango = import ./nix/hm-module.nix self; + nixosModules.mango = { pkgs, ... }: { + 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 ( {system, ...}: { diff --git a/nix/generate-options.nix b/nix/generate-options.nix index cc1bb1bf..cd1659e3 100644 --- a/nix/generate-options.nix +++ b/nix/generate-options.nix @@ -9,7 +9,7 @@ self: { eval = lib.evalModules { modules = [ - (import module self) + (import module self.packages.${pkgs.stdenv.hostPlatform.system}.default) {_module.check = false;} ]; specialArgs = {inherit pkgs;}; diff --git a/nix/hm-module.nix b/nix/hm-module.nix index 3f3b3bfb..d1331c7a 100644 --- a/nix/hm-module.nix +++ b/nix/hm-module.nix @@ -1,4 +1,4 @@ -self: { +mangoPackage: { lib, config, pkgs, @@ -23,7 +23,7 @@ in { }; package = lib.mkOption { type = lib.types.package; - default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; + default = mangoPackage; description = "The mango package to use"; }; systemd = { diff --git a/nix/nixos-module.nix b/nix/nixos-module.nix index 482b734e..f252db89 100644 --- a/nix/nixos-module.nix +++ b/nix/nixos-module.nix @@ -1,4 +1,4 @@ -self: { +mangoPackage: { config, lib, pkgs, @@ -16,7 +16,7 @@ in { }; package = lib.mkOption { type = lib.types.package; - default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; + default = mangoPackage; description = "The mango package to use"; }; };