treewide: start transitioning to nixpkgs package structure

This commit is contained in:
raf 2024-03-18 16:33:41 +03:00
commit d52fa53348
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
16 changed files with 190 additions and 63 deletions

View file

@ -0,0 +1,6 @@
# ani-cli
ani-cli is already in nixpkgs. The sole reason it's been put in this overlay is so that
I can receive the updates _as they happen_ and not wait until a maintainer bumps it up.
The source for ani-cli is updated periodically.

View file

@ -0,0 +1,43 @@
{
fetchFromGitHub,
makeWrapper,
stdenvNoCC,
lib,
gnugrep,
gnused,
wget,
fzf,
mpv,
aria2,
pins,
}: let
pin = pins.ani-cli;
in
stdenvNoCC.mkDerivation {
pname = "ani-cli";
inherit (pin) version;
src = fetchFromGitHub {
inherit (pin.repository) owner repo;
sha256 = pin.hash;
rev = pin.revision;
};
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; [NotAShelf];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,32 @@
{
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];
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];
};
}

View file

@ -0,0 +1,69 @@
{
lib,
fetchFromGitHub,
# python
python3,
# runtime dependencies
ffmpeg,
fzf,
mpv,
}:
python3.pkgs.buildPythonPackage {
pname = "mov-cli";
version = "2024-03-14-unstable";
pyproject = true;
src = fetchFromGitHub {
owner = "mov-cli";
repo = "mov-cli";
rev = "620c46a4426cedda1b8cd4739c8ab3faeccae187";
hash = "sha256-l2CwHbvtRZ+tktwF3+zJj4KM4tCN0sRf/o654FWs0C4=";
};
makeWrapperArgs = let
binPath = lib.makeBinPath [
ffmpeg
fzf
mpv
];
in [
"--prefix PATH : ${binPath}"
];
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
click
colorama
httpx
krfzf-py
lxml
poetry-core
pycrypto
setuptools
six
tldextract
toml
inquirer
unidecode
];
build-system = [
python3.pkgs.setuptools-scm
];
nativeBuildInputs = [
python3.pkgs.pythonRelaxDepsHook
];
pythonRelaxDeps = [
"httpx"
"tldextract"
];
meta = {
homepage = "https://github.com/mov-cli/mov-cli";
description = "A cli tool to browse and watch movies";
license = lib.licenses.gpl3Only;
mainProgram = "mov-cli";
};
}

View file

@ -0,0 +1,47 @@
{
pins,
lib,
disableHardening ? true,
fetchFromGitHub,
stdenv,
unixtools,
}:
assert disableHardening -> lib.warn "nyxpkgs/rat disables hardening to avoid segfaults. You may want to consider overriding the package if this is undesirable" true; let
pin = pins.rat;
pname = "rat";
version = "2.0.1";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
inherit (pin.repository) owner repo;
sha256 = pin.hash;
rev = pin.revision;
};
# the code is so unsafe, it doesn't work with even one of hardening flags
# lol
hardeningDisable = lib.optionals disableHardening ["all"];
buildInputs = [unixtools.xxd];
buildPhase = ''
runHook preBuild
make linux_audio
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -Dm755 ./bin/rat -t "$out/bin/"
runHook postInstall
'';
meta = {
description = "rat";
homepage = "https://github.com/thinkingsand/rat";
maintainers = with lib.maintainers; [NotAShelf];
};
}

View file

@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
rofi-wayland-unwrapped,
libqalculate,
glib,
cairo,
gobject-introspection,
wrapGAppsHook,
pins,
...
}: let
pin = pins.rofi-calc;
in
stdenv.mkDerivation {
pname = "rofi-calc-wayland";
inherit (pin) version;
src = fetchFromGitHub {
inherit (pin.repository) owner repo;
sha256 = pin.hash;
rev = pin.revision;
};
nativeBuildInputs = [
autoreconfHook
pkg-config
gobject-introspection
wrapGAppsHook
];
buildInputs = [
rofi-wayland-unwrapped
libqalculate
glib
cairo
];
patches = [
../../patches/0002-patch-plugin-dir.patch
];
postPatch = ''
sed "s|qalc_binary = \"qalc\"|qalc_binary = \"${libqalculate}/bin/qalc\"|" -i src/calc.c
'';
meta = with lib; {
description = "Do live calculations in rofi!";
homepage = "https://github.com/svenstaro/rofi-calc";
license = licenses.mit;
platforms = with platforms; linux;
};
}

View file

@ -0,0 +1,65 @@
{
stdenv,
lib,
fetchFromGitHub,
makeWrapper,
autoreconfHook,
pkg-config,
cairo,
glib,
libnotify,
rofi-wayland-unwrapped,
wl-clipboard,
wtype,
pins,
...
}: let
pin = pins.rofi-emoji;
in
stdenv.mkDerivation {
pname = "rofi-emoji-wayland";
inherit (pin) version;
src = fetchFromGitHub {
inherit (pin.repository) owner repo;
sha256 = pin.hash;
rev = pin.revision;
};
nativeBuildInputs = [
autoreconfHook
pkg-config
makeWrapper
];
buildInputs = [
cairo
glib
libnotify
rofi-wayland-unwrapped
wl-clipboard
wtype
];
patches = [
../../patches/0002-patch-plugin-dir.patch
];
postPatch = ''
patchShebangs clipboard-adapter.sh
'';
postFixup = ''
chmod +x $out/share/rofi-emoji/clipboard-adapter.sh
wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \
--prefix PATH ":" ${lib.makeBinPath [libnotify wl-clipboard wtype]}
'';
meta = {
description = "An emoji selector plugin for Rofi";
homepage = "https://github.com/Mange/rofi-emoji";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [NotAShelf];
platforms = lib.platforms.linux;
};
}