{ pkgs ? import {} }: let pySmartDL = pkgs.callPackage ./development/python/pySmartDL {}; cfscrape = pkgs.callPackage ./development/python/cfscrape {}; system_hotkey = pkgs.callPackage ./development/python/system_hotkey {}; buildFHSUserEnvBubblewrap = pkgs.callPackage ./build-support/build-fhs-userenv-bubblewrap {}; discord-system-electron = pkgs.callPackage ./applications/networking/instant-messengers/discord { # Wayland # NOTE: electron under Wayland has no window titlebars #extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; }; wrapInSandbox = pkgs.callPackage ./sandbox.nix {}; in { gamemode = pkgs.callPackage ./tools/games/gamemode { }; key-mapper = pkgs.callPackage ./tools/games/key-mapper {}; vfio-isolate = pkgs.callPackage ./tools/virtualisation/vfio-isolate {}; mopidy-funkwhale = pkgs.callPackage ./applications/audio/mopidy/funkwhale.nix {}; # Not as clean as I hoped, but it works gnomeExtensions = pkgs.gnomeExtensions // { notification-timeout = pkgs.callPackage ./desktop/gnome/extensions/notification-timeout {}; windowisready-remover = pkgs.callPackage ./desktop/gnome/extensions/windowisready-remover {}; }; python3Packages = pkgs.python3Packages // { pySmartDL = pySmartDL; cfscrape = cfscrape; system_hotkey = system_hotkey; }; replaysorcery = pkgs.callPackage ./tools/games/replaysorcery {}; evdev-proxy = pkgs.callPackage ./tools/virtualisation/evdev-proxy {}; anime4k = pkgs.callPackage ./misc/video/anime4k {}; anime-dl = pkgs.callPackage ./tools/video/animedl { pySmartDL = pySmartDL; cfscrape = cfscrape; }; superpaper = pkgs.callPackage ./applications/desktop/superpaper { system_hotkey = system_hotkey; }; discord-system-electron-wrapped = wrapInSandbox { name = "discord"; package = discord-system-electron; binaryName = "discord"; mountInHome = [ ".config/discord" ]; additionalBlacklist = [ "/mnt" ]; chdirTo = "/home/$USER"; version = "1.0.1"; copyIntoSandbox = [ "share/pixmaps" ]; desktopFileArgs = { name = "Discord (wrapped)"; #exec = "discord"; icon = "discord"; desktopName = "Discord (wrapped)"; genericName = "Instant Messenger"; categories = "Network;InstantMessaging;"; }; }; iptsd = pkgs.callPackage ./tools/daemons/iptsd {}; surface-control = pkgs.callPackage ./tools/system/surface-control {}; trackma = pkgs.callPackage ./tools/video/trackma {}; }