maomaowm/nix/nixos-modules.nix

48 lines
965 B
Nix
Raw Normal View History

2025-04-13 09:05:09 +08:00
self:
2025-03-24 10:55:11 +08:00
{
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";
};
};
};
2025-04-13 09:05:09 +08:00
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
] ++ (if (builtins.hasAttr "mmsg" cfg.package) then [ cfg.package.mmsg ] else [ ]);
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
xdg.portal = {
enable = lib.mkDefault true;
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
wlr.enable = lib.mkDefault true;
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
configPackages = [ cfg.package ];
};
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
security.polkit.enable = lib.mkDefault true;
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
programs.xwayland.enable = lib.mkDefault true;
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
services = {
displayManager.sessionPackages = [ cfg.package ];
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
graphical-desktop.enable = lib.mkDefault true;
};
2025-03-24 10:55:11 +08:00
2025-04-13 09:05:09 +08:00
};
2025-03-24 10:55:11 +08:00
}