configuration/common/packages.nix

93 lines
3.1 KiB
Nix

_: pkgs:
with pkgs.lib;
let
local = p: deps: pkgs.callPackage ../packages/${p}.nix deps;
fromLocal = pd: builtins.mapAttrs local pd;
unstable = import <unstable> { inherit (pkgs) config; overlays = [ ]; };
overrideUntilVersion = pv: builtins.mapAttrs
(p: v:
let
inStable = pkgs ? ${p} && versionAtLeast pkgs.${p}.version v;
inUnstable = unstable ? ${p} && versionAtLeast unstable.${p}.version v;
inLocal = pathExists ../packages/${p}.nix;
in
assert assertMsg (! inStable) "${p} ${v} no longer requires an override"; if inUnstable
then assert assertMsg (! inLocal) "${p} ${v} no longer requires local packaging"; unstable.${p}
else local p { }
)
pv;
in
overrideUntilVersion {
apex = "unstable-2021-12-08";
cavif = "1.3.5";
decompiler-mc = "unstable-2022-06-21";
git-diff-image = "unstable-2022-11-17";
gpx-reduce = "unstable-2022-11-18";
ios-safari-remote-debug-kit = "unstable-2022-06-21";
ios-webkit-debug-proxy = "unstable-2021-08-12";
mcaselector = "1.17.2";
nbt-explorer = "2.8.0";
tile-stitch = "unstable-2019-07-10";
watchlog = "1.197.0";
wireguard-vanity-address = "0.4.0";
zsh-abbr = "4.5.0";
} // fromLocal {
add-words = { };
attachments = { };
email-hash = { };
gh = { };
gopass-await = { inherit (pkgs.gnome) zenity; };
gopass-ydotool = { };
iosevka-custom = { };
mozjpeg-simple = { };
off = { };
zsh-click = { };
} // {
# Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1269895
firefox = pkgs.firefox.overrideAttrs (wrapper: {
buildCommand = wrapper.buildCommand + ''
wrapProgram "$executablePath" --unset 'LC_TIME'
'';
});
# Pending https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5370
gnome = pkgs.gnome.overrideScope' (_: gnome: {
gnome-shell = gnome.gnome-shell.overrideAttrs (gnome-shell: {
patches = gnome-shell.patches or [ ] ++ [ ../packages/resources/gnome-shell_screenshot-location.patch ];
});
});
# Required by https://gubaer.github.io/josm-scripting-plugin/docs/graaljs
josm = pkgs.josm.override { jre = pkgs.graalvm17-ce; };
signal-desktop = pkgs.signal-desktop.overrideAttrs (a: {
preFixup = a.preFixup + ''
# Workaround for misc core dumps (Related: https://bugs.gentoo.org/771363)
gappsWrapperArgs+=(--add-flags --disable-gpu)
# Enable tray icon
gappsWrapperArgs+=(--add-flags --use-tray-icon)
'';
# Workaround for https://github.com/NixOS/nixpkgs/issues/178892
runtimeDependencies = a.runtimeDependencies ++ [ pkgs.libappindicator-gtk3 ];
});
vscodium = pkgs.vscodium.overrideAttrs (vscodium: {
preFixup = vscodium.preFixup + ''
gappsWrapperArgs+=( --unset NIXOS_OZONE_WL )
'';
});
# Workaround for https://gitlab.com/kevincox/watchlog/-/issues/6
watchlog = pkgs.watchlog.overrideAttrs (watchlog: {
nativeBuildInputs = watchlog.nativeBuildInputs ++ [ pkgs.makeWrapper ];
postInstall = "wrapProgram $out/bin/wl --set CARGO_PKG_NAME 'watchlog'";
});
ydotool = pkgs.ydotool.overrideAttrs (ydotool: {
patches = ydotool.patches or [ ] ++ [ ../packages/resources/ydotool-halmakish.patch ];
});
}