Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add newdawn pkgs #364975

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15804,6 +15804,17 @@
githubId = 7845120;
name = "Alex Martens";
};
NewDawn0 = {
name = "Tom Suter";
email = "[email protected]";
github = "NewDawn0";
githubId = 92283105;
keys = [
{
fingerprint = "4E9A 21D3 494C DA43 7B0E C24D F407 CF2A 2834 53F3";
}
];
};
nezia = {
email = "[email protected]";
github = "nezia1";
Expand Down
38 changes: 38 additions & 0 deletions pkgs/by-name/an/ansi-cheatsheet/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
fetchFromGitHub,
lib,
stdenv,
zig,
}:
stdenv.mkDerivation {
pname = "ansi";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "ansi";
rev = "v1.0.0";
hash = "sha256-0ahM9eZInPNSA6K463Ul4ot2PPplBNI2ypBRwfG6Lpo=";
};
buildInputs = [ zig ];
buildPhase = ''
${lib.optionalString stdenv.hostPlatform.isDarwin ''
# On Darwin the executable needs to link to libSystem found in /usr/lib/
export LIBRARY_PATH=/usr/lib
export DYLD_LIBRARY_PATH=/usr/lib
''}
cacheDir=$(mktemp -d)
zig build --global-cache-dir $cacheDir
'';
installPhase = "install -D zig-out/bin/ansi -t $out/bin";
meta = {
description = "A quick reference guide for ANSI escape codes";
longDescription = ''
A handy cheatsheet for quickly looking up ANSI escape codes.
Perfect for developers working with terminal color codes and text formatting.
'';
homepage = "https://github.com/NewDawn0/ansi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
29 changes: 29 additions & 0 deletions pkgs/by-name/as/ascii-weather/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
fetchFromGitHub,
lib,
ncurses,
gccStdenv,
}:
gccStdenv.mkDerivation {
pname = "ascii-weather";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "asciiWeather";
rev = "v1.0.0";
hash = "sha256-8ntnVMQWeEO47gjP4G/GMCQ7NlsdjBsXU0+LMC6fr+U=";
};
buildInputs = [ ncurses ];
installPhase = "install -D ascii-weather -t $out/bin";
meta = {
description = "An ASCII-based screensaver that shows various weather conditions";
longDescription = ''
This screensaver uses ASCII art to display different weather types.
It's a creative and simple way to keep your terminal lively while providing weather updates.
'';
homepage = "https://github.com/NewDawn0/asciiWeather";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
35 changes: 35 additions & 0 deletions pkgs/by-name/cd/cd-up/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
fetchFromGitHub,
lib,
runtimeShell,
gccStdenv,
}:
gccStdenv.mkDerivation {
pname = "up-core";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "up";
rev = "v1.0.0";
hash = "sha256-gLIkwNFxXkGCQiRTri0EJZSRC7xbvhUwaCmTQDqs2B8=";
};
installPhase = ''
install -D up-core -t $out/bin
mkdir -p $out/lib
echo "#!/${runtimeShell}" > $out/lib/SOURCE_ME.sh
$out/bin/up-core --init >> $out/lib/SOURCE_ME.sh
'';
shellHook = ''
source $out/lib/SOURCE_ME.sh
'';
Comment on lines +22 to +24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this for?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Packages like up and dirstack have a backend written in C or Rust, this binary cannot change directories. My approach to solving this problem is creating a file which when sourced provides the up and ds functions which executes the cd command the backend provides them with, thereby changing directories in the user's shell. If there is a better approach, I'll gladly change it

meta = {
description = "A tool to navigate up directories more swiftly";
longDescription = ''
This utility allows you to move up relative directories with ease, enhancing efficiency when working in nested file systems. It simplifies navigation with fewer keystrokes.
'';
homepage = "https://github.com/NewDawn0/up";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platmors = lib.platforms.all;
};
}
26 changes: 26 additions & 0 deletions pkgs/by-name/cl/cli-notify/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule {
pname = "notify";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "notify";
rev = "v1.0.0";
hash = "sha256-tne+vabRlVIpASvqioUBm/ANsWszy1MQ7bkFr1joMrg=";
};
vendorHash = "sha256-pyNBOPzzJ+ZcIlGP0DP+MEbQt52XyqJJ/bo+OsmPwUk=";
meta = {
description = "A command-line utility for creating forms and sending notifications";
longDescription = ''
This tool enables users to create customizable forms and send notifications directly from the command line. It's useful for automating repetitive tasks and handling user inputs easily.
'';
homepage = "https://github.com/NewDawn0/notify";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
51 changes: 51 additions & 0 deletions pkgs/by-name/di/dirstack/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
fetchFromGitHub,
fzf,
lib,
runtimeShell,
rustPlatform,
stdenv,
}:
let
version = "1.0.0";
meta = {
description = "A fast directory navigation tool with a quicklist";
longDescription = ''
This utility allows you to change directories quickly using a user defined list of frequently used paths.
It reduces the time spent on navigation and enhances workflow efficiency.
'';
homepage = "https://github.com/NewDawn0/dirStack";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
pkg = rustPlatform.buildRustPackage {
inherit meta version;
pname = "dirStack";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "dirStack";
rev = "v1.0.0";
hash = "sha256-TeHldruUsG49o0tXm26prSmGTmBiRRkL7q7VZghrsXM=";
};
cargoHash = "sha256-ismRyvNGqWkACVwz7+2EFh114DevtwWGtdbB/w4Yqz8=";
propagatedBuildInputs = [ fzf ];
};
in
stdenv.mkDerivation {
inherit meta version;
pname = "dirStack-wrapped";
src = null;
dontUnpack = true;
dontBuild = true;
dontConfigure = true;
installPhase = ''
install -D ${pkg}/bin/dirStack -t $out/bin
mkdir -p $out/lib
echo "#!/${runtimeShell}" > $out/lib/SOURCE_ME.sh
$out/bin/dirStack --init >> $out/lib/SOURCE_ME.sh
'';
shellHook = ''
source $out/lib/SOURCE_ME.sh
'';
}
44 changes: 44 additions & 0 deletions pkgs/by-name/ex/extract/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
fetchFromGitHub,
gnutar,
gzip,
lib,
libarchive,
p7zip,
stdenv,
unzip,
zstd,
}:
let
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "ex";
rev = "v1.0.0";
hash = "sha256-Zk4DGs/KZXr1CJ4VKJGqru4SM5eXHh5m5NbOuoAhZeE=";
};
in
stdenv.mkDerivation {
pname = "ex";
version = "1.0.0";
inherit src;
propagatedBuildInputs = [
gnutar
gzip
libarchive
p7zip
unzip
zstd
];
installPhase = "install -D -m 755 ${src}/ex -t $out/bin";
meta = {
description = "A command-line wrapper for extracting common archive formats";
longDescription = ''
This tool wraps around popular archive extraction commands, providing a simple interface to extract files from formats like ZIP, TAR, and more.
It streamlines file extraction for most pouplar archive formats.
'';
homepage = "https://github.com/NewDawn0/ex";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
26 changes: 26 additions & 0 deletions pkgs/by-name/ge/gen/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
fetchFromGitHub,
lib,
rustPlatform,
}:
rustPlatform.buildRustPackage {
pname = "gen";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "gen";
rev = "v1.0.0";
sha256 = lib.fakeHash;
};
cargoHash = lib.fakeHash;
meta = {
description = "A flexible tool for generating customizable project templates";
longDescription = ''
This extensible project generator allows you to quickly set up new projects with customizable templates.
Ideal for users who want to automate the creation of project skeletons with personalized settings.
'';
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
27 changes: 27 additions & 0 deletions pkgs/by-name/ni/nixie-clock/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
fetchFromGitHub,
lib,
rustPlatform,
}:
rustPlatform.buildRustPackage {
pname = "nixie-clock";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "nixieClock";
rev = "v1.0.0";
sha256 = lib.fakeHash;
};
cargoHash = lib.fakeHash;
meta = {
description = "A CLI clock that displays time in a Nixie tube style";
longDescription = ''
A unique command-line clock that displays the current time using Nixie tube-style digits.
This charming design adds a vintage touch to your terminal while providing an accurate clock.
'';
homepage = "https://github.com/NewDawn0/nixie-clock";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
27 changes: 27 additions & 0 deletions pkgs/by-name/no/note/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule {
pname = "note";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "note";
rev = "v1.0.0";
hash = "sha256-ISYagWOW5EnjtP4oOO9Dia0oPexlgvul/yllrHeZceQ=";
};
vendorHash = "sha256-kzMvksDjhqKlHvBwl0spOApFKHKM7lm0WG2hifP6+Ro=";
meta = {
description = "A lightweight tool for capturing short-term notes";
longDescription = ''
This tool is designed for quick note-taking.
It's perfect for jotting down temporary ideas or reminders from the command line without leaving any clutter.
'';
homepage = "https://github.com/NewDawn0/note";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
27 changes: 27 additions & 0 deletions pkgs/by-name/sh/shredder/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule {
pname = "shredder";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "shredder";
rev = "v1.0.0";
hash = "sha256-0Oz92/KABODmEqaQHHpeK9/tf7Ws+PdRrzQuTzxulQA=";
};
vendorHash = null;
meta = {
description = "A tool for securely deleting files to ensure privacy";
longDescription = ''
This tool securely deletes files, ensuring they cannot be recovered.
Ideal for users who require extra privacy and need to ensure sensitive data is completely erased from their system.
'';
homepage = "https://github.com/NewDawn0/shredder";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
33 changes: 33 additions & 0 deletions pkgs/by-name/tr/translate/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
darwin,
fetchFromGitHub,
lib,
libiconv,
rustPlatform,
stdenv,
}:
rustPlatform.buildRustPackage {
pname = "tl";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NewDawn0";
repo = "tl";
rev = "v1.0.0";
sha256 = "sha256-6oKz68UIRLRB7l5Am9+GNHswJKIrV/31dhkLRPC6dhE=";
};
cargoHash = "sha256-QEEqkcsJulZtMpVZXqy5D187nA+ksRya8ggPB9YWILU=";
buildInputs = [
libiconv
] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration;
meta = {
description = "A command-line translator powered by Google Translate";
longDescription = ''
This command-line tool leverages Google Translate to translate text quickly between languages.
It can be used to translate command-line output, allowing users to work with any language from the terminal.
'';
homepage = "https://github.com/NewDawn0/tl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ NewDawn0 ];
platforms = lib.platforms.all;
};
}
Loading
Loading