2022-06-23 02:57:41 -04:00
|
|
|
{ config, lib, pkgs, inputs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
config = lib.mkIf config.nathan.programs.communications.enable {
|
|
|
|
home.packages = with pkgs;
|
|
|
|
let
|
2022-10-13 22:13:43 -04:00
|
|
|
unstable = import inputs.nixpkgs-unstable {
|
|
|
|
config = { allowUnfree = true; };
|
|
|
|
inherit system;
|
|
|
|
};
|
|
|
|
enableWayland = drv: bin:
|
|
|
|
drv.overrideAttrs (old: {
|
|
|
|
nativeBuildInputs = (old.nativeBuildInputs or [ ])
|
|
|
|
++ [ pkgs.makeWrapper ];
|
2023-01-01 19:18:27 -05:00
|
|
|
runtimeDependencies = (old.runtimeDependencies or [ ])
|
|
|
|
++ [ pkgs.wayland ];
|
2022-06-23 02:57:41 -04:00
|
|
|
postFixup = (old.postFixup or "") + ''
|
|
|
|
wrapProgram $out/bin/${bin} \
|
2023-03-17 23:49:27 -04:00
|
|
|
--add-flags "--ozone-platform-hint=auto"
|
2022-06-23 02:57:41 -04:00
|
|
|
'';
|
2022-10-13 22:13:43 -04:00
|
|
|
});
|
2022-06-23 02:57:41 -04:00
|
|
|
zulipWayland = pkgs.makeDesktopItem {
|
|
|
|
name = "zulip-wayland";
|
|
|
|
desktopName = "Zulip (Wayland)";
|
2023-03-17 23:49:27 -04:00
|
|
|
exec = "${unstable.zulip}/bin/zulip --ozone-platform-hint=auto";
|
2022-06-23 02:57:41 -04:00
|
|
|
terminal = false;
|
|
|
|
icon = "zulip";
|
|
|
|
type = "Application";
|
|
|
|
};
|
|
|
|
# Facebook messenger
|
|
|
|
fbChromeDesktopItem = pkgs.makeDesktopItem {
|
|
|
|
name = "messenger-chrome";
|
|
|
|
desktopName = "Messenger (chrome)";
|
2022-10-13 22:13:43 -04:00
|
|
|
exec = ''
|
2023-03-17 23:49:27 -04:00
|
|
|
${pkgs.ungoogled-chromium}/bin/chromium "--app=https://messenger.com"'';
|
2022-06-23 02:57:41 -04:00
|
|
|
terminal = false;
|
|
|
|
};
|
|
|
|
# Teams
|
|
|
|
teamsItem = pkgs.makeDesktopItem {
|
|
|
|
name = "teams-wayland";
|
|
|
|
desktopName = "Teams (Wayland)";
|
2022-10-13 22:13:43 -04:00
|
|
|
exec = ''
|
2023-03-17 23:49:27 -04:00
|
|
|
${pkgs.ungoogled-chromium}/bin/chromium "--app=https://teams.microsoft.com"'';
|
2022-06-23 02:57:41 -04:00
|
|
|
terminal = false;
|
|
|
|
};
|
2022-09-05 22:00:17 -04:00
|
|
|
# Cinny
|
|
|
|
cinnyItem = pkgs.makeDesktopItem {
|
|
|
|
name = "cinny";
|
|
|
|
desktopName = "Cinny";
|
2022-10-13 22:13:43 -04:00
|
|
|
exec = ''
|
2023-03-17 23:49:27 -04:00
|
|
|
${pkgs.ungoogled-chromium}/bin/chromium "--app=https://app.cinny.in"'';
|
2022-09-05 22:00:17 -04:00
|
|
|
terminal = false;
|
|
|
|
};
|
2023-01-27 20:36:15 -05:00
|
|
|
messagesItem = pkgs.makeDesktopItem {
|
|
|
|
name = "messages";
|
|
|
|
desktopName = "Messages (Chromium)";
|
|
|
|
exec = ''
|
2023-03-17 23:49:27 -04:00
|
|
|
${pkgs.ungoogled-chromium}/bin/chromium "--app=https://messages.google.com/web"'';
|
2023-01-27 20:36:15 -05:00
|
|
|
terminal = false;
|
|
|
|
};
|
2022-10-13 22:13:43 -04:00
|
|
|
in [
|
2022-06-23 02:57:41 -04:00
|
|
|
# Discord
|
2023-03-03 19:05:10 -05:00
|
|
|
inputs.self.packages.${pkgs.system}.discordWayland
|
|
|
|
betterdiscordctl
|
|
|
|
# discordItem
|
2022-06-23 02:57:41 -04:00
|
|
|
# Desktop matrix client
|
|
|
|
(enableWayland element-desktop "element-desktop")
|
|
|
|
# Desktop signal client
|
2023-01-27 20:25:49 -05:00
|
|
|
(enableWayland
|
|
|
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.signal-desktop
|
|
|
|
"signal-desktop")
|
2022-06-23 02:57:41 -04:00
|
|
|
# Desktop telegram client
|
|
|
|
tdesktop
|
|
|
|
# Desktop mastodon client
|
2023-03-03 19:26:05 -05:00
|
|
|
tootle
|
2022-06-23 02:57:41 -04:00
|
|
|
# zulip
|
|
|
|
unstable.zulip
|
|
|
|
zulipWayland
|
2022-09-05 22:00:17 -04:00
|
|
|
# Cinny for pretty matrix
|
|
|
|
cinnyItem
|
2022-06-23 02:57:41 -04:00
|
|
|
# chromium
|
2023-03-17 23:49:27 -04:00
|
|
|
# (enableWayland ungoogled-chromium "Chromium (Wayland)")
|
2022-06-23 02:57:41 -04:00
|
|
|
# Wayland workaround packages
|
|
|
|
fbChromeDesktopItem
|
2023-01-27 20:36:15 -05:00
|
|
|
# Messages
|
|
|
|
messagesItem
|
2022-06-23 02:57:41 -04:00
|
|
|
];
|
2023-03-17 23:49:27 -04:00
|
|
|
|
|
|
|
programs.chromium = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.ungoogled-chromium;
|
|
|
|
extensions = [{ id = "bphagiicbkoknlhmmbiokkdobkiglpio"; }];
|
|
|
|
};
|
2022-06-23 02:57:41 -04:00
|
|
|
};
|
|
|
|
}
|