Jump to content

Slack: Difference between revisions

From NixOS Wiki
imported>Rbjorklin
No edit summary
m NixOS: add unfree template to install section
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:


=== NixOS ===
=== NixOS ===
 
{{Unfree}}
<syntaxHighlight lang="nix">
<syntaxHighlight lang="nix">
environment.systemPackages = with pkgs; [ slack ];
environment.systemPackages = with pkgs; [ slack ];
</syntaxHighlight>
=== Non-NixOS ===
<syntaxHighlight lang="console">
$ nix-env -iA nixos.slack
</syntaxHighlight>
</syntaxHighlight>


Line 19: Line 13:
=== Wayland ===
=== Wayland ===


If you're using recent nixpkgs (from 2022-01-27), you can enable native Wayland support by launching Slack as:
You can enable native Wayland support by launching Slack as:


<syntaxHighlight lang="console">
<syntaxHighlight lang="console">
Line 31: Line 25:
</syntaxHighlight>
</syntaxHighlight>


If that doesn't work for you, you might be using an older nixpkgs where the <code>NIXOS_OZONE_WL</code> option didn't exist yet - in that case, you can launch Slack via:
If you want to use screen-sharing, you'll have to enable <code>xdg-desktop-portal</code>, too:
 
<syntaxHighlight lang="console">
$ slack --ozone-platform=wayland --enable-features=UseOzonePlatform,WebRTCPipeWireCapturer
</syntaxHighlight>
 
... or, which is a bit more convenient, patch its derivation:
 
<syntaxHighlight lang="nix">
{ lib, pkgs, ... }:
let
  slack = pkgs.slack.overrideAttrs (old: {
    installPhase = old.installPhase + ''
      rm $out/bin/slack
 
      makeWrapper $out/lib/slack/slack $out/bin/slack \
        --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
        --prefix PATH : ${lib.makeBinPath [pkgs.xdg-utils]} \
        --add-flags "--ozone-platform=wayland --enable-features=UseOzonePlatform,WebRTCPipeWireCapturer"
    '';
  });
 
in
{
  environment.systemPackages = [ slack ];
}
</syntaxHighlight>
 
In all of the cases, if you want to use screen-sharing, you'll have to enable <code>xdg-desktop-portal</code>, too:


<syntaxHighlight lang="nix">
<syntaxHighlight lang="nix">
Line 80: Line 46:
WaylandWindowDecorations
WaylandWindowDecorations
</syntaxHighlight>
</syntaxHighlight>
[[Category:Applications]]

Revision as of 16:13, 9 March 2025

Slack is a communication platform with a desktop application based on Electron.

Installation

NixOS

Note: This package is unfree and requires extra steps to install.
environment.systemPackages = with pkgs; [ slack ];

Tips

Wayland

You can enable native Wayland support by launching Slack as:

$ NIXOS_OZONE_WL=1 slack

... or by simply specifying this option globally:

environment.sessionVariables.NIXOS_OZONE_WL = "1";

If you want to use screen-sharing, you'll have to enable xdg-desktop-portal, too:

xdg = {
  portal = {
    enable = true;
    extraPortals = with pkgs; [
      xdg-desktop-portal-wlr
      xdg-desktop-portal-gtk
    ];
    gtkUsePortal = true;
  };
};

Window decorations

If the above configuration leaves you without window decorations you may want to enable this feature as well:

WaylandWindowDecorations