maomaowm/nix/nixos-modules.nix

45 lines
874 B
Nix
Raw Normal View History

self: {
2025-03-24 10:55:11 +08:00
config,
lib,
pkgs,
...
}: let
2025-07-30 14:54:59 +08:00
cfg = config.programs.mango;
in {
2025-03-24 10:55:11 +08:00
options = {
2025-07-30 14:54:59 +08:00
programs.mango = {
enable = lib.mkEnableOption "mango, a wayland compositor based on dwl";
2025-03-24 10:55:11 +08:00
package = lib.mkOption {
type = lib.types.package;
2025-07-30 14:54:59 +08:00
default = self.packages.${pkgs.system}.mango;
description = "The mango package to use";
2025-03-24 10:55:11 +08:00
};
};
};
2025-04-13 09:05:09 +08:00
config = lib.mkIf cfg.enable {
environment.systemPackages =
[
cfg.package
2025-10-18 09:46:18 +03:00
];
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
}