mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
chore: format with alejandra
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
{ lib, stdenv, makeWrapper, pandoc, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
pandoc,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "daybook";
|
||||
src = fetchFromGitHub {
|
||||
@@ -7,8 +13,8 @@ stdenv.mkDerivation {
|
||||
rev = "db2c34830e09183c80f3381bf5e4c44d52f05d53";
|
||||
sha256 = "0nbsv8f12qh5spq7zhimhdf3p7msk33xrb0ilqvlc6jmlkpislmv";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ pandoc ];
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
buildInputs = [pandoc];
|
||||
buildPhase = ''
|
||||
mkdir -p $out/man/man1
|
||||
pandoc --standalone --to man daybook.1.md -o $out/man/man1/daybook.1
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib, writeShellScriptBin }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
writeShellScriptBin,
|
||||
}: let
|
||||
aliasFlag = name: value: "-c alias.${name}=${lib.escapeShellArg value}";
|
||||
aliases = {
|
||||
eroeffne = "init";
|
||||
@@ -20,10 +22,11 @@ let
|
||||
tagebuch = "log";
|
||||
zustand = "status";
|
||||
};
|
||||
in writeShellScriptBin "depp" ''
|
||||
if [ $# -gt 0 ]; then
|
||||
git ${lib.concatStringsSep " " (lib.attrsets.mapAttrsToList aliasFlag aliases)} "$@"
|
||||
else
|
||||
printf "${lib.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: v: n + " " + v) aliases)}\n"
|
||||
fi
|
||||
''
|
||||
in
|
||||
writeShellScriptBin "depp" ''
|
||||
if [ $# -gt 0 ]; then
|
||||
git ${lib.concatStringsSep " " (lib.attrsets.mapAttrsToList aliasFlag aliases)} "$@"
|
||||
else
|
||||
printf "${lib.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: v: n + " " + v) aliases)}\n"
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ yarn2nix-moretea }:
|
||||
{yarn2nix-moretea}:
|
||||
yarn2nix-moretea.mkYarnPackage {
|
||||
name = "devanagari";
|
||||
src = ./.;
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
|
||||
{
|
||||
fetchurl,
|
||||
fetchgit,
|
||||
linkFarm,
|
||||
runCommandNoCC,
|
||||
gnutar,
|
||||
}: rec {
|
||||
offline_cache = linkFarm "offline" packages;
|
||||
packages = [
|
||||
{
|
||||
name = "_sanskrit_coders_sanscript___sanscript_1.1.5.tgz";
|
||||
path = fetchurl {
|
||||
name = "_sanskrit_coders_sanscript___sanscript_1.1.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/@sanskrit-coders/sanscript/-/sanscript-1.1.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/@sanskrit-coders/sanscript/-/sanscript-1.1.5.tgz";
|
||||
sha1 = "a22222cf7a5d55f7b19e210242c59f6f819fd643";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{ lib, stdenv, xdo, makeWrapper, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
xdo,
|
||||
makeWrapper,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "devour";
|
||||
version = "master";
|
||||
@@ -10,10 +16,10 @@ stdenv.mkDerivation {
|
||||
sha256 = "0f2jb8knx7lqy6wmf3rchgq2n2dj496lm8vgcs58rppzrmsk59d5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ xdo ];
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
buildInputs = [xdo];
|
||||
|
||||
DESTDIR="$(out)";
|
||||
DESTDIR = "$(out)";
|
||||
|
||||
fixupPhase = ''
|
||||
wrapProgram $out/bin/devour --prefix PATH ":" ${xdo}/bin ;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ fetchzip, symlinkJoin, lib }:
|
||||
let
|
||||
{
|
||||
fetchzip,
|
||||
symlinkJoin,
|
||||
lib,
|
||||
}: let
|
||||
gfs-font = name: sha256:
|
||||
fetchzip {
|
||||
inherit name sha256;
|
||||
@@ -10,30 +13,31 @@ let
|
||||
unzip -j -o $downloadedFile "**/*.otf" -d $out/share/fonts/opentype
|
||||
'';
|
||||
};
|
||||
in symlinkJoin {
|
||||
name = "gfs-fonts";
|
||||
paths = lib.mapAttrsToList gfs-font {
|
||||
GFS_Artemisia = "1q39086pr2jhv118fjfv6l1li6japv4pdjnhh1scqw06mqrmydf4";
|
||||
GFS_Baskerville = "07gx5b9b43zv74d2lay37sajd4ba2wqn3b7xzvyhn265ds9x7cxk";
|
||||
GFS_Bodoni = "0jhl0728ikzha1krm01sk52nz3jzibidwmyvgidg61d87l8nbf2p";
|
||||
GFS_Bodoni_Classic = "06jw2irskn75s50mgwkx08rzwqi82gpc6lgjsimsi8p81566gfrh";
|
||||
GFS_Complutum = "1q7dxs2z3yrgchd2pz9h72mjrk62kdc2mmqw8kg9q76k28f8n3p0"; # -> GFSPolyglot.otf
|
||||
GFS_Decker = "016v1j5n9ph4i2cpmlk26pcxhp3q2fjwlaryppd5akl84dfkpncl";
|
||||
GFS_Didot = "0ysvrp527wm0wxfp6wmlgmxfx7ysr5mwpmjmqp1h605cy44jblfm";
|
||||
GFS_Didot_Classic = "0n5awqksvday3l3d85yhwmbmfj9bcpxivy4wpd4zrkgl7b85af2c";
|
||||
GFS_Didot_Display = "0n2di2zyc76w6f8mc6hfilc2ir6igks7ldjp9fkw1gjp06330fi7";
|
||||
GFS_Elpis = "02l7wd3nbn1kpv7ghxh19k4dbvd49ijyxd6gq83gcr9vlmxcq2s2";
|
||||
GFS_Gazis = "0x9iwj6pinaykrds0iw6552hf256d0dr41sipdb1jnnlr2d3bf9w";
|
||||
GFS_Goschen = "1jvbn33wzq2yj0aygwy9pd2msg3wkmdp0npjzazadrmfjpnpkcy9";
|
||||
GFS_NeoHellenic = "1ixm2frdc6i5lbn9h0h4gdsvsw2k4hny75q8ig4kgs28ac3dbzq3";
|
||||
GFS_Olga = "1qaxaw3ngnbr1gb1xyk5f2z647zklg6sl3bqwi28l47j9mp0f8aj";
|
||||
GFS_Orpheus = "18n6fag4pyr8jdwnsz0vixf47jz4ym8mjmppc1w3k7v27cg1z9dz";
|
||||
GFS_Orpheus_Classic = "1rqy1kf7slw56zfhbv264yzarjisnqbqydj4f7hghiknhnmdakps";
|
||||
GFS_Orpheus_Sans = "02rh7z8c3h3xyfi52rn47z4finizx636d05bg5g23v0l0mqs6nkg";
|
||||
GFS_Philostratos = "0zh3d0cn6b2fjbwnvmg379z20zh7w626w2bnj19xcazjvqkwhzx1";
|
||||
GFS_Porson = "0c2axagkm6wxv8na2q11k6c5dmgkwx5hn9sh9qy82gbips9blnda";
|
||||
GFS_Pyrsos = "0y0dv7y3n01bbhhnczflx1zcc7by56cffmr2xqixj2rd1nvchx0j";
|
||||
GFS_Solomos = "1mpx9mw566awvfjdfx5sbz3wz5gbnjjw56gz30mk1lw06vxf0dxz";
|
||||
GFS_Theokritos = "0haasx819x8c8yvna6pqywgi4060av2570jm34cddnz1fgnhv1b8";
|
||||
};
|
||||
}
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "gfs-fonts";
|
||||
paths = lib.mapAttrsToList gfs-font {
|
||||
GFS_Artemisia = "1q39086pr2jhv118fjfv6l1li6japv4pdjnhh1scqw06mqrmydf4";
|
||||
GFS_Baskerville = "07gx5b9b43zv74d2lay37sajd4ba2wqn3b7xzvyhn265ds9x7cxk";
|
||||
GFS_Bodoni = "0jhl0728ikzha1krm01sk52nz3jzibidwmyvgidg61d87l8nbf2p";
|
||||
GFS_Bodoni_Classic = "06jw2irskn75s50mgwkx08rzwqi82gpc6lgjsimsi8p81566gfrh";
|
||||
GFS_Complutum = "1q7dxs2z3yrgchd2pz9h72mjrk62kdc2mmqw8kg9q76k28f8n3p0"; # -> GFSPolyglot.otf
|
||||
GFS_Decker = "016v1j5n9ph4i2cpmlk26pcxhp3q2fjwlaryppd5akl84dfkpncl";
|
||||
GFS_Didot = "0ysvrp527wm0wxfp6wmlgmxfx7ysr5mwpmjmqp1h605cy44jblfm";
|
||||
GFS_Didot_Classic = "0n5awqksvday3l3d85yhwmbmfj9bcpxivy4wpd4zrkgl7b85af2c";
|
||||
GFS_Didot_Display = "0n2di2zyc76w6f8mc6hfilc2ir6igks7ldjp9fkw1gjp06330fi7";
|
||||
GFS_Elpis = "02l7wd3nbn1kpv7ghxh19k4dbvd49ijyxd6gq83gcr9vlmxcq2s2";
|
||||
GFS_Gazis = "0x9iwj6pinaykrds0iw6552hf256d0dr41sipdb1jnnlr2d3bf9w";
|
||||
GFS_Goschen = "1jvbn33wzq2yj0aygwy9pd2msg3wkmdp0npjzazadrmfjpnpkcy9";
|
||||
GFS_NeoHellenic = "1ixm2frdc6i5lbn9h0h4gdsvsw2k4hny75q8ig4kgs28ac3dbzq3";
|
||||
GFS_Olga = "1qaxaw3ngnbr1gb1xyk5f2z647zklg6sl3bqwi28l47j9mp0f8aj";
|
||||
GFS_Orpheus = "18n6fag4pyr8jdwnsz0vixf47jz4ym8mjmppc1w3k7v27cg1z9dz";
|
||||
GFS_Orpheus_Classic = "1rqy1kf7slw56zfhbv264yzarjisnqbqydj4f7hghiknhnmdakps";
|
||||
GFS_Orpheus_Sans = "02rh7z8c3h3xyfi52rn47z4finizx636d05bg5g23v0l0mqs6nkg";
|
||||
GFS_Philostratos = "0zh3d0cn6b2fjbwnvmg379z20zh7w626w2bnj19xcazjvqkwhzx1";
|
||||
GFS_Porson = "0c2axagkm6wxv8na2q11k6c5dmgkwx5hn9sh9qy82gbips9blnda";
|
||||
GFS_Pyrsos = "0y0dv7y3n01bbhhnczflx1zcc7by56cffmr2xqixj2rd1nvchx0j";
|
||||
GFS_Solomos = "1mpx9mw566awvfjdfx5sbz3wz5gbnjjw56gz30mk1lw06vxf0dxz";
|
||||
GFS_Theokritos = "0haasx819x8c8yvna6pqywgi4060av2570jm34cddnz1fgnhv1b8";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
# { stdenv, python }:
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
{pkgs ? import <nixpkgs> {}}:
|
||||
with pkgs;
|
||||
with pkgs.python2Packages;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "gourmet";
|
||||
version = "0.17.4";
|
||||
src = builtins.fetchTarball {
|
||||
url = "https://github.com/thinkle/gourmet/archive/${version}.tar.gz";
|
||||
};
|
||||
buildInputs = [ distutils_extra intltool ];
|
||||
propagatedBuildInputs = [ sqlalchemy reportlab lxml ];
|
||||
meta = with stenv.lib; { maintainers = with maintainers; [ kmein ]; };
|
||||
}
|
||||
buildPythonApplication rec {
|
||||
pname = "gourmet";
|
||||
version = "0.17.4";
|
||||
src = builtins.fetchTarball {
|
||||
url = "https://github.com/thinkle/gourmet/archive/${version}.tar.gz";
|
||||
};
|
||||
buildInputs = [distutils_extra intltool];
|
||||
propagatedBuildInputs = [sqlalchemy reportlab lxml];
|
||||
meta = with stenv.lib; {maintainers = with maintainers; [kmein];};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{ lib, stdenv, cmake, python3, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2017.09.06";
|
||||
name = "iolanguage-${version}";
|
||||
@@ -9,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "07rg1zrz6i6ghp11cm14w7bbaaa1s8sb0y5i7gr2sds0ijlpq223";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
buildInputs = [ cmake python3 ];
|
||||
buildInputs = [cmake python3];
|
||||
preBuild = "mkdir -p build && cd build";
|
||||
buildPhase = ''
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$out/ ..
|
||||
@@ -17,8 +23,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
meta = with lib; {
|
||||
homepage = "https://iolanguage.org/";
|
||||
description =
|
||||
"Io programming language. Inspired by Self, Smalltalk and LISP.";
|
||||
description = "Io programming language. Inspired by Self, Smalltalk and LISP.";
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "ix";
|
||||
src = fetchurl {
|
||||
url = "https://ix.io/client";
|
||||
sha256 = "0xc2s4s1aq143zz8lgkq5k25dpf049dw253qxiav5k7d7qvzzy57";
|
||||
};
|
||||
phases = [ "installPhase" ];
|
||||
phases = ["installPhase"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install $src $out/bin/ix
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
{ lib, pkg-config, fetchFromGitHub, automake, autoconf, which, libtool, stdenv, gnutls
|
||||
, doxygen, asciidoc
|
||||
, tls ? false, docs ? true }:
|
||||
{
|
||||
lib,
|
||||
pkg-config,
|
||||
fetchFromGitHub,
|
||||
automake,
|
||||
autoconf,
|
||||
which,
|
||||
libtool,
|
||||
stdenv,
|
||||
gnutls,
|
||||
doxygen,
|
||||
asciidoc,
|
||||
tls ? false,
|
||||
docs ? true,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "libcoap";
|
||||
version = "unstable-2021-05-28";
|
||||
@@ -11,8 +23,9 @@ stdenv.mkDerivation {
|
||||
sha256 = "1igjv0hbwmakdccp5in4gw9w2p5swxdwsdx0glyna2s29sh1d37x";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
buildInputs = [ which pkg-config automake autoconf libtool ]
|
||||
++ lib.optionals docs [ doxygen asciidoc ]
|
||||
buildInputs =
|
||||
[which pkg-config automake autoconf libtool]
|
||||
++ lib.optionals docs [doxygen asciidoc]
|
||||
++ lib.optional tls gnutls;
|
||||
# preConfigure = "./autogen.sh";
|
||||
# configureFlags = lib.optional (!docs) "--disable-documentation" ++ lib.optional tls "--enable-dtls";
|
||||
@@ -27,6 +40,6 @@ stdenv.mkDerivation {
|
||||
description = "A CoAP (RFC 7252) implementation in C";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd2;
|
||||
maintainers = [ maintainers.kmein ];
|
||||
maintainers = [maintainers.kmein];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
{ lib, fetchFromGitHub, mkDerivation, ansi-terminal, base, directory, doctest, filepath
|
||||
, megaparsec, optparse-applicative, prettyprinter, process
|
||||
, raw-strings-qq, stdenv, tasty, tasty-hunit, text, yaml
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
mkDerivation,
|
||||
ansi-terminal,
|
||||
base,
|
||||
directory,
|
||||
doctest,
|
||||
filepath,
|
||||
megaparsec,
|
||||
optparse-applicative,
|
||||
prettyprinter,
|
||||
process,
|
||||
raw-strings-qq,
|
||||
stdenv,
|
||||
tasty,
|
||||
tasty-hunit,
|
||||
text,
|
||||
yaml,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "mahlzeit";
|
||||
@@ -14,15 +30,32 @@ mkDerivation {
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal base directory filepath megaparsec prettyprinter text
|
||||
ansi-terminal
|
||||
base
|
||||
directory
|
||||
filepath
|
||||
megaparsec
|
||||
prettyprinter
|
||||
text
|
||||
yaml
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal base directory filepath optparse-applicative process
|
||||
text yaml
|
||||
ansi-terminal
|
||||
base
|
||||
directory
|
||||
filepath
|
||||
optparse-applicative
|
||||
process
|
||||
text
|
||||
yaml
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base doctest megaparsec raw-strings-qq tasty tasty-hunit
|
||||
base
|
||||
doctest
|
||||
megaparsec
|
||||
raw-strings-qq
|
||||
tasty
|
||||
tasty-hunit
|
||||
];
|
||||
homepage = "https://github.com/kmein/mahlzeit";
|
||||
description = "Recipe toolkit";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ stdenv, pandoc, lib, fetchgit }:
|
||||
{
|
||||
stdenv,
|
||||
pandoc,
|
||||
lib,
|
||||
fetchgit,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "pandoc-doc";
|
||||
version = pandoc.version;
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{ lib, stdenv, cmake, pkgconfig, libogg, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
pkgconfig,
|
||||
libogg,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "opustags";
|
||||
version = "1.3.0";
|
||||
@@ -14,9 +21,9 @@ stdenv.mkDerivation rec {
|
||||
"-DCMAKE_INSTALL_PREFIX=$out"
|
||||
];
|
||||
|
||||
buildInputs = [ libogg ];
|
||||
buildInputs = [libogg];
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
nativeBuildInputs = [cmake pkgconfig];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/fmang/opustags";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ fetchPypi, buildPythonPackage, pygtrie, ... }:
|
||||
{
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
pygtrie,
|
||||
...
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "betacode";
|
||||
version = "0.2";
|
||||
@@ -7,6 +12,6 @@ buildPythonPackage rec {
|
||||
sha256 = "08fnjzjvnm9m6p4ddyr8qgfb9bs2nipv4ls50784v0xazgxx7siv";
|
||||
};
|
||||
preBuild = ''echo > README.rst'';
|
||||
propagatedBuildInputs = [ pygtrie ];
|
||||
propagatedBuildInputs = [pygtrie];
|
||||
doCheck = false;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{ fetchFromGitHub, buildPythonPackage, backports_functools_lru_cache, selenium, regex, ... }:
|
||||
{
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
backports_functools_lru_cache,
|
||||
selenium,
|
||||
regex,
|
||||
...
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "indic_transliteration";
|
||||
version = "unstable-2020-12-15";
|
||||
@@ -8,7 +15,7 @@ buildPythonPackage rec {
|
||||
rev = "2ea25a03af15937916b6768835e056166986c567";
|
||||
sha256 = "1pcf800hl0zkcffc47mkjq9mizsxdi0hwxlnij5bvbqdshd3w9ll";
|
||||
};
|
||||
patches = [ ./regex-version.patch ];
|
||||
propagatedBuildInputs = [ backports_functools_lru_cache selenium regex ];
|
||||
patches = [./regex-version.patch];
|
||||
propagatedBuildInputs = [backports_functools_lru_cache selenium regex];
|
||||
doCheck = false;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
{ buildPythonApplication, fetchPypi, requests }:
|
||||
let
|
||||
in buildPythonApplication rec {
|
||||
pname = "instaloader";
|
||||
version = "4.2.4";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "02zqb02idk2pzks7dv42vigcmmpjpfhfdyjp911yr0ix7dy3q0b9";
|
||||
};
|
||||
propagatedBuildInputs = [ requests ];
|
||||
doCheck = false;
|
||||
}
|
||||
{
|
||||
buildPythonApplication,
|
||||
fetchPypi,
|
||||
requests,
|
||||
}: let
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "instaloader";
|
||||
version = "4.2.4";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "02zqb02idk2pzks7dv42vigcmmpjpfhfdyjp911yr0ix7dy3q0b9";
|
||||
};
|
||||
propagatedBuildInputs = [requests];
|
||||
doCheck = false;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{ fetchPypi, buildPythonPackage, ... }:
|
||||
{
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
...
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "pygtrie";
|
||||
version = "2.3";
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
{ buildPythonPackage, buildPythonApplication, fetchPypi, pytestrunner, six, beautifulsoup4, requests, dbus-python }:
|
||||
let
|
||||
{
|
||||
buildPythonPackage,
|
||||
buildPythonApplication,
|
||||
fetchPypi,
|
||||
pytestrunner,
|
||||
six,
|
||||
beautifulsoup4,
|
||||
requests,
|
||||
dbus-python,
|
||||
}: let
|
||||
lyricwikia = buildPythonPackage rec {
|
||||
pname = "lyricwikia";
|
||||
version = "0.1.9";
|
||||
@@ -7,17 +15,18 @@ let
|
||||
inherit pname version;
|
||||
sha256 = "0sa5wkbgp5bpgkl8hgn7byyz9zj0786647ikf2l0k8m4fimq623y";
|
||||
};
|
||||
buildInputs = [ pytestrunner ];
|
||||
propagatedBuildInputs = [ six beautifulsoup4 requests ];
|
||||
buildInputs = [pytestrunner];
|
||||
propagatedBuildInputs = [six beautifulsoup4 requests];
|
||||
doCheck = false;
|
||||
};
|
||||
in buildPythonApplication rec {
|
||||
pname = "spotify-cli-linux";
|
||||
version = "1.4.2";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1gxich3v2i4lmh60abbw3mw15399afvvqflv8g6plvvbmvxmbgp0";
|
||||
};
|
||||
propagatedBuildInputs = [ lyricwikia dbus-python ];
|
||||
doCheck = false;
|
||||
}
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "spotify-cli-linux";
|
||||
version = "1.4.2";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1gxich3v2i4lmh60abbw3mw15399afvvqflv8g6plvvbmvxmbgp0";
|
||||
};
|
||||
propagatedBuildInputs = [lyricwikia dbus-python];
|
||||
doCheck = false;
|
||||
}
|
||||
|
||||
@@ -1,31 +1,35 @@
|
||||
{ stdenv, fetchFromGitHub, lib, pandoc }:
|
||||
let
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pandoc,
|
||||
}: let
|
||||
owner = "kamalist";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "auc";
|
||||
version = "2019-04-02";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "auc";
|
||||
version = "2019-04-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "AUC";
|
||||
rev = "66d1cd57472442b4bf3c1ed12ca5cadd57d076b3";
|
||||
sha256 = "0gb4asmlfr19h42f3c5wg9c9i3014if3ymrqan6w9klgzgfyh2la";
|
||||
};
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "AUC";
|
||||
rev = "66d1cd57472442b4bf3c1ed12ca5cadd57d076b3";
|
||||
sha256 = "0gb4asmlfr19h42f3c5wg9c9i3014if3ymrqan6w9klgzgfyh2la";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,man/man1}
|
||||
install auc $out/bin
|
||||
${pandoc}/bin/pandoc -V title=${lib.escapeShellArg pname} -V section=1 $src/README.md -s -t man -o $out/man/man1/auc.1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line Roman calendar";
|
||||
longDescription = ''
|
||||
AUC (Ab Urbe condita) is a command-line Roman calendar tool. Currently it shows the specified date in the format of the Ancient Romans.
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,man/man1}
|
||||
install auc $out/bin
|
||||
${pandoc}/bin/pandoc -V title=${lib.escapeShellArg pname} -V section=1 $src/README.md -s -t man -o $out/man/man1/auc.1
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.kmein ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line Roman calendar";
|
||||
longDescription = ''
|
||||
AUC (Ab Urbe condita) is a command-line Roman calendar tool. Currently it shows the specified date in the format of the Ancient Romans.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [maintainers.kmein];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
{ ruby, stdenv, bundlerEnv, fetchFromGitHub }:
|
||||
let
|
||||
{
|
||||
ruby,
|
||||
stdenv,
|
||||
bundlerEnv,
|
||||
fetchFromGitHub,
|
||||
}: let
|
||||
src = fetchFromGitHub {
|
||||
owner = "kmein";
|
||||
repo = "bvg";
|
||||
@@ -13,12 +17,13 @@ let
|
||||
lockfile = "${src.out}/Gemfile.lock";
|
||||
gemset = "${src.out}/gemset.nix";
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
name = "bvg";
|
||||
buildInputs = [ env.wrappedRuby ];
|
||||
script = "${src.out}/bvg.rb";
|
||||
buildCommand = ''
|
||||
install -D -m755 $script $out/bin/bvg
|
||||
patchShebangs $out/bin/bvg
|
||||
'';
|
||||
}
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "bvg";
|
||||
buildInputs = [env.wrappedRuby];
|
||||
script = "${src.out}/bvg.rb";
|
||||
buildCommand = ''
|
||||
install -D -m755 $script $out/bin/bvg
|
||||
patchShebangs $out/bin/bvg
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{ lib, stdenv, makeWrapper, pandoc, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
pandoc,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "daybook";
|
||||
src = fetchFromGitHub {
|
||||
@@ -7,8 +13,8 @@ stdenv.mkDerivation {
|
||||
rev = "cad1aef158b0df36861434eb04c953d99a122e80";
|
||||
sha256 = "07qippyry0yjf971pnqxm9i0xpvih8mvbhxwfwpwq980jik1hbl1";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ pandoc ];
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
buildInputs = [pandoc];
|
||||
buildPhase = ''
|
||||
mkdir -p $out/man/man1
|
||||
pandoc --standalone --to man daybook.1.md -o $out/man/man1/daybook.1
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
kpaste = pkgs.callPackage <stockholm/krebs/5pkgs/simple/kpaste> { };
|
||||
opustags = pkgs.callPackage <niveum/packages/opustags.nix> { };
|
||||
betacode = pkgs.callPackage <niveum/packages/python3Packages/betacode.nix> { };
|
||||
wrapScript = { packages ? [ ], name, script }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
kpaste = pkgs.callPackage <stockholm/krebs/5pkgs/simple/kpaste> {};
|
||||
opustags = pkgs.callPackage <niveum/packages/opustags.nix> {};
|
||||
betacode = pkgs.callPackage <niveum/packages/python3Packages/betacode.nix> {};
|
||||
wrapScript = {
|
||||
packages ? [],
|
||||
name,
|
||||
script,
|
||||
}:
|
||||
pkgs.writers.writeDashBin name ''
|
||||
PATH=$PATH:${
|
||||
lib.makeBinPath (packages ++ [ pkgs.coreutils pkgs.findutils ])
|
||||
lib.makeBinPath (packages ++ [pkgs.coreutils pkgs.findutils])
|
||||
}
|
||||
${script} "$@"
|
||||
'';
|
||||
@@ -16,424 +23,437 @@ let
|
||||
rev = "0582b495937117d899ce8ef715a89c6cc25a36cf";
|
||||
sha256 = "0c4hkny4zkknlimc9yi9ljss2cws4zn8lzd8ip9b8mfsm094dlfl";
|
||||
};
|
||||
in rec {
|
||||
auc = pkgs.callPackage ./auc.nix {};
|
||||
in
|
||||
rec {
|
||||
auc = pkgs.callPackage ./auc.nix {};
|
||||
|
||||
instaget = wrapScript {
|
||||
packages = [ pkgs.jq pkgs.curl pkgs.gnugrep ];
|
||||
script = ./instaget.sh;
|
||||
name = "instaget";
|
||||
};
|
||||
instaget = wrapScript {
|
||||
packages = [pkgs.jq pkgs.curl pkgs.gnugrep];
|
||||
script = ./instaget.sh;
|
||||
name = "instaget";
|
||||
};
|
||||
|
||||
infschmv = pkgs.writers.writeDashBin "InfSchMV" ''
|
||||
${pkgs.curl}/bin/curl -sSL https://www.berlin.de/corona/massnahmen/verordnung/ \
|
||||
| ${pkgs.pup}/bin/pup .textile \
|
||||
| ${pkgs.pandoc}/bin/pandoc -f html -t man -s \
|
||||
| ${pkgs.man}/bin/man -l -
|
||||
'';
|
||||
infschmv = pkgs.writers.writeDashBin "InfSchMV" ''
|
||||
${pkgs.curl}/bin/curl -sSL https://www.berlin.de/corona/massnahmen/verordnung/ \
|
||||
| ${pkgs.pup}/bin/pup .textile \
|
||||
| ${pkgs.pandoc}/bin/pandoc -f html -t man -s \
|
||||
| ${pkgs.man}/bin/man -l -
|
||||
'';
|
||||
|
||||
trans =
|
||||
let
|
||||
trans = let
|
||||
script = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/soimort/translate-shell/gh-pages/trans.awk";
|
||||
sha256 = "178r8d27bry1mzd1g8x2svp4w469hwv7nnxnmnsinx974skjx0jb";
|
||||
};
|
||||
in pkgs.writers.writeDashBin "trans" ''
|
||||
${pkgs.gawk}/bin/gawk -f ${script} -- "$@"
|
||||
in
|
||||
pkgs.writers.writeDashBin "trans" ''
|
||||
${pkgs.gawk}/bin/gawk -f ${script} -- "$@"
|
||||
'';
|
||||
|
||||
dns-sledgehammer = pkgs.writers.writeDashBin "dns-sledgehammer" ''
|
||||
${pkgs.coreutils}/bin/printf '%s\n' 'nameserver 1.1.1.1' 'options edns0' > /etc/resolv.conf
|
||||
'';
|
||||
|
||||
dns-sledgehammer = pkgs.writers.writeDashBin "dns-sledgehammer" ''
|
||||
${pkgs.coreutils}/bin/printf '%s\n' 'nameserver 1.1.1.1' 'options edns0' > /etc/resolv.conf
|
||||
'';
|
||||
much-scripts = let
|
||||
much-current-query = wrapScript {
|
||||
packages = [pkgs.curl];
|
||||
name = "much-current-query";
|
||||
script = ./much-current-query.sh;
|
||||
};
|
||||
mail-send = wrapScript {
|
||||
packages = [pkgs.notmuch pkgs.msmtp pkgs.jq];
|
||||
name = "mail-send";
|
||||
script = ./mail-send.sh;
|
||||
};
|
||||
mail-reply = wrapScript {
|
||||
packages = [much-current-query pkgs.notmuch pkgs.gnused pkgs.jq];
|
||||
name = "mail-reply";
|
||||
script = ./mail-reply.sh;
|
||||
};
|
||||
mail-kill = wrapScript {
|
||||
name = "mail-kill";
|
||||
script = ./mail-kill.sh;
|
||||
packages = [pkgs.notmuch];
|
||||
};
|
||||
in
|
||||
pkgs.symlinkJoin {
|
||||
name = "much-scripts";
|
||||
paths = [mail-send much-current-query mail-reply mail-kill];
|
||||
};
|
||||
|
||||
much-scripts = let
|
||||
much-current-query = wrapScript {
|
||||
packages = [ pkgs.curl ];
|
||||
name = "much-current-query";
|
||||
script = ./much-current-query.sh;
|
||||
showkeys-toggle = pkgs.writers.writeDashBin "showkeys-toggle" ''
|
||||
if ${pkgs.procps}/bin/pgrep screenkey; then
|
||||
exec ${pkgs.procps}/bin/pkill screenkey
|
||||
else
|
||||
exec ${pkgs.screenkey}/bin/screenkey
|
||||
fi
|
||||
'';
|
||||
|
||||
qrpaste = pkgs.writers.writeDashBin "qrpaste" ''
|
||||
file="$(${pkgs.mktemp}/bin/mktemp --tmpdir)"
|
||||
trap clean EXIT
|
||||
clean() {
|
||||
rm "$file"
|
||||
}
|
||||
${pkgs.qrencode}/bin/qrencode "$(${pkgs.xclip}/bin/xclip -selection clipboard -out)" -o "$file"
|
||||
${pkgs.sxiv}/bin/sxiv "$file"
|
||||
'';
|
||||
|
||||
ttspaste = pkgs.writers.writeDashBin "ttspaste" ''
|
||||
${pkgs.xclip}/bin/xclip -selection clipboard -out | ${pkgs.curl}/bin/curl -G http://tts.r/api/tts --data-urlencode 'text@-' | ${pkgs.mpv}/bin/mpv -
|
||||
'';
|
||||
|
||||
interdimensional-cable = let
|
||||
nimaid-github-io = pkgs.fetchFromGitHub {
|
||||
owner = "nimaid";
|
||||
repo = "nimaid.github.io";
|
||||
rev = "9cb4ede215be6bb01bd2df1ef3e9689cc8c4eb9e";
|
||||
sha256 = "1g47cj5an7xgmhpc09m7qim5j9rspqxvnzfy90cnlvz4pg8hil96";
|
||||
};
|
||||
in
|
||||
pkgs.writeShellScriptBin "interdimensional-cable" ''
|
||||
export PATH=${lib.makeBinPath [pkgs.mpv pkgs.jq pkgs.gnused]}
|
||||
mpv --shuffle --playlist=<(jq -r '.videos[]' ${nimaid-github-io}/tv/interdimensional_database.json | sed 's#^#https://youtu.be/#')
|
||||
'';
|
||||
|
||||
tag = wrapScript {
|
||||
packages = [pkgs.vorbisTools pkgs.python3Packages.eyeD3 opustags];
|
||||
script = "${voidrice}/.local/bin/tag";
|
||||
name = "tag";
|
||||
};
|
||||
mail-send = wrapScript {
|
||||
packages = [ pkgs.notmuch pkgs.msmtp pkgs.jq ];
|
||||
name = "mail-send";
|
||||
script = ./mail-send.sh;
|
||||
|
||||
meteo = wrapScript {
|
||||
packages = [pkgs.jq pkgs.curl pkgs.xdotool pkgs.sxiv pkgs.gnused];
|
||||
script = ./meteo.sh;
|
||||
name = "meteo";
|
||||
};
|
||||
mail-reply = wrapScript {
|
||||
packages = [ much-current-query pkgs.notmuch pkgs.gnused pkgs.jq ];
|
||||
name = "mail-reply";
|
||||
script = ./mail-reply.sh;
|
||||
|
||||
kirciuoklis = wrapScript {
|
||||
packages = [pkgs.curl pkgs.jq];
|
||||
script = ./kirciuoklis.sh;
|
||||
name = "kirciuoklis";
|
||||
};
|
||||
mail-kill = wrapScript {
|
||||
name = "mail-kill";
|
||||
script = ./mail-kill.sh;
|
||||
packages = [ pkgs.notmuch ];
|
||||
|
||||
booksplit = wrapScript {
|
||||
packages = [pkgs.ffmpeg tag pkgs.glibc.bin];
|
||||
script = "${voidrice}/.local/bin/booksplit";
|
||||
name = "booksplit";
|
||||
};
|
||||
in pkgs.symlinkJoin {
|
||||
name = "much-scripts";
|
||||
paths = [ mail-send much-current-query mail-reply mail-kill ];
|
||||
};
|
||||
|
||||
showkeys-toggle = pkgs.writers.writeDashBin "showkeys-toggle" ''
|
||||
if ${pkgs.procps}/bin/pgrep screenkey; then
|
||||
exec ${pkgs.procps}/bin/pkill screenkey
|
||||
else
|
||||
exec ${pkgs.screenkey}/bin/screenkey
|
||||
fi
|
||||
'';
|
||||
|
||||
qrpaste = pkgs.writers.writeDashBin "qrpaste" ''
|
||||
file="$(${pkgs.mktemp}/bin/mktemp --tmpdir)"
|
||||
trap clean EXIT
|
||||
clean() {
|
||||
rm "$file"
|
||||
}
|
||||
${pkgs.qrencode}/bin/qrencode "$(${pkgs.xclip}/bin/xclip -selection clipboard -out)" -o "$file"
|
||||
${pkgs.sxiv}/bin/sxiv "$file"
|
||||
'';
|
||||
|
||||
ttspaste = pkgs.writers.writeDashBin "ttspaste" ''
|
||||
${pkgs.xclip}/bin/xclip -selection clipboard -out | ${pkgs.curl}/bin/curl -G http://tts.r/api/tts --data-urlencode 'text@-' | ${pkgs.mpv}/bin/mpv -
|
||||
'';
|
||||
|
||||
interdimensional-cable =
|
||||
let nimaid-github-io = pkgs.fetchFromGitHub {
|
||||
owner = "nimaid";
|
||||
repo = "nimaid.github.io";
|
||||
rev = "9cb4ede215be6bb01bd2df1ef3e9689cc8c4eb9e";
|
||||
sha256 = "1g47cj5an7xgmhpc09m7qim5j9rspqxvnzfy90cnlvz4pg8hil96";
|
||||
};
|
||||
in pkgs.writeShellScriptBin "interdimensional-cable" ''
|
||||
export PATH=${lib.makeBinPath [ pkgs.mpv pkgs.jq pkgs.gnused ]}
|
||||
mpv --shuffle --playlist=<(jq -r '.videos[]' ${nimaid-github-io}/tv/interdimensional_database.json | sed 's#^#https://youtu.be/#')
|
||||
'';
|
||||
|
||||
tag = wrapScript {
|
||||
packages = [ pkgs.vorbisTools pkgs.python3Packages.eyeD3 opustags ];
|
||||
script = "${voidrice}/.local/bin/tag";
|
||||
name = "tag";
|
||||
};
|
||||
|
||||
meteo = wrapScript {
|
||||
packages = [ pkgs.jq pkgs.curl pkgs.xdotool pkgs.sxiv pkgs.gnused ];
|
||||
script = ./meteo.sh;
|
||||
name = "meteo";
|
||||
};
|
||||
|
||||
kirciuoklis = wrapScript {
|
||||
packages = [ pkgs.curl pkgs.jq ];
|
||||
script = ./kirciuoklis.sh;
|
||||
name = "kirciuoklis";
|
||||
};
|
||||
|
||||
booksplit = wrapScript {
|
||||
packages = [ pkgs.ffmpeg tag pkgs.glibc.bin ];
|
||||
script = "${voidrice}/.local/bin/booksplit";
|
||||
name = "booksplit";
|
||||
};
|
||||
|
||||
n = wrapScript {
|
||||
script = ./n.sh;
|
||||
name = "n";
|
||||
};
|
||||
|
||||
dirmir = wrapScript {
|
||||
name = "dirmir";
|
||||
script = ./dirmir.sh;
|
||||
};
|
||||
|
||||
liddel-scott-jones = wrapScript {
|
||||
name = "lsj";
|
||||
script = ./liddel-scott-jones.sh;
|
||||
packages = [ pkgs.curl pkgs.pup betacode pkgs.gnused pkgs.pandoc pkgs.man ];
|
||||
};
|
||||
|
||||
sanskrit-dictionary = pkgs.writers.writeDashBin "sa" ''
|
||||
set -efu
|
||||
|
||||
usage() {
|
||||
echo "usage: [OUTPUT=deva|roman] $0 mw|mwe|boet|bopp|apte|boro TERM"
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ $# -eq 2 ] || usage
|
||||
|
||||
case $1 in
|
||||
mw) id=MWScan;;
|
||||
mwe) id=MWEScan;;
|
||||
bopp) id=BOPScan;;
|
||||
boet) id=PWGScan;;
|
||||
apte) id=AEScan;;
|
||||
boro) id=BORScan;;
|
||||
*) usage;;
|
||||
esac
|
||||
|
||||
shift
|
||||
|
||||
input="$*"
|
||||
|
||||
${pkgs.curl}/bin/curl -sSL "https://www.sanskrit-lexicon.uni-koeln.de/scans/$id/2020/web/webtc/getword.php?key=$input&filter=''${OUTPUT-roman}&accent=yes&transLit=hk" \
|
||||
| ${pkgs.pandoc}/bin/pandoc --standalone --variable=title:"$input" --from=html --to=man \
|
||||
| ${pkgs.gnused}/bin/sed 's/\s\+\([:.,;]\)/\1/g;s/\s\+/ /g' \
|
||||
| ${pkgs.man}/bin/man --local-file --pager="${pkgs.bat}/bin/bat -p" -
|
||||
'';
|
||||
|
||||
playlist = import ./pls.nix { inherit pkgs; };
|
||||
|
||||
mpv-tv = import ./mpv-tv.nix { inherit pkgs lib; };
|
||||
|
||||
favicon = wrapScript {
|
||||
packages = [ pkgs.imagemagick ];
|
||||
name = "favicon";
|
||||
script = ./favicon.sh;
|
||||
};
|
||||
|
||||
closest = pkgs.writers.writeDashBin "closest" ''
|
||||
${pkgs.writers.writeHaskellBin "closest" {
|
||||
libraries = with pkgs.haskellPackages; [ parallel optparse-applicative edit-distance ];
|
||||
ghcArgs = ["-O3" "-threaded" ];
|
||||
} (builtins.readFile ./distance.hs)}/bin/closest +RTS -N4 -RTS --dictionary ${pkgs.fetchurl {
|
||||
url = "https://gist.github.com/MarvinJWendt/2f4f4154b8ae218600eb091a5706b5f4/raw/36b70dd6be330aa61cd4d4cdfda6234dcb0b8784/wordlist-german.txt";
|
||||
sha256 = "0vr4lmlckgvj4s8sk502sknq9pf3297rvasj5sqqm05zzbdgpppj";
|
||||
}} "$@"
|
||||
'';
|
||||
|
||||
horoscope = pkgs.callPackage ./horoscope {};
|
||||
|
||||
genius = wrapScript {
|
||||
packages = [ pkgs.curl pkgs.gnused pkgs.pandoc ];
|
||||
name = "genius";
|
||||
script = ./genius.sh;
|
||||
};
|
||||
|
||||
literature-quote = wrapScript {
|
||||
packages = [ pkgs.xsv pkgs.curl pkgs.gnused ];
|
||||
name = "literature-quote";
|
||||
script = ./literature-quote.sh;
|
||||
};
|
||||
|
||||
man-pdf = wrapScript {
|
||||
packages = [ pkgs.man pkgs.ghostscript ];
|
||||
name = "man-pdf";
|
||||
script = ./man-pdf.sh;
|
||||
};
|
||||
|
||||
odyssey = wrapScript {
|
||||
packages = [ pkgs.curl pkgs.xmlstarlet ];
|
||||
name = "odyssey";
|
||||
script = ./odyssey.sh;
|
||||
};
|
||||
|
||||
tolino-screensaver = wrapScript {
|
||||
packages = [ pkgs.imagemagick ];
|
||||
name = "tolino-screensaver";
|
||||
script = ./tolino-screensaver.sh;
|
||||
};
|
||||
|
||||
wttr = wrapScript {
|
||||
packages = [ pkgs.curl ];
|
||||
name = "wttr";
|
||||
script = ./wttr.sh;
|
||||
};
|
||||
|
||||
vg = wrapScript {
|
||||
packages = [ pkgs.ripgrep pkgs.fzf pkgs.gawk ];
|
||||
name = "vg";
|
||||
script = ./vg.sh;
|
||||
};
|
||||
|
||||
dmenurandr = wrapScript {
|
||||
packages = [ pkgs.dmenu pkgs.gnugrep pkgs.gnused pkgs.xorg.xrandr pkgs.gawk pkgs.libnotify pkgs.arandr ];
|
||||
name = "dmenurandr";
|
||||
script = ./dmenurandr.sh;
|
||||
};
|
||||
|
||||
dmenubluetooth = wrapScript {
|
||||
packages = [ pkgs.bluez5 pkgs.dmenu pkgs.libnotify ];
|
||||
name = "dmenubluetooth";
|
||||
script = ./dmenubluetooth.sh;
|
||||
};
|
||||
|
||||
fkill = wrapScript {
|
||||
packages = [ pkgs.procps pkgs.gawk pkgs.gnused pkgs.fzf pkgs.bash ];
|
||||
script = ./fkill.sh;
|
||||
name = "fkill";
|
||||
};
|
||||
|
||||
nix-git = wrapScript {
|
||||
packages = [ pkgs.nix-prefetch-git pkgs.jq ];
|
||||
script = ./nix-git.sh;
|
||||
name = "nix-git";
|
||||
};
|
||||
|
||||
linkhandler = wrapScript {
|
||||
packages =
|
||||
[ pkgs.utillinux pkgs.mpv pkgs.curl pkgs.gnused pkgs.sxiv pkgs.ts ];
|
||||
script = "${voidrice}/.local/bin/linkhandler";
|
||||
name = "linkhandler";
|
||||
};
|
||||
|
||||
mansplain = wrapScript {
|
||||
packages = [ pkgs.man pkgs.zathura pkgs.dmenu pkgs.gnused ];
|
||||
script = ./mansplain.sh;
|
||||
name = "mansplain";
|
||||
};
|
||||
|
||||
notetags = wrapScript {
|
||||
script = ./notetags.sh;
|
||||
name = "notetags";
|
||||
};
|
||||
|
||||
fzfmenu = wrapScript {
|
||||
script = ./fzfmenu.sh;
|
||||
name = "fzfmenu";
|
||||
packages = [ pkgs.st pkgs.fzf pkgs.dash pkgs.bash ];
|
||||
};
|
||||
|
||||
swallow = wrapScript {
|
||||
script = ./swallow.sh;
|
||||
name = "swallow";
|
||||
packages = [ pkgs.xdo ];
|
||||
};
|
||||
|
||||
ipa = pkgs.writers.writeHaskellBin "ipa" {
|
||||
libraries = with pkgs; [ haskellPackages.text haskellPackages.ipa ];
|
||||
} ''
|
||||
import Data.Maybe (fromJust)
|
||||
import Language.IPA
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.IO as T
|
||||
main = T.interact (T.unwords . map (unIPA . fromJust . (xSampaToIpa =<<) . mkXSampa) . T.words)
|
||||
'';
|
||||
|
||||
default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
|
||||
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'
|
||||
'';
|
||||
|
||||
betacode = pkgs.writers.writeHaskellBin "betacode" {
|
||||
libraries = with pkgs; [
|
||||
(haskell.lib.unmarkBroken (haskell.lib.doJailbreak haskellPackages.betacode))
|
||||
haskellPackages.text
|
||||
];
|
||||
} ''
|
||||
import qualified Data.Text.IO as T
|
||||
import qualified Data.Text as T
|
||||
import Text.BetaCode
|
||||
main = T.interact (either (error . T.unpack) id . fromBeta)
|
||||
'';
|
||||
|
||||
devanagari = pkgs.callPackage ../devanagari {};
|
||||
|
||||
timer = pkgs.writers.writeDashBin "timer" ''
|
||||
[ $# -eq 2 ] || {
|
||||
echo "Usage: $0 TIME MESSAGE" 1>&2
|
||||
exit 1
|
||||
}
|
||||
time=$(echo "$1" | ${pkgs.bc}/bin/bc)
|
||||
echo "sleeping $time seconds, then saying: $2"
|
||||
${pkgs.coreutils}/bin/sleep "$time" && {
|
||||
echo "$2" | ${pkgs.espeak}/bin/espeak -v german-mbrola-6
|
||||
}
|
||||
'';
|
||||
|
||||
manual-sort = pkgs.writers.writeHaskellBin "manual-sort" {} ''
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
import Data.Char (toLower)
|
||||
import System.Environment (getArgs)
|
||||
import System.IO (BufferMode(NoBuffering), hSetBuffering, stdout)
|
||||
|
||||
insertionSortM :: Monad f => (a -> a -> f Ordering) -> [a] -> f [a]
|
||||
insertionSortM cmp = foldr ((=<<) . insertByM cmp) (pure [])
|
||||
where
|
||||
insertByM cmp x = \case
|
||||
[] -> pure [x]
|
||||
yys@(y : ys) -> cmp x y >>= \case
|
||||
GT -> (y :) <$> insertByM cmp x ys
|
||||
_ -> pure (x : yys)
|
||||
|
||||
ask :: Show a => a -> a -> IO Ordering
|
||||
ask a b = do
|
||||
putStr (show a ++ " > " ++ show b ++ "? (y/n) ")
|
||||
map toLower <$> getLine >>= \case
|
||||
'y' : _ -> return GT
|
||||
_ -> return LT
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
hSetBuffering stdout NoBuffering
|
||||
argv <- getArgs
|
||||
sorted <- insertionSortM ask argv
|
||||
mapM_ (\(place, thing) -> putStrLn (show place ++ ". " ++ show thing)) $ zip [1 ..] (reverse sorted)
|
||||
'';
|
||||
|
||||
scrot-dmenu = wrapScript {
|
||||
script = ./scrot-dmenu.sh;
|
||||
name = "dmenu-scrot";
|
||||
packages = [ pkgs.xclip pkgs.scrot kpaste pkgs.libnotify pkgs.dmenu ];
|
||||
};
|
||||
|
||||
unicodmenu = pkgs.callPackage ./unicodmenu.nix { };
|
||||
|
||||
mpv-radio =
|
||||
let
|
||||
streams = import <niveum/lib/streams.nix> {
|
||||
di-fm-key = lib.strings.fileContents <secrets/di.fm/key>;
|
||||
n = wrapScript {
|
||||
script = ./n.sh;
|
||||
name = "n";
|
||||
};
|
||||
streams-tsv = pkgs.writeText "streams.tsv" (lib.concatMapStringsSep "\n" ({ desc ? "", stream, station, ... }: "${station}\t${desc}\t${stream}") streams);
|
||||
in pkgs.writers.writeDashBin "mpv-radio" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --force-window=yes "$(${pkgs.dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} | ${pkgs.coreutils}/bin/cut -f3)"
|
||||
'';
|
||||
|
||||
rfc = wrapScript {
|
||||
script = ./rfc.sh;
|
||||
name = "rfc";
|
||||
packages = [ pkgs.curl pkgs.pup pkgs.gnused pkgs.gawk pkgs.gnugrep pkgs.fzf ];
|
||||
};
|
||||
dirmir = wrapScript {
|
||||
name = "dirmir";
|
||||
script = ./dirmir.sh;
|
||||
};
|
||||
|
||||
new-mac = wrapScript {
|
||||
script = ./new-mac.sh;
|
||||
name = "new-mac";
|
||||
packages = [ pkgs.gnused pkgs.openssl pkgs.jq pkgs.iproute2 ];
|
||||
};
|
||||
liddel-scott-jones = wrapScript {
|
||||
name = "lsj";
|
||||
script = ./liddel-scott-jones.sh;
|
||||
packages = [pkgs.curl pkgs.pup betacode pkgs.gnused pkgs.pandoc pkgs.man];
|
||||
};
|
||||
|
||||
bvg = pkgs.callPackage ./bvg.nix { };
|
||||
nav = pkgs.callPackage ./nav.nix { };
|
||||
k-lock = pkgs.callPackage ./k-lock.nix { };
|
||||
sanskrit-dictionary = pkgs.writers.writeDashBin "sa" ''
|
||||
set -efu
|
||||
|
||||
menu-calc = pkgs.writers.writeDashBin "=" ''
|
||||
# https://github.com/onespaceman/menu-calc
|
||||
usage() {
|
||||
echo "usage: [OUTPUT=deva|roman] $0 mw|mwe|boet|bopp|apte|boro TERM"
|
||||
exit 1
|
||||
}
|
||||
|
||||
answer=$(echo "$@" | ${pkgs.pari}/bin/gp -q | ${pkgs.gnused}/bin/sed '/\./ s/\.\{0,1\}0\{1,\}$//')
|
||||
[ $# -eq 2 ] || usage
|
||||
|
||||
action=$(printf "copy\nclear" | ${pkgs.dmenu}/bin/dmenu -p "= $answer")
|
||||
case $1 in
|
||||
mw) id=MWScan;;
|
||||
mwe) id=MWEScan;;
|
||||
bopp) id=BOPScan;;
|
||||
boet) id=PWGScan;;
|
||||
apte) id=AEScan;;
|
||||
boro) id=BORScan;;
|
||||
*) usage;;
|
||||
esac
|
||||
|
||||
case $action in
|
||||
"clear") $0 ;;
|
||||
"copy") printf %s "$answer" | ${pkgs.xclip}/bin/xclip -selection clipboard;;
|
||||
"") ;;
|
||||
*) $0 "$answer $action" ;;
|
||||
esac
|
||||
'';
|
||||
shift
|
||||
|
||||
# ref https://tex.stackexchange.com/a/502542
|
||||
scanned = pkgs.writers.writeDashBin "scanned" ''
|
||||
[ $# -eq 1 -a -f "$1" -a -r "$1" ] || exit 1
|
||||
input="$*"
|
||||
|
||||
${pkgs.imagemagick}/bin/convert -density 150 "$1" -colorspace gray -linear-stretch 3.5%x10% -blur 0x0.5 -attenuate 0.25 +noise Gaussian "scanned-$1"
|
||||
'';
|
||||
${pkgs.curl}/bin/curl -sSL "https://www.sanskrit-lexicon.uni-koeln.de/scans/$id/2020/web/webtc/getword.php?key=$input&filter=''${OUTPUT-roman}&accent=yes&transLit=hk" \
|
||||
| ${pkgs.pandoc}/bin/pandoc --standalone --variable=title:"$input" --from=html --to=man \
|
||||
| ${pkgs.gnused}/bin/sed 's/\s\+\([:.,;]\)/\1/g;s/\s\+/ /g' \
|
||||
| ${pkgs.man}/bin/man --local-file --pager="${pkgs.bat}/bin/bat -p" -
|
||||
'';
|
||||
|
||||
nix-index-update = pkgs.writers.writeDashBin "nix-index-update" ''
|
||||
filename="index-x86_64-$(uname | tr A-Z a-z)"
|
||||
mkdir -p ~/.cache/nix-index
|
||||
cd ~/.cache/nix-index
|
||||
# -N will only download a new version if there is an update.
|
||||
${pkgs.wget}/bin/wget -q -N https://github.com/Mic92/nix-index-database/releases/latest/download/$filename
|
||||
ln -f $filename files
|
||||
'';
|
||||
} // {
|
||||
devour = pkgs.callPackage <niveum/packages/devour.nix> { };
|
||||
depp = pkgs.callPackage <niveum/packages/depp.nix> { };
|
||||
text2pdf = pkgs.callPackage <niveum/packages/text2pdf.nix> { };
|
||||
vimv = pkgs.callPackage <niveum/packages/vimv.nix> { };
|
||||
when = pkgs.callPackage <niveum/packages/when.nix> { };
|
||||
mahlzeit = pkgs.haskellPackages.callPackage <niveum/packages/mahlzeit.nix> { };
|
||||
inherit opustags;
|
||||
}
|
||||
playlist = import ./pls.nix {inherit pkgs;};
|
||||
|
||||
mpv-tv = import ./mpv-tv.nix {inherit pkgs lib;};
|
||||
|
||||
favicon = wrapScript {
|
||||
packages = [pkgs.imagemagick];
|
||||
name = "favicon";
|
||||
script = ./favicon.sh;
|
||||
};
|
||||
|
||||
closest = pkgs.writers.writeDashBin "closest" ''
|
||||
${
|
||||
pkgs.writers.writeHaskellBin "closest" {
|
||||
libraries = with pkgs.haskellPackages; [parallel optparse-applicative edit-distance];
|
||||
ghcArgs = ["-O3" "-threaded"];
|
||||
} (builtins.readFile ./distance.hs)
|
||||
}/bin/closest +RTS -N4 -RTS --dictionary ${
|
||||
pkgs.fetchurl {
|
||||
url = "https://gist.github.com/MarvinJWendt/2f4f4154b8ae218600eb091a5706b5f4/raw/36b70dd6be330aa61cd4d4cdfda6234dcb0b8784/wordlist-german.txt";
|
||||
sha256 = "0vr4lmlckgvj4s8sk502sknq9pf3297rvasj5sqqm05zzbdgpppj";
|
||||
}
|
||||
} "$@"
|
||||
'';
|
||||
|
||||
horoscope = pkgs.callPackage ./horoscope {};
|
||||
|
||||
genius = wrapScript {
|
||||
packages = [pkgs.curl pkgs.gnused pkgs.pandoc];
|
||||
name = "genius";
|
||||
script = ./genius.sh;
|
||||
};
|
||||
|
||||
literature-quote = wrapScript {
|
||||
packages = [pkgs.xsv pkgs.curl pkgs.gnused];
|
||||
name = "literature-quote";
|
||||
script = ./literature-quote.sh;
|
||||
};
|
||||
|
||||
man-pdf = wrapScript {
|
||||
packages = [pkgs.man pkgs.ghostscript];
|
||||
name = "man-pdf";
|
||||
script = ./man-pdf.sh;
|
||||
};
|
||||
|
||||
odyssey = wrapScript {
|
||||
packages = [pkgs.curl pkgs.xmlstarlet];
|
||||
name = "odyssey";
|
||||
script = ./odyssey.sh;
|
||||
};
|
||||
|
||||
tolino-screensaver = wrapScript {
|
||||
packages = [pkgs.imagemagick];
|
||||
name = "tolino-screensaver";
|
||||
script = ./tolino-screensaver.sh;
|
||||
};
|
||||
|
||||
wttr = wrapScript {
|
||||
packages = [pkgs.curl];
|
||||
name = "wttr";
|
||||
script = ./wttr.sh;
|
||||
};
|
||||
|
||||
vg = wrapScript {
|
||||
packages = [pkgs.ripgrep pkgs.fzf pkgs.gawk];
|
||||
name = "vg";
|
||||
script = ./vg.sh;
|
||||
};
|
||||
|
||||
dmenurandr = wrapScript {
|
||||
packages = [pkgs.dmenu pkgs.gnugrep pkgs.gnused pkgs.xorg.xrandr pkgs.gawk pkgs.libnotify pkgs.arandr];
|
||||
name = "dmenurandr";
|
||||
script = ./dmenurandr.sh;
|
||||
};
|
||||
|
||||
dmenubluetooth = wrapScript {
|
||||
packages = [pkgs.bluez5 pkgs.dmenu pkgs.libnotify];
|
||||
name = "dmenubluetooth";
|
||||
script = ./dmenubluetooth.sh;
|
||||
};
|
||||
|
||||
fkill = wrapScript {
|
||||
packages = [pkgs.procps pkgs.gawk pkgs.gnused pkgs.fzf pkgs.bash];
|
||||
script = ./fkill.sh;
|
||||
name = "fkill";
|
||||
};
|
||||
|
||||
nix-git = wrapScript {
|
||||
packages = [pkgs.nix-prefetch-git pkgs.jq];
|
||||
script = ./nix-git.sh;
|
||||
name = "nix-git";
|
||||
};
|
||||
|
||||
linkhandler = wrapScript {
|
||||
packages = [pkgs.utillinux pkgs.mpv pkgs.curl pkgs.gnused pkgs.sxiv pkgs.ts];
|
||||
script = "${voidrice}/.local/bin/linkhandler";
|
||||
name = "linkhandler";
|
||||
};
|
||||
|
||||
mansplain = wrapScript {
|
||||
packages = [pkgs.man pkgs.zathura pkgs.dmenu pkgs.gnused];
|
||||
script = ./mansplain.sh;
|
||||
name = "mansplain";
|
||||
};
|
||||
|
||||
notetags = wrapScript {
|
||||
script = ./notetags.sh;
|
||||
name = "notetags";
|
||||
};
|
||||
|
||||
fzfmenu = wrapScript {
|
||||
script = ./fzfmenu.sh;
|
||||
name = "fzfmenu";
|
||||
packages = [pkgs.st pkgs.fzf pkgs.dash pkgs.bash];
|
||||
};
|
||||
|
||||
swallow = wrapScript {
|
||||
script = ./swallow.sh;
|
||||
name = "swallow";
|
||||
packages = [pkgs.xdo];
|
||||
};
|
||||
|
||||
ipa = pkgs.writers.writeHaskellBin "ipa" {
|
||||
libraries = with pkgs; [haskellPackages.text haskellPackages.ipa];
|
||||
} ''
|
||||
import Data.Maybe (fromJust)
|
||||
import Language.IPA
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.IO as T
|
||||
main = T.interact (T.unwords . map (unIPA . fromJust . (xSampaToIpa =<<) . mkXSampa) . T.words)
|
||||
'';
|
||||
|
||||
default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
|
||||
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'
|
||||
'';
|
||||
|
||||
betacode = pkgs.writers.writeHaskellBin "betacode" {
|
||||
libraries = with pkgs; [
|
||||
(haskell.lib.unmarkBroken (haskell.lib.doJailbreak haskellPackages.betacode))
|
||||
haskellPackages.text
|
||||
];
|
||||
} ''
|
||||
import qualified Data.Text.IO as T
|
||||
import qualified Data.Text as T
|
||||
import Text.BetaCode
|
||||
main = T.interact (either (error . T.unpack) id . fromBeta)
|
||||
'';
|
||||
|
||||
devanagari = pkgs.callPackage ../devanagari {};
|
||||
|
||||
timer = pkgs.writers.writeDashBin "timer" ''
|
||||
[ $# -eq 2 ] || {
|
||||
echo "Usage: $0 TIME MESSAGE" 1>&2
|
||||
exit 1
|
||||
}
|
||||
time=$(echo "$1" | ${pkgs.bc}/bin/bc)
|
||||
echo "sleeping $time seconds, then saying: $2"
|
||||
${pkgs.coreutils}/bin/sleep "$time" && {
|
||||
echo "$2" | ${pkgs.espeak}/bin/espeak -v german-mbrola-6
|
||||
}
|
||||
'';
|
||||
|
||||
manual-sort = pkgs.writers.writeHaskellBin "manual-sort" {} ''
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
import Data.Char (toLower)
|
||||
import System.Environment (getArgs)
|
||||
import System.IO (BufferMode(NoBuffering), hSetBuffering, stdout)
|
||||
|
||||
insertionSortM :: Monad f => (a -> a -> f Ordering) -> [a] -> f [a]
|
||||
insertionSortM cmp = foldr ((=<<) . insertByM cmp) (pure [])
|
||||
where
|
||||
insertByM cmp x = \case
|
||||
[] -> pure [x]
|
||||
yys@(y : ys) -> cmp x y >>= \case
|
||||
GT -> (y :) <$> insertByM cmp x ys
|
||||
_ -> pure (x : yys)
|
||||
|
||||
ask :: Show a => a -> a -> IO Ordering
|
||||
ask a b = do
|
||||
putStr (show a ++ " > " ++ show b ++ "? (y/n) ")
|
||||
map toLower <$> getLine >>= \case
|
||||
'y' : _ -> return GT
|
||||
_ -> return LT
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
hSetBuffering stdout NoBuffering
|
||||
argv <- getArgs
|
||||
sorted <- insertionSortM ask argv
|
||||
mapM_ (\(place, thing) -> putStrLn (show place ++ ". " ++ show thing)) $ zip [1 ..] (reverse sorted)
|
||||
'';
|
||||
|
||||
scrot-dmenu = wrapScript {
|
||||
script = ./scrot-dmenu.sh;
|
||||
name = "dmenu-scrot";
|
||||
packages = [pkgs.xclip pkgs.scrot kpaste pkgs.libnotify pkgs.dmenu];
|
||||
};
|
||||
|
||||
unicodmenu = pkgs.callPackage ./unicodmenu.nix {};
|
||||
|
||||
mpv-radio = let
|
||||
streams = import <niveum/lib/streams.nix> {
|
||||
di-fm-key = lib.strings.fileContents <secrets/di.fm/key>;
|
||||
};
|
||||
streams-tsv = pkgs.writeText "streams.tsv" (lib.concatMapStringsSep "\n" ({
|
||||
desc ? "",
|
||||
stream,
|
||||
station,
|
||||
...
|
||||
}: "${station}\t${desc}\t${stream}")
|
||||
streams);
|
||||
in
|
||||
pkgs.writers.writeDashBin "mpv-radio" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --force-window=yes "$(${pkgs.dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} | ${pkgs.coreutils}/bin/cut -f3)"
|
||||
'';
|
||||
|
||||
rfc = wrapScript {
|
||||
script = ./rfc.sh;
|
||||
name = "rfc";
|
||||
packages = [pkgs.curl pkgs.pup pkgs.gnused pkgs.gawk pkgs.gnugrep pkgs.fzf];
|
||||
};
|
||||
|
||||
new-mac = wrapScript {
|
||||
script = ./new-mac.sh;
|
||||
name = "new-mac";
|
||||
packages = [pkgs.gnused pkgs.openssl pkgs.jq pkgs.iproute2];
|
||||
};
|
||||
|
||||
bvg = pkgs.callPackage ./bvg.nix {};
|
||||
nav = pkgs.callPackage ./nav.nix {};
|
||||
k-lock = pkgs.callPackage ./k-lock.nix {};
|
||||
|
||||
menu-calc = pkgs.writers.writeDashBin "=" ''
|
||||
# https://github.com/onespaceman/menu-calc
|
||||
|
||||
answer=$(echo "$@" | ${pkgs.pari}/bin/gp -q | ${pkgs.gnused}/bin/sed '/\./ s/\.\{0,1\}0\{1,\}$//')
|
||||
|
||||
action=$(printf "copy\nclear" | ${pkgs.dmenu}/bin/dmenu -p "= $answer")
|
||||
|
||||
case $action in
|
||||
"clear") $0 ;;
|
||||
"copy") printf %s "$answer" | ${pkgs.xclip}/bin/xclip -selection clipboard;;
|
||||
"") ;;
|
||||
*) $0 "$answer $action" ;;
|
||||
esac
|
||||
'';
|
||||
|
||||
# ref https://tex.stackexchange.com/a/502542
|
||||
scanned = pkgs.writers.writeDashBin "scanned" ''
|
||||
[ $# -eq 1 -a -f "$1" -a -r "$1" ] || exit 1
|
||||
|
||||
${pkgs.imagemagick}/bin/convert -density 150 "$1" -colorspace gray -linear-stretch 3.5%x10% -blur 0x0.5 -attenuate 0.25 +noise Gaussian "scanned-$1"
|
||||
'';
|
||||
|
||||
nix-index-update = pkgs.writers.writeDashBin "nix-index-update" ''
|
||||
filename="index-x86_64-$(uname | tr A-Z a-z)"
|
||||
mkdir -p ~/.cache/nix-index
|
||||
cd ~/.cache/nix-index
|
||||
# -N will only download a new version if there is an update.
|
||||
${pkgs.wget}/bin/wget -q -N https://github.com/Mic92/nix-index-database/releases/latest/download/$filename
|
||||
ln -f $filename files
|
||||
'';
|
||||
}
|
||||
// {
|
||||
devour = pkgs.callPackage <niveum/packages/devour.nix> {};
|
||||
depp = pkgs.callPackage <niveum/packages/depp.nix> {};
|
||||
text2pdf = pkgs.callPackage <niveum/packages/text2pdf.nix> {};
|
||||
vimv = pkgs.callPackage <niveum/packages/vimv.nix> {};
|
||||
when = pkgs.callPackage <niveum/packages/when.nix> {};
|
||||
mahlzeit = pkgs.haskellPackages.callPackage <niveum/packages/mahlzeit.nix> {};
|
||||
inherit opustags;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib, writeShellScriptBin }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
writeShellScriptBin,
|
||||
}: let
|
||||
aliasFlag = name: value: "-c alias.${name}=${lib.escapeShellArg value}";
|
||||
aliases = {
|
||||
eroeffne = "init";
|
||||
@@ -20,15 +22,16 @@ let
|
||||
tagebuch = "log";
|
||||
zustand = "status";
|
||||
};
|
||||
in writeShellScriptBin "depp" ''
|
||||
if [ $# -gt 0 ]; then
|
||||
git ${
|
||||
in
|
||||
writeShellScriptBin "depp" ''
|
||||
if [ $# -gt 0 ]; then
|
||||
git ${
|
||||
lib.concatStringsSep " " (lib.attrsets.mapAttrsToList aliasFlag aliases)
|
||||
} "$@"
|
||||
else
|
||||
printf "${
|
||||
else
|
||||
printf "${
|
||||
lib.concatStringsSep "\n"
|
||||
(lib.attrsets.mapAttrsToList (n: v: n + " " + v) aliases)
|
||||
}\n"
|
||||
fi
|
||||
''
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ poetry2nix }:
|
||||
{poetry2nix}:
|
||||
poetry2nix.mkPoetryApplication {
|
||||
projectDir = ./.;
|
||||
projectDir = ./.;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ writeShellScriptBin, wget, curl, jq }:
|
||||
{
|
||||
writeShellScriptBin,
|
||||
wget,
|
||||
curl,
|
||||
jq,
|
||||
}:
|
||||
writeShellScriptBin "instaget" ''
|
||||
for url in "$@"; do
|
||||
json="$(${curl}/bin/curl -s "$url" \
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ writers, lib, xlockmore }:
|
||||
let
|
||||
{
|
||||
writers,
|
||||
lib,
|
||||
xlockmore,
|
||||
}: let
|
||||
xlockModes = lib.concatStringsSep "\\n" [
|
||||
# "braid"
|
||||
"galaxy"
|
||||
@@ -8,18 +11,19 @@ let
|
||||
"pyro2"
|
||||
"space"
|
||||
];
|
||||
in writers.writeDashBin "k-lock" ''
|
||||
MODE=$(printf "${xlockModes}" | shuf -n 1)
|
||||
in
|
||||
writers.writeDashBin "k-lock" ''
|
||||
MODE=$(printf "${xlockModes}" | shuf -n 1)
|
||||
|
||||
${xlockmore}/bin/xlock \
|
||||
-saturation 0.4 \
|
||||
-erasemode no_fade \
|
||||
+description \
|
||||
-showdate \
|
||||
-username " " \
|
||||
-password " " \
|
||||
-info " " \
|
||||
-validate "..." \
|
||||
-invalid "Computer says no." \
|
||||
-mode "$MODE"
|
||||
''
|
||||
${xlockmore}/bin/xlock \
|
||||
-saturation 0.4 \
|
||||
-erasemode no_fade \
|
||||
+description \
|
||||
-showdate \
|
||||
-username " " \
|
||||
-password " " \
|
||||
-info " " \
|
||||
-validate "..." \
|
||||
-invalid "Computer says no." \
|
||||
-mode "$MODE"
|
||||
''
|
||||
|
||||
@@ -1,46 +1,52 @@
|
||||
# klem < klemm < klemmbrett ~ clipboard
|
||||
{ pkgs, lib, ... }@args:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
} @ args: let
|
||||
cfg = eval.config;
|
||||
|
||||
eval = lib.evalModules {
|
||||
modules = [{
|
||||
_file = toString ./klem.nix;
|
||||
imports = [ (args.config or { }) ];
|
||||
options = {
|
||||
selection = lib.mkOption {
|
||||
default = "clipboard";
|
||||
type = lib.types.enum [ "primary" "secondary" "clipboard" ];
|
||||
};
|
||||
dmenu = lib.mkOption {
|
||||
default = "${pkgs.dmenu}/bin/dmenu -i -p klem";
|
||||
type = lib.types.path;
|
||||
};
|
||||
scripts = lib.mkOption {
|
||||
default = {
|
||||
pastebin = "${pkgs.curl}/bin/curl -fSs -F 'f:1=<-' ix.io";
|
||||
shorten = ''
|
||||
${pkgs.curl}/bin/curl -fSs -F "shorten=$(${pkgs.coreutils}/bin/cat)" https://0x0.st
|
||||
'';
|
||||
"replace p.r" = "${pkgs.gnused}/bin/sed 's/\\<r\\>/krebsco.de/'";
|
||||
modules = [
|
||||
{
|
||||
_file = toString ./klem.nix;
|
||||
imports = [(args.config or {})];
|
||||
options = {
|
||||
selection = lib.mkOption {
|
||||
default = "clipboard";
|
||||
type = lib.types.enum ["primary" "secondary" "clipboard"];
|
||||
};
|
||||
dmenu = lib.mkOption {
|
||||
default = "${pkgs.dmenu}/bin/dmenu -i -p klem";
|
||||
type = lib.types.path;
|
||||
};
|
||||
scripts = lib.mkOption {
|
||||
default = {
|
||||
pastebin = "${pkgs.curl}/bin/curl -fSs -F 'f:1=<-' ix.io";
|
||||
shorten = ''
|
||||
${pkgs.curl}/bin/curl -fSs -F "shorten=$(${pkgs.coreutils}/bin/cat)" https://0x0.st
|
||||
'';
|
||||
"replace p.r" = "${pkgs.gnused}/bin/sed 's/\\<r\\>/krebsco.de/'";
|
||||
};
|
||||
type = lib.types.attrs;
|
||||
};
|
||||
type = lib.types.attrs;
|
||||
};
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
scriptCase = option: script: ''
|
||||
'${option}') ${toString script} ;;
|
||||
'';
|
||||
in pkgs.writers.writeDashBin "klem" ''
|
||||
${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -out \
|
||||
| case $(echo "${
|
||||
in
|
||||
pkgs.writers.writeDashBin "klem" ''
|
||||
${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -out \
|
||||
| case $(echo "${
|
||||
lib.concatStringsSep "\n" (lib.attrNames cfg.scripts)
|
||||
}" | ${cfg.dmenu}) in
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList scriptCase cfg.scripts)}
|
||||
*) ${pkgs.coreutils}/bin/cat ;;
|
||||
esac \
|
||||
| tr -d '\r\n' \
|
||||
| ${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -in
|
||||
''
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList scriptCase cfg.scripts)}
|
||||
*) ${pkgs.coreutils}/bin/cat ;;
|
||||
esac \
|
||||
| tr -d '\r\n' \
|
||||
| ${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -in
|
||||
''
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ pkgs, lib }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
}: let
|
||||
streams-tsv = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/iptv/kodi/kodi_tv.m3u";
|
||||
sha256 = "1cw1gmb16vwh6qfw0z3wjjfgn0zg2qplnddqzva5b0xx2g2appla";
|
||||
@@ -8,6 +10,7 @@ let
|
||||
mv $out.tmp $out
|
||||
'';
|
||||
};
|
||||
in pkgs.writers.writeDashBin "mpv-tv" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --force-window=yes "$(${pkgs.dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} | ${pkgs.coreutils}/bin/cut -f2)"
|
||||
''
|
||||
in
|
||||
pkgs.writers.writeDashBin "mpv-tv" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --force-window=yes "$(${pkgs.dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} | ${pkgs.coreutils}/bin/cut -f2)"
|
||||
''
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, fetchFromGitHub, stdenv, fzf }:
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
fzf,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nav";
|
||||
version = "8da22b1";
|
||||
@@ -12,9 +17,9 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/bin/
|
||||
install nav $out/bin/
|
||||
'';
|
||||
propagatedBuildInputs = [ fzf ];
|
||||
propagatedBuildInputs = [fzf];
|
||||
meta = {
|
||||
maintainer = [ lib.maintainers.kmein ];
|
||||
maintainer = [lib.maintainers.kmein];
|
||||
description = "JSON data structure navigator";
|
||||
homepage = "https://github.com/huntrar/nav";
|
||||
};
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs }:
|
||||
let
|
||||
{pkgs}: let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
playlistAPI = "https://radio.lassul.us";
|
||||
@@ -41,28 +40,28 @@ let
|
||||
"noooo"
|
||||
];
|
||||
in
|
||||
pkgs.writers.writeDashBin "pls" ''
|
||||
case "$1" in
|
||||
good|like|cool|nice|noice|top|yup|yass|yes|+)
|
||||
${pkgs.curl}/bin/curl -sS -XPOST "${playlistAPI}/good"
|
||||
echo ${lib.escapeShellArg (lib.concatStringsSep "\n" messages.good)} | shuf -n1 | ${sendIRC}
|
||||
;;
|
||||
skip|next|bad|sucks|no|nope|flop|-)
|
||||
${pkgs.curl}/bin/curl -sS -XPOST "${playlistAPI}/skip"
|
||||
echo ${lib.escapeShellArg (lib.concatStringsSep "\n" messages.bad)} | shuf -n1 | ${sendIRC}
|
||||
;;
|
||||
say|msg)
|
||||
shift
|
||||
echo "$@" | ${sendIRC}
|
||||
;;
|
||||
recent)
|
||||
${pkgs.curl}/bin/curl -sS -XGET "${playlistAPI}/recent" | tac | head
|
||||
;;
|
||||
*)
|
||||
${pkgs.curl}/bin/curl -sS -XGET "${playlistAPI}/current" \
|
||||
| ${pkgs.miller}/bin/mlr --ijson --oxtab cat \
|
||||
| ${pkgs.gnused}/bin/sed -n '/artist\|title\|youtube/p'
|
||||
;;
|
||||
esac
|
||||
wait
|
||||
''
|
||||
pkgs.writers.writeDashBin "pls" ''
|
||||
case "$1" in
|
||||
good|like|cool|nice|noice|top|yup|yass|yes|+)
|
||||
${pkgs.curl}/bin/curl -sS -XPOST "${playlistAPI}/good"
|
||||
echo ${lib.escapeShellArg (lib.concatStringsSep "\n" messages.good)} | shuf -n1 | ${sendIRC}
|
||||
;;
|
||||
skip|next|bad|sucks|no|nope|flop|-)
|
||||
${pkgs.curl}/bin/curl -sS -XPOST "${playlistAPI}/skip"
|
||||
echo ${lib.escapeShellArg (lib.concatStringsSep "\n" messages.bad)} | shuf -n1 | ${sendIRC}
|
||||
;;
|
||||
say|msg)
|
||||
shift
|
||||
echo "$@" | ${sendIRC}
|
||||
;;
|
||||
recent)
|
||||
${pkgs.curl}/bin/curl -sS -XGET "${playlistAPI}/recent" | tac | head
|
||||
;;
|
||||
*)
|
||||
${pkgs.curl}/bin/curl -sS -XGET "${playlistAPI}/current" \
|
||||
| ${pkgs.miller}/bin/mlr --ijson --oxtab cat \
|
||||
| ${pkgs.gnused}/bin/sed -n '/artist\|title\|youtube/p'
|
||||
;;
|
||||
esac
|
||||
wait
|
||||
''
|
||||
|
||||
@@ -1,24 +1,40 @@
|
||||
{ lib, runCommand, fetchurl, writeText, writers, coreutils, dmenu, gnused, libnotify, xclip, xdotool, gawk }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
runCommand,
|
||||
fetchurl,
|
||||
writeText,
|
||||
writers,
|
||||
coreutils,
|
||||
dmenu,
|
||||
gnused,
|
||||
libnotify,
|
||||
xclip,
|
||||
xdotool,
|
||||
gawk,
|
||||
}: let
|
||||
unicode-file = runCommand "unicode.txt" {} ''
|
||||
${writers.writePython3 "generate.py" { flakeIgnore = [ "E501" "E722" ]; } ''
|
||||
import csv
|
||||
${
|
||||
writers.writePython3 "generate.py" {flakeIgnore = ["E501" "E722"];} ''
|
||||
import csv
|
||||
|
||||
with open("${fetchurl {
|
||||
url = "https://unicode.org/Public/UCD/latest/ucd/UnicodeData.txt";
|
||||
sha256 = "sha256-NgGOaGV/3LNIX2NmMP/oyFMuAcl3cD0oA/W4nWxf6vs=";
|
||||
}}", "r") as unicode_data:
|
||||
reader = csv.reader(unicode_data, delimiter=";")
|
||||
next(reader) # skip first row containing \0
|
||||
for row in reader:
|
||||
codepoint = row[0]
|
||||
name = row[1]
|
||||
alternate_name = row[10]
|
||||
try:
|
||||
print(chr(int(codepoint, 16)), codepoint, name, alternate_name, sep=" ")
|
||||
except:
|
||||
continue
|
||||
''} > $out
|
||||
with open("${
|
||||
fetchurl {
|
||||
url = "https://unicode.org/Public/UCD/latest/ucd/UnicodeData.txt";
|
||||
sha256 = "sha256-NgGOaGV/3LNIX2NmMP/oyFMuAcl3cD0oA/W4nWxf6vs=";
|
||||
}
|
||||
}", "r") as unicode_data:
|
||||
reader = csv.reader(unicode_data, delimiter=";")
|
||||
next(reader) # skip first row containing \0
|
||||
for row in reader:
|
||||
codepoint = row[0]
|
||||
name = row[1]
|
||||
alternate_name = row[10]
|
||||
try:
|
||||
print(chr(int(codepoint, 16)), codepoint, name, alternate_name, sep=" ")
|
||||
except:
|
||||
continue
|
||||
''
|
||||
} > $out
|
||||
'';
|
||||
kaomoji-file = writeText "kaomoji.txt" ''
|
||||
¯\(°_o)/¯ dunno lol shrug dlol
|
||||
@@ -56,18 +72,19 @@ let
|
||||
𓂺 penis
|
||||
𓂸 penis
|
||||
'';
|
||||
in # ref https://github.com/LukeSmithxyz/voidrice/blob/9fe6802122f6e0392c7fe20eefd30437771d7f8e/.local/bin/dmenuunicode
|
||||
writers.writeDashBin "unicodmenu" ''
|
||||
PATH=${lib.makeBinPath [ coreutils dmenu gnused libnotify xclip xdotool ]}
|
||||
chosen=$(cat ${kaomoji-file} ${unicode-file} | dmenu -p unicode -i -l 10 | sed "s/ .*//")
|
||||
in
|
||||
# ref https://github.com/LukeSmithxyz/voidrice/blob/9fe6802122f6e0392c7fe20eefd30437771d7f8e/.local/bin/dmenuunicode
|
||||
writers.writeDashBin "unicodmenu" ''
|
||||
PATH=${lib.makeBinPath [coreutils dmenu gnused libnotify xclip xdotool]}
|
||||
chosen=$(cat ${kaomoji-file} ${unicode-file} | dmenu -p unicode -i -l 10 | sed "s/ .*//")
|
||||
|
||||
[ "$chosen" != "" ] || exit
|
||||
[ "$chosen" != "" ] || exit
|
||||
|
||||
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
|
||||
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
xdotool key Shift+Insert
|
||||
else
|
||||
notify-send --app-name="$(basename "$0")" "'$chosen' copied to clipboard." &
|
||||
fi
|
||||
''
|
||||
if [ -n "$1" ]; then
|
||||
xdotool key Shift+Insert
|
||||
else
|
||||
notify-send --app-name="$(basename "$0")" "'$chosen' copied to clipboard." &
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
{ buildPythonPackage, buildPythonApplication, fetchPypi, requests, urwid }:
|
||||
let
|
||||
{
|
||||
buildPythonPackage,
|
||||
buildPythonApplication,
|
||||
fetchPypi,
|
||||
requests,
|
||||
urwid,
|
||||
}: let
|
||||
Simperium3 = buildPythonPackage rec {
|
||||
pname = "Simperium3";
|
||||
version = "0.1.3";
|
||||
@@ -7,16 +12,17 @@ let
|
||||
inherit pname version;
|
||||
sha256 = "1j1w4dji39v44l96qq9kbrxpcjkjmika8065gwy8bf847f9fa76p";
|
||||
};
|
||||
propagatedBuildInputs = [ requests ];
|
||||
propagatedBuildInputs = [requests];
|
||||
};
|
||||
in buildPythonApplication rec {
|
||||
pname = "sncli";
|
||||
version = "0.3.0";
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "sncli";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "18s5a6s2z7k14cbiyfdf98kw92r2hf1xwaavx67dxhadxm18xr4v";
|
||||
};
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "18s5a6s2z7k14cbiyfdf98kw92r2hf1xwaavx67dxhadxm18xr4v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests urwid Simperium3 ];
|
||||
}
|
||||
propagatedBuildInputs = [requests urwid Simperium3];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "text2pdf";
|
||||
@@ -7,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
url = "http://www.eprg.org/pdfcorner/text2pdf/text2pdf.c";
|
||||
sha256 = "002nyky12vf1paj7az6j6ra7lljwkhqzz238v7fyp7sfgxw0f7d1";
|
||||
};
|
||||
phases = [ "buildPhase" ];
|
||||
phases = ["buildPhase"];
|
||||
buildPhase = ''
|
||||
mkdir -p $out/bin
|
||||
gcc -o $out/bin/text2pdf $src
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ stdenv, lib, fetchurl, mupdf }:
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
mupdf,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "tocharian-font";
|
||||
version = "unstable-2022-01-11";
|
||||
@@ -7,7 +12,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "08bzkva9a6b2cfl38p9m22b1cf6yv27xsw6nrvq5ly5nffjm32hv";
|
||||
};
|
||||
dontUnpack = true;
|
||||
buildInputs = [ mupdf ];
|
||||
buildInputs = [mupdf];
|
||||
buildPhase = ''
|
||||
mutool extract $src
|
||||
'';
|
||||
@@ -19,6 +24,6 @@ stdenv.mkDerivation {
|
||||
description = "Tocharian font by Lee Wilson";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ kmein ];
|
||||
maintainers = with maintainers; [kmein];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
(vimUtils.buildVimPluginFrom2Nix {
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}: (vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "cheat.sh-vim";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dbeniamine";
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
(vimUtils.buildVimPluginFrom2Nix {
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}: (vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "icalendar.vim";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim-scripts";
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "jq.vim";
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "vim-256noir";
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
vimUtils.buildVimPluginFrom2Nix rec {
|
||||
name = "vim-colors-paramount";
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
(vimUtils.buildVimPluginFrom2Nix rec {
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}: (vimUtils.buildVimPluginFrom2Nix rec {
|
||||
name = "vim-fetch";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wsdjeg";
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "vim-fsharp";
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "vim-mail";
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ vimUtils, fetchFromGitHub }:
|
||||
(vimUtils.buildVimPluginFrom2Nix {
|
||||
{
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}: (vimUtils.buildVimPluginFrom2Nix {
|
||||
name = "vim-reason-plus";
|
||||
src = fetchFromGitHub {
|
||||
owner = "reasonml-editor";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, stdenv, bash, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
bash,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "vimv";
|
||||
src = fetchFromGitHub {
|
||||
@@ -7,7 +12,7 @@ stdenv.mkDerivation {
|
||||
rev = "4152496c1946f68a13c648fb7e583ef23dac4eb8";
|
||||
sha256 = "1fsrfx2gs6bqx7wk7pgcji2i2x4alqpsi66aif4kqvnpqfhcfzjd";
|
||||
};
|
||||
phases = [ "installPhase" ];
|
||||
phases = ["installPhase"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
sed 's:#!/bin/bash:#!${bash}/bin/bash:' $src/vimv > $out/bin/vimv
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, stdenv, perl, which }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
perl,
|
||||
which,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "when";
|
||||
version = "1.1.40";
|
||||
@@ -8,10 +13,10 @@ stdenv.mkDerivation {
|
||||
sha256 = "12d0zmvg66lwzr7q8zky0kz1x3w6q8dvyzm4x7lf1vy2z4pm4cvx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
buildInputs = [ perl ];
|
||||
nativeBuildInputs = [which];
|
||||
buildInputs = [perl];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
installFlags = ["prefix=$(out)"];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.lightandmatter.com/when/when.html";
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
{ jq, runCommand, fetchFromGitHub }:
|
||||
let
|
||||
{
|
||||
jq,
|
||||
runCommand,
|
||||
fetchFromGitHub,
|
||||
}: let
|
||||
online-radio = fetchFromGitHub {
|
||||
owner = "kmein";
|
||||
repo = "online-radio";
|
||||
rev = "04d16421355196194a05e5504ba8f66a9c07ee7b";
|
||||
sha256 = "1q0iagx7df0sd6vl5anvpzyiw4jdwa6c67z45rx622a6cr6m4zzl";
|
||||
};
|
||||
in runCommand "worldradio.m3u" {} ''
|
||||
${jq}/bin/jq --raw-output --slurp 'flatten | map(.url_resolved) | .[]' ${online-radio}/src/data/countries/*.json \
|
||||
| sort \
|
||||
| uniq \
|
||||
> $out
|
||||
''
|
||||
|
||||
in
|
||||
runCommand "worldradio.m3u" {} ''
|
||||
${jq}/bin/jq --raw-output --slurp 'flatten | map(.url_resolved) | .[]' ${online-radio}/src/data/countries/*.json \
|
||||
| sort \
|
||||
| uniq \
|
||||
> $out
|
||||
''
|
||||
# anthoer method for running a world radio using Icecast Directory
|
||||
# curl http://dir.xiph.org/ | pup 'a[href^=http]:contains("Play") attr{href}'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user