System/home-manager/linux/programs/communications.nix

97 lines
3.1 KiB
Nix
Raw Normal View History

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
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} \
--add-flags "--ozone-platform-hint=auto"
2022-06-23 02:57:41 -04:00
'';
});
2022-06-23 02:57:41 -04:00
zulipWayland = pkgs.makeDesktopItem {
name = "zulip-wayland";
desktopName = "Zulip (Wayland)";
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)";
2023-03-29 19:42:06 -04:00
exec =
''${pkgs.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)";
exec = ''
2023-03-29 19:42:06 -04:00
${pkgs.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";
2023-03-29 19:42:06 -04:00
exec = ''${pkgs.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-29 19:42:06 -04:00
${pkgs.chromium}/bin/chromium "--app=https://messages.google.com/web"'';
2023-01-27 20:36:15 -05:00
terminal = false;
};
in [
2022-06-23 02:57:41 -04:00
# Discord
2023-06-14 06:07:20 -04:00
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.webcord-vencord
# inputs.self.packages.${pkgs.system}.discordWayland
2023-03-03 19:05:10 -05:00
betterdiscordctl
# discordItem
2022-06-23 02:57:41 -04:00
# Desktop matrix client
(enableWayland element-desktop "element-desktop")
# Desktop signal client
(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-29 19:42:06 -04:00
# (enableWayland 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
2023-03-27 09:15:49 -04:00
# Mattermost
mattermost-desktop
2022-06-23 02:57:41 -04:00
];
programs.chromium = {
enable = true;
extensions = [{ id = "bphagiicbkoknlhmmbiokkdobkiglpio"; }];
};
2022-06-23 02:57:41 -04:00
};
}