Skip to content

Commit

Permalink
repo: Create list of packages
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzleutgeb committed Sep 29, 2023
1 parent da86490 commit 768c868
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,30 @@

[Ngipkgs](https://github.com/ngi-nix/ngipkgs) is a collection of [Nix](https://nixos.org/) packages and services for software projects that are supported through the [Next Generation Internet](https://www.ngi.eu/) (NGI) program of the European Commission.

## Packages

|Name |Website |Version |Description |License |
|----------------------------------------------------------------|--------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------|----------|
|[`atomic-cli`](/pkgs/atomic-cli/default.nix) |[link](https://crates.io/crates/atomic-cli) |0.34.5 |CLI tool to create, store, query, validate and convert Atomic Data |MIT |
|[`atomic-server`](/pkgs/atomic-server/default.nix) |[link](docs.atomicdata.dev) |0.34.5 |A Rust library to serialize, parse, store, convert, validate, edit, fetch and store Atomic Data. Powers both atomic-cli and atomic-server.|MIT |
|[`flarum`](/pkgs/flarum/default.nix) |[link](https://github.com/flarum/flarum) |1.8.0 |Flarum is a delightfully simple discussion platform for your website |MIT |
|[`gnunet-messenger-cli`](/pkgs/gnunet-messenger-cli/default.nix)| |0.1.1 | | |
|[`kikit`](/pkgs/kikit/default.nix) |[link](https://github.com/yaqwsx/KiKit/) |1.3.0 |Automation for KiCAD boards |MIT |
|[`lcrq`](/pkgs/lcrq/default.nix) |[link](https://librecast.net/lcrq.html) |0.1.0 |Librecast RaptorQ library. |... |
|[`lcsync`](/pkgs/lcsync/default.nix) |[link](https://librecast.net/lcsync.html) |0.2.1 |Librecast File and Syncing Tool |... |
|[`libgnunetchat`](/pkgs/libgnunetchat/default.nix) | |0.1.3 | | |
|[`librecast`](/pkgs/librecast/default.nix) |[link](https://librecast.net/librecast.html)|0.7-RC3 |IPv6 multicast library |... |
|[`pretalx`](/pkgs/pretalx/default.nix) |[link](https://github.com/pretalx/pretalx) |2023.1.3|Conference planning tool: CfP, scheduling, speaker management |Apache-2.0|
|[`pretalx-downstream`](/pkgs/pretalx/plugins.nix) | |1.1.5 | | |
|[`pretalx-frontend`](/pkgs/pretalx/frontend.nix) |[link](https://github.com/pretalx/pretalx) |2023.1.0|Conference planning tool: CfP, scheduling, speaker management |Apache-2.0|
|[`pretalx-full`](/pkgs/pretalx/default.nix) |[link](https://github.com/pretalx/pretalx) |2023.1.3|Conference planning tool: CfP, scheduling, speaker management |Apache-2.0|
|[`pretalx-media-ccc-de`](/pkgs/pretalx/plugins.nix) | |1.1.1 | | |
|[`pretalx-pages`](/pkgs/pretalx/plugins.nix) | |1.3.3 | | |
|[`pretalx-public-voting`](/pkgs/pretalx/plugins.nix) | |1.3.0 | | |
|[`pretalx-venueless`](/pkgs/pretalx/plugins.nix) | |1.3.0 | | |
|[`rosenpass`](/pkgs/rosenpass/default.nix) |[link](https://rosenpass.eu/) |0.2.0 |Build post-quantum-secure VPNs with WireGuard! |... |
|[`rosenpass-tools`](/pkgs/rosenpass-tools/default.nix) |[link](https://rosenpass.eu/) |0.2.0 |Build post-quantum-secure VPNs with WireGuard! This package contains `rp`, which is a script that wraps the `rosenpass` binary. |... |

## Structure of Ngipkgs

The software in Ngipkgs can be divided into two broad categories: Nix packages, and NixOS services.
Expand Down
16 changes: 16 additions & 0 deletions package-list.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#! /usr/bin/env bash
IT=.
PACKAGES=$(nix flake show --json $IT | jq -r '.packages."x86_64-linux" | keys[] | select(endswith("toplevel") | not)')
(for PACKAGE in $PACKAGES
do
jq -n \
--arg name $PACKAGE \
--slurpfile meta <(nix eval --json .#${PACKAGE}.meta) \
--slurpfile drv <(nix derivation show .#${PACKAGE}) \
'($drv[0] | to_entries | .[] | .value | { Name: "[`\($name)`](\($meta[0].position | ltrimstr("/nix/store/") | .[index("/"):index(":")]))", Website: ($meta[0].homepage | if . then "[link](\($meta[0].homepage))" else "" end), Version: .env.version }) *
($meta[0] | {
Description: (.description // ""),
License: (.license | if type == "array" then map(.spdxId) else (.spdxId // "") end),
})'
done) | jq -s '.' | tv --style markdown

0 comments on commit 768c868

Please sign in to comment.