diff options
author | Michael Weiss <dev.primeos@gmail.com> | 2018-11-04 11:54:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-04 11:54:03 +0100 |
commit | f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e (patch) | |
tree | d701d35e4952ff0a4438dca27c4cf3ef5ef51e56 | |
parent | 4a7cdf4be2b2aa14fdccf0e4cbbebda247921396 (diff) | |
parent | 15c2fb7ba17b80dad588b8a885f6411881e2684a (diff) | |
download | nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar.gz nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar.bz2 nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar.lz nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar.xz nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.tar.zst nixlib-f319c7fc89c6e9605cf1b8fec7a6d45105d46c2e.zip |
Merge pull request #49687 from gnidorah/sway
sway-beta module: add missing pieces
-rw-r--r-- | nixos/modules/programs/sway-beta.nix | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/nixos/modules/programs/sway-beta.nix b/nixos/modules/programs/sway-beta.nix index 04f2e0662b86..e651ea4cca33 100644 --- a/nixos/modules/programs/sway-beta.nix +++ b/nixos/modules/programs/sway-beta.nix @@ -5,6 +5,15 @@ with lib; let cfg = config.programs.sway-beta; swayPackage = cfg.package; + + swayWrapped = pkgs.writeShellScriptBin "sway" '' + ${cfg.extraSessionCommands} + exec ${pkgs.dbus.dbus-launch} --exit-with-session ${swayPackage}/bin/sway + ''; + swayJoined = pkgs.symlinkJoin { + name = "sway-joined"; + paths = [ swayWrapped swayPackage ]; + }; in { options.programs.sway-beta = { enable = mkEnableOption '' @@ -20,13 +29,30 @@ in { ''; }; + extraSessionCommands = mkOption { + type = types.lines; + default = ""; + example = '' + export SDL_VIDEODRIVER=wayland + # needs qt5.qtwayland in systemPackages + export QT_QPA_PLATFORM=wayland + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # Fix for some Java AWT applications (e.g. Android Studio), + # use this if they aren't displayed properly: + export _JAVA_AWT_WM_NONREPARENTING=1 + ''; + description = '' + Shell commands executed just before Sway is started. + ''; + }; + extraPackages = mkOption { type = with types; listOf package; default = with pkgs; [ - xwayland dmenu + xwayland rxvt_unicode dmenu ]; defaultText = literalExample '' - with pkgs; [ xwayland dmenu ]; + with pkgs; [ xwayland rxvt_unicode dmenu ]; ''; example = literalExample '' with pkgs; [ @@ -42,7 +68,7 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ swayPackage ] ++ cfg.extraPackages; + environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; security.pam.services.swaylock = {}; hardware.opengl.enable = mkDefault true; fonts.enableDefaultFonts = mkDefault true; @@ -51,4 +77,3 @@ in { meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ]; } - |