Obsidian Systems is excited to bring IPFS support to Nix

It’s David Riccardo’s comparative advantage all over again!
Maybe there’s something you are doing that someone else can do instead so you have time for the PR? :upside_down_face::blush:

2 Likes

Could you share those branches here or somewhere where it can be easily found?
If you have an overview of

  • what has been done
  • where we are now
  • what has to be done and in which order

maybe somebody would be able to help out. Right now, I wouldn’t know where to start, nor what to do, and probably I’m not the only one.

3 Likes

See https://github.com/obsidiansystems/ipfs-nix-guide/blob/092078ae0a98100211db6027b4a6c154fa64abd5/branches.md and the old last page draft PRs in Pull requests · NixOS/nix · GitHub

3 Likes

At long last I did the merging to get the Git parts up to date

(expand for gory tig output :slight_smile: )

           M─┐ [git-objects-develop] Merge branch 'store-path-or-ca' into git-objects-devel
            │ M─┐ [store-path-or-ca] {obsidian/store-path-or-ca} Merge branch 'store-path-de
            │ │ M─┐ [store-path-descriptor] {obsidian/store-path-descriptor} Merge remote-tr
            M─│─│─│─┐ Merge commit 'f7f1be69330212d22c11027adb4bd8a07c1f56fe' into git-objec
            │ M─│─│─┤ Merge commit 'b21dd384235bc9863c89ef249bbc1ca58f4ec3fd' into store-pat
            M─│─│─│─│─┐ Merge commit '7cac155fc8b548de7b4e054aee66551e2fc93289' into git-obj
            │ M─│─│─│─┤ Merge commit 'c67e0cc58c5a74121d74a3f5cf9f9c2199a87093' into store-p
            M─│─│─│─│─│─┐ Merge commit '6208375ba942a676da12e79c135e07eb585cd9b0' into git-o
            │ M─│─│─│─│─┤ Merge commit '6601ac86421fb05377f113aa52c55da7b9cbe658' into store
            M─│─│─│─│─│─│─┐ Merge commit '6305b77a2878333bf2af208ffe691d10ad233812' into git
            │ M─│─│─│─│─│─┤ Merge commit '056cc1c1b903114f59c536dd9821b46f68516f4e' into sto
            M─│─│─│─│─│─│─│─┐ Merge commit '9faa690e0fd8ff3d8d53e5df1c4b3c969a52fc3a' into g
            │ M─│─│─│─│─│─│─┤ Merge commit '2e7be46e73293f729358eefc5b464dcb7e2d76bf' into s
            M─│─│─│─│─│─│─│─│─┐ Merge commit '3a43680ff89cc3bba167773c32dbc3762148857e' into
            │ M─│─│─│─│─│─│─│─┤ Merge commit '91617f80ec03ff4580a656310959ce2e31e0d177' into
            M─│─│─│─│─│─│─│─│─│─┐ Merge commit 'c08971bf2df0bfa0deb2b58451ebf3a65f1e0f72' in
            │ M─│─│─│─│─│─│─│─│─┤ Merge commit '46e942ff9e65755689ee72f93846d7118e1b8d45' in
            M─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '554158c9d06ab90f261812ddc81ad5f682f2918a'
            │ M─│─│─│─│─│─│─│─│─│─┤ Merge commit '9cfa78e58a92b4bf034867bc1296a200bdc3f12a'
            M─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '17313408d5c06ae6aac98f7d35d8da6195c4ab2b
            │ M─│─│─│─│─│─│─│─│─│─│─┤ Merge commit '6a168254ce068c067259c913ee7d6ee2e0d1dc7e
            M─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '50803f208da7a8f37d31191df7f32ad6b764ee
            │ M─│─│─│─│─│─│─│─│─│─│─│─┤ Merge commit '8623143921f8683b88d46aaebe9f707e5b9a91
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '4ed87aac038f307dcdf069835b9b7aa6de24
            │ M─│─│─│─│─│─│─│─│─│─│─│─│─┤ Merge commit 'e9fc1e4fdb0ab5adb6b163c3db361b86a4f5
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ {obsidian/git-objects-develop} Merge commit 'daa
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit 'fa1e9ea950d735e078ce360ccdea94f3
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '56be25a069df3d9aadf8e0b714e205
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '230c771713ddaeb1d0cdfa70e3e8
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '5e87f0884c93ee91803e835a05
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '4ed2f421eb707c2195927db2
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '8106a67e4e6f403be65e18
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '27ef76ab58e5ebeb2d98
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '8f0b757a9524af47bf
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit 'e6ad49075907a2bd
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '4a55c7b74b0de4
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '37ab1891b9de
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit 'f1bcb730a9
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '7f50ecf5
            o │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Introduce experimental
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge commit '554f00
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge remote-track
            M─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─│─┐ Merge remote-tra

As a result, we have this draft PR Git object hashing in libstore by Ericson2314 · Pull Request #8918 · NixOS/nix · GitHub

Thanks to @matthewbauer in particular who, back in 2020, wrote most of the underlying implementation.

16 Likes

A little status update, per [RFC 0133] Git hashing and Git-hashing-based remote stores by Ericson2314 · Pull Request #133 · NixOS/rfcs · GitHub the first part of the git hashing RFC 133 is now implemented!

nix store add --mode git --hash-algo sha1 <file>

You can see the tracking issue and milestone for what remains.

10 Likes