From ed7e8bf93afc3d428a93501de53d581a8eb53218 Mon Sep 17 00:00:00 2001 From: EdenQwQ Date: Wed, 26 Mar 2025 00:25:54 +0800 Subject: [PATCH] opt: mmsg as passthru --- flake.nix | 7 +++--- nix/default.nix | 2 ++ nix/hm-modules.nix | 2 +- nix/nixos-modules.nix | 55 +++++++++++++------------------------------ 4 files changed, 24 insertions(+), 42 deletions(-) diff --git a/flake.nix b/flake.nix index 6ff5fe0e..de3d2170 100644 --- a/flake.nix +++ b/flake.nix @@ -26,8 +26,8 @@ ]; flake = { - hmModules.maomaowm = import ./nix/hm-modules.nix { inherit self; }; - nixosModules.maomaowm = import ./nix/nixos-modules.nix { inherit inputs self; }; + hmModules.maomaowm = import ./nix/hm-modules.nix self; + nixosModules.maomaowm = import ./nix/nixos-modules.nix self; }; perSystem = @@ -41,7 +41,8 @@ callPackage ; maomaowm = callPackage ./nix { - wlroots = inputs.nixpkgs-wayland.packages.${pkgs.system}.wlroots; + inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wlroots; + inherit (inputs.mmsg.packages.${pkgs.system}) mmsg; }; shellOverride = old: { nativeBuildInputs = old.nativeBuildInputs ++ [ ]; diff --git a/nix/default.nix b/nix/default.nix index 6d9bdd67..42d0e11d 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -16,6 +16,7 @@ meson, ninja, wlroots, + mmsg, }: let pname = "maomaowm"; @@ -51,6 +52,7 @@ stdenv.mkDerivation { passthru = { providedSessions = [ "maomao" ]; + inherit mmsg; }; meta = { diff --git a/nix/hm-modules.nix b/nix/hm-modules.nix index 65898d9e..0b6f37ea 100644 --- a/nix/hm-modules.nix +++ b/nix/hm-modules.nix @@ -1,4 +1,4 @@ -{ self }: +self: { lib, config, diff --git a/nix/nixos-modules.nix b/nix/nixos-modules.nix index fc570b94..2bc6dc5b 100644 --- a/nix/nixos-modules.nix +++ b/nix/nixos-modules.nix @@ -1,4 +1,4 @@ -{ inputs, self }: +self: { config, lib, @@ -7,16 +7,6 @@ }: let cfg = config.programs.maomaowm; - mmsg = lib.types.submodule { - options = { - enable = lib.mkEnableOption "Enable mmsg, the ipc for maomaowm"; - package = lib.mkOption { - type = lib.types.package; - default = inputs.mmsg.packages.${pkgs.system}.mmsg; - description = "The mmsg package to use"; - }; - }; - }; in { options = { @@ -27,42 +17,31 @@ in default = self.packages.${pkgs.system}.maomaowm; description = "The maomaowm package to use"; }; - mmsg = lib.mkOption { - type = mmsg; - default = { - enable = true; - }; - description = "Options for mmsg, the ipc for maomaowm"; - }; }; }; - config = lib.mkMerge [ - (lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + config = lib.mkIf cfg.enable { + environment.systemPackages = [ + cfg.package + ] ++ (if (builtins.hasAttr "mmsg" cfg.package) then [ cfg.package.mmsg ] else [ ]); - xdg.portal = { - enable = lib.mkDefault true; + xdg.portal = { + enable = lib.mkDefault true; - wlr.enable = lib.mkDefault true; + wlr.enable = lib.mkDefault true; - configPackages = [ cfg.package ]; - }; + configPackages = [ cfg.package ]; + }; - security.polkit.enable = lib.mkDefault true; + security.polkit.enable = lib.mkDefault true; - programs.xwayland.enable = lib.mkDefault true; + programs.xwayland.enable = lib.mkDefault true; - services = { - displayManager.sessionPackages = [ cfg.package ]; + services = { + displayManager.sessionPackages = [ cfg.package ]; - graphical-desktop.enable = lib.mkDefault true; - }; + graphical-desktop.enable = lib.mkDefault true; + }; - }) - - (lib.mkIf cfg.mmsg.enable { - environment.systemPackages = [ cfg.mmsg.package ]; - }) - ]; + }; }