nixos-config/packages/default.nix

147 lines
4.9 KiB
Nix

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
extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
#extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
};
wrapInSandbox = prev.callPackage ./sandbox.nix {};
in {
key-mapper = prev.callPackage ./tools/games/key-mapper {};
vfio-isolate = prev.callPackage ./tools/virtualisation/vfio-isolate {};
mopidy-funkwhale = prev.callPackage ./applications/audio/mopidy/funkwhale.nix {};
# Not as clean as I hoped, but it works
gnomeExtensions = prev.gnomeExtensions // {
notification-timeout = prev.callPackage ./desktop/gnome/extensions/notification-timeout {};
windowisready-remover = prev.callPackage ./desktop/gnome/extensions/windowisready-remover {};
};
python3Packages = prev.python3Packages // {
pySmartDL = pySmartDL;
cfscrape = cfscrape;
};
replaysorcery = prev.callPackage ./tools/games/replaysorcery {};
evdev-proxy = prev.callPackage ./tools/virtualisation/evdev-proxy {};
anime4k = prev.callPackage ./misc/video/anime4k {};
anime-dl = prev.callPackage ./tools/video/animedl {
pySmartDL = pySmartDL;
cfscrape = cfscrape;
};
discord-wrapped = wrapInSandbox {
name = "discord";
package = prev.discord;
#package = discord-system-electron;
binaryName = "discord";
mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
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;";
};
};
sddm-sugar-dark = prev.callPackage ./sddm-sugar-dark {};
iptsd = prev.callPackage ./tools/daemons/iptsd {};
surface-control = prev.callPackage ./tools/system/surface-control {};
trackma = prev.callPackage ./tools/video/trackma {};
multimc-wrapped = wrapInSandbox {
name = "multimc";
package = prev.multimc.override {
jdk = prev.jdk11;
jdk8 = prev.jdk11;
};
binaryName = "multimc";
mountInHome = [ ".local/share/multimc" ];
additionalBlacklist = [ "/mnt" ];
chdirTo = "/home/$USER";
#extraEnv = {
# DRI_PRIME = "1";
#};
};
minecraft-wrapped = wrapInSandbox {
name = "minecraft-launcher";
package = prev.minecraft;
binaryName = "minecraft-launcher";
mountInHome = [ ".local/share/minecraft" ".minecraft" ];
additionalBlacklist = [ "/mnt" ];
chdirTo = "/home/$USER";
};
steam-wrapped = wrapInSandbox {
name = "steam";
package = prev.steam;
binaryName = "steam";
mountInHome = [ ".steam" ".local/share/Steam" ];
additionalBlacklist = [ "/mnt" ];
additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ];
chdirTo = "/home/$USER";
extraEnv = {
DRI_PRIME = "1";
};
copyIntoSandbox = [ "/share" ];
};
android-studio-wrapped = wrapInSandbox {
name = "android-studio";
package = prev.android-studio;
binaryName = "android-studio";
additionalBlacklist = [ "/mnt" ];
mountInHome = [ "Development/Personal/Android" ".android" ];
chdirTo = "/home/$USER";
};
xournalpp-git = prev.xournalpp.overrideAttrs (old: {
version = "1.1.1";
src = prev.fetchFromGitHub {
owner = "bhennion";
repo = "xournalpp";
rev = "5d1545b0c4303e45b4ddf4ef8a1565eba822a9af";
sha256 = "1d17lvydlny9pvaxa9xy53wxs7i6d563lp5r9g3r1xpgnb7zli8v";
};
});
gajim-mainwindow = prev.callPackage ./applications/networking/instant-messengers/gajim {
nbxmpp = prev.python3Packages.nbxmpp.overrideAttrs (old: {
src = prev.fetchFromGitLab {
domain = "dev.gajim.org";
owner = "gajim";
repo = "python-nbxmpp";
rev = "22aaefb2b36eb46a5306092496c2be680b167f61";
sha256 = "sha256-7emxKdeDuQE6OkK+umw2p1drf94yZp+P00tdEfeI81M=";
};
});
};
swaync = prev.callPackage ./tools/desktop/swaync {};
# TODO: Remove once NixOS has version 0.11.16 in their repos
sublime-music-no-test = prev.callPackage ./applications/audio/sublime-music {};
# TODO: Remove once upstream has a new version tagged
kasts-git = prev.libsForQt5.kasts.overrideAttrs (old: {
src = builtins.fetchTarball {
url = "https://invent.kde.org/plasma-mobile/kasts/-/archive/master/kasts-master.tar.gz";
sha256 = "sha256:1n7j4011hgscmjj728iyjgifpbnwc1sy32b5aw834n1vgxfkq00l";
};
buildInputs = old.buildInputs ++ [ prev.taglib prev.libsForQt5.qtkeychain ];
});
}