initial commit

This commit is contained in:
raf 2023-11-03 10:25:58 +03:00
commit a7d89a9499
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
10 changed files with 348 additions and 0 deletions

41
pkgs/ani-cli/default.nix Normal file
View file

@ -0,0 +1,41 @@
{
fetchFromGitHub,
makeWrapper,
stdenvNoCC,
lib,
gnugrep,
gnused,
wget,
fzf,
mpv,
aria2,
}:
stdenvNoCC.mkDerivation rec {
pname = "ani-cli";
version = "4.6";
src = fetchFromGitHub {
owner = "pystardust";
repo = "${pname}";
rev = "v${version}";
hash = "sha256-ahyCD4QsYyb3xtNK03HITeF0+hJFIHZ+PAjisuS/Kdo=";
};
nativeBuildInputs = [makeWrapper];
installPhase = ''
runHook preInstall
install -Dm755 ani-cli $out/bin/ani-cli
wrapProgram $out/bin/ani-cli \
--prefix PATH : ${lib.makeBinPath [gnugrep gnused wget fzf mpv aria2]}
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/pystardust/ani-cli";
description = "A cli tool to browse and play anime";
license = licenses.gpl3Plus;
maintainers = with maintainers; [skykanin];
platforms = platforms.unix;
};
}

38
pkgs/cloneit/default.nix Normal file
View file

@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
...
}:
rustPlatform.buildRustPackage rec {
pname = "cloneit";
version = "0.1.0";
src = fetchFromGitHub {
owner = "alok8bb";
repo = "cloneit";
rev = version;
sha256 = "CyR/vdg6xqlxmv8jOXka3JIBhi8zafHiBOL67XLf5KM=";
};
cargoSha256 = "zhsFIU7gmP4gR5NhrFslFSvYIXH1fxJLZU8nV67PluQ=";
nativeBuildInputs = [pkg-config];
buildInputs = [openssl];
meta2 = with lib; {
mainProgram = "cloneit";
homepage = "https://github.com/alok8bb/cloneit";
license = licenses.mit;
};
meta = {
description = "CLI tool to download specific GitHub directories or files";
homepage = "https://github.com/alok8bb/cloneit";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [NotAShelf];
};
}

37
pkgs/default.nix Normal file
View file

@ -0,0 +1,37 @@
{
inputs,
self,
...
}: {
systems = ["x86_64-linux"];
imports = [inputs.flake-parts.flakeModules.easyOverlay];
perSystem = {
config,
system,
pkgs,
...
}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
};
packages = {
ani-cli = pkgs.callPackage ./ani-cli {};
rat = pkgs.callPackage ./rat {};
mov-cli = pkgs.callPackage ./mov-cli {};
reposilite-bin = pkgs.callPackage ./reposilite-bin {};
cloneit = pkgs.callPackage ./cloneit {};
foot-transparent = pkgs.foot.overrideAttrs (old: {
patches =
(old.patches or [])
++ [
../patches/0001-foot-transparent.patch
];
});
};
};
}

53
pkgs/mov-cli/default.nix Normal file
View file

@ -0,0 +1,53 @@
{
lib,
pkgs,
python3Packages,
fetchFromGitHub,
fetchPypi,
}:
python3Packages.buildPythonPackage rec {
pname = "mov-cli";
version = "1.5.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "mov-cli";
repo = "mov-cli";
rev = "${version}";
hash = "sha256-ixv9guHfXy1kQbpAWAVwPtpxX5IwAQ8CQ2hvhM7sewg=";
};
propagatedBuildInputs = with python3Packages; [
poetry-core
pycryptodome
lxml
six
beautifulsoup4
tldextract
(python3Packages.httpx.overrideAttrs (_old: {
src = fetchFromGitHub {
owner = "encode";
repo = "httpx";
rev = "refs/tags/0.24.0";
hash = "sha256-eLCqmYKfBZXCQvFFh5kGoO91rtsvjbydZhPNtjL3Zaw=";
};
}))
(
python3Packages.buildPythonPackage rec {
pname = "krfzf_py";
version = "0.0.4";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-W0wpR1/HRrtYC3vqEwh+Jwkgwnfa49LCFIArOXaSPCE=";
};
}
)
];
meta = with lib; {
homepage = "https://github.com/mov-cli/mov-cli";
description = "A cli tool to browse and watch movies";
license = licenses.gpl3Only;
mainProgram = "mov-cli";
};
}

36
pkgs/rat/default.nix Normal file
View file

@ -0,0 +1,36 @@
{
stdenv,
fetchurl,
gnused,
makeWrapper,
pkgs,
lib,
}:
stdenv.mkDerivation rec {
pname = "rat";
version = "1.1";
src = fetchurl {
url = "https://github.com/Mcharlsto/rat/releases/download/${version}/rat";
sha256 = "sha256-93sspjvXFPocGFPeCF1AWoWYx5hI7vMltx9SQ7x25z4=";
};
buildInputs = [gnused makeWrapper];
phases = ["installPhase" "postInstall"];
installPhase = ''
mkdir -p $out/bin
cp $src $out/bin/rat
chmod +x $out/bin/rat
sed -i '1 s/^.*$/#\/usr\/bin\/env bash/' $out/bin/rat
'';
postInstall = ''
wrapProgram $out/bin/rat \
--prefix PATH : ${lib.makeBinPath (with pkgs; [sharutils opusfile sox bash])}
'';
}

View file

@ -0,0 +1,38 @@
{
pkgs,
lib,
javaJdk ? pkgs.openjdk17_headless,
...
}: let
inherit (pkgs) stdenv;
jdk = javaJdk;
in
stdenv.mkDerivation (finalAttrs: {
pname = "reposilite-bin";
version = "3.4.10";
jar = builtins.fetchurl {
url = "https://maven.reposilite.com/releases/com/reposilite/reposilite/${finalAttrs.version}/reposilite-${finalAttrs.version}-all.jar";
sha256 = "0ca6awmzsmap28l0f65h71i3kfl5jfqr4c19hadixlp5k0s8qppm";
};
dontUnpack = true;
nativeBuildInputs = [pkgs.makeWrapper];
installPhase = ''
runHook preInstall
makeWrapper ${jdk}/bin/java $out/bin/reposilite \
--add-flags "-Xmx40m -jar $jar" \
--set JAVA_HOME ${jdk}
runHook postInstall
'';
meta = {
description = "A lightweight repository manager for Maven artifacts";
homepage = "https://reposilite.com";
license = lib.licenses.asl20;
mainPackage = finalAttrs.pname;
maintainers = with lib.maintainers; [NotAShelf];
};
})