nixos/xwayland: add new module and allow configuring a default font path
- Add option `programs.xwayland.defaultFontPath` - Modify sway to enable Xwayland
This commit is contained in:
@@ -86,8 +86,7 @@ in {
|
||||
extraPackages = mkOption {
|
||||
type = with types; listOf package;
|
||||
default = with pkgs; [
|
||||
swaylock swayidle
|
||||
xwayland alacritty dmenu
|
||||
swaylock swayidle alacritty dmenu
|
||||
rxvt-unicode # For backward compatibility (old default terminal)
|
||||
];
|
||||
defaultText = literalExample ''
|
||||
@@ -104,6 +103,7 @@ in {
|
||||
Extra packages to be installed system wide.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@@ -130,6 +130,7 @@ in {
|
||||
programs.dconf.enable = mkDefault true;
|
||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||
services.xserver.displayManager.sessionPackages = [ swayPackage ];
|
||||
programs.xwayland.enable = mkDefault true;
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
|
||||
|
||||
45
nixos/modules/programs/xwayland.nix
Normal file
45
nixos/modules/programs/xwayland.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.programs.xwayland;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
options.programs.xwayland = {
|
||||
|
||||
enable = mkEnableOption ''
|
||||
Xwayland X server allows running X programs on a Wayland compositor.
|
||||
'';
|
||||
|
||||
defaultFontPath = mkOption {
|
||||
type = types.str;
|
||||
default = optionalString config.fonts.fontDir.enable
|
||||
"/run/current-system/sw/share/X11/fonts";
|
||||
description = ''
|
||||
Default font path. Setting this option causes Xwayland to be rebuilt.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.path;
|
||||
description = "The Xwayland package";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# Needed by some applications for fonts and default settings
|
||||
environment.pathsToLink = [ "/share/X11" ];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
programs.xwayland.package = pkgs.xwayland.override (oldArgs: {
|
||||
inherit (cfg) defaultFontPath;
|
||||
});
|
||||
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user