nixfiles/overlay/default.nix

110 lines
2.9 KiB
Nix

final: prev: rec {
comic-sans = final.callPackage ./comic-sans {};
comic-code = final.callPackage ./comic-code {};
gobar = final.callPackage ./gobar {};
mk-enc-usb = final.callPackage ../extras/mk-enc-usb.nix {};
mk-encrypted-drive = final.callPackage ../extras/mk-encrypted-drive.nix {};
mk-raspberry-ext-drive = final.callPackage ../extras/mk-raspberry-ext-drive.nix {};
kitty-terminfo = final.runCommand "kitty-terminfo" {} ''
mkdir -p $out/share
cp -r ${./kitty-terminfo}/* $out/share
'';
# latest version
# to generate zip:
# nix-shell -p stdenv php phpPackages.composer nodejs yarn
# yarn install --frozen-lockfile --modules-folder public/packages --production
# composer install --no-interaction --no-dev --optimize-autoloader
# bsdtar cvaf ../Projects/nixfiles/overlay/grocy-9f94ba55a4a5ad91a442800d6734ee6968847d3b.zip .
#
# this includes a bunch of unneeded files
# but we cba to go through the bat file
# the author uses to figure out what all the 7z commands do)
grocy = prev.grocy.overrideAttrs (_old: let
version = "4.2.0";
hash = "";
in rec {
inherit version;
src = final.fetchurl {
url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
hash = "sha256-3ci1hB+Q1B8c6Tz4v5r1jX7n5lG1cFWaMjBi7smnndk=";
};
unpackPhase = ''
unzip ${src} -d .
'';
patches = [./grocy-env-variables.diff];
});
mpd-headless =
(prev.mpdWithFeatures.override {
ffmpeg = final.ffmpeg_6-headless;
}) {
features = [
"audiofile"
"ffmpeg"
"faad"
"flac"
"mpg123"
"opus"
"vorbis"
"vorbisenc"
"lame"
"soxr"
"libsamplerate"
"libmpdclient"
"id3tag"
"expat"
"pcre"
"yajl"
"icu"
"sqlite"
"systemd"
"syslog"
"io_uring"
];
};
owncast =
(prev.owncast.override {
ffmpeg = final.ffmpeg_6-headless;
})
.overrideAttrs (_old: {doCheck = false;});
gotosocial = prev.gotosocial.overrideAttrs (_old: let
owner = "superseriousbusiness";
repo = "gotosocial";
version = "0.15.0";
source-hash = "sha256-z0iETddkw4C2R6ig9ZO8MTvhuWnmQ37/6q3oZ4WAzd4=";
web-assets-hash = "sha256-vrSdFIdBcfj6+sxtvv1s/Mu85I1mKxjyUYS902oLKk4=";
web-assets = final.fetchurl {
url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz";
hash = web-assets-hash;
};
in {
inherit version;
src = final.fetchFromGitHub {
inherit owner repo;
rev = "refs/tags/v${version}";
hash = source-hash;
};
passthru.web-assets = web-assets;
ldflags = ["-s" "-w" "-X main.Version=${version}"];
doCheck = false;
postInstall = ''
tar xf ${web-assets}
mkdir -p $out/share/gotosocial
mv web $out/share/gotosocial/
'';
});
}