maomaowm/nix/nixos-modules.nix

50 lines
1,005 B
Nix
Raw Normal View History

self: {
2025-03-24 10:55:11 +08:00
config,
lib,
pkgs,
...
}: let
2025-03-24 10:55:11 +08:00
cfg = config.programs.maomaowm;
in {
2025-03-24 10:55:11 +08:00
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
configPackages = [cfg.package];
2025-04-13 09:05:09 +08:00
};
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
}