maomaowm/nix/nixos-modules.nix
2025-04-13 10:35:02 +08:00

47 lines
965 B
Nix

self:
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.maomaowm;
in
{
options = {
programs.maomaowm = {
enable = lib.mkEnableOption "maomaowm, a wayland compositor based on dwl";
package = lib.mkOption {
type = lib.types.package;
default = self.packages.${pkgs.system}.maomaowm;
description = "The maomaowm package to use";
};
};
};
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;
wlr.enable = lib.mkDefault true;
configPackages = [ cfg.package ];
};
security.polkit.enable = lib.mkDefault true;
programs.xwayland.enable = lib.mkDefault true;
services = {
displayManager.sessionPackages = [ cfg.package ];
graphical-desktop.enable = lib.mkDefault true;
};
};
}