final: prev: let pySmartDL = prev.callPackage ./development/python/pySmartDL {}; cfscrape = prev.callPackage ./development/python/cfscrape {}; discord-system-electron = prev.callPackage ./applications/networking/instant-messengers/discord { # Wayland # NOTE: electron under Wayland has no window titlebars upstreamElectron = prev.electron_16; extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; #extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer"; }; wf-config_0_8 = prev.wf-config.overrideAttrs (old: { version = "0.8-git"; src = prev.fetchFromGitHub { owner = "wayfirewm"; repo = "wf-config"; rev = "e42a3870fb194842a505ad5a9671be1aebda0b0b"; sha256 = "0n6i3hizbqixxjh33950ya8avwqil5k94jbgff1pimcbh9ahpgrr"; }; }); wayfire-master = (prev.wayfireApplications-unwrapped.wayfire.overrideAttrs (old: { version = "0.8.0-20220526"; src = prev.fetchgit { url = "https://github.com/WayfireWM/wayfire.git"; rev = "5dbf0d0fd8ec46cf112f05fb63057f5b6d06b10d"; sha256 = "sha256-ZeaNSlDHoiLnRlHKk14meDbrizIz+nm3iYl90vvo2Ps="; fetchSubmodules = true; }; buildInputs = (map # Override wlroots with wlroots_0_15 (x: if (prev.lib.getName x) == "wlroots" then prev.wlroots_0_15 else x ) old.buildInputs) ++ [ prev.pango prev.libevdev prev.nlohmann_json ]; })).override { wf-config = wf-config_0_8; }; in { inherit discord-system-electron; vfio-isolate = prev.callPackage ./tools/virtualisation/vfio-isolate {}; mopidy-funkwhale = prev.callPackage ./applications/audio/mopidy/funkwhale.nix {}; python3Packages = prev.python3Packages // { pySmartDL = pySmartDL; cfscrape = cfscrape; }; replaysorcery = prev.callPackage ./tools/games/replaysorcery {}; evdev-proxy = prev.callPackage ./tools/virtualisation/evdev-proxy {}; virtiofsd = prev.callPackage ./tools/virtualisation/virtiofsd {}; anime4k = prev.callPackage ./misc/video/anime4k {}; mpv-shader-pack = prev.callPackage ./misc/video/mpv-shader-pack {}; anime-dl = prev.callPackage ./tools/video/animedl { pySmartDL = pySmartDL; cfscrape = cfscrape; }; sddm-sugar-dark = prev.callPackage ./sddm-sugar-dark {}; surface-control = prev.callPackage ./tools/system/surface-control {}; trackma = prev.callPackage ./tools/video/trackma {}; swaync = prev.callPackage ./tools/desktop/swaync {}; sound-gambit = prev.callPackage tools/audio/sound-gambit {}; ebu-norm = prev.callPackage tools/audio/ebu-norm {}; payload-dumper = prev.callPackage tools/system/payload-dumper {}; psst = prev.callPackage tools/audio/psst {}; wlrootsqt = prev.libsForQt5.callPackage ./wlrootsqt.nix {}; qtgreet = prev.libsForQt5.callPackage ./qtgreet.nix {}; spice-gtk = prev.callPackage temp/spice-gtk/default.nix {}; discord-app = prev.callPackage applications/networking/instant-messengers/discord-app { chromium = prev.ungoogled-chromium; }; zoom-vm = prev.callPackage scripts/zoom-vm {}; razer-cli = prev.callPackage tools/hardware/razer-cli {}; wayfire-firedecor = prev.callPackage applications/wayfire/firedecor { wayfire = wayfire-master; }; }