push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "do-agent";
version = "3.18.3";
src = fetchFromGitHub {
owner = "digitalocean";
repo = "do-agent";
rev = version;
sha256 = "sha256-YYckleFnWt7Wttmkb20g5fs9DOoL9VNDmOWdP3qNstU=";
};
ldflags = [
"-X main.version=${version}"
];
vendorHash = null;
doCheck = false;
postInstall = ''
install -Dm444 -t $out/lib/systemd/system $src/packaging/etc/systemd/system/do-agent.service
'';
meta = with lib; {
description = "DigitalOcean droplet system metrics agent";
mainProgram = "do-agent";
longDescription = ''
do-agent is a program provided by DigitalOcean that collects system
metrics from a DigitalOcean Droplet (on which the program runs) and sends
them to DigitalOcean to provide resource usage graphs and alerting.
'';
homepage = "https://github.com/digitalocean/do-agent";
license = licenses.asl20;
maintainers = [ ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitHub,
runCommand,
asciidoctor,
coreutils,
gawk,
glibc,
util-linux,
bash,
makeBinaryWrapper,
doas-sudo-shim,
}:
stdenv.mkDerivation rec {
pname = "doas-sudo-shim";
version = "0.1.2";
src = fetchFromGitHub {
owner = "jirutka";
repo = "doas-sudo-shim";
rev = "v${version}";
sha256 = "sha256-jgakKxglJi4LcxXsSE4mEdY/44kPxVb/jF7CgX7dllA=";
};
nativeBuildInputs = [
asciidoctor
makeBinaryWrapper
];
buildInputs = [
bash
coreutils
gawk
glibc
util-linux
];
dontConfigure = true;
dontBuild = true;
installFlags = [
"DESTDIR=$(out)"
"PREFIX=\"\""
];
postInstall = ''
wrapProgram $out/bin/sudo \
--prefix PATH : ${
lib.makeBinPath [
bash
coreutils
gawk
glibc
util-linux
]
}
'';
passthru.tests = {
helpTest = runCommand "${pname}-helpTest" { } ''
${doas-sudo-shim}/bin/sudo -h > $out
grep -q "Execute a command as another user using doas(1)" $out
'';
};
meta = with lib; {
description = "Shim for the sudo command that utilizes doas";
homepage = "https://github.com/jirutka/doas-sudo-shim";
license = licenses.isc;
mainProgram = "sudo";
maintainers = with maintainers; [ dsuetin ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,24 @@
From 9218347b8f833ab05d016dfba5617dcdeb59eb7b Mon Sep 17 00:00:00 2001
From: Cole Helbling <cole.e.helbling@outlook.com>
Date: Wed, 27 May 2020 08:02:57 -0700
Subject: [PATCH] add NixOS-specific dirs to safe PATH
---
doas.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/doas.c b/doas.c
index e253905..2fdb20f 100644
--- a/doas.c
+++ b/doas.c
@@ -234,6 +234,7 @@ int
main(int argc, char **argv)
{
const char *safepath = "/bin:/sbin:/usr/bin:/usr/sbin:"
+ "/run/wrappers/bin:/run/current-system/sw/bin:/run/current-system/sw/sbin:"
"/usr/local/bin:/usr/local/sbin";
const char *confpath = NULL;
char *shargv[] = { NULL, NULL };
--
2.26.2

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchFromGitHub,
bison,
pam,
libxcrypt,
nixosTests,
withPAM ? true,
withTimestamp ? true,
}:
stdenv.mkDerivation rec {
pname = "doas";
version = "6.8.2";
src = fetchFromGitHub {
owner = "Duncaen";
repo = "OpenDoas";
rev = "v${version}";
sha256 = "9uOQ2Ta5HzEpbCz2vbqZEEksPuIjL8lvmfmynfqxMeM=";
};
# otherwise confuses ./configure
dontDisableStatic = true;
configureFlags = [
(lib.optionalString withTimestamp "--with-timestamp") # to allow the "persist" setting
(lib.optionalString (!withPAM) "--without-pam")
];
patches = [
# Allow doas to discover binaries in /run/current-system/sw/{s,}bin and
# /run/wrappers/bin
./0001-add-NixOS-specific-dirs-to-safe-PATH.patch
];
# ./configure script does not understand `--disable-shared`
dontAddStaticConfigureFlags = true;
postPatch = ''
sed -i '/\(chown\|chmod\)/d' GNUmakefile
''
+ lib.optionalString (withPAM && stdenv.hostPlatform.isStatic) ''
sed -i 's/-lpam/-lpam -laudit/' configure
'';
nativeBuildInputs = [ bison ];
buildInputs = [ ] ++ lib.optional withPAM pam ++ lib.optional (!withPAM) libxcrypt;
passthru.tests = { inherit (nixosTests) doas; };
meta = with lib; {
description = "Executes the given command as another user";
mainProgram = "doas";
homepage = "https://github.com/Duncaen/OpenDoas";
license = licenses.isc;
platforms = platforms.linux;
maintainers = with maintainers; [ cole-h ];
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "doc2go";
version = "0.9.1";
src = fetchFromGitHub {
owner = "abhinav";
repo = "doc2go";
rev = "v${version}";
hash = "sha256-vxGzDHTtA6GgyAq1bcXL1Jrn4H6ug/ZeHl+aWezOYGo=";
};
vendorHash = "sha256-GuBjImliR3iOthOL1/4AtH2ldf5AecYXPoexHGxm4zs=";
ldflags = [
"-s"
"-w"
"-X main._version=${version}"
];
subPackages = [ "." ];
# integration is it's own module
excludedPackages = [ "integration" ];
checkFlags = [
# needs to fetch additional go modules
"-skip=TestFinder_ImportedPackage/Modules"
];
preCheck = ''
# run all tests
unset subPackages
'';
meta = with lib; {
homepage = "https://github.com/abhinav/doc2go";
changelog = "https://github.com/abhinav/doc2go/blob/${src.rev}/CHANGELOG.md";
description = "Your Go project's documentation, to-go";
mainProgram = "doc2go";
longDescription = ''
doc2go is a command line tool that generates static HTML documentation
from your Go code. It is a self-hosted static alternative to
https://pkg.go.dev/ and https://godocs.io/.
'';
license = with licenses; [
# general project license
asl20
# internal/godoc/synopsis*.go adapted from golang source
bsd3
];
maintainers = with maintainers; [ jk ];
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchurl,
expat,
}:
stdenv.mkDerivation rec {
pname = "docbook2mdoc";
version = "0.0.9";
src = fetchurl {
url = "http://mdocml.bsd.lv/docbook2mdoc/snapshots/docbook2mdoc-${version}.tgz";
sha256 = "07il80sg89xf6ym4bry6hxdacfzqgbwkxzyf7bjaihmw5jj0lclk";
};
buildInputs = [ expat.dev ];
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
homepage = "http://mdocml.bsd.lv/";
description = "Converter from DocBook V4.x and v5.x XML into mdoc";
license = licenses.isc;
platforms = platforms.all;
maintainers = with maintainers; [ ramkromberg ];
mainProgram = "docbook2mdoc";
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchurl,
perlPackages,
makeWrapper,
zip,
libxslt,
}:
stdenv.mkDerivation rec {
pname = "docbook2odf";
version = "0.244";
src = fetchurl {
url = "http://open.comsultia.com/docbook2odf/dwn/docbook2odf-${version}.tar.gz";
sha256 = "10k44g0qqa37k30pfj8vz95j6zdzz0nmnqjq1lyahfs2h4glzgwb";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
installPhase = ''
mkdir -p "$out/bin/"
mkdir -p "$out/share/docbook2odf/"
mkdir -p "$out/share/doc/docbook2odf/"
mkdir -p "$out/share/man/man1/"
mkdir -p "$out/share/applications/"
cp utils/docbook2odf "$out/bin/"
cp docs/docbook2odf.1 "$out/share/man/man1/"
cp -r examples/ "$out/share/doc/docbook2odf/"
cp -r xsl/ "$out/share/docbook2odf/"
cp bindings/desktop/docbook2odf.desktop "$out/share/applications/"
sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf"
wrapProgram "$out/bin/docbook2odf" \
--prefix PATH : "${
lib.makeBinPath [
zip
libxslt
]
}" \
--prefix PERL5PATH : "${perlPackages.makePerlPath [ perlPackages.ImageMagick ]}"
'';
meta = with lib; {
description = "Convert DocBook to OpenDocument Format (ODF)";
longDescription = ''
Docbook2odf is a toolkit that automatically converts DocBook to OASIS
OpenDocument (ODF, the ISO standardized format used for texts,
spreadsheets and presentations). Conversion is based on a XSLT which
makes it easy to convert DocBook->ODF, ODT, ODS and ODP as all these
documents are XML based.
'';
homepage = "http://open.comsultia.com/docbook2odf/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
mainProgram = "docbook2odf";
};
}

View File

@@ -0,0 +1,15 @@
--- docbook2X-0.8.8/perl/db2x_texixml.pl 2006-04-20 05:02:31.000000000 +0200
+++ docbook2X-0.8.8/perl/db2x_texixml.pl 2008-03-12 15:36:55.000000000 +0100
@@ -432,8 +432,12 @@ sub texi_openfile {
$openstr = '>-';
}
} else {
+ if(not $self->{options}->{'to-stdout'}) {
$openstr .= '> ' . shell_quote($filename);
print "$filename\n"
if $self->{options}->{'list-files'};
+ } else {
+ $openstr = '>-';
+ }
}
}

View File

@@ -0,0 +1,102 @@
{
fetchurl,
lib,
stdenv,
texinfo,
perlPackages,
groff,
libxml2,
libxslt,
gnused,
libiconv,
iconv,
opensp,
docbook_xml_dtd_43,
bash,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "docbook2X";
version = "0.8.8";
src = fetchurl {
url = "mirror://sourceforge/docbook2x/docbook2X-${version}.tar.gz";
sha256 = "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0";
};
# This patch makes sure that `docbook2texi --to-stdout' actually
# writes its output to stdout instead of creating a file.
patches = [ ./db2x_texixml-to-stdout.patch ];
strictDeps = true;
nativeBuildInputs = [
makeWrapper
perlPackages.perl
texinfo
libxslt
iconv
];
buildInputs = [
groff
libxml2
opensp
libiconv
bash
]
++ (with perlPackages; [
perl
XMLSAX
XMLParser
XMLNamespaceSupport
]);
# configure tries to find osx in PATH and hardcodes the resulting path
# (if any) on the Perl code. this fails under strictDeps, so override
# the autoconf test:
OSX = "${opensp}/bin/osx";
postConfigure = ''
# Broken substitution is used for `perl/config.pl', which leaves literal
# `$prefix' in it.
substituteInPlace "perl/config.pl" \
--replace '${"\$" + "{prefix}"}' "$out"
'';
doCheck = false; # fails a lot of tests
postInstall = ''
perlPrograms="db2x_manxml db2x_texixml db2x_xsltproc
docbook2man docbook2texi";
for i in $perlPrograms
do
# XXX: We work around the fact that `wrapProgram' doesn't support
# spaces below by inserting escaped backslashes.
wrapProgram $out/bin/$i \
--prefix PERL5LIB : ${
with perlPackages;
makeFullPerlPath [
XMLSAX
XMLParser
XMLNamespaceSupport
]
} \
--prefix XML_CATALOG_FILES "\ " \
"$out/share/docbook2X/dtd/catalog.xml\ $out/share/docbook2X/xslt/catalog.xml\ ${docbook_xml_dtd_43}/xml/dtd/docbook/catalog.xml"
done
wrapProgram $out/bin/sgml2xml-isoent --prefix PATH : \
"${gnused}/bin"
'';
meta = with lib; {
longDescription = ''
docbook2X is a software package that converts DocBook documents
into the traditional Unix man page format and the GNU Texinfo
format.
'';
license = licenses.mit;
homepage = "https://docbook2x.sourceforge.net/";
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchurl,
unzip,
}:
stdenv.mkDerivation rec {
pname = "docbook5";
version = "5.0.1";
src = fetchurl {
url = "http://www.docbook.org/xml/${version}/docbook-${version}.zip";
sha256 = "1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs";
};
nativeBuildInputs = [ unzip ];
installPhase = ''
dst=$out/share/xml/docbook-5.0
mkdir -p $dst
cp -prv * $dst/
substituteInPlace $dst/catalog.xml --replace 'uri="' "uri=\"$dst/"
rm -rf $dst/docs $dst/ChangeLog
# Backwards compatibility. Will remove eventually.
mkdir -p $out/xml/rng $out/xml/dtd
ln -s $dst/rng $out/xml/rng/docbook
ln -s $dst/dtd $out/xml/dtd/docbook
'';
meta = {
description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation";
homepage = "https://docbook.org/xml/5.0/";
maintainers = [ ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,2 @@
PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
"dbebnf.dtd"

View File

@@ -0,0 +1,30 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "docbook-xml-ebnf";
version = "1.2b1";
dtd = fetchurl {
url = "https://docbook.org/xml/ebnf/${version}/dbebnf.dtd";
sha256 = "0min5dsc53my13b94g2yd65q1nkjcf4x1dak00bsc4ckf86mrx95";
};
catalog = ./docbook-ebnf.cat;
unpackPhase = ''
mkdir -p $out/xml/dtd/docbook-ebnf
cd $out/xml/dtd/docbook-ebnf
'';
installPhase = ''
cp -p $dtd dbebnf.dtd
cp -p $catalog $(stripHash $catalog)
'';
meta = {
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,25 @@
diff --git a/bin/dune b/bin/dune
index e0ddc1f..a4e8523 100644
--- a/bin/dune
+++ b/bin/dune
@@ -47,6 +47,7 @@
notty
notty.unix
nottui
+ nottui-unix
lwd
oseq
eio
diff --git a/bin/ui_base.ml b/bin/ui_base.ml
index f56ee8d..8d8ed70 100644
--- a/bin/ui_base.ml
+++ b/bin/ui_base.ml
@@ -587,7 +587,7 @@ let ui_loop ~quit ~term root =
if term_width <> prev_term_width || term_height <> prev_term_height then (
Lwd.set Vars.term_width_height (term_width, term_height)
);
- Nottui.Ui_loop.step
+ Nottui_unix.step
~process_event:true
~timeout:0.05
~renderer

View File

@@ -0,0 +1,86 @@
{
lib,
ocamlPackages,
stdenv,
fetchFromGitHub,
python3,
dune_3,
makeWrapper,
pandoc,
poppler-utils,
testers,
docfd,
}:
ocamlPackages.buildDunePackage rec {
pname = "docfd";
version = "11.0.1";
minimalOCamlVersion = "5.1";
src = fetchFromGitHub {
owner = "darrenldl";
repo = "docfd";
rev = version;
hash = "sha256-uRC2QBn4gAfS9u85YaNH2Mm2C0reP8FnDHbyloY+OC8=";
};
# Compatibility with nottui ≥ 0.4
patches = [ ./nottui-unix.patch ];
nativeBuildInputs = [
python3
dune_3
makeWrapper
];
buildInputs = with ocamlPackages; [
cmdliner
containers-data
decompress
diet
digestif
eio_main
lwd
nottui
nottui-unix
notty
ocaml_sqlite3
ocolor
oseq
ppx_deriving
ppxlib
progress
re
spelll
timedesc
uuseg
yojson
];
postInstall = ''
wrapProgram $out/bin/docfd --prefix PATH : "${
lib.makeBinPath [
pandoc
poppler-utils
]
}"
'';
passthru.tests.version = testers.testVersion { package = docfd; };
meta = with lib; {
description = "TUI multiline fuzzy document finder";
longDescription = ''
Think interactive grep for text and other document files.
Word/token based instead of regex and line based, so you
can search across lines easily. Aims to provide good UX via
integration with common text editors and other file viewers.
'';
homepage = "https://github.com/darrenldl/docfd";
license = licenses.mit;
maintainers = with maintainers; [ chewblacka ];
platforms = platforms.all;
mainProgram = "docfd";
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
buildDotnetGlobalTool,
dotnetCorePackages,
}:
buildDotnetGlobalTool {
pname = "docfx";
version = "2.78.3";
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
nugetHash = "sha256-hLb6OmxqXOOxFaq/N+aZ0sAzEYjU0giX3c1SWQtKDbs=";
meta = {
description = "Build your technical documentation site with docfx, with landing pages, markdown, API reference docs for .NET, REST API and more";
homepage = "https://github.com/dotnet/docfx";
license = lib.licenses.mit;
mainProgram = "docfx";
maintainers = with lib.maintainers; [ semtexerror ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "docify";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "AThePeanut4";
repo = "docify";
tag = "v${version}";
hash = "sha256-pENahqprTf6weP6qi9CyeQPdNOqr9c/q7j6GO9Lq3N4=";
};
build-system = with python3Packages; [
pdm-backend
];
dependencies = with python3Packages; [
libcst
tqdm
];
pythonImportsCheck = [ "docify" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/AThePeanut4/docify/releases/tag/v${version}";
description = "Script to add docstrings to Python type stubs using reflection";
homepage = "https://github.com/AThePeanut4/docify";
license = lib.licenses.mit;
mainProgram = "docify";
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View File

@@ -0,0 +1,71 @@
{
lib,
fetchFromGitHub,
glib,
gobject-introspection,
gtk3,
keybinder3,
libwnck,
python3Packages,
wrapGAppsHook3,
}:
python3Packages.buildPythonApplication rec {
pname = "dockbarx";
version = "1.0-beta4";
format = "pyproject";
src = fetchFromGitHub {
owner = "xuzhen";
repo = "dockbarx";
rev = version;
sha256 = "sha256-J/5KpHptGzgRF1qIGrgjkRR3in5pE0ffkiYVTR3iZKY=";
};
nativeBuildInputs = [
glib.dev
gobject-introspection
python3Packages.polib
wrapGAppsHook3
];
buildInputs = [
gtk3
libwnck
keybinder3
];
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
dbus-python
pillow
pygobject3
pyxdg
xlib
];
# no tests
doCheck = false;
dontWrapGApps = true;
postInstall = ''
glib-compile-schemas $out/share/glib-2.0/schemas
'';
# Arguments to be passed to `makeWrapper`, only used by buildPython*
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = with lib; {
homepage = "https://github.com/xuzhen/dockbarx";
description = "Lightweight taskbar/panel replacement which works as a stand-alone dock";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.romildo ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
fetchFromGitHub,
buildGoModule,
nix-update-script,
}:
buildGoModule rec {
pname = "docker-color-output";
version = "2.6.1";
src = fetchFromGitHub {
owner = "devemio";
repo = "docker-color-output";
tag = version;
hash = "sha256-r11HNRXnmTC1CJR871sX7xW9ts9KAu1+azwIwXH09qg=";
};
postInstall = ''
mv $out/bin/cli $out/bin/docker-color-output
'';
vendorHash = null;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Add color to the Docker CLI";
mainProgram = "docker-color-output";
license = lib.licenses.mit;
homepage = "https://github.com/devemio/docker-color-output";
changelog = "https://github.com/devemio/docker-color-output/releases/tag/${version}";
maintainers = with lib.maintainers; [ sguimmara ];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "docker-compose-language-service";
version = "0.2.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "compose-language-service";
rev = "v${version}";
hash = "sha256-UBnABi7DMKrAFkRA8H6us/Oq4yM0mJ+kwOm0Rt8XnGw=";
};
npmDepsHash = "sha256-G1X9WrnwN6wM9S76PsGrPTmmiMBUKu4T2Al3HH3Wo+w=";
meta = {
description = "Language service for Docker Compose documents";
homepage = "https://github.com/microsoft/compose-language-service";
changelog = "https://github.com/microsoft/compose-language-service/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ natsukium ];
mainProgram = "docker-compose-langserver";
};
}

View File

@@ -0,0 +1,61 @@
{
buildGoModule,
docker-credential-gcr,
fetchFromGitHub,
lib,
nix-update-script,
testers,
}:
buildGoModule rec {
pname = "docker-credential-gcr";
version = "2.1.30";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "docker-credential-gcr";
tag = "v${version}";
hash = "sha256-ZHQLZLw5Qe+60POSxfUZ5nh9punLXHzlXbjrUVR9MKU=";
};
postPatch = ''
rm -rf ./test
'';
vendorHash = "sha256-eQ9ZsJqW+FF3XHrqaDm254/vdLxR1Mw5wt+TkWqtXBg=";
env.CGO_ENABLED = 0;
ldflags = [
"-s"
"-w"
"-X github.com/GoogleCloudPlatform/docker-credential-gcr/v2/config.Version=${version}"
];
passthru = {
tests.version = testers.testVersion {
package = docker-credential-gcr;
command = "docker-credential-gcr version";
};
updateScript = nix-update-script { };
};
__darwinAllowLocalNetworking = true;
meta = {
description = "Docker credential helper for GCR (https://gcr.io) users";
longDescription = ''
docker-credential-gcr is Google Container Registry's Docker credential
helper. It allows for Docker clients v1.11+ to easily make
authenticated requests to GCR's repositories (gcr.io, eu.gcr.io, etc.).
'';
homepage = "https://github.com/GoogleCloudPlatform/docker-credential-gcr";
changelog = "https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
suvash
anthonyroussel
];
mainProgram = "docker-credential-gcr";
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
pkg-config,
libsecret,
testers,
docker-credential-helpers,
}:
buildGoModule rec {
pname = "docker-credential-helpers";
version = "0.9.4";
src = fetchFromGitHub {
owner = "docker";
repo = "docker-credential-helpers";
rev = "v${version}";
sha256 = "sha256-cDpo3hw0yP9QnFvlGUIpjfMzni57KNkY+S+SIYOKBKQ=";
};
vendorHash = null;
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libsecret ];
ldflags = [
"-s"
"-w"
"-X github.com/docker/docker-credential-helpers/credentials.Version=${version}"
];
buildPhase =
let
cmds =
if stdenv.hostPlatform.isDarwin then
[
"osxkeychain"
"pass"
]
else
[
"secretservice"
"pass"
];
in
''
for cmd in ${toString cmds}; do
go build -ldflags "${toString ldflags}" -trimpath -o bin/docker-credential-$cmd ./$cmd/cmd
done
'';
installPhase = ''
install -Dm755 -t $out/bin bin/docker-credential-*
'';
passthru.tests.version = testers.testVersion {
package = docker-credential-helpers;
command = "docker-credential-pass version";
};
meta =
with lib;
{
description = "Suite of programs to use native stores to keep Docker credentials safe";
homepage = "https://github.com/docker/docker-credential-helpers";
license = licenses.mit;
maintainers = [ ];
}
// lib.optionalAttrs stdenv.hostPlatform.isDarwin {
mainProgram = "docker-credential-osxkeychain";
};
}

View File

@@ -0,0 +1,47 @@
{
stdenv,
fetchurl,
zstd,
lib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "docker-init";
version = "1.4.0";
tag = "175267";
src = fetchurl {
url = "https://desktop.docker.com/linux/main/amd64/${finalAttrs.tag}/docker-desktop-x86_64.pkg.tar.zst";
hash = "sha256-pxxlSN2sQqlPUzUPufcK8T+pvdr0cK+9hWTYzwMJv5I=";
};
nativeBuildInputs = [
zstd
];
unpackPhase = ''
runHook preUnpack
tar --zstd -xvf $src
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,libexec/docker/cli-plugins}
cp usr/lib/docker/cli-plugins/docker-init $out/libexec/docker/cli-plugins
ln -s $out/libexec/docker/cli-plugins/docker-init $out/bin/docker-init
runHook postInstall
'';
meta = {
description = "Creates Docker-related starter files for your project";
homepage = "https://docs.docker.com/reference/cli/docker/init";
downloadPage = "https://docs.docker.com/desktop/release-notes";
mainProgram = "docker-init";
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ BastianAsmussen ];
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
fetchFromGitHub,
buildGoModule,
docker,
gotestsum,
}:
buildGoModule rec {
pname = "docker-language-server";
version = "0.16.0";
src = fetchFromGitHub {
owner = "docker";
repo = "docker-language-server";
tag = "v${version}";
hash = "sha256-P3DwlCjQllFtf05ssXYNraQFGEEzChSE5eJvcODdF6Q=";
};
vendorHash = "sha256-xvRHxi7aem88mrmdAmSyRNtBUSZD4rjUut2VjPeoejg=";
nativeCheckInputs = [
docker
gotestsum
];
checkPhase = ''
runHook preCheck
gotestsum -- $(go list ./... | grep -vE "e2e-tests|/buildkit$|/scout$") -timeout 30s -skip "TestCollectDiagnostics"
go test $(go list ./... | grep e2e-tests) -timeout 120s -skip "TestPublishDiagnostics|TestHover"
runHook postCheck
'';
ldflags = [
"-s"
"-w"
"-X 'github.com/docker/docker-language-server/internal/pkg/cli/metadata.Version=${version}'"
];
meta = with lib; {
homepage = "https://github.com/docker/docker-language-server";
description = "Language server for providing language features for file types in the Docker ecosystem (Dockerfiles, Compose files, and Bake files)";
mainProgram = "docker-language-server";
license = licenses.asl20;
maintainers = with maintainers; [ baongoc124 ];
};
}

View File

@@ -0,0 +1,34 @@
{
buildGoModule,
fetchFromGitHub,
lib,
docker,
}:
buildGoModule rec {
pname = "docker-ls";
version = "0.5.1";
src = fetchFromGitHub {
owner = "mayflower";
repo = "docker-ls";
rev = "v${version}";
sha256 = "sha256-4+REt0NH4S367qFsyJncVedUrC4t1zw5o0CLTiQfIz8=";
};
vendorHash = "sha256-UulcjQOLEIP++eoYQTEIbCJW51jyE312dMxB8+AKcdU=";
meta = with lib; {
description = "Tools for browsing and manipulating docker registries";
longDescription = ''
Docker-ls is a set of CLI tools for browsing and manipulating docker registries.
In particular, docker-ls can handle authentication and display the sha256 content digests associated
with tags.
'';
homepage = "https://github.com/mayflower/docker-ls";
maintainers = [ ];
platforms = docker.meta.platforms;
license = licenses.mit;
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
buildGoModule,
fetchFromGitHub,
makeBinaryWrapper,
}:
buildGoModule rec {
pname = "docker-slim";
version = "1.40.11";
src = fetchFromGitHub {
owner = "slimtoolkit";
repo = "slim";
rev = version;
hash = "sha256-X+1euWp4W53axbiBpL82bUPfod/JNhGVGWgOqKyhz6A=";
};
vendorHash = null;
env.CGO_ENABLED = 0;
subPackages = [
"cmd/slim"
"cmd/slim-sensor"
];
nativeBuildInputs = [ makeBinaryWrapper ];
preBuild = ''
go generate ./...
'';
ldflags = [
"-s"
"-w"
"-X github.com/slimtoolkit/slim/pkg/version.appVersionTag=${version}"
"-X github.com/slimtoolkit/slim/pkg/version.appVersionRev=${src.rev}"
];
# docker-slim tries to create its state dir next to the binary (inside the nix
# store), so we set it to use the working directory at the time of invocation
postInstall = ''
wrapProgram "$out/bin/slim" --add-flags '--state-path "$(pwd)"'
'';
meta = {
description = "Minify and secure Docker containers";
homepage = "https://slimtoolkit.org/";
changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
Br1ght0ne
mbrgm
];
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
bash,
docker,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "docker-vackup";
version = "0-unstable-2024-11-01";
src = fetchFromGitHub {
owner = "BretFisher";
repo = "docker-vackup";
rev = "2a8a73136302af0bebeb7f210fc14be868ab2958";
hash = "sha256-/iMQNnkRNTMiw+E6Wv/WatRB0DnapOVWqqszluUFed4=";
};
nativeBuildInputs = [ makeWrapper ];
patchPhase = ''
substituteInPlace vackup --replace-fail "/bin/bash" "${lib.getExe bash}"
'';
installPhase = ''
runHook preInstall
install -Dm755 vackup "$out/bin/vackup"
wrapProgram "$out/bin/vackup" \
--suffix PATH : ${lib.makeBinPath [ docker ]}
runHook postInstall
'';
meta = {
description = "Shell script to backup and restore Docker volumes";
homepage = "https://github.com/BretFisher/docker-vackup";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ liberodark ];
mainProgram = "vackup";
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "dockerfile-language-server";
version = "0.14.1";
src = fetchFromGitHub {
owner = "rcjsuen";
repo = "dockerfile-language-server";
tag = "v${version}";
hash = "sha256-oPU9XVxD9GbXMWkeGKncriFi1oP3YlkWnjxzltaz/iU=";
};
preBuild = ''
npm run prepublishOnly
'';
npmDepsHash = "sha256-p5BBKoq+ANR8z4YWsjmKaNqkyQGETwG5OmdapasLk+c=";
meta = {
changelog = "https://github.com/rcjsuen/dockerfile-language-server/blob/${src.tag}/CHANGELOG.md";
description = "Language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies";
homepage = "https://github.com/rcjsuen/dockerfile-language-server";
license = lib.licenses.mit;
mainProgram = "docker-langserver";
maintainers = with lib.maintainers; [
rvolosatovs
net-mist
dlugoschvincent
];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
buildGoModule,
installShellFiles,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "dockerfmt";
version = "0.3.7";
src = fetchFromGitHub {
owner = "reteps";
repo = "dockerfmt";
tag = "v${finalAttrs.version}";
hash = "sha256-cNxPe0LOZyUxyw43fmTQeoxvXcT9K+not/3SvChBSx4=";
};
vendorHash = "sha256-fLGgvAxSAiVSrsnF7r7EpPKCOOD9jzUsXxVQNWjYq80=";
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd dockerfmt \
--bash <($out/bin/dockerfmt completion bash) \
--fish <($out/bin/dockerfmt completion fish) \
--zsh <($out/bin/dockerfmt completion zsh)
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "version";
meta = {
description = "Dockerfile formatter: a modern dockfmt";
homepage = "https://github.com/reteps/dockerfmt";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mahyarmirrashed ];
mainProgram = "dockerfmt";
};
})

View File

@@ -0,0 +1,34 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "dockfmt";
version = "unstable-2020-09-18";
# The latest released version doesn't support reading from stdin.
src = fetchFromGitHub {
owner = "jessfraz";
repo = "dockfmt";
rev = "1455059b8bb53ab4723ef41946c43160583a8333";
hash = "sha256-wEC9kENcE3u+Mb7uLbx/VBUup6PBnCY5cxTYvkJcavg=";
};
vendorHash = null;
ldflags = [
"-w"
"-s"
"-X github.com/jessfraz/dockfmt/version.VERSION=${version}"
];
meta = with lib; {
description = "Dockerfile format";
mainProgram = "dockfmt";
homepage = "https://github.com/jessfraz/dockfmt";
license = licenses.mit;
maintainers = with maintainers; [ cpcloud ];
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
buildGoModule,
fetchFromGitHub,
pkg-config,
btrfs-progs,
lvm2,
}:
buildGoModule rec {
pname = "dockle";
version = "0.4.15";
src = fetchFromGitHub {
owner = "goodwithtech";
repo = "dockle";
rev = "v${version}";
hash = "sha256-YoDgTKhXpN4UVF/+NDFxaEFwMj81RJaqfjr29t1UdLY=";
};
vendorHash = "sha256-RMuTsPgqQoD2pdEaflNOOBZK5R8LbtcBzpAGocG8OGk=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
btrfs-progs
lvm2
];
ldflags = [
"-s"
"-w"
"-X github.com/goodwithtech/dockle/pkg.version=${version}"
];
preCheck = ''
# Remove tests that use networking
rm pkg/scanner/scan_test.go
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/dockle --help
$out/bin/dockle --version | grep "dockle version ${version}"
runHook postInstallCheck
'';
meta = {
homepage = "https://containers.goodwith.tech";
changelog = "https://github.com/goodwithtech/dockle/releases/tag/v${version}";
description = "Container Image Linter for Security";
mainProgram = "dockle";
longDescription = ''
Container Image Linter for Security.
Helping build the Best-Practice Docker Image.
Easy to start.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jk ];
};
}

View File

@@ -0,0 +1,46 @@
{
bash,
coreutils,
fetchFromGitHub,
git,
lib,
makeWrapper,
ncurses,
stdenv,
}:
stdenv.mkDerivation {
pname = "dockstarter";
version = "unstable-2022-10-26";
src = fetchFromGitHub {
owner = "ghostwriters";
repo = "dockstarter";
rev = "a1b6b6e29aa135c2a61ea67ca05e9e034856ca08";
hash = "sha256-G26DFme6YaizdE5oHBo/IqV+1quu07Bp+IykXtO/GgA=";
};
dontBuild = false;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
install -Dm755 main.sh $out/bin/ds
wrapProgram $out/bin/ds --prefix PATH : ${
lib.makeBinPath [
bash
coreutils
git
ncurses
]
}
'';
meta = with lib; {
description = "Make it quick and easy to get up and running with Docker";
homepage = "https://dockstarter.com";
license = licenses.mit;
maintainers = with maintainers; [ urandom ];
mainProgram = "ds";
};
}

View File

@@ -0,0 +1,7 @@
# This file was generated by swiftpm2nix.
{
workspaceStateFile = ./workspace-state.json;
hashes = {
"swift-argument-parser" = "1fpdgivmwdszggvx0ligs3vidv9kpp9777v649hs8w7vpcifc2ji";
};
}

View File

@@ -0,0 +1,25 @@
{
"object": {
"artifacts": [],
"dependencies": [
{
"basedOn": null,
"packageRef": {
"identity": "swift-argument-parser",
"kind": "remoteSourceControl",
"location": "https://github.com/apple/swift-argument-parser.git",
"name": "swift-argument-parser"
},
"state": {
"checkoutState": {
"revision": "82905286cc3f0fa8adc4674bf49437cab65a8373",
"version": "1.1.1"
},
"name": "sourceControlCheckout"
},
"subpath": "swift-argument-parser"
}
]
},
"version": 6
}

View File

@@ -0,0 +1,101 @@
{
lib,
stdenv,
stdenvNoCC,
fetchFromGitHub,
fetchurl,
swift,
swiftpm,
swiftpm2nix,
swiftPackages,
libarchive,
p7zip,
# Building from source on x86_64 fails (among other things) due to:
# error: cannot load underlying module for 'Darwin'
fromSource ? (stdenv.system != "x86_64-darwin"),
}:
let
generated = swiftpm2nix.helpers ./generated;
pname = "dockutil";
version = "3.1.3";
meta = with lib; {
description = "Tool for managing dock items";
homepage = "https://github.com/kcrawford/dockutil";
license = licenses.asl20;
maintainers = with maintainers; [ tboerger ];
mainProgram = "dockutil";
platforms = platforms.darwin;
};
buildFromSource = swiftPackages.stdenv.mkDerivation (finalAttrs: {
inherit pname version meta;
src = fetchFromGitHub {
owner = "kcrawford";
repo = "dockutil";
rev = finalAttrs.version;
hash = "sha256-mmk4vVZhq4kt05nI/dDM1676FDWyf4wTSwY2YzqKsLU=";
};
postPatch = ''
# Patch sources so that they build with Swift CoreFoundation
# which differs ever so slightly from Apple's implementation.
substituteInPlace Sources/DockUtil/DockUtil.swift \
--replace-fail "URL(filePath:" \
"URL(fileURLWithPath:" \
--replace-fail "path(percentEncoded: false)" \
"path"
'';
nativeBuildInputs = [
swift
swiftpm
];
configurePhase = generated.configure;
installPhase = ''
runHook preInstall
install -Dm755 .build/${stdenv.hostPlatform.darwinArch}-apple-macosx/release/dockutil -t $out/bin
runHook postInstall
'';
});
installBinary = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname version;
src = fetchurl {
url = "https://github.com/kcrawford/dockutil/releases/download/${finalAttrs.version}/dockutil-${finalAttrs.version}.pkg";
hash = "sha256-9g24Jz/oDXxIJFiL7bU4pTh2dcORftsAENq59S0/JYI=";
};
dontPatch = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [
libarchive
p7zip
];
unpackPhase = ''
7z x $src
bsdtar -xf Payload~
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -Dm755 usr/local/bin/dockutil -t $out/bin
runHook postInstall
'';
meta = meta // {
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
});
in
if fromSource then buildFromSource else installBinary

View File

@@ -0,0 +1,55 @@
{
fetchurl,
lib,
libxml2,
makeWrapper,
python3,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "doclifter";
version = "2.21";
src = fetchurl {
url = "http://www.catb.org/~esr/doclifter/doclifter-${finalAttrs.version}.tar.gz";
hash = "sha256-3zb+H/rRmU87LWh0+kQtiRMZ4JwJ3tVrt8vQ/EeKx8Q=";
};
postPatch = ''
substituteInPlace manlifter \
--replace-fail '/usr/bin/env python2' '/usr/bin/env python3' \
--replace-fail 'import thread, threading, Queue' 'import _thread, threading, queue' \
--replace-fail 'thread.get_ident' '_thread.get_ident' \
--replace-fail 'Queue.Queue' 'queue.Queue'
'';
nativeBuildInputs = [
python3
makeWrapper
];
buildInputs = [ python3 ];
strictDeps = true;
makeFlags = [ "PREFIX=$(out)" ];
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/share/man/man1
cp manlifter $out/bin
wrapProgram "$out/bin/manlifter" \
--prefix PATH : "${lib.getBin libxml2}/bin:$out/bin"
gzip < manlifter.1 > $out/share/man/man1/manlifter.1.gz
'';
meta = {
changelog = "https://gitlab.com/esr/doclifter/-/blob/2.21/NEWS";
description = "Lift documents in nroff markups to XML-DocBook";
homepage = "http://www.catb.org/esr/doclifter";
license = lib.licenses.bsd2;
mainProgram = "doclifter";
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,24 @@
{
python3Packages,
nixosTests,
withUI ? false,
withTesserocr ? false,
withRapidocr ? false,
withCPU ? false,
}:
(python3Packages.toPythonApplication (
python3Packages.docling-serve.override {
inherit
withUI
withTesserocr
withRapidocr
withCPU
;
}
))
// {
passthru.tests = {
docling-serve = nixosTests.docling-serve;
};
}

View File

@@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.docling

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
python3,
}:
stdenv.mkDerivation rec {
version = "0.6.3";
pname = "docopt.cpp";
src = fetchFromGitHub {
owner = "docopt";
repo = "docopt.cpp";
rev = "v${version}";
sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7";
};
patches = [
(fetchpatch2 {
name = "python3-for-tests";
url = "https://github.com/docopt/docopt.cpp/commit/b3d909dc952ab102a4ad5a1541a41736f35b92ba.patch?full_index=1";
hash = "sha256-LXnN36/JuHsCeLnjuPFa42dT52iOcnJd4NGYx96Z5c0=";
})
(fetchpatch2 {
name = "Increase-cmake_minimum_required-to-3.5";
url = "https://github.com/docopt/docopt.cpp/commit/05d507da0d153faff381f44968833ebffdc03447.patch?full_index=1";
hash = "sha256-bwKkhU3+GZFIUH0Ig0l9zcTtox9som3DY+ZApWrWl80=";
})
];
nativeBuildInputs = [
cmake
python3
];
cmakeFlags = [ "-DWITH_TESTS=ON" ];
strictDeps = true;
doCheck = true;
postPatch = ''
substituteInPlace docopt.pc.in \
--replace "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" \
"@CMAKE_INSTALL_LIBDIR@"
'';
checkPhase = "python ./run_tests";
meta = with lib; {
description = "C++11 port of docopt";
homepage = "https://github.com/docopt/docopt.cpp";
license = with licenses; [
mit
boost
];
platforms = platforms.all;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
fetchpatch,
}:
buildGoModule rec {
pname = "docopts";
version = "0.6.4-with-no-mangle-double-dash";
src = fetchFromGitHub {
owner = "docopt";
repo = "docopts";
tag = "v${version}";
hash = "sha256-GIBrJ5qexeJ6ul5ek9LJZC4J3cNExsTrnxdzRCfoqn8=";
};
patches = [
# Migrate project to Go modules.
(fetchpatch {
url = "https://github.com/docopt/docopts/pull/74/commits/2c516165e72b35516a64c4529dbc938c0aaa9442.patch";
hash = "sha256-Tp05B3tmctnSYIQzCxCc/fhcAWWuEz2ifu/CQZt0XPU=";
})
];
vendorHash = "sha256-+pMgaHB69itbQ+BDM7/oaJg3HrT1UN+joJL7BO/2vxE=";
meta = {
homepage = "https://github.com/docopt/docopts";
description = "Shell interpreter for docopt, the command-line interface description language";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.confus ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "docstrfmt";
version = "1.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "LilSpazJoekp";
repo = "docstrfmt";
tag = "v${version}";
hash = "sha256-5Yx+omXZSlpJSzA4dTY/JdfmHQshM7qI++OVvqYg1jc=";
};
build-system = [
python3.pkgs.flit-core
];
dependencies = with python3.pkgs; [
black
click
docutils
libcst
platformdirs
sphinx
tabulate
toml
];
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
pytest-aiohttp
];
pythonImportsCheck = [
"docstrfmt"
];
meta = {
description = "Formatter for reStructuredText";
homepage = "https://github.com/LilSpazJoekp/docstrfmt";
changelog = "https://github.com/LilSpazJoekp/docstrfmt/blob/${src.tag}/CHANGES.rst";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ doronbehar ];
mainProgram = "docstrfmt";
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "doctave";
version = "0.4.2";
src = fetchFromGitHub {
owner = "doctave";
repo = "doctave";
rev = version;
hash = "sha256-8mGSFQozyLoGua9mwyqfDcYNMtbeWp9Phb0vaje+AJ0=";
};
cargoHash = "sha256-3gyYls1+5eVM3eLlFNmULvIbc5VgoWpfnpO4nmoDMAI=";
meta = {
description = "Batteries-included developer documentation site generator";
homepage = "https://github.com/doctave/doctave";
changelog = "https://github.com/doctave/doctave/blob/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ figsoda ];
mainProgram = "doctave";
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
}:
stdenv.mkDerivation rec {
pname = "doctest";
version = "2.4.12";
src = fetchFromGitHub {
owner = "doctest";
repo = "doctest";
tag = "v${version}";
hash = "sha256-Fxs1EWydhqN9whx+Cn4fnZ4fhCEQvFgL5e9TUiXlnq8=";
};
patches = [
# Fix the build with Clang.
(fetchpatch {
name = "doctest-disable-warnings.patch";
url = "https://github.com/doctest/doctest/commit/c8d9ed2398d45aa5425d913bd930f580560df30d.patch";
excludes = [ ".github/workflows/main.yml" ];
hash = "sha256-kOBy0om6MPM2vLXZjNLXiezZqVgNr/viBI7mXrOZts8=";
})
];
nativeBuildInputs = [ cmake ];
doCheck = true;
# Fix the build with LLVM 21 / GCC 15.
#
# See:
#
# * <https://github.com/doctest/doctest/issues/928>
# * <https://github.com/doctest/doctest/pull/929>
# * <https://github.com/doctest/doctest/issues/950>
env.NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [
"-Wno-error=nrvo"
"-Wno-error=missing-noreturn"
];
meta = with lib; {
homepage = "https://github.com/doctest/doctest";
description = "Fastest feature-rich C++11/14/17/20 single-header testing framework";
platforms = platforms.all;
license = licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,55 @@
{
stdenv,
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
buildPackages,
}:
buildGoModule rec {
pname = "doctl";
version = "1.145.0";
vendorHash = null;
doCheck = false;
subPackages = [ "cmd/doctl" ];
ldflags =
let
t = "github.com/digitalocean/doctl";
in
[
"-X ${t}.Major=${lib.versions.major version}"
"-X ${t}.Minor=${lib.versions.minor version}"
"-X ${t}.Patch=${lib.versions.patch version}"
"-X ${t}.Label=release"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
export HOME=$(mktemp -d) # attempts to write to /homeless-shelter
for shell in bash fish zsh; do
${stdenv.hostPlatform.emulator buildPackages} $out/bin/doctl completion $shell > doctl.$shell
installShellCompletion doctl.$shell
done
'';
src = fetchFromGitHub {
owner = "digitalocean";
repo = "doctl";
tag = "v${version}";
hash = "sha256-JeIpx+i1JDVfJqCKTZMTJ7rDMGO4yA/eR56C3qr08zg=";
};
meta = {
description = "Command line tool for DigitalOcean services";
mainProgram = "doctl";
homepage = "https://github.com/digitalocean/doctl";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.siddharthist ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
callPackage,
}:
buildNpmPackage rec {
pname = "doctoc";
version = "2.2.0";
src = fetchFromGitHub {
owner = "thlorenz";
repo = "doctoc";
rev = "v${version}";
hash = "sha256-LYVxW8bZ4M87CmBvPyp4y0IeL9UFawwAKnUWHEWB5Gs=";
};
npmDepsHash = "sha256-TbAnFpiN/v6xjQQznL/B180f0W48HPRqW21cO9XZhYA=";
postInstall = ''
find $out/lib/node_modules -xtype l -delete
'';
dontNpmBuild = true;
passthru.tests = {
generates-valid-markdown = callPackage ./test-generates-valid-markdown { };
};
meta = {
description = "Generate table of contents for Markdown files";
homepage = "https://github.com/thlorenz/doctoc";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tomodachi94 ];
mainProgram = "doctoc";
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,14 @@
{ runCommandNoCC, doctoc }:
runCommandNoCC "doctoc-test-generates-valid-markdown.md" { nativeBuildInputs = [ doctoc ]; } ''
cp ${./input.md} ./target.md && chmod +w ./target.md
doctoc ./target.md
# Ensure that ./target.md changed
cmp --quiet ${./input.md} ./target.md && echo "doctoc-test-generates-valid-markdown: files unchanged, test fails" && exit 1
# Check for DocToc's default title
grep --fixed-strings '**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*' target.md
# Check for at least one Markdown anchor link
grep --extended-regexp '\- \[.*\]\(#[a-z-]*\)' target.md
cp target.md $out
''

View File

@@ -0,0 +1,11 @@
# Hello Nixpkgs!
## I am a document consisting entirely of headings.
### Woah, it's a third-level heading!
#### A fourth-level...
### Another third-level!
## A second level.

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "docui";
version = "2.0.4";
src = fetchFromGitHub {
owner = "skanehira";
repo = "docui";
rev = version;
hash = "sha256-tHv1caNGiWC9Dc/qR4ij9xGM1lotT0KyrpJpdBsHyks=";
};
vendorHash = "sha256-5xQ5MmGpyzVh4gXZAhCY16iVw8zbCMzMA5IOsPdn7b0=";
meta = with lib; {
description = "TUI Client for Docker";
homepage = "https://github.com/skanehira/docui";
license = licenses.mit;
maintainers = with maintainers; [ aethelz ];
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "docui";
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
fetchFromGitHub,
buildNpmPackage,
prisma,
nix-update-script,
}:
let
version = "0.9";
in
buildNpmPackage {
pname = "documenso";
inherit version;
src = fetchFromGitHub {
owner = "documenso";
repo = "documenso";
rev = "v${version}";
hash = "sha256-uKOJVZ0GRHo/CYvd/Ix/tq1WDhutRji1tSGdcITsNlo=";
};
nativeBuildInputs = [ prisma ];
preBuild = ''
# somehow for linux, npm is not finding the prisma package with the
# packages installed with the lockfile.
# This generates a prisma version incompatibility warning and is a kludge
# until the upstream package-lock is modified.
prisma generate
'';
npmDepsHash = "sha256-+JbvFMi8xoyxkuL9k96K1Vq0neciCGkkyZUPd15ES2E=";
installPhase = ''
runHook preInstall
mkdir $out
cp -r node_modules $out/
cp package-lock.json $out
cp apps/web/package.json $out
cp -r apps/web/public $out/
cp -r apps/web/.next $out/
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Open Source DocuSign Alternative";
homepage = "https://github.com/documenso/documenso";
license = licenses.agpl3Only;
maintainers = with maintainers; [ happysalada ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
buildGoModule,
fetchFromGitHub,
go-bindata,
go-bindata-assetfs,
nixosTests,
}:
buildGoModule rec {
pname = "documize-community";
version = "3.9.0";
src = fetchFromGitHub {
owner = "documize";
repo = "community";
rev = "v${version}";
sha256 = "sha256-Kv4BsFB08rkGRkePFIkjjuhK1TnLPS4m+PUlgKG5cTQ=";
};
vendorHash = null;
doCheck = false;
nativeBuildInputs = [
go-bindata
go-bindata-assetfs
];
# This is really weird, but they've managed to screw up
# their folder structure enough, you can only build by
# literally cding into this folder.
preBuild = "cd edition";
subPackages = [ "." ];
passthru.tests = { inherit (nixosTests) documize; };
postInstall = ''
mv $out/bin/edition $out/bin/documize
'';
meta = with lib; {
description = "Open source Confluence alternative for internal & external docs built with Golang + EmberJS";
license = licenses.agpl3Only;
maintainers = [ ];
mainProgram = "documize";
homepage = "https://www.documize.com/";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "docuum";
version = "0.25.0";
src = fetchFromGitHub {
owner = "stepchowfun";
repo = "docuum";
rev = "v${version}";
hash = "sha256-nWd6h39jU1eZWPFMxhxActsmrs9k0TDMlealuzTa+o0=";
};
cargoHash = "sha256-ce8mthEWvZ+U2+lU3gGrq1YBzbkiqUGJV5JUsZ+HhBg=";
checkFlags = [
# fails, no idea why
"--skip=format::tests::code_str_display"
];
meta = with lib; {
description = "Least recently used (LRU) eviction of Docker images";
homepage = "https://github.com/stepchowfun/docuum";
changelog = "https://github.com/stepchowfun/docuum/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ mkg20001 ];
mainProgram = "docuum";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "dog";
version = "1.7";
src = fetchurl {
url = "http://archive.debian.org/debian/pool/main/d/dog/dog_${version}.orig.tar.gz";
sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail "gcc" "$CC"
sed -i '40i #include <time.h>' dog.c
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mkdir -p $out/man/man1
cp dog.1 $out/man/man1
cp dog $out/bin
runHook postInstall
'';
meta = with lib; {
homepage = "https://lwn.net/Articles/421072/";
description = "'cat' replacement";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ qknight ];
platforms = platforms.all;
mainProgram = "dog";
};
}

View File

@@ -0,0 +1,130 @@
diff --git a/Cargo.lock b/Cargo.lock
index b5fe1bb..5d1d055 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 4
+
[[package]]
name = "addr2line"
version = "0.14.1"
@@ -67,6 +69,12 @@ version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+[[package]]
+name = "bitflags"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
+
[[package]]
name = "bumpalo"
version = "3.7.0"
@@ -81,9 +89,12 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "cc"
-version = "1.0.67"
+version = "1.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
+checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766"
+dependencies = [
+ "shlex",
+]
[[package]]
name = "cfg-if"
@@ -390,18 +401,30 @@ checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
[[package]]
name = "openssl"
-version = "0.10.33"
+version = "0.10.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a61075b62a23fef5a29815de7536d940aa35ce96d18ce0cc5076272db678a577"
+checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
dependencies = [
- "bitflags",
+ "bitflags 2.9.1",
"cfg-if",
"foreign-types",
"libc",
"once_cell",
+ "openssl-macros",
"openssl-sys",
]
+[[package]]
+name = "openssl-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "openssl-probe"
version = "0.1.2"
@@ -410,20 +433,19 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
[[package]]
name = "openssl-src"
-version = "111.15.0+1.1.1k"
+version = "300.5.0+3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a"
+checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
-version = "0.9.61"
+version = "0.9.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f"
+checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847"
dependencies = [
- "autocfg",
"cc",
"libc",
"openssl-src",
@@ -534,7 +556,7 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
dependencies = [
- "bitflags",
+ "bitflags 1.2.1",
]
[[package]]
@@ -612,7 +634,7 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3670b1d2fdf6084d192bc71ead7aabe6c06aa2ea3fbd9cc3ac111fa5c2b1bd84"
dependencies = [
- "bitflags",
+ "bitflags 1.2.1",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -660,6 +682,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
[[package]]
name = "socket2"
version = "0.3.19"

View File

@@ -0,0 +1,70 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
stdenv,
pkg-config,
openssl,
just,
pandoc,
}:
rustPlatform.buildRustPackage {
pname = "dogdns";
version = "unstable-2021-10-07";
src = fetchFromGitHub {
owner = "ogham";
repo = "dog";
rev = "721440b12ef01a812abe5dc6ced69af6e221fad5";
sha256 = "sha256-y3T0vXg7631FZ4bzcbQjz3Buui/DFxh9LG8BZWwynp0=";
};
cargoPatches = [
# update Cargo.lock to work with openssl 3
./openssl3-support.patch
];
cargoHash = "sha256-UY7+AhsVw/p+FDfzJWj9A6VRntceIDCWzJ5Zim8euAE=";
patches = [
# remove date info to make the build reproducible
# remove commit hash to avoid dependency on git and the need to keep `.git`
./remove-date-info.patch
];
nativeBuildInputs = [
installShellFiles
just
pandoc
]
++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
outputs = [
"out"
"man"
];
dontUseJustBuild = true;
dontUseJustCheck = true;
dontUseJustInstall = true;
postBuild = ''
just man
'';
postInstall = ''
installShellCompletion completions/dog.{bash,fish,zsh}
installManPage ./target/man/*.1
'';
meta = with lib; {
description = "Command-line DNS client";
homepage = "https://dns.lookup.dog";
license = licenses.eupl12;
maintainers = with maintainers; [ figsoda ];
mainProgram = "dog";
};
}

View File

@@ -0,0 +1,11 @@
--- a/build.rs
+++ b/build.rs
@@ -34,7 +34,7 @@ fn main() -> io::Result<()> {
format!("{}\nv{} \\1;31m(pre-release debug build!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url)
}
else if is_development_version() {
- format!("{}\nv{} [{}] built on {} \\1;31m(pre-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), git_hash(), build_date(), url)
+ format!("{}\nv{} [nixpkgs] \\1;31m(pre-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url)
}
else {
format!("{}\nv{}\n\\1;4;34m{}\\0m", tagline, version_string(), url)

View File

@@ -0,0 +1,39 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "doge";
version = "3.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Olivia5k";
repo = "doge";
tag = version;
hash = "sha256-aJ1SFehjKiSc7osf5BOB1xjDnrkVXp37PQ5bNpbv1Mk=";
};
build-system = [ python3Packages.hatchling ];
dependencies = with python3Packages; [
python-dateutil
fullmoon
];
meta = {
description = "Wow very terminal doge";
longDescription = ''
Doge is a simple motd script based on the slightly stupid but very funny doge meme.
It prints random grammatically incorrect statements that are sometimes based on things from your computer.
'';
homepage = "https://github.com/Olivia5k/doge";
license = lib.licenses.mit;
mainProgram = "doge";
maintainers = with lib.maintainers; [
Gonzih
quantenzitrone
];
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
stdenv,
pkg-config,
openssl,
pandoc,
}:
rustPlatform.buildRustPackage rec {
pname = "dogedns";
version = "0.2.9";
src = fetchFromGitHub {
owner = "Dj-Codeman";
repo = "doge";
rev = "v${version}";
hash = "sha256-SeC/GZ1AeEqRzxWc4oJ6JOvXfn3/LRcQz9uWXXqdTqU=";
};
cargoHash = "sha256-vLdfmaIOSxNqs1Hq6NJMA8HDZas4E9rc+VHnFSlX/wg=";
patches = [
# remove date info to make the build reproducible
# remove commit hash to avoid dependency on git and the need to keep `.git`
./remove-date-info.patch
];
checkFlags = [
"--skip=options::test::all_mixed_3"
"--skip=options::test::domain_and_class"
"--skip=options::test::domain_and_class_lowercase"
"--skip=options::test::domain_and_nameserver"
"--skip=options::test::domain_and_single_domain"
"--skip=options::test::just_domain"
"--skip=options::test::just_named_domain"
"--skip=options::test::two_classes"
];
nativeBuildInputs = [
installShellFiles
pandoc
]
++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
postInstall = ''
installShellCompletion completions/doge.{bash,fish,zsh}
installManPage ./target/man/*.1
'';
meta = {
description = "Reviving a command-line DNS client";
homepage = "https://github.com/Dj-Codeman/doge";
license = lib.licenses.eupl12;
mainProgram = "doge";
maintainers = with lib.maintainers; [ aktaboot ];
};
}

View File

@@ -0,0 +1,11 @@
--- a/build.rs
+++ b/build.rs
@@ -34,7 +34,7 @@ fn main() -> io::Result<()> {
format!("{}\nv{} \\1;31m(beta debug build!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url)
}
else if is_development_version() {
- format!("{}\nv{} [{}] built on {} \\1;31m(beta-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), git_hash(), build_date(), url)
+ format!("{}\nv{} [nixpkgs] \\1;31m(beta-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url)
}
else {
format!("{}\nv{}\n\\1;4;34m{}\\0m", tagline, version_string(), url)

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
nix-update-script,
}:
buildGoModule rec {
pname = "doggo";
version = "1.0.5";
src = fetchFromGitHub {
owner = "mr-karan";
repo = "doggo";
rev = "v${version}";
hash = "sha256-SbTwVvE699MCgfUXifnJ1oMNN8TdLg8P03Xx5hrQxF8=";
};
vendorHash = "sha256-44gBPMr6gKaRaq7W69K7OBTVXvsz9pSEL1eOKYd4fT8=";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/doggo" ];
ldflags = [
"-s"
"-X main.buildVersion=v${version}"
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd doggo \
--bash <($out/bin/doggo completions bash) \
--fish <($out/bin/doggo completions fish) \
--zsh <($out/bin/doggo completions zsh)
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://github.com/mr-karan/doggo";
description = "Command-line DNS Client for Humans. Written in Golang";
mainProgram = "doggo";
longDescription = ''
doggo is a modern command-line DNS client (like dig) written in Golang.
It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well
'';
license = licenses.gpl3Only;
maintainers = with maintainers; [
georgesalkhouri
ma27
];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
rustPlatform,
fetchCrate,
stdenv,
libiconv,
nixosTests,
}:
rustPlatform.buildRustPackage rec {
pname = "doh-proxy-rust";
version = "0.9.15";
src = fetchCrate {
inherit version;
crateName = "doh-proxy";
hash = "sha256-uqFqDaq5a9wW46pTLfVN+5WuyYGvm3ZYQCtC6jkG1kg=";
};
cargoHash = "sha256-eYhax+TM3N75qj0tyHioUeUt159ZfkuFFIZK1jUbojw=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
];
passthru.tests = { inherit (nixosTests) doh-proxy-rust; };
meta = with lib; {
homepage = "https://github.com/jedisct1/doh-server";
description = "Fast, mature, secure DoH server proxy written in Rust";
license = with licenses; [ mit ];
maintainers = with maintainers; [ stephank ];
mainProgram = "doh-proxy";
};
}

View File

@@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'doing'

View File

@@ -0,0 +1,85 @@
GEM
remote: https://rubygems.org/
specs:
base64 (0.2.0)
chronic (0.10.2)
csv (3.3.2)
deep_merge (1.2.2)
doing (2.1.88)
base64 (~> 0.2)
chronic (~> 0.10, >= 0.10.2)
csv (~> 3.3)
deep_merge (~> 1.2, >= 1.2.1)
gli (~> 2.20, >= 2.20.1)
haml (~> 5.0.0, >= 5.0.0)
logger (~> 1.4, >= 1.4.2)
ostruct (~> 0.6)
parslet (~> 2.0, >= 2.0.0)
plist (~> 3.6, >= 3.6.0)
reline (~> 0.6)
safe_yaml (~> 1.0)
tty-link (~> 0.1, >= 0.1.1)
tty-markdown (~> 0.7, >= 0.7.0)
tty-progressbar (~> 0.18, >= 0.18.2)
tty-reader (~> 0.9, >= 0.9.0)
tty-screen (~> 0.8, >= 0.8.1)
tty-which (~> 0.5, >= 0.5.0)
gli (2.22.2)
ostruct
haml (5.0.4)
temple (>= 0.8.0)
tilt
io-console (0.8.0)
kramdown (2.5.1)
rexml (>= 3.3.9)
logger (1.6.6)
ostruct (0.6.1)
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
plist (3.7.2)
reline (0.6.0)
io-console (~> 0.5)
rexml (3.4.1)
rouge (4.5.1)
safe_yaml (1.0.5)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
temple (0.10.3)
tilt (2.6.0)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-link (0.2.0)
tty-markdown (0.7.2)
kramdown (>= 1.16.2, < 3.0)
pastel (~> 0.8)
rouge (>= 3.14, < 5.0)
strings (~> 0.2.0)
tty-color (~> 0.5)
tty-screen (~> 0.8)
tty-progressbar (0.18.3)
strings-ansi (~> 0.2)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
unicode-display_width (>= 1.6, < 3.0)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.2)
tty-which (0.5.0)
unicode-display_width (2.6.0)
unicode_utils (1.4.0)
wisper (2.0.1)
PLATFORMS
ruby
DEPENDENCIES
doing
BUNDLED WITH
2.5.22

View File

@@ -0,0 +1,384 @@
{
base64 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
type = "gem";
};
version = "0.2.0";
};
chronic = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
type = "gem";
};
version = "0.10.2";
};
csv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kmx36jjh2sahd989vcvw74lrlv07dqc3rnxchc5sj2ywqsw3w3g";
type = "gem";
};
version = "3.3.2";
};
deep_merge = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3";
type = "gem";
};
version = "1.2.2";
};
doing = {
dependencies = [
"base64"
"chronic"
"csv"
"deep_merge"
"gli"
"haml"
"logger"
"ostruct"
"parslet"
"plist"
"reline"
"safe_yaml"
"tty-link"
"tty-markdown"
"tty-progressbar"
"tty-reader"
"tty-screen"
"tty-which"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ssnswvwyhszc63b7mkrb7scjlh4j96z101ln1qwjlljic0h0yjp";
type = "gem";
};
version = "2.1.88";
};
gli = {
dependencies = [ "ostruct" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1c2x5wh3d3mz8vg5bs7c5is0zvc56j6a2b4biv5z1w5hi1n8s3jq";
type = "gem";
};
version = "2.22.2";
};
haml = {
dependencies = [
"temple"
"tilt"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac";
type = "gem";
};
version = "5.0.4";
};
io-console = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd";
type = "gem";
};
version = "0.8.0";
};
kramdown = {
dependencies = [ "rexml" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "131nwypz8b4pq1hxs6gsz3k00i9b75y3cgpkq57vxknkv6mvdfw7";
type = "gem";
};
version = "2.5.1";
};
logger = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
type = "gem";
};
version = "1.6.6";
};
ostruct = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9";
type = "gem";
};
version = "0.6.1";
};
parslet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01pnw6ymz6nynklqvqxs4bcai25kcvnd5x4id9z3vd1rbmlk0lfl";
type = "gem";
};
version = "2.0.0";
};
pastel = {
dependencies = [ "tty-color" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8";
type = "gem";
};
version = "0.8.0";
};
plist = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0hlaf4b3d8grxm9fqbnam5gwd55wvghl0jyzjd1hc5hirhklaynk";
type = "gem";
};
version = "3.7.2";
};
reline = {
dependencies = [ "io-console" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1lirwlw59apc8m1wjk85y2xidiv0fkxjn6f7p84yqmmyvish6qjp";
type = "gem";
};
version = "0.6.0";
};
rexml = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7";
type = "gem";
};
version = "3.4.1";
};
rouge = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
type = "gem";
};
version = "4.5.1";
};
safe_yaml = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
type = "gem";
};
version = "1.0.5";
};
strings = {
dependencies = [
"strings-ansi"
"unicode-display_width"
"unicode_utils"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1yynb0qhhhplmpzavfrrlwdnd1rh7rkwzcs4xf0mpy2wr6rr6clk";
type = "gem";
};
version = "0.2.1";
};
strings-ansi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh";
type = "gem";
};
version = "0.2.0";
};
temple = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz";
type = "gem";
};
version = "0.10.3";
};
tilt = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0szpapi229v3scrvw1pgy0vpjm7z3qlf58m1198kxn70cs278g96";
type = "gem";
};
version = "2.6.0";
};
tty-color = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g";
type = "gem";
};
version = "0.6.0";
};
tty-cursor = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr";
type = "gem";
};
version = "0.7.1";
};
tty-link = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rdzvkyn6z2a9fnb6glw09y4c5qp94nhzvzy20z0q98cj6235yl2";
type = "gem";
};
version = "0.2.0";
};
tty-markdown = {
dependencies = [
"kramdown"
"pastel"
"rouge"
"strings"
"tty-color"
"tty-screen"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "04f599zn5rfndq4d9l0acllfpc041bzdkkz2h6x0dl18f2wivn0y";
type = "gem";
};
version = "0.7.2";
};
tty-progressbar = {
dependencies = [
"strings-ansi"
"tty-cursor"
"tty-screen"
"unicode-display_width"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1xm5sk1sqp7v16akqpxza672qza6dbml68ah1lcajx2ywmh45fvc";
type = "gem";
};
version = "0.18.3";
};
tty-reader = {
dependencies = [
"tty-cursor"
"tty-screen"
"wisper"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6";
type = "gem";
};
version = "0.9.0";
};
tty-screen = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460";
type = "gem";
};
version = "0.8.2";
};
tty-which = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rpljdwlfm4qgps2xvq6306w86fm057m89j4gizcji371mgha92q";
type = "gem";
};
version = "0.5.0";
};
unicode-display_width = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj";
type = "gem";
};
version = "2.6.0";
};
unicode_utils = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr";
type = "gem";
};
version = "1.4.0";
};
wisper = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf";
type = "gem";
};
version = "2.0.1";
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
}:
bundlerApp {
pname = "doing";
exes = lib.singleton "doing";
gemdir = ./.;
passthru.updateScript = bundlerUpdateScript "doing";
meta = {
description = "Command line tool for keeping track of what youre doing and tracking what youve done";
longDescription = ''
doing is a basic CLI for adding and listing "what was I doing" reminders
in a TaskPaper-formatted text file. It allows for multiple
sections/categories and flexible output formatting.
'';
homepage = "https://brettterpstra.com/projects/doing/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
ktf
nicknovitski
];
platforms = lib.platforms.unix;
mainProgram = "doing";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
python3Packages,
fetchPypi,
}:
python3Packages.buildPythonApplication rec {
pname = "doitlive";
version = "5.1.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-trzSX58De36W401oVJMGrbPoyD9uksUewrIlq8BbJcU=";
};
build-system = with python3Packages; [ flit-core ];
dependencies = with python3Packages; [
click
click-completion
click-didyoumean
];
# disable tests (too many failures)
doCheck = false;
meta = {
description = "Tool for live presentations in the terminal";
homepage = "https://github.com/sloria/doitlive";
changelog = "https://github.com/sloria/doitlive/blob/${version}/CHANGELOG.rst";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mbode ];
mainProgram = "doitlive";
};
}

View File

@@ -0,0 +1,47 @@
{
"@esbuild/aix-ppc64@npm:0.25.4": "0d8f2e73ed75c2273cfe01452ad86585d5205a3f4abaddb5a040cfdb144b83a3e6192e34ab0ceaa77ce1bb08a5d8e5feb98cc30f1f1f6e4a2dccd177fbe6ccda",
"@esbuild/android-arm64@npm:0.25.4": "a6bc6be3a75c575e21a4f5135faed0575628ad41fdfa582e5a27e992c66fa0fc7e61fb5edce0eb9dcc28bd33656945bcb48d6e4eaa3f197a56c7399e04d3dd07",
"@esbuild/android-arm@npm:0.25.4": "2840ee03556a470145a14416348c7bc8e3e93c7f4c1ab1579f0b1e428f242c9349987c74501d3740bc2679cfd86e63e6288a8ce01e81459e00f95a812fb19e13",
"@esbuild/android-x64@npm:0.25.4": "4808d422695cf0f9674bbbd50bd7773d2594563375bbbb24b774cd2060373533bdf726653b16daa73a85cc222e16ccf33bfff1fa14e365aea28293e8df8b027d",
"@esbuild/darwin-arm64@npm:0.25.4": "73a6b24a30432074dffc4b725d291a9fb30d787f28b3a17b6c99072854e3317af7ef510577b8c2732636ac4aa51465be8dd71f6443e3113944e8f8bcd8315fe2",
"@esbuild/darwin-x64@npm:0.25.4": "cdbe0cdcf8a14402cb8180b1189dd08c457ffbfc23a49f83b6a47d56802bdca5d3701b97e5fea0f11639f455822d29d74aa9a0dceb4b36b02a2bc38d3570c7b9",
"@esbuild/freebsd-arm64@npm:0.25.4": "583d6a4649eaed0db27bc06e997ec786df2f854ff7f979b8b24d76750f90f50f8b356ee159466cf08f95c6fe86fad4650817f3812b7b78901974f47ccc5a0f29",
"@esbuild/freebsd-x64@npm:0.25.4": "e1a092fa2493d1c193abb9858aa01111287457318f43f167c351fbb5baf32848a78813f2e14bbbb05124bf34f0f2fe5d54bee2514b5aed5171616a9c8e130fe8",
"@esbuild/linux-arm64@npm:0.25.4": "6ab9f163a787e1209c87ce2029ff7223645646aa05d1ef7c8d0f33b3230ccdcd62b4cf3fc05636dc4c8209cf58ccb1bd9306ce5eac76add4448c8175fc13311e",
"@esbuild/linux-arm@npm:0.25.4": "ab5c452fd502b04d88729cf8fa2b39ae866f0bd7a61e3fd1704f0c4423e4c6a2bee8ae7d03dd5942edbd68d2008e8cfc3dd18e99b5298f366bef452a4e350eb3",
"@esbuild/linux-ia32@npm:0.25.4": "ca88f8357a8af3bb7baae8f8cef3c0b19c6fcb5737f75e9d53ec05ac171516abedbfd5072c0a3e0eea5faab4f38f876ea54fa996609803af0b4fd4c8fc8fa963",
"@esbuild/linux-loong64@npm:0.25.4": "cfbf0ab09f7ad3576fc85d8d7081e454f89f2b17b4be77aa40e1e6352b79b112adb6db536817954533e7da1a3cfe17cfcb66552f485a8eae1acc54764242c165",
"@esbuild/linux-mips64el@npm:0.25.4": "0d530ac0cbf26b5c6595f3bbce0828a36cb00b42e41759e9bd98344aaeafc20c9850f3adf86447f43258bca043236cca36f1617114c65db5155c3e5dd00d083b",
"@esbuild/linux-ppc64@npm:0.25.4": "0b9663f108192b8781b4993b406ec6a6beeffba81de689f9fc3d798a012a0e1b270858c8554a4a7bc5d11f43f619b6cef96bf3abdf7ea1b435c3dd3857ba3315",
"@esbuild/linux-riscv64@npm:0.25.4": "b24ce37a0b2b573782bf3cd530c5754baea8c1fa22320f6f2baa2bb3f530056a1ac15ea75e0bb2e744b90d197c9fc305e5372a6bfa50e1c71614e2c9dced8e97",
"@esbuild/linux-s390x@npm:0.25.4": "4207474583d46be6657390b9f440ddae0e9643cea20fb9d2f80df63ed780efb07acfb34b29ddd67ded8f6bf8a7e2ce2349db61772814d862294a2e081c61e643",
"@esbuild/linux-x64@npm:0.25.4": "bf208856a7b9d9b161f02717704fcf5473055994e25d6f7ddd323cf749dc4232193d15a8a69deadf5e803c33bd9cc99e8e2f452fe9ca006c9fe258245b35745c",
"@esbuild/netbsd-arm64@npm:0.25.4": "b0c09632d59399fec5f05aa772a649f1812a8b14ec38a6c688113c10be056a7202dc2383b5b9ac74f78ba9abd5a48485aa1ca0b70faf38cce95ab23682f9b7ed",
"@esbuild/netbsd-x64@npm:0.25.4": "4c7b46aa8855d1a6d3bae0bd552aa6e8c4662d8c0cff80c33a6d94169cdeb9c576a6d7a44f9b0eacc95435faa7db779c117ac2c7aabb4eddcbd0738423d30e5e",
"@esbuild/openbsd-arm64@npm:0.25.4": "55bb5cea852eef8de2e44e0486257a3841988f8114ad1dbaf1b47c869c6e449a69f12d0d2dc82a20830496d9f06a5b1ee109d856dd1285b3a48963eedb70c5e1",
"@esbuild/openbsd-x64@npm:0.25.4": "fdfd19bd660a545a648413ba255e3e07e3a1de7b81fde1fc25ede3ff5d8c5f1cf23355655709805d207781850f850e728c91f32e90431e2125a8ef87d66a98f3",
"@esbuild/sunos-x64@npm:0.25.4": "78934b4622c935f975e96819cfcbcb223bba65a272b06213ce16177eb3afb92f5e82ec6b9ca4eabefc90bf05a69e22f1788e6b269d4150c090a20446fdbf2e3c",
"@esbuild/win32-arm64@npm:0.25.4": "d7d751f6787f2aa56b1e7158e77c81f327502f42ebd2a8685811e19ea4b7536d73a0c4bc3850a7fea0e8ea1de5f89d2b8328d8a41d79b11c03341ba1facf9360",
"@esbuild/win32-ia32@npm:0.25.4": "72d90ea6406e58f3fa423e3736aab7da3475a2b8e98713106106218536186501367e19822463d78fd0ce25a1412ab52610313f4b878fed977e179d2a8794dd1a",
"@esbuild/win32-x64@npm:0.25.4": "b929850a2cd8cec7431867dc26bb8cb9f8654ddff5a8417be176eea51fa83f7925bdbc61933575d2db5e12bbc44042ed97e30507e5d7bcf5dc590f7808adaad6",
"@rollup/rollup-android-arm-eabi@npm:4.41.0": "4bd62501cc9b5571ec314bba4ff5db2ea5216e96eb06bd7e020c4dd569968e54b23ef3d67a13c9a33514ee032ca8bf375e6de5b2be56a7f0db5c57654c0c223a",
"@rollup/rollup-android-arm64@npm:4.41.0": "d1f27fe5e0616ceb88208267ccda7aa2cf6e6390af3b32c4f2826b5ec06d8815a7b44e0d29484b92afa92a38915066f0ee5dcbe507870be0b0849a2699962e82",
"@rollup/rollup-darwin-arm64@npm:4.41.0": "431ff15144dd58823b17754f16e484e05d16a49818efeb725220497cef265da2080611aebb19eb4283f48085dc7e3fd504f6c7493945f85c2d8887cabadcb1e2",
"@rollup/rollup-darwin-x64@npm:4.41.0": "715a2e161a0ea6d1d92ad39fd97cae3ec01c8ae9a0cc6ae0a533d451c187968533bafba0c4695947a4bcd1249dca9478fdb1ebac35f649f0995d34922d06a486",
"@rollup/rollup-freebsd-arm64@npm:4.41.0": "b12cf55a85baf59ddb9a03095b13255fea65a4875c38af292dc92c8ef7f1e811ab5e5e79b423ebdb1936bb446fec004a7a42bbf376f94fa94126a2a64901ea6d",
"@rollup/rollup-freebsd-x64@npm:4.41.0": "9bf78726c78eeb0c1212ec3e3605744a9b1087fd0e1469d0f54fdd08b4dc81302f1621fc31ea2249d8fb944407343ec7d2857ef57a06d56c6d287d2e3574d06d",
"@rollup/rollup-linux-arm-gnueabihf@npm:4.41.0": "b117d0f6f4aaee502b27930d3b3523171528bfbbd31a1791ac7ec36f7aebd8b6cf7f8bd40a3adba8d7048c0a11e9cc665ad1c785740a4422d9b3353dd3f67886",
"@rollup/rollup-linux-arm-musleabihf@npm:4.41.0": "7fafe40a34e0095d96f8b610e6d0052d105c734121d3f79c5d44eccee0006d8ccb69ae3bfb8c8cf6f29fc5460347601eaa6a118e51f783dc30031ee8b9998be0",
"@rollup/rollup-linux-arm64-gnu@npm:4.41.0": "9f0cd0828e56f7d15975767d7f0ac7163614df9838e37baa716b628ab780d879df13ed84f5ed8de2f324dffa35ee7952fdd4de73b8598de3ccba307c7b2a4c44",
"@rollup/rollup-linux-arm64-musl@npm:4.41.0": "7bbd1323a9acc4e7803561f5c19e5d38f3db8d58e0eafcfc8ea08c3a3fdadd4ebc85c3c535a1b9d94f6f3ff62e6c69160d7769887bbda8324f5030f364d88c1a",
"@rollup/rollup-linux-loongarch64-gnu@npm:4.41.0": "e3322d87f3ab12c5dbed3ffdcc6c4a341e4d8714454758707af5ec4460003b00d18d44b210313f4e6233f505a30da4af5f46480bd983454c5595f6970c752d0e",
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.41.0": "3b7f57d9ce5ffa72f79075261c052017e80927f513926526902b362c1f328ba16b9dd62938e084e394f9dbb77deccaf32dc330434581384fb18bd1d2f2384a43",
"@rollup/rollup-linux-riscv64-gnu@npm:4.41.0": "1f64fa850a0952f62e77a5096c6cd81b32710d9d9f8a699fc4d4a39d086c6aff13675f67c359823eed016c1967b157861e96847eb5e8b0663f5db25d42ae0fc3",
"@rollup/rollup-linux-riscv64-musl@npm:4.41.0": "e6588e3a75b87a602ed1ece39680bc3b67792e53cc9835757b6b91ce9a728aaab64fe6b25b83aef5f05933addef49ae5f7e80ea206b0c9be488c8d896087f61c",
"@rollup/rollup-linux-s390x-gnu@npm:4.41.0": "c664fb7c55d800371fa7ab549242f5e46ab52ec9eadbf998beaf745712e6e00a27aa7074b32098fc0a571acb29be403c206e71c4ce7cfccf00783985eb0c6554",
"@rollup/rollup-linux-x64-gnu@npm:4.41.0": "cf9337ee96b3cd3d7165cab9d8514fa6022607e99bf95ba147512bb62ad6af5000971ddcac04c65e7329eb63f505328b5a4f33e78e46f4ebf132e333938678b4",
"@rollup/rollup-linux-x64-musl@npm:4.41.0": "357fc65d5db7e66d80a4ef9d4820430db8ae14e0cf7d3f9c78dc2e2c2d9902d680c763f6695ca32703669009dd26f6f969b1ccfd4318eafece4ea754fc014ee8",
"@rollup/rollup-win32-arm64-msvc@npm:4.41.0": "abb25ae4c9566d0cba63cfe30d59a141b3c2b84d6742f1ca80bdad62919d3cd0f9237e4ed76bdeac130de2071df1290a5985f6e48f02cba7713cedebfb5c22f8",
"@rollup/rollup-win32-ia32-msvc@npm:4.41.0": "914685bea8d942d350528ce7bd36db3b223ec0cb42cdbe2a7368359fab43a7b90bc37cedaa134c43be6a0c068187f130d301d7a0d6301758095b283c00205969",
"@rollup/rollup-win32-x64-msvc@npm:4.41.0": "60dd4af8bccaa9148ab8be40d650e3254fc584500927951468b5ec533a59578cdd2269c4c33139fc24e2c890c16f34b9df98dba70d0359e9a500264c620e3a41"
}

View File

@@ -0,0 +1,67 @@
{
lib,
fetchFromGitHub,
makeWrapper,
nix-update-script,
serve,
stdenv,
xsel,
yarn-berry_4,
}:
let
yarn-berry = yarn-berry_4;
in
stdenv.mkDerivation (finalAttrs: {
pname = "dokieli";
version = "0-unstable-2025-08-04";
src = fetchFromGitHub {
owner = "dokieli";
repo = "dokieli";
rev = "64374c6b9a53b68ae7921604a1fbe231d3e4f067";
hash = "sha256-5baBKXmOxS0BOKNedMSbmw21rDBONZwmim9hlXn5OzQ=";
};
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-4SK1ecjEnnaow5Z2biCPaHirpX6J/5cytQWWicPgmB0=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r * $out
runHook postInstall
'';
nativeBuildInputs = [
makeWrapper
yarn-berry.yarnBerryConfigHook
];
postFixup = ''
makeWrapper ${lib.getExe serve} $out/bin/dokieli \
--prefix PATH : ${lib.makeBinPath [ xsel ]} \
--chdir $out
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Clientside editor for decentralised article publishing, annotations and social interactions";
homepage = "https://github.com/linkeddata/dokieli";
license = with lib.licenses; [
cc-by-40
mit
];
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ shogo ];
teams = [ lib.teams.ngi ];
mainProgram = "dokieli";
};
})

View File

@@ -0,0 +1,110 @@
{
lib,
stdenv,
fetchFromGitHub,
writeText,
nixosTests,
dokuwiki,
}:
stdenv.mkDerivation rec {
pname = "dokuwiki";
version = "2025-05-14b";
src = fetchFromGitHub {
owner = "dokuwiki";
repo = "dokuwiki";
rev = "release-${version}";
sha256 = "sha256-J7B+mvvGtAPK+WjlkHyadG61vli+zZfozfEmEynYQaE=";
};
preload = writeText "preload.php" ''
<?php
$config_cascade = array(
'acl' => array(
'default' => getenv('DOKUWIKI_ACL_AUTH_CONFIG'),
),
'plainauth.users' => array(
'default' => getenv('DOKUWIKI_USERS_AUTH_CONFIG'),
'protected' => "" // not used by default
),
);
'';
phpLocalConfig = writeText "local.php" ''
<?php
return require(getenv('DOKUWIKI_LOCAL_CONFIG'));
?>
'';
phpPluginsLocalConfig = writeText "plugins.local.php" ''
<?php
return require(getenv('DOKUWIKI_PLUGINS_LOCAL_CONFIG'));
?>
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/dokuwiki
cp -r * $out/share/dokuwiki
cp ${preload} $out/share/dokuwiki/inc/preload.php
cp ${phpLocalConfig} $out/share/dokuwiki/conf/local.php
cp ${phpPluginsLocalConfig} $out/share/dokuwiki/conf/plugins.local.php
runHook postInstall
'';
passthru = {
combine =
{
basePackage ? dokuwiki,
plugins ? [ ],
templates ? [ ],
localConfig ? null,
pluginsConfig ? null,
aclConfig ? null,
pname ? (p: "${p.pname}-combined"),
}:
let
isNotEmpty =
x:
lib.optionalString (
!builtins.elem x [
null
""
]
);
in
basePackage.overrideAttrs (prev: {
pname = if builtins.isFunction pname then pname prev else pname;
postInstall = prev.postInstall or "" + ''
${lib.concatMapStringsSep "\n" (
tpl: "cp -r ${toString tpl} $out/share/dokuwiki/lib/tpl/${tpl.name}"
) templates}
${lib.concatMapStringsSep "\n" (
plugin: "cp -r ${toString plugin} $out/share/dokuwiki/lib/plugins/${plugin.name}"
) plugins}
${isNotEmpty localConfig "ln -sf ${localConfig} $out/share/dokuwiki/conf/local.php"}
${isNotEmpty pluginsConfig "ln -sf ${pluginsConfig} $out/share/dokuwiki/conf/plugins.local.php"}
${isNotEmpty aclConfig "ln -sf ${aclConfig} $out/share/dokuwiki/acl.auth.php"}
'';
});
tests = {
inherit (nixosTests) dokuwiki;
};
};
meta = with lib; {
description = "Simple to use and highly versatile Open Source wiki software that doesn't require a database";
license = licenses.gpl2Only;
homepage = "https://www.dokuwiki.org";
platforms = platforms.all;
maintainers = with maintainers; [
_1000101
e1mo
];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
fetchurl,
stdenv,
unzip,
fpc,
}:
stdenv.mkDerivation {
pname = "dolbybcsoftwaredecode";
version = "april-2018";
src = fetchurl {
url = "mirror://sourceforge/dolbybcsoftwaredecode/April-2018/SourceCode.zip";
sha256 = "sha256-uLcsRIpwmJlstlGV8I4+/30+D9GDpUt7DOIP/GkXWp4=";
};
nativeBuildInputs = [
unzip
fpc
];
buildPhase = ''
fpc DolbyBi64.PP
'';
installPhase = ''
mkdir -p $out/bin
cp DolbyBi64 $out/bin/
'';
meta = with lib; {
description = "Dolby B & C software decoder";
homepage = "https://sourceforge.net/projects/dolbybcsoftwaredecode/";
maintainers = with maintainers; [ lorenz ];
# Project is has source code available, but has no explicit license.
# I asked upstream to assign a license, so maybe this can be free
# in the future, but for now let's play it safe and make it unfree.
license = lib.licenses.unfree;
mainProgram = "DolbyBi64";
};
}

View File

@@ -0,0 +1,115 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
spdlog,
pugixml,
boost,
petsc,
slepc,
kahip,
adios2,
python3Packages,
catch2_3,
withParmetis ? false,
}:
let
dolfinxPackages = petsc.petscPackages.overrideScope (
final: prev: {
slepc = final.callPackage slepc.override { };
adios2 = final.callPackage adios2.override { };
kahip = final.callPackage kahip.override { };
}
);
in
stdenv.mkDerivation (finalAttrs: {
version = "0.9.0.post1";
pname = "dolfinx";
src = fetchFromGitHub {
owner = "fenics";
repo = "dolfinx";
tag = "v${finalAttrs.version}";
hash = "sha256-4IIx7vUZeDwOGVdyC2PBvfhVjrmGZeVQKAwgDYScbY0=";
};
preConfigure = ''
cd cpp
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
dolfinxPackages.kahip
dolfinxPackages.scotch
]
++ lib.optional withParmetis dolfinxPackages.parmetis;
propagatedBuildInputs = [
spdlog
pugixml
boost
petsc
dolfinxPackages.hdf5
dolfinxPackages.slepc
dolfinxPackages.adios2
python3Packages.fenics-basix
python3Packages.fenics-ffcx
];
cmakeFlags = [
(lib.cmakeBool "DOLFINX_ENABLE_ADIOS2" true)
(lib.cmakeBool "DOLFINX_ENABLE_PETSC" true)
(lib.cmakeBool "DOLFIN_ENABLE_PARMETIS" withParmetis)
(lib.cmakeBool "DOLFINX_ENABLE_SCOTCH" true)
(lib.cmakeBool "DOLFINX_ENABLE_SLEPC" true)
(lib.cmakeBool "DOLFINX_ENABLE_KAHIP" true)
(lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin")
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
(lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
];
passthru.tests = {
unittests = stdenv.mkDerivation {
pname = "${finalAttrs.pname}-unittests";
inherit (finalAttrs) version src;
preConfigure = ''
cd cpp/test
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [ finalAttrs.finalPackage ];
nativeCheckInputs = [ catch2_3 ];
doCheck = true;
installPhase = ''
touch $out
'';
};
};
meta = {
homepage = "https://fenicsproject.org";
downloadPage = "https://github.com/fenics/dolfinx";
description = "Computational environment of FEniCSx and implements the FEniCS Problem Solving Environment in C++ and Python";
changelog = "https://github.com/fenics/dolfinx/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
bsd2
lgpl3Plus
];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ qbisi ];
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
nixosTests,
stateDir ? "/var/lib/dolibarr",
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dolibarr";
version = "22.0.2";
src = fetchFromGitHub {
owner = "Dolibarr";
repo = "dolibarr";
tag = finalAttrs.version;
hash = "sha256-JKD601BuEQeu4sgVaL88dCGQivgjEkpIdauE9gs6BBk=";
};
dontBuild = true;
postPatch = ''
find . -type f -name "*.php" -print0 | xargs -0 sed -i 's|/etc/dolibarr|${stateDir}|g'
substituteInPlace htdocs/filefunc.inc.php \
--replace-fail '//$conffile = ' '$conffile = ' \
--replace-fail '//$conffiletoshow = ' '$conffiletoshow = '
substituteInPlace htdocs/install/inc.php \
--replace-fail '//$conffile = ' '$conffile = ' \
--replace-fail '//$conffiletoshow = ' '$conffiletoshow = '
'';
installPhase = ''
mkdir -p "$out"
cp -r * $out
'';
passthru.tests = lib.optionalAttrs stdenv.hostPlatform.isLinux {
inherit (nixosTests) dolibarr;
};
meta = {
description = "Enterprise resource planning (ERP) and customer relationship manager (CRM) server";
changelog = "https://github.com/Dolibarr/dolibarr/releases/tag/${finalAttrs.version}";
homepage = "https://dolibarr.org/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
})

View File

@@ -0,0 +1,174 @@
{
lib,
stdenv,
fetchFromGitHub,
# nativeBuildInputs
pkg-config,
cmake,
qt6,
# buildInputs
curl,
enet,
ffmpeg,
fmt,
gettext,
libGL,
libGLU,
libSM,
libXdmcp,
libXext,
libXinerama,
libXrandr,
libXxf86vm,
libao,
libpthreadstubs,
libpulseaudio,
libusb1,
mbedtls_2,
miniupnpc,
openal,
pcre,
portaudio,
readline,
sfml,
soundtouch,
xz,
# linux-only
alsa-lib,
bluez,
libevdev,
udev,
vulkan-loader,
# darwin-only
hidapi,
libpng,
# passthru
testers,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dolphin-emu-primehack";
version = "1.0.8";
src = fetchFromGitHub {
owner = "shiiion";
repo = "dolphin";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-/9AabEJ2ZOvHeSGXWRuOucmjleBMRcJfhX+VDeldbgo=";
};
nativeBuildInputs = [
pkg-config
cmake
]
++ lib.optionals stdenv.hostPlatform.isLinux [
qt6.wrapQtAppsHook
];
buildInputs = [
curl
enet
ffmpeg
fmt
gettext
libGL
libGLU
libSM
libXdmcp
libXext
libXinerama
libXrandr
libXxf86vm
libao
libpthreadstubs
libpulseaudio
libusb1
mbedtls_2
miniupnpc
openal
pcre
portaudio
qt6.qtbase
qt6.qtsvg
readline
sfml
soundtouch
xz
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
bluez
libevdev
udev
vulkan-loader
]
++ lib.optionals stdenv.hostPlatform.isLinux [
hidapi
libpng
];
cmakeFlags = [
(lib.cmakeBool "USE_SHARED_ENET" true)
(lib.cmakeBool "ENABLE_LTO" true)
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.cmakeBool "OSX_USE_DEFAULT_SEARCH_PATH" true)
];
qtWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
# https://bugs.dolphin-emu.org/issues/11807
# The .desktop file should already set this, but Dolphin may be launched in other ways
"--set QT_QPA_PLATFORM xcb"
];
# - Allow Dolphin to use nix-provided libraries instead of building them
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'DISTRIBUTOR "None"' 'DISTRIBUTOR "NixOS"'
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace CMakeLists.txt \
--replace-fail 'if(NOT APPLE)' 'if(true)' \
--replace-fail 'if(LIBUSB_FOUND AND NOT APPLE)' 'if(LIBUSB_FOUND)'
'';
doInstallCheck = true;
postInstall = ''
mv $out/bin/dolphin-emu $out/bin/dolphin-emu-primehack
mv $out/bin/dolphin-emu-nogui $out/bin/dolphin-emu-primehack-nogui
mv $out/share/applications/dolphin-emu.desktop $out/share/applications/dolphin-emu-primehack.desktop
mv $out/share/icons/hicolor/256x256/apps/dolphin-emu.png $out/share/icons/hicolor/256x256/apps/dolphin-emu-primehack.png
substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop \
--replace-fail 'dolphin-emu' 'dolphin-emu-primehack' \
--replace-fail 'Dolphin Emulator' 'PrimeHack'
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
'';
passthru = {
tests = {
version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "dolphin-emu-primehack-nogui --version";
version = "v${finalAttrs.version}";
};
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/shiiion/dolphin";
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
license = lib.licenses.gpl2Plus;
broken = stdenv.hostPlatform.isDarwin;
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,209 @@
{
lib,
stdenv,
fetchFromGitHub,
# nativeBuildInputs
cmake,
pkg-config,
qt6,
wrapGAppsHook3,
# darwin-only
xcbuild,
# buildInputs
bzip2,
cubeb,
curl,
enet,
ffmpeg,
fmt,
gtest,
hidapi,
libXdmcp,
libpulseaudio,
libspng,
libusb1,
lz4,
lzo,
mbedtls_2,
miniupnpc,
minizip-ng,
openal,
pugixml,
SDL2,
sfml,
xxHash,
xz,
# linux-only
alsa-lib,
bluez,
libGL,
libXext,
libXrandr,
libevdev,
udev,
vulkan-loader,
# darwin-only
moltenvk,
# passthru
testers,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dolphin-emu";
version = "2509";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
tag = finalAttrs.version;
hash = "sha256-ZTNg8DRgtC1jS3MoYK1wwzjJbMkLNdkRub+KOg3NmYM=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
pushd $out
git rev-parse HEAD 2>/dev/null >$out/COMMIT
find $out -name .git -print0 | xargs -0 rm -rf
popd
'';
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
qt6.wrapQtAppsHook
wrapGAppsHook3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
xcbuild # for plutil
];
buildInputs = [
bzip2
cubeb
curl
enet
ffmpeg
fmt
gtest
hidapi
libXdmcp
libpulseaudio
libspng
libusb1
lz4
lzo
mbedtls_2
miniupnpc
minizip-ng
openal
pugixml
qt6.qtbase
qt6.qtsvg
SDL2
sfml
xxHash
xz
# Causes linker errors with minizip-ng, prefer vendored. Possible reason why: https://github.com/dolphin-emu/dolphin/pull/12070#issuecomment-1677311838
#zlib-ng
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
bluez
libGL
libXext
libXrandr
libevdev
# FIXME: Vendored version is newer than mgba's stable release, remove the comment on next mgba's version
#mgba # Derivation doesn't support Darwin
udev
vulkan-loader
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
moltenvk
];
cmakeFlags = [
(lib.cmakeFeature "DISTRIBUTOR" "NixOS")
(lib.cmakeFeature "DOLPHIN_WC_DESCRIBE" finalAttrs.version)
(lib.cmakeFeature "DOLPHIN_WC_BRANCH" "master")
# CMake 4 dropped support of versions lower than 3.5,
# versions lower than 3.10 are deprecated.
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.10")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.cmakeBool "OSX_USE_DEFAULT_SEARCH_PATH" true)
(lib.cmakeBool "USE_BUNDLED_MOLTENVK" false)
(lib.cmakeBool "MACOS_CODE_SIGNING" false)
# Bundles the application folder into a standalone executable, so we cannot devendor libraries
(lib.cmakeBool "SKIP_POSTPROCESS_BUNDLE" true)
# Needs xcode so compilation fails with it enabled. We would want the version to be fixed anyways.
# Note: The updater isn't available on linux, so we don't need to disable it there.
(lib.cmakeBool "ENABLE_AUTOUPDATE" false)
];
preConfigure = ''
appendToVar cmakeFlags "-DDOLPHIN_WC_REVISION=$(cat COMMIT)"
rm COMMIT
'';
qtWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}"
# https://bugs.dolphin-emu.org/issues/11807
# The .desktop file should already set this, but Dolphin may be launched in other ways
"--set QT_QPA_PLATFORM xcb"
];
doInstallCheck = true;
postInstall =
lib.optionalString stdenv.hostPlatform.isLinux ''
install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Only gets installed automatically if the standalone executable is used
mkdir -p $out/Applications
cp -r ./Binaries/Dolphin.app $out/Applications
ln -s $out/Applications/Dolphin.app/Contents/MacOS/Dolphin $out/bin
'';
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
tests = {
version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "dolphin-emu-nogui --version";
inherit (finalAttrs) version;
};
};
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"([0-9]+)"
];
};
};
meta = {
homepage = "https://dolphin-emu.org";
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
mainProgram = if stdenv.hostPlatform.isDarwin then "Dolphin" else "dolphin-emu";
branch = "master";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
badPlatforms = [
# error: implicit instantiation of undefined template 'std::char_traits<unsigned int>'
lib.systems.inspect.patterns.isDarwin
];
maintainers = with lib.maintainers; [ pbsds ];
};
})

View File

@@ -0,0 +1,31 @@
{
fetchFromGitHub,
lib,
buildGoModule,
}:
buildGoModule (finalAttrs: {
pname = "dolt";
version = "1.59.10";
src = fetchFromGitHub {
owner = "dolthub";
repo = "dolt";
tag = "v${finalAttrs.version}";
hash = "sha256-DfocUOHpPdNeMcL7kVm7ggm2cVgWp/ifvCFyFosxhcs=";
};
modRoot = "./go";
subPackages = [ "cmd/dolt" ];
vendorHash = "sha256-yZ+q4KNfIiR2gpk10dpZOMiEN3V/Lk/pzhgaqp7lKag=";
proxyVendor = true;
doCheck = false;
meta = {
description = "Relational database with version control and CLI a-la Git";
mainProgram = "dolt";
homepage = "https://github.com/dolthub/dolt";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ danbst ];
};
})

View File

@@ -0,0 +1,122 @@
{
lib,
stdenv,
fetchsvn,
# jdk8 is needed for building, but the game runs on newer jres as well
jdk8,
jre,
ant,
stripJavaArchivesHook,
makeWrapper,
makeDesktopItem,
copyDesktopItems,
nixosTests,
}:
let
desktopItem = makeDesktopItem {
name = "domination";
desktopName = "Domination";
exec = "domination";
icon = "domination";
};
editorDesktopItem = makeDesktopItem {
name = "domination-map-editor";
desktopName = "Domination Map Editor";
exec = "domination-map-editor";
icon = "domination";
};
in
stdenv.mkDerivation {
pname = "domination";
version = "1.3.4";
# The .zip releases do not contain the build.xml file
src = fetchsvn {
url = "https://svn.code.sf.net/p/domination/code/Domination";
# There are no tags in the repository.
# Look for "(svn rev X)" at
# https://sourceforge.net/p/domination/code/HEAD/tree/Domination/ChangeLog.txt
# Alternatively, look for revs like "changelog update",
# "new version x.y.z info on website", or "website update for x.y.z".
rev = "2664";
hash = "sha256-bkaHpqJSc3UvwNT7LwuPUT8xN0g6QypfLSHlLmm8nX8=";
};
nativeBuildInputs = [
jdk8
ant
stripJavaArchivesHook
makeWrapper
copyDesktopItems
];
buildPhase = ''
runHook preBuild
cd swingUI
ant
runHook postBuild
'';
desktopItems = [
desktopItem
editorDesktopItem
];
installPhase = ''
runHook preInstall
# Remove unnecessary files and launchers (they'd need to be wrapped anyway)
rm -r \
build/game/src.zip \
build/game/*.sh \
build/game/*.cmd \
build/game/*.exe \
build/game/*.app
mkdir -p $out/share/domination
cp -r build/game/* $out/share/domination/
# Reimplement the two launchers mentioned in Unix_shortcutSpec.xml with makeWrapper
makeWrapper ${jre}/bin/java $out/bin/domination \
--chdir "$out/share/domination" \
--add-flags "-jar $out/share/domination/Domination.jar"
makeWrapper ${jre}/bin/java $out/bin/domination-map-editor \
--chdir "$out/share/domination" \
--add-flags "-cp $out/share/domination/Domination.jar net.yura.domination.ui.swinggui.SwingGUIFrame"
install -Dm644 build/game/resources/icon.png $out/share/pixmaps/domination.png
runHook postInstall
'';
preFixup = ''
# remove extra metadata files for jar files which break stripJavaArchivesHook
find $out/share/domination/lib -type f -name '._*.jar' -delete
'';
passthru.tests = {
domination-starts = nixosTests.domination;
};
passthru.updateScript = ./update.tcl;
meta = with lib; {
homepage = "https://domination.sourceforge.net/";
downloadPage = "https://domination.sourceforge.net/download.shtml";
description = "Game that is a bit like the board game Risk or RisiKo";
longDescription = ''
Domination is a game that is a bit like the well known board game of Risk
or RisiKo. It has many game options and includes many maps.
It includes a map editor, a simple map format, multiplayer network play,
single player, hotseat, 5 user interfaces and many more features.
'';
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = licenses.gpl3Plus;
mainProgram = "domination";
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env nix-shell
#!nix-shell -i tclsh -p tcl common-updater-scripts curl
set changelog_url https://sourceforge.net/p/domination/code/HEAD/tree/Domination/ChangeLog.txt?format=raw
set changelog [exec -ignorestderr curl -Ls $changelog_url]
regexp {(\d+(\.\d+)*) \(\d+\.\d+\.\d+\) \(svn rev (\d+)\)} $changelog _ version _ rev
exec -ignorestderr update-source-version domination $version --rev=$rev

View File

@@ -0,0 +1,20 @@
{
buildDartApplication,
fetchFromGitHub,
lib,
}:
buildDartApplication {
pname = "domine";
version = "nightly-2023-08-10";
src = fetchFromGitHub {
owner = "breitburg";
repo = "domine";
rev = "d99d02b014d009b0201380a21ddaa57696dc77af";
sha256 = "038yfa22q7lzz85czmny3c1lkv8mjv4pq62cbmh054fqvgf3k3s4";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
meta.mainProgram = "domine";
}

View File

@@ -0,0 +1,197 @@
{
"packages": {
"args": {
"dependency": "direct main",
"description": {
"name": "args",
"sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.2"
},
"async": {
"dependency": "transitive",
"description": {
"name": "async",
"sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.11.0"
},
"collection": {
"dependency": "transitive",
"description": {
"name": "collection",
"sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.17.2"
},
"dart_openai": {
"dependency": "direct main",
"description": {
"name": "dart_openai",
"sha256": "707f6975454513f4a6197125b5a0fbe92ab7cbe4b8ea9111e529a09d7a3ce0c3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.0"
},
"dio": {
"dependency": "direct main",
"description": {
"name": "dio",
"sha256": "ce75a1b40947fea0a0e16ce73337122a86762e38b982e1ccb909daa3b9bc4197",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.3.2"
},
"dio_smart_retry": {
"dependency": "direct main",
"description": {
"name": "dio_smart_retry",
"sha256": "1a2d0cf73ab56bf5998b375cda2d51f45c77268e712e4073f232cdc7753a94b2",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.0.0"
},
"fetch_api": {
"dependency": "transitive",
"description": {
"name": "fetch_api",
"sha256": "7896632eda5af40c4459d673ad601df21d4c3ae6a45997e300a92ca63ec9fe4c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.1"
},
"fetch_client": {
"dependency": "transitive",
"description": {
"name": "fetch_client",
"sha256": "83c07b07a63526a43630572c72715707ca113a8aa3459efbc7b2d366b79402af",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.2"
},
"http": {
"dependency": "transitive",
"description": {
"name": "http",
"sha256": "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.0"
},
"http_parser": {
"dependency": "transitive",
"description": {
"name": "http_parser",
"sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.2"
},
"js": {
"dependency": "transitive",
"description": {
"name": "js",
"sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.7"
},
"lints": {
"dependency": "direct dev",
"description": {
"name": "lints",
"sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.1"
},
"meta": {
"dependency": "transitive",
"description": {
"name": "meta",
"sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.9.1"
},
"path": {
"dependency": "transitive",
"description": {
"name": "path",
"sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.8.3"
},
"source_span": {
"dependency": "transitive",
"description": {
"name": "source_span",
"sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.10.0"
},
"string_scanner": {
"dependency": "transitive",
"description": {
"name": "string_scanner",
"sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.0"
},
"term_glyph": {
"dependency": "transitive",
"description": {
"name": "term_glyph",
"sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.1"
},
"tint": {
"dependency": "direct main",
"description": {
"name": "tint",
"sha256": "9652d9a589f4536d5e392cf790263d120474f15da3cf1bee7f1fdb31b4de5f46",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.1"
},
"typed_data": {
"dependency": "transitive",
"description": {
"name": "typed_data",
"sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.2"
}
},
"sdks": {
"dart": ">=3.0.6 <4.0.0"
}
}

View File

@@ -0,0 +1,13 @@
diff --git a/src/domino-chain/tools.cpp b/src/domino-chain/tools.cpp
index 0eaa592..e91c760 100644
--- a/src/domino-chain/tools.cpp
+++ b/src/domino-chain/tools.cpp
@@ -48,6 +48,8 @@
#include <boost/filesystem.hpp>
+#include <algorithm>
+
uint64_t getTime(void)
{
#if defined(WIN32) || defined(_WIN32)

View File

@@ -0,0 +1,84 @@
{
lib,
stdenv,
fetchFromGitLab,
boost,
freefont_ttf,
fribidi,
gettext,
imagemagick,
libpng,
lua,
pkg-config,
povray,
SDL2,
SDL2_image,
SDL2_mixer,
SDL2_ttf,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "domino-chain";
version = "1.1";
src = fetchFromGitLab {
owner = "domino-chain";
repo = "domino-chain.gitlab.io";
tag = finalAttrs.version;
hash = "sha256-ERR5QwQpTFLeAijlGtGU0Lpd40II/L5i3muYDN2EfX4=";
};
patches = [
./algorithm-header.patch
];
postPatch = ''
substituteInPlace Makefile \
--replace-warn /usr/share/fonts/truetype/freefont/ ${freefont_ttf}/share/fonts/truetype/
substituteInPlace src/domino-chain/screen.cpp \
--replace-fail /usr/share/fonts/truetype/freefont/ ${freefont_ttf}/share/fonts/truetype/
'';
nativeBuildInputs = [
gettext
imagemagick
pkg-config
povray
];
buildInputs = [
boost
freefont_ttf
fribidi
libpng
lua
SDL2
SDL2_image
SDL2_mixer
SDL2_ttf
zlib
];
enableParallelBuilding = true;
__structuredAttrs = true;
makeFlags = [
"PREFIX=$(out)"
"POVRAY=povray Work_Threads=$(NIX_BUILD_CORES)"
];
env.NIX_CFLAGS_COMPILE = toString [
"-I${lib.getDev SDL2}/include/SDL2"
"-I${lib.getDev SDL2_mixer}/include/SDL2"
];
meta = {
description = "Rearrange dominoes on different platforms to start a chain reaction";
homepage = "https://domino-chain.gitlab.io/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ fgaz ];
mainProgram = "domino-chain";
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,109 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
makeWrapper,
cmake,
python3,
openssl,
pkg-config,
mosquitto,
lua5_3,
sqlite,
jsoncpp,
zlib,
boost,
curl,
git,
libusb-compat-0_1,
cereal,
minizip,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "domoticz";
version = "2024.7";
src = fetchFromGitHub {
owner = "domoticz";
repo = "domoticz";
tag = finalAttrs.version;
hash = "sha256-D8U1kK3m1zT83YvZ42hGSU9PzBfS1VGr2mxUYbM2vNQ=";
};
patches = [
# Boost 1.87 compatibility, remove once upgraded to 2025.1
(fetchpatch {
url = "https://github.com/domoticz/domoticz/commit/5d0db89bbd120ed5dc05b4ff8c136f14a42f0cd3.patch";
hash = "sha256-FPe83yJKJEgnY3kABy9CTRe1CBh42dPG1ZWCUE5PO8E=";
})
];
buildInputs = [
openssl
python3
mosquitto
lua5_3
sqlite
jsoncpp
boost
zlib
curl
git
libusb-compat-0_1
cereal
minizip
];
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
];
cmakeFlags = [
"-DUSE_BUILTIN_MQTT=false"
"-DUSE_BUILTIN_LUA=false"
"-DUSE_BUILTIN_SQLITE=false"
"-DUSE_BUILTIN_JSONCPP=false"
"-DUSE_BUILTIN_ZLIB=false"
"-DUSE_OPENSSL_STATIC=false"
"-DUSE_STATIC_BOOST=false"
"-DUSE_BUILTIN_MINIZIP=false"
];
installPhase = ''
mkdir -p $out/share/domoticz
cp -r $src/www $out/share/domoticz/
cp -r $src/Config $out/share/domoticz
cp -r $src/scripts $out/share/domoticz
cp -r $src/plugins $out/share/domoticz
mkdir -p $out/bin
cp domoticz $out/bin
wrapProgram $out/bin/domoticz --set LD_LIBRARY_PATH ${python3}/lib;
'';
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
meta = {
description = "Home automation system";
longDescription = ''
Domoticz is a home automation system that lets you monitor and configure
various devices like: lights, switches, various sensors/meters like
temperature, rain, wind, UV, electra, gas, water and much more
'';
maintainers = with lib.maintainers; [ edcragg ];
homepage = "https://www.domoticz.com/";
changelog = "https://github.com/domoticz/domoticz/blob/${finalAttrs.version}/History.txt";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/domoticz.x86_64-darwin
mainProgram = "domoticz";
};
})

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
cargo,
glib,
meson,
ninja,
pkg-config,
rustPlatform,
rustc,
wrapGAppsHook4,
gdk-pixbuf,
gtk4,
libadwaita,
libsecret,
openssl,
sqlite,
gettext,
}:
stdenv.mkDerivation rec {
pname = "done";
version = "0.2.2";
src = fetchFromGitHub {
owner = "done-devs";
repo = "done";
rev = "v${version}";
hash = "sha256-SbeP7PnJd7jjdXa9uDIAlMAJLOrYHqNP5p9gQclb6RU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-yEpaQa9hKOq0k9MurihbFM4tDB//TPCJdOgKA9tyqVc=";
};
nativeBuildInputs = [
cargo
glib
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
];
buildInputs = [
gdk-pixbuf
gtk4
libadwaita
libsecret
openssl
sqlite
];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
GETTEXT_DIR = gettext;
};
meta = with lib; {
description = "Ultimate task management solution for seamless organization and efficiency";
homepage = "https://done.edfloreshz.dev/";
changelog = "https://github.com/done-devs/done/blob/${src.rev}/CHANGES.md";
license = licenses.mpl20;
mainProgram = "done";
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,54 @@
{
stdenv,
fetchFromGitLab,
libmd,
coreutils,
lib,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "donkey";
version = "1.2.0";
src = fetchFromGitLab {
owner = "donkey";
repo = "donkey";
rev = "tags/release/${finalAttrs.version}";
hash = "sha256-2xgb9l0Eko39HJVROAWEIP3qLg5t/5h/rm2MoXoKnJI=";
};
sourceRoot = "${finalAttrs.src.name}/src";
buildInputs = [ libmd ];
preInstall = ''
# don't change the owner, use global permissions:
export INSTALL_PROGRAM="${coreutils}/bin/install -m 555"
export INSTALL_DATA="${coreutils}/bin/install -m 444"
'';
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
meta = with lib; {
description = "Alternative for S/KEY's 'key' command";
longDescription = ''
Donkey is an alternative for S/KEY's "key" command. The new feature that
the original key doesn't have is print an entry for skeykeys as
follows;
kazu 0099 al02004 115d83956f1089b6 Apr 26,1995 22:13:27
This means that donkey is also an alternative for "keyinit". Since the
entry is printed to stdout (not to /etc/skeykeys), you can easily send
it to a remote operator by e-mail (with a PGP signature or something).
So, it is possible to initiate S/KEY without logging in from the console of
the host.
The name "Donkey" is an acronym of "Don't Key".
'';
homepage = "https://devel.ringlet.net/security/donkey";
license = licenses.gpl2Only;
maintainers = with maintainers; [ raboof ];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "donpapi";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "login-securite";
repo = "DonPAPI";
tag = "V${version}";
hash = "sha256-60aGnsr36X3mf91nH9ud0xyLBqKgzZ4ALucrLGpAuzQ=";
};
pythonRelaxDeps = [
"cryptography"
"impacket"
"pyasn1"
];
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
cryptography
impacket
lnkparse3
pyasn1
pyjwt
setuptools
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "donpapi" ];
meta = with lib; {
description = "Tool for dumping DPAPI credentials remotely";
homepage = "https://github.com/login-securite/DonPAPI";
changelog = "https://github.com/login-securite/DonPAPI/releases/tag/V${src.tag}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
mainProgram = "donpapi";
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "dontgo403";
version = "1.0.2";
src = fetchFromGitHub {
owner = "devploit";
repo = "dontgo403";
tag = version;
hash = "sha256-qA1i8l2oBQQ5IF8ho3K2k+TAndUTFGwb2NfhyFqfKzU=";
};
vendorHash = "sha256-IGnTbuaQH8A6aKyahHMd2RyFRh4WxZ3Vx/A9V3uelRg=";
ldflags = [
"-w"
"-s"
];
meta = {
description = "Tool to bypass 40X response codes";
mainProgram = "nomore403";
homepage = "https://github.com/devploit/dontgo403";
changelog = "https://github.com/devploit/dontgo403/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchurl,
libextractor,
gettext,
}:
stdenv.mkDerivation rec {
pname = "doodle";
version = "0.7.3";
buildInputs = [
libextractor
gettext
];
src = fetchurl {
url = "https://grothoff.org/christian/doodle/download/doodle-${version}.tar.gz";
sha256 = "sha256-qodp2epYyolg38MNhBV+/NMLmfXjhsn2X9uKTUniv2s=";
};
meta = {
homepage = "https://grothoff.org/christian/doodle/";
description = "Tool to quickly index and search documents on a computer";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = with lib.platforms; linux;
mainProgram = "doodle";
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
python3,
dooit,
nix-update-script,
}:
python3.pkgs.buildPythonPackage rec {
pname = "dooit-extras";
version = "0.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "dooit-org";
repo = "dooit-extras";
tag = "v${version}";
hash = "sha256-h29lN32Qca8edF1aLhLxnV97MMEapX3Docc+CIEF6I4=";
};
build-system = with python3.pkgs; [ poetry-core ];
buildInputs = [ dooit ];
# No tests available
doCheck = false;
passthru.updateScript = nix-update-script {
};
meta = with lib; {
description = "Extra Utilities for Dooit";
homepage = "https://github.com/dooit-org/dooit-extras";
changelog = "https://github.com/dooit-org/dooit-extras/blob/${src.tag}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [
kraanzu
];
};
}

View File

@@ -0,0 +1,76 @@
{
lib,
fetchFromGitHub,
dooit,
python3,
testers,
nix-update-script,
extraPackages ? [ ],
}:
python3.pkgs.buildPythonApplication rec {
pname = "dooit";
version = "3.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "dooit-org";
repo = "dooit";
tag = "v${version}";
hash = "sha256-MWdih+j7spUVEWXCBzF2J/FVXK0TQ8VhrJNDhNfxpQE=";
};
build-system = with python3.pkgs; [ poetry-core ];
pythonRelaxDeps = [
"tzlocal"
"textual"
"sqlalchemy"
];
propagatedBuildInputs =
with python3.pkgs;
[
pyperclip
textual
pyyaml
python-dateutil
sqlalchemy
platformdirs
tzlocal
click
]
++ extraPackages;
# /homeless-shelter
preBuild = ''
export HOME=$(mktemp -d)
'';
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
faker
pytest-asyncio
];
passthru = {
tests.version = testers.testVersion {
package = dooit;
command = "HOME=$(mktemp -d) dooit --version";
};
updateScript = nix-update-script { };
};
meta = {
description = "TUI todo manager";
homepage = "https://github.com/dooit-org/dooit";
changelog = "https://github.com/dooit-org/dooit/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
khaneliman
wesleyjrz
kraanzu
];
mainProgram = "dooit";
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitHub,
python3,
}:
stdenv.mkDerivation rec {
pname = "dool";
version = "1.3.8";
src = fetchFromGitHub {
owner = "scottchiefbaker";
repo = "dool";
rev = "v${version}";
hash = "sha256-aIGYv8UAC3toQe21xdtPUnsnrJhzbvQLfN/pPU3L2J0=";
};
buildInputs = [
python3
];
makeFlags = [
"prefix=$(out)"
];
# fix the plugins directory
postPatch = ''
substituteInPlace dool \
--replace-fail \
"os.path.dirname(os.path.abspath(__file__)) + '/plugins/'" \
"'$out/share/dool/'"
'';
meta = with lib; {
description = "Python3 compatible clone of dstat";
homepage = "https://github.com/scottchiefbaker/dool";
changelog = "https://github.com/scottchiefbaker/dool/blob/${src.rev}/ChangeLog";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ figsoda ];
platforms = platforms.linux;
mainProgram = "dool";
};
}

View File

@@ -0,0 +1,25 @@
From c6ac05c96b7908ccd35f3908fc0f13650b0583c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ertugrul=20S=C3=B6ylemez?= <esz@posteo.de>
Date: Sat, 3 Feb 2018 17:08:54 +0100
Subject: [PATCH] Remove -Werror
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index bbe2c75..3357d2d 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ EXE=bcc
BUILD_DIR=build
CC=gcc
INCLUDE=-Isrc -I src/parse
-OPTIONS=-Wall -Werror -Wno-unused -std=c99 -pedantic -Wstrict-aliasing \
+OPTIONS=-Wall -Wno-unused -std=c99 -pedantic -Wstrict-aliasing \
-Wstrict-aliasing=2 -Wmissing-field-initializers -D_BSD_SOURCE \
-D_DEFAULT_SOURCE $(INCLUDE)
VERSION_FILE=$(BUILD_DIR)/version.c
--
2.15.1

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "doom-bcc";
version = "unstable-2018-01-04";
src = fetchFromGitHub {
owner = "wormt";
repo = "bcc";
rev = "d58b44d9f18b28fd732c27113e5607a454506d19";
sha256 = "1m83ip40ln61qrvb1fbgaqbld2xip9n3k817lwkk1936pml9zcrq";
};
enableParallelBuilding = true;
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
patches = [ ./bcc-warning-fix.patch ];
installPhase = ''
mkdir -p $out/{bin,lib,share/doc}
install -m755 bcc $out/bin/bcc
cp -av doc $out/share/doc/bcc
cp -av lib $out/lib/bcc
'';
meta = with lib; {
description = "Compiler for Doom/Hexen scripts (ACS, BCS)";
mainProgram = "bcc";
homepage = "https://github.com/wormt/bcc";
license = licenses.mit;
};
}

View File

@@ -0,0 +1,74 @@
{
lib,
SDL2,
SDL2_image,
SDL2_mixer,
cmake,
fetchFromGitHub,
pkg-config,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "doomretro";
version = "5.7.2";
src = fetchFromGitHub {
owner = "bradharding";
repo = "doomretro";
rev = "v${finalAttrs.version}";
hash = "sha256-ShzZMmUwPB8IHhaA/7U4CEE7qcEjxfQDXVZkAVuEgtw=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
SDL2
SDL2_image
SDL2_mixer
];
strictDeps = true;
meta = {
homepage = "https://www.doomretro.com/";
description = "Classic, refined DOOM source port";
longDescription = ''
DOOM Retro is the classic, refined DOOM source port for Windows PC. It
represents how I like my DOOM to be today, in all its dark and gritty,
unapologetically pixelated glory. I have strived to craft a unique and
cohesive set of compelling features, while continuing to uphold my respect
for that classic, nostalgic DOOM experience many of us, after all this
time, still hold dear.
DOOM Retro has been under relentless, meticulous development since its
debut on December 10, 2013 commemorating DOOM's 20th anniversary, and it
has absolutely no intention of stopping. Its source code was originally
derived from Chocolate DOOM but is now very much its own beast. It does
include the usual, necessary enhancements that you'll find in all those
other DOOM source ports out there, but it also has many of its own cool,
original ideas that continues to set itself apart.
DOOM Retro is and always will be intentionally minimalistic in its
approach, and does a few things differently. It supports all vanilla,
limit removing, BOOM, MBF and MBF21-compatible maps and mods. In order to
freely implement certain features, and due to the nature of DOOM demos,
DOOM Retro does not support their recording or playback.
DOOM Retro is singleplayer only. Written in C, and released as free, open
source software under version 3 of the GNU General Public License, DOOM
Retro's 100,000 or so lines of code are diligently maintained in this
public Git repository and regularly compiled into both 32 and 64-bit
Windows apps using Microsoft Visual Studio Community 2022. Although next
to no support is provided, DOOM Retro's source code may also be compiled
and run under Linux and macOS.
'';
license = lib.licenses.gpl3Plus;
mainProgram = "doomretro";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
kdePackages,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "doomrunner";
version = "1.9.1";
src = fetchFromGitHub {
owner = "Youda008";
repo = "DoomRunner";
tag = "v${finalAttrs.version}";
hash = "sha256-N5kj2Z3QW29kOw2khET6Z4E9nFBBjNTgKw2xbCQrWKY=";
};
buildInputs = [ kdePackages.qtbase ];
nativeBuildInputs = [
kdePackages.qmake
kdePackages.wrapQtAppsHook
];
makeFlags = [
"INSTALL_ROOT=${placeholder "out"}"
];
postInstall =
lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv $out/usr/bin/DoomRunner.app $out/Applications/
''
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
mkdir -p $out/{bin,share/applications,share/icons/hicolor/128x128/apps}
install -Dm444 $src/Install/XDG/DoomRunner.128x128.png $out/share/icons/hicolor/128x128/apps/DoomRunner.png
install -Dm444 $src/Install/XDG/DoomRunner.desktop $out/share/applications/DoomRunner.desktop
install -Dm755 $out/usr/bin/DoomRunner $out/bin/DoomRunner
''
+ ''
rm -rf $out/usr
'';
meta = {
description = "Preset-oriented graphical launcher of various ported Doom engines";
mainProgram = "DoomRunner";
homepage = "https://github.com/Youda008/DoomRunner";
changelog = "https://github.com/Youda008/DoomRunner/blob/${finalAttrs.src.rev}/changelog.txt";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ keenanweaver ];
};
})

View File

@@ -0,0 +1,39 @@
{
fetchFromGitHub,
lib,
stdenv,
perl,
}:
stdenv.mkDerivation rec {
pname = "doona";
version = "0-unstable-2019-03-08";
src = fetchFromGitHub {
owner = "wireghoul";
repo = "doona";
rev = "master";
sha256 = "0x9irwrw5x2ia6ch6gshadrlqrgdi1ivkadmr7j4m75k04a7nvz1";
};
buildInputs = [ perl ];
installPhase = ''
mkdir -p $out/bin
cp -r ${src}/bedmod $out/bin/bedmod
cp ${src}/doona.pl $out/bin/doona
chmod +x $out/bin/doona
'';
meta = with lib; {
homepage = "https://github.com/wireghoul/doona";
description = "Fork of the Bruteforce Exploit Detector Tool (BED)";
mainProgram = "doona";
longDescription = ''
A fork of the Bruteforce Exploit Detector Tool (BED).
BED is a program which is designed to check daemons for potential buffer overflows, format string bugs etc.
'';
license = licenses.gpl2Only;
maintainers = with maintainers; [ pamplemousse ];
};
}

View File

@@ -0,0 +1,51 @@
{
stdenv,
lib,
fetchFromGitea,
blueprint-compiler,
desktop-file-utils,
glib,
gtk4,
libadwaita,
meson,
ninja,
pkg-config,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "door-knocker";
version = "0.7.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "tytan652";
repo = "door-knocker";
rev = finalAttrs.version;
hash = "sha256-6QHjmjR2ioR0I6JXtJ0Q+9Dl1fcTnQCGgWlcyFt9WoA=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
desktop-file-utils
blueprint-compiler
wrapGAppsHook4
];
buildInputs = [
glib
gtk4
libadwaita
];
meta = with lib; {
description = "Tool to check the availability of portals";
homepage = "https://codeberg.org/tytan652/door-knocker";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ symphorien ];
platforms = platforms.linux;
mainProgram = "door-knocker";
};
})

View File

@@ -0,0 +1,42 @@
{
lib,
fetchurl,
appimageTools,
nix-update-script,
}:
appimageTools.wrapType2 rec {
pname = "dopamine";
version = "3.0.0-preview.40";
src = fetchurl {
url = "https://github.com/digimezzo/dopamine/releases/download/v${version}/Dopamine-${version}.AppImage";
hash = "sha256-Cd0qUNkUXup9l3/tzagswY/MUgx4cCnXcML7c5ZSo4k=";
};
extraInstallCommands =
let
contents = appimageTools.extract { inherit pname version src; };
in
''
install -Dm644 ${contents}/dopamine.desktop $out/share/applications/dopamine.desktop
substituteInPlace $out/share/applications/dopamine.desktop \
--replace-fail 'Exec=AppRun' 'Exec=dopamine'
cp -r ${contents}/usr/share/icons $out/share
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=unstable" ]; };
meta = {
changelog = "https://github.com/digimezzo/dopamine/blob/${version}/CHANGELOG.md";
description = "Audio player that keeps it simple";
homepage = "https://github.com/digimezzo/dopamine";
license = lib.licenses.gpl3Only;
mainProgram = "dopamine";
maintainers = with lib.maintainers; [
Guanran928
ern775
];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/src/Makefile.am b/src/Makefile.am
index 4b0c466..ce008fa 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -54,7 +54,7 @@
@chgrp games ${DOPEBIN} || chgrp wheel ${DOPEBIN} || \
( echo "WARNING: Cannot change group of dopewars binary - the high"; \
echo "score file may be unreadable or unwriteable by some users" )
- chmod 2755 ${DOPEBIN}
+ chmod 755 ${DOPEBIN}
install-data-local:
${mkinstalldirs} ${PIXDIR}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
makeWrapper,
curl,
ncurses,
gtk3,
pkg-config,
scoreDirectory ? "$HOME/.local/share",
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dopewars";
version = "1.6.2";
src = fetchFromGitHub {
owner = "benmwebb";
repo = "dopewars";
rev = "v${finalAttrs.version}";
hash = "sha256-CpgqRYmrfOFxhC7yAS2OqRBi4r3Vesq3+7a0q5rc3vM=";
};
nativeBuildInputs = [
autoreconfHook
makeWrapper
pkg-config
];
buildInputs = [
curl
gtk3
ncurses
];
# remove the denied setting of setuid bit permission
patches = [ ./0001-remove_setuid.patch ];
# run dopewars with -f so that it finds its scoreboard file in ~/.local/share
postInstall = ''
wrapProgram $out/bin/dopewars \
--run 'mkdir -p ${scoreDirectory}' \
--add-flags '-f ${scoreDirectory}/dopewars.sco'
'';
meta = with lib; {
description = "Game simulating the life of a drug dealer in New York";
homepage = "https://dopewars.sourceforge.io";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ geri1701 ];
mainProgram = "dopewars";
platforms = platforms.unix;
};
})

View File

@@ -0,0 +1,55 @@
{
buildGoModule,
doppler,
fetchFromGitHub,
installShellFiles,
lib,
testers,
stdenv,
}:
buildGoModule rec {
pname = "doppler";
version = "3.75.1";
src = fetchFromGitHub {
owner = "dopplerhq";
repo = "cli";
rev = version;
hash = "sha256-YyhDvBgdcy3CtVpQj60XQ0aqE2zT1LV9QXQJiJvlaic=";
};
vendorHash = "sha256-tSRtgkDPvDlEfwuNhahvs3Pvt4h7QAJrJtb1XQXGaFM=";
ldflags = [
"-s -w"
"-X github.com/DopplerHQ/cli/pkg/version.ProgramVersion=v${version}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
mv $out/bin/cli $out/bin/doppler
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
export HOME=$TMPDIR
mkdir $HOME/.doppler # to avoid race conditions below
installShellCompletion --cmd doppler \
--bash <($out/bin/doppler completion bash) \
--fish <($out/bin/doppler completion fish) \
--zsh <($out/bin/doppler completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = doppler;
version = "v${version}";
};
meta = with lib; {
description = "Official CLI for interacting with your Doppler Enclave secrets and configuration";
mainProgram = "doppler";
homepage = "https://doppler.com";
license = licenses.asl20;
maintainers = with maintainers; [ lucperkins ];
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "doq";
version = "0.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "heavenshell";
repo = "py-doq";
tag = version;
hash = "sha256-iVu+5o8pZ5OhIzNItWbzUzqC3VQ6HCD7nP5gW/PVAMM=";
};
nativeBuildInputs = with python3.pkgs; [
setuptools
setuptools-generate
];
propagatedBuildInputs = with python3.pkgs; [
jinja2
parso
toml
];
nativeCheckInputs = with python3.pkgs; [
parameterized
pytestCheckHook
];
pythonImportsCheck = [ "doq" ];
meta = {
description = "Docstring generator for Python";
homepage = "https://github.com/heavenshell/py-doq";
changelog = "https://github.com/heavenshell/py-doq/releases/tag/${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ natsukium ];
mainProgram = "doq";
};
}

View File

@@ -0,0 +1,31 @@
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 13a6b54..f6bd9d6 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -5049,6 +5049,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-shell"
version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69d5eb3368b959937ad2aeaf6ef9a8f5d11e01ffe03629d3530707bbcb27ff5d"
dependencies = [
"encoding_rs",
"log",
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 4dcaa86..daef086 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -12,13 +12,6 @@ rust-version = "1.84.1"
strip = "debuginfo"
lto = false
-# Patches
-[package.metadata.patch]
-crates = ["tauri-plugin-shell"]
-
-[patch.crates-io]
-tauri-plugin-shell = { path="./target/patch/tauri-plugin-shell-2.2.1" }
-
[build-dependencies]
tauri-build = { version = "2.0.0", features = [] }

Some files were not shown because too many files have changed in this diff Show More