maomaowm/nix/nixos-modules.nix

49 lines
1,005 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;
};
};
}