Add psst
This commit is contained in:
parent
9b8e0c4fd7
commit
ed1f4f4fc6
@ -38,6 +38,8 @@
|
||||
cantata
|
||||
newsflash
|
||||
sublime-music-no-test
|
||||
psst
|
||||
staruml-wrapped
|
||||
];
|
||||
|
||||
ptw = {
|
||||
|
@ -43,6 +43,7 @@ in inputs.nixpkgs.lib.nixosSystem {
|
||||
emacs.overlay
|
||||
(import ../packages)
|
||||
(import ../overlays/simple.nix)
|
||||
(import ../overlays/sandbox.nix)
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -3,4 +3,5 @@
|
||||
{
|
||||
simple = import ./simple.nix;
|
||||
surface = import ./surface.nix pkgs;
|
||||
sandbox = import ./sandbox.nix;
|
||||
}
|
||||
|
59
overlays/sandbox.nix
Normal file
59
overlays/sandbox.nix
Normal file
@ -0,0 +1,59 @@
|
||||
final: prev:
|
||||
|
||||
let
|
||||
wrapInSandbox = prev.callPackage ../lib/sandbox.nix {};
|
||||
in {
|
||||
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;";
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
}
|
@ -67,4 +67,26 @@ final: prev:
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# TODO: Remove once upstream has a new version tagged
|
||||
kasts-git = prev.libsForQt5.kasts.overrideAttrs (old: {
|
||||
src = let
|
||||
commit = "b39be0118ef6ff587b433af185c584f3d5bcec30";
|
||||
in builtins.fetchTarball {
|
||||
url = "https://invent.kde.org/plasma-mobile/kasts/-/archive/${commit}/kasts-${commit}.tar.gz";
|
||||
sha256 = "06myymbwj89357cpg7phha1x8q84mlhcy4f44pdkqmg7lkd5a6df";
|
||||
};
|
||||
|
||||
buildInputs = old.buildInputs ++ [ prev.taglib prev.libsForQt5.qtkeychain ];
|
||||
});
|
||||
|
||||
xournalpp-git = prev.xournalpp.overrideAttrs (old: {
|
||||
version = "1.1.1";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "bhennion";
|
||||
repo = "xournalpp";
|
||||
rev = "5d1545b0c4303e45b4ddf4ef8a1565eba822a9af";
|
||||
sha256 = "1d17lvydlny9pvaxa9xy53wxs7i6d563lp5r9g3r1xpgnb7zli8v";
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ let
|
||||
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 {};
|
||||
@ -31,26 +30,6 @@ key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
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 {};
|
||||
|
||||
@ -58,64 +37,6 @@ key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
|
||||
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 {
|
||||
@ -133,20 +54,10 @@ key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
# 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 = let
|
||||
commit = "b39be0118ef6ff587b433af185c584f3d5bcec30";
|
||||
in builtins.fetchTarball {
|
||||
url = "https://invent.kde.org/plasma-mobile/kasts/-/archive/${commit}/kasts-${commit}.tar.gz";
|
||||
sha256 = "06myymbwj89357cpg7phha1x8q84mlhcy4f44pdkqmg7lkd5a6df";
|
||||
};
|
||||
|
||||
buildInputs = old.buildInputs ++ [ prev.taglib prev.libsForQt5.qtkeychain ];
|
||||
});
|
||||
|
||||
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 {};
|
||||
}
|
||||
|
42
packages/tools/audio/psst/default.nix
Normal file
42
packages/tools/audio/psst/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cairo
|
||||
, openssl
|
||||
, alsa-lib
|
||||
, dbus
|
||||
, gtk3
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "psst";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpochyla";
|
||||
repo = "psst";
|
||||
rev = "8f142a3232a706537c8477bff43d2e52309f6b78";
|
||||
sha256 = "00pdijd70rq98lrrfgh6pzqa6w3pp49lmpzaviw7nrgfl7l6j3v0";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-/nbYi7n58D8V3qa9rStg7JfGh4sAhTxC2niFFW5Ta34=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ cairo openssl gtk3 alsa-lib dbus ];
|
||||
|
||||
postInstall = ''
|
||||
# Install the desktop file
|
||||
mkdir -p $out/share
|
||||
cp .pkg/psst.desktop $out/share/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern Volume Mixer for PulseAudio";
|
||||
homepage = "https://github.com/Aurailus/Myxer";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ erin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user