diff options
author | gnidorah <gnidorah@users.noreply.github.com> | 2018-11-03 20:27:40 +0300 |
---|---|---|
committer | gnidorah <gnidorah@users.noreply.github.com> | 2018-11-03 20:27:40 +0300 |
commit | 15c2fb7ba17b80dad588b8a885f6411881e2684a (patch) | |
tree | 0da1317dca869c307fcb9406a781fce97c86b1eb | |
parent | c64624b8435af07d95effbb928d955963a5fa859 (diff) | |
download | nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar.gz nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar.bz2 nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar.lz nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar.xz nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.tar.zst nixlib-15c2fb7ba17b80dad588b8a885f6411881e2684a.zip |
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 ]; } - |