NixIPFS / Nixipfs Scripts
Licence: gpl-3.0
Mirror a Hydra jobset using IPFS or plain rsync
Programming Languages
python 139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Nixipfs Scripts
DocuhashSimple PoC that shows you how to use IPFS and Ethereum blockchain to store files and their information.
Stars: ✭ 17 (-48.48%)
Mutual labels: ipfs
ConfigsMy configuration files
Stars: ✭ 26 (-21.21%)
Mutual labels: nixos
Filemap.xyzupload files to a geographic point. never memorize a link again.
Stars: ✭ 29 (-12.12%)
Mutual labels: ipfs
Kevin NixNixOS for the Samsung Chromebook Plus (kevin)
Stars: ✭ 18 (-45.45%)
Mutual labels: nixos
Nixsap Stars: ✭ 23 (-30.3%)
Mutual labels: nixos
NixopsNixOps is a tool for deploying to NixOS machines in a network or cloud.
Stars: ✭ 838 (+2439.39%)
Mutual labels: nixos
Ipfs SyncLive IPFS directory synchronization.
Stars: ✭ 16 (-51.52%)
Mutual labels: ipfs
Nix ExamplesShowcase of Nix usage for various technologies
Stars: ✭ 31 (-6.06%)
Mutual labels: nixos
Subnode.orgSubNode: Social Media App
Stars: ✭ 25 (-24.24%)
Mutual labels: ipfs
FenixRust nightly toolchains and rust analyzer nightly for nix [[email protected]]
Stars: ✭ 29 (-12.12%)
Mutual labels: nixos
PapillonA distributed blog publish system based on IPFS
Stars: ✭ 19 (-42.42%)
Mutual labels: ipfs
Openbazaar GoOpenBazaar 2.0 Server Daemon in Go
Stars: ✭ 919 (+2684.85%)
Mutual labels: ipfs
Notesideas and planning on how to use IPFS together with Nix/OS
Stars: ✭ 15 (-54.55%)
Mutual labels: ipfs
PeergosA p2p, secure file storage, social network and application protocol
Stars: ✭ 895 (+2612.12%)
Mutual labels: ipfs
Rust MultibaseMultibase in rust
Stars: ✭ 30 (-9.09%)
Mutual labels: ipfs
Graph NodeGraph Node indexes data from blockchains such as Ethereum and serves it over GraphQL
Stars: ✭ 884 (+2578.79%)
Mutual labels: ipfs
Awesome Blockchain⚡️Curated list of resources for the development and applications of blockchain.
Stars: ✭ 937 (+2739.39%)
Mutual labels: ipfs
DappTypeScript React Redux Ethereum IPFS Starter Kit
Stars: ✭ 33 (+0%)
Mutual labels: ipfs
Nixos ConfigNixOS configurations for server and desktop systems, including user specific config. with Home Manager
Stars: ✭ 30 (-9.09%)
Mutual labels: nixos
Ipfs CohostA CLI to co-host websites published to IPFS
Stars: ✭ 21 (-36.36%)
Mutual labels: ipfs
NixIPFS Release Scripts
This is a collection of scripts that fetch jobsets from a Hydra, create releases and
publish them to IPFS.
This is a working solution for NAR distribution but should be rewritten completely for
an IPLD approach.
Usage
Start IPFS on your host or have the API close (latency) to you:
release_nixos --dir /data/nixipfs --tmpdir /data/tmp --ipfsapi 127.0.0.1 5001 --config nixos_release.json
This downloads the latest release builds of NixOS and all .narinfo + .nar files
that belong to the runtime closure (if all store-paths are resolved) to --dir
.
tmpdir
will be used for .nar/.tar
extraction since /tmp
is often too small
-
--print_only
will not add anything to IPFS and will not download the *.nar
files locally.
Instead the paths are printed and can be piped to a file so you can fetch them
using another tool / on another host.
-
--gc
the scripts ship their own garbage collector that purges the global binary
cache of all files that are not used by a release.
-
--no_ipfs
will not add anything to IPFS
-
--config
points to a json file that contains most of the parameters (see nixos_release.json for an example)
The modules used by release_nixos have their own scripts that can be used from a
CLI.
-
create_channel_release
fetches the latest tested build of a single jobset in
a project and creates a channel
-
update_binary_cache
updates a global binary cache with the runtime closure of
a release
-
garbage_collect
deletes all unreferenced files from a global binary cache.
-
create_nixipfs
creates a IPFS directory from a local directory
Caching
In order to reduce the requests to the IPFS API, the hashes of each directory is stored on disk.
If you want to re-add a directory with changed content (e.g. binary-cache-url
) you need to delete
a file called ipfs_hash
in the same directory.
Run this in the releases
path to add all releases again:
find . -iname ipfs_hash | xargs rm
License
-
/nixipfs/*
is released under the GPLv3, see COPYING
-
/generate_programs_index/*
has no license yet (Copyright by Eelco Dolstra, LGPL assumed)
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at
[email protected].