1 { config, pkgs, lib, ... }:
4 cfg = config.programs.miriway;
6 options.programs.miriway = {
7 enable = lib.mkEnableOption ''
8 Miriway, a Mir based Wayland compositor. You can manually launch Miriway by
9 executing "exec miriway" on a TTY, or launch it from a display manager. Copy
10 /etc/xdg/xdg-miriway/miriway-shell.config to ~/.config/miriway-shell.config
11 to modify the system-wide configuration on a per-user basis. See <https://github.com/Miriway/Miriway>,
12 and "miriway --help" for more information'';
14 config = lib.mkOption {
15 type = lib.types.lines;
17 x11-window-title=Miriway (Mir-on-X)
19 ctrl-alt=t:miriway-terminal # Default "terminal emulator finder"
21 shell-component=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
24 meta=Right:@dock-right
25 meta=Space:@toggle-maximized
26 meta=Home:@workspace-begin
27 meta=End:@workspace-end
28 meta=Page_Up:@workspace-up
29 meta=Page_Down:@workspace-down
30 ctrl-alt=BackSpace:@exit
34 ctrl-alt=t:weston-terminal
35 add-wayland-extensions=all
37 shell-components=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
39 shell-component=waybar
40 shell-component=wbg Pictures/wallpaper
45 meta=Right:@dock-right
46 meta=Space:@toggle-maximized
47 meta=Home:@workspace-begin
48 meta=End:@workspace-end
49 meta=Page_Up:@workspace-up
50 meta=Page_Down:@workspace-down
51 ctrl-alt=BackSpace:@exit
54 Miriway's config. This will be installed system-wide.
55 The default will install the miriway package's barebones example config.
60 config = lib.mkIf cfg.enable {
62 systemPackages = [ pkgs.miriway ];
64 "xdg/xdg-miriway/miriway-shell.config".text = cfg.config;
68 hardware.graphics.enable = lib.mkDefault true;
69 fonts.enableDefaultPackages = lib.mkDefault true;
70 programs.dconf.enable = lib.mkDefault true;
71 programs.xwayland.enable = lib.mkDefault true;
73 # To make the Miriway session available if a display manager like SDDM is enabled:
74 services.displayManager.sessionPackages = [ pkgs.miriway ];
76 xdg.icons.enable = true;
79 meta.maintainers = with lib.maintainers; [ OPNA2608 ];