config/users/pbsds/home/profiles/desktop.nix

79 lines
1.8 KiB
Nix

{ pkgs, lib, ... }:
{
imports = [
./lxterminal
./pulsar
];
# TODO: doesn't work?
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"discord"
"telegra-desktop"
"spotify"
];
nixpkgs.config.allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) [
"pulsar"
"zotero"
];
home.packages = with pkgs; [
#wl-clipboard # https://github.com/bugaevc/wl-clipboard/issues/185
(symlinkJoin {
inherit (wl-clipboard) name;
paths = [
(writeShellScriptBin "wl-copy" ''
timeout 0.25s ${lib.getExe' wl-clipboard "wl-copy"} "$@"
'')
(writeShellScriptBin "wl-paste" ''
timeout 0.25s ${lib.getExe' wl-clipboard "wl-paste"} "$@"
'')
wl-clipboard
];
})
discord
element-desktop
#element-desktop-wayland
#nheko
#fluffychat
(pkgs.zxtune or unstable.zxtune or null)
f3d
firefox
zotero
(pkgs.loupe or pkgs.gnome.eog)
gnome-connections
scrcpy
#spotify # use flathub version instead
transgui #transmission-remote-gtk
]
++ builtins.filter (drv: (builtins.tryEval drv.outPath).success) [
slack
telegram-desktop
teams
zoom-us
];
home.shellAliases.eog = lib.mkIf (pkgs?loupe) "loupe";
# flatpak
# TODO: this requires a logout+login to take effect
home.activation.addFlathubRemote = lib.hm.dag.entryAfter ["writeBoundary"] ''
if command -v flatpak >/dev/null; then
$DRY_RUN_CMD flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
fi
'';
# TODO: automatic flatpak updates
# TODO: fix collision
## Do not keep me from using the app just to force an update
#xdg.configFile."discord/settings.json".text = builtins.toJSON {
# SKIP_HOST_UPDATE = true;
#};
}