)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"c35c1084b1e0c342d6f691917894484a00c3002a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4f4a5740_7ca313ee","updated":"2025-03-22 00:04:35.000000000","message":"Something like this","commit_id":"a53152a33e2e6d1dd5b0b5890c042292d49cd966"}],"web/content/blog/2025-03-21-overlay-store/index.md":[{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":12,"context_line":"homepage: false"},{"line_number":13,"context_line":"---"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"941c8df9_69056bc4","line":15,"updated":"2025-03-22 08:18:26.000000000","message":"There\u0027s a bit of funny line lengths going on. Can you reflow them?","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":12,"context_line":"homepage: false"},{"line_number":13,"context_line":"---"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"9f75adde_1b8a3ff1","line":15,"in_reply_to":"941c8df9_69056bc4","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":13,"context_line":"---"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"f357ff5b_94456757","line":16,"updated":"2025-03-22 08:18:26.000000000","message":"There\u0027s a few different writing variants of \"Local Overlay Store\" in here. We should use the canonical version consistently.","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":13,"context_line":"---"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"986a8108_99ad7a1e","line":16,"in_reply_to":"f357ff5b_94456757","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"157f7de8_55c09e1a","line":17,"updated":"2025-03-22 08:18:26.000000000","message":"XX","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"## Background"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In version XX, nix introduced a new experimental store type:"},{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ccc345ea_0d8eabd6","line":17,"in_reply_to":"157f7de8_55c09e1a","updated":"2025-03-22 09:07:58.000000000","message":"thing is they removed overlay store from their release notes 😊\nrephrased not to have to dig up the version number","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With this approach stores are layered on top of each other with all but the top-most layer being writable,"},{"line_number":22,"context_line":"the others are read-only."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main use-case is for it is having a large nix store mounted onto a machine as read-only and configure nix to use"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"6e645fa5_f10f6be1","line":21,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nWith this approach, stores are layered on top of each other with all but the top-most layer being writable,\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":18,"context_line":"[Local Overlay Store][Local Overlay Store]."},{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With this approach stores are layered on top of each other with all but the top-most layer being writable,"},{"line_number":22,"context_line":"the others are read-only."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main use-case is for it is having a large nix store mounted onto a machine as read-only and configure nix to use"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"f41ebb30_014daeae","line":21,"in_reply_to":"6e645fa5_f10f6be1","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With this approach stores are layered on top of each other with all but the top-most layer being writable,"},{"line_number":22,"context_line":"the others are read-only."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main use-case is for it is having a large nix store mounted onto a machine as read-only and configure nix to use"},{"line_number":25,"context_line":"data stored in it to avoid rebuilding/substituting from `cache.nixos.org`."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"15f934b0_ab465a72","line":22,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nthe others are read-only. The feature is described in the [Upstream Nix Documentation][nix-docs-local-overlay]. Work is [ongoing][lix-local-overlay] to bring the feature to Lix aswell.\n\n[nix-docs-local-overlay]: https://nix.dev/manual/nix/2.24/store/types/experimental-local-overlay-store\n[lix-local-overlay]: https://gerrit.lix.systems/c/lix/+/2859\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This store allows having multiple physical stores acting as a single logical store."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With this approach stores are layered on top of each other with all but the top-most layer being writable,"},{"line_number":22,"context_line":"the others are read-only."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main use-case is for it is having a large nix store mounted onto a machine as read-only and configure nix to use"},{"line_number":25,"context_line":"data stored in it to avoid rebuilding/substituting from `cache.nixos.org`."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"10547c5a_e430141f","line":22,"in_reply_to":"15f934b0_ab465a72","updated":"2025-03-22 09:07:58.000000000","message":"Acknowledged","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"## Meet the new `snix` nix-daemon"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Implementing `nix-daemon` protocol is a large amount of effort, on the other"},{"line_number":34,"context_line":"hand mounting a large nix store is a great fit for `snix` as our"},{"line_number":35,"context_line":"[content-addressed store][castore] is much"},{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"614b9f2c_3fa4b3bf","line":33,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nImplementing `nix-daemon` protocol is a lot of effort, due to being entirely custom and undocumented. On the other\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"## Meet the new `snix` nix-daemon"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Implementing `nix-daemon` protocol is a large amount of effort, on the other"},{"line_number":34,"context_line":"hand mounting a large nix store is a great fit for `snix` as our"},{"line_number":35,"context_line":"[content-addressed store][castore] is much"},{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"559cea71_2f902530","line":33,"in_reply_to":"614b9f2c_3fa4b3bf","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":31,"context_line":"## Meet the new `snix` nix-daemon"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Implementing `nix-daemon` protocol is a large amount of effort, on the other"},{"line_number":34,"context_line":"hand mounting a large nix store is a great fit for `snix` as our"},{"line_number":35,"context_line":"[content-addressed store][castore] is much"},{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"},{"line_number":37,"context_line":"can be found [here][replit]."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"9689e248_2f76729f","line":34,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nhand, mounting a large nix store is a great fit for `snix` as our\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"## Meet the new `snix` nix-daemon"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Implementing `nix-daemon` protocol is a large amount of effort, on the other"},{"line_number":34,"context_line":"hand mounting a large nix store is a great fit for `snix` as our"},{"line_number":35,"context_line":"[content-addressed store][castore] is much"},{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"},{"line_number":37,"context_line":"can be found [here][replit]."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"f32d3698_9d1479dd","line":34,"in_reply_to":"9689e248_2f76729f","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"},{"line_number":37,"context_line":"can be found [here][replit]."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"What\u0027s interesting about the"},{"line_number":40,"context_line":"local overlays store, is it uses only a small subset of operations when talking"},{"line_number":41,"context_line":"to the `nix-daemon`. And this seemed like a good opportunity to make using `nix`"},{"line_number":42,"context_line":"backed by our `castore` more seamless."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"2d81f4a2_e6ae5e2f","line":39,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nWhat\u0027s interesting about\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"more space efficient than conventional filesystem storage. A great example of this"},{"line_number":37,"context_line":"can be found [here][replit]."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"What\u0027s interesting about the"},{"line_number":40,"context_line":"local overlays store, is it uses only a small subset of operations when talking"},{"line_number":41,"context_line":"to the `nix-daemon`. And this seemed like a good opportunity to make using `nix`"},{"line_number":42,"context_line":"backed by our `castore` more seamless."}],"source_content_type":"text/x-markdown","patch_set":3,"id":"48079354_933cae12","line":39,"in_reply_to":"2d81f4a2_e6ae5e2f","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":37,"context_line":"can be found [here][replit]."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"What\u0027s interesting about the"},{"line_number":40,"context_line":"local overlays store, is it uses only a small subset of operations when talking"},{"line_number":41,"context_line":"to the `nix-daemon`. And this seemed like a good opportunity to make using `nix`"},{"line_number":42,"context_line":"backed by our `castore` more seamless."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"f4b07293_e51eeef5","line":40,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nLocal Overlay Store, is that it uses only a small subset of operations when talking\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":37,"context_line":"can be found [here][replit]."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"What\u0027s interesting about the"},{"line_number":40,"context_line":"local overlays store, is it uses only a small subset of operations when talking"},{"line_number":41,"context_line":"to the `nix-daemon`. And this seemed like a good opportunity to make using `nix`"},{"line_number":42,"context_line":"backed by our `castore` more seamless."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"56575b20_c4526dfb","line":40,"in_reply_to":"f4b07293_e51eeef5","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":44,"context_line":"So we are happy to announce that as of today, `snix` has implemented **all**"},{"line_number":45,"context_line":"of the operations required to operate as a lower layer in nix\u0027s overlay store."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Checkout our Guide on how to set it up."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Please test it out, let us know what you think and report [bugs][Issues]."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"c557254a_2060a239","line":47,"updated":"2025-03-22 08:18:26.000000000","message":"Needs linking (grep for `\u003cref`)","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"So we are happy to announce that as of today, `snix` has implemented **all**"},{"line_number":45,"context_line":"of the operations required to operate as a lower layer in nix\u0027s overlay store."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Checkout our Guide on how to set it up."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Please test it out, let us know what you think and report [bugs][Issues]."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"bd8a79f4_b4b4c8c8","line":47,"in_reply_to":"c557254a_2060a239","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"}],"web/content/docs/guides/local-overlay.md":[{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"9e40f7e6c38eb6cc60dece18c74187f3c2c5b6f1","unresolved":true,"context_lines":[{"line_number":41,"context_line":"with the following command:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"```console"},{"line_number":44,"context_line":"$ snix-store mount /path/to/mount"},{"line_number":45,"context_line":"```"},{"line_number":46,"context_line":"This mount will use the daemon to provide file system objects."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"bc385593_66473c90","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":33},"updated":"2025-03-22 00:21:22.000000000","message":"It would be nice if mount could also launch the grpc server\n\n\nOr if nix-daemon could fuse mount at startup, as it stands today you have to run 3 processes which is not ideal ux","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":41,"context_line":"with the following command:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"```console"},{"line_number":44,"context_line":"$ snix-store mount /path/to/mount"},{"line_number":45,"context_line":"```"},{"line_number":46,"context_line":"This mount will use the daemon to provide file system objects."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"bb91758b_7f570b0a","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":33},"in_reply_to":"2339a25b_2b63bc64","updated":"2025-03-22 09:07:58.000000000","message":"added to what\u0027s next","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":41,"context_line":"with the following command:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"```console"},{"line_number":44,"context_line":"$ snix-store mount /path/to/mount"},{"line_number":45,"context_line":"```"},{"line_number":46,"context_line":"This mount will use the daemon to provide file system objects."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"2339a25b_2b63bc64","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":33},"in_reply_to":"bc385593_66473c90","updated":"2025-03-22 08:18:26.000000000","message":"Agreed. We should probably put this into a second section of the \"What\u0027s next\", and add a few issues.","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":52,"context_line":"### Run `snix` nix-daemon"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"```console"},{"line_number":55,"context_line":"$ nix-daemon -l /tmp/tvix-daemon.sock --unix-listen-unlink"},{"line_number":56,"context_line":"```"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This will launch the `snix` nix-daemon listening on a unix domain socket"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"3bca5fff_86778941","line":55,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\n$ nix-daemon -l /tmp/snix-daemon.sock --unix-listen-unlink\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"### Run `snix` nix-daemon"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"```console"},{"line_number":55,"context_line":"$ nix-daemon -l /tmp/tvix-daemon.sock --unix-listen-unlink"},{"line_number":56,"context_line":"```"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This will launch the `snix` nix-daemon listening on a unix domain socket"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"44ded18e_2d405578","line":55,"in_reply_to":"3bca5fff_86778941","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a8aafd02ed771ecf1d1c3527e8d6e5162d3cb66e","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"### Profit"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"With the above setup you should now be able to have nix use `tvix` castore as"},{"line_number":96,"context_line":"its lower store."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"[Local Overlay]: https://nix.dev/manual/nix/2.26/store/types/experimental-local-overlay-store.html"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"8f2f5ca0_e78e159e","line":95,"updated":"2025-03-22 08:18:26.000000000","message":"```suggestion\nWith the above setup you should now be able to have nix use Snix Castore as\n```","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"818fbb0dc0ac7597daa2fd3b13f7f4dbadd8d1cd","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"### Profit"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"With the above setup you should now be able to have nix use `tvix` castore as"},{"line_number":96,"context_line":"its lower store."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"[Local Overlay]: https://nix.dev/manual/nix/2.26/store/types/experimental-local-overlay-store.html"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"b56e5eaf_30108acd","line":95,"in_reply_to":"8f2f5ca0_e78e159e","updated":"2025-03-22 09:07:58.000000000","message":"Done","commit_id":"0bf8beef7d3d2c8a98f771315b46c4324c7db4a6"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"### Run the `snix` daemon"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"`snix` daemon is the component that manages the `castore`, by default located at"},{"line_number":31,"context_line":"`/var/lib/snix`, you can run \\`snix-store daemon --help for customization"},{"line_number":32,"context_line":"instructions."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"022c1344_1f30f7e0","line":30,"updated":"2025-03-22 15:37:50.000000000","message":"```suggestion\n`snix daemon` is the component exposing `castore` and `store` data.\nBy default, these live inside `/var/lib/snix`, so make sure it\u0027s writable for the user you\u0027re executing it with. See `snix-store daemon --help` for customization options.\n```","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"### Run the `snix` daemon"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"`snix` daemon is the component that manages the `castore`, by default located at"},{"line_number":31,"context_line":"`/var/lib/snix`, you can run \\`snix-store daemon --help for customization"},{"line_number":32,"context_line":"instructions."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"1966d555_6897189d","line":30,"in_reply_to":"022c1344_1f30f7e0","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"`snix` daemon is the component that manages the `castore`, by default located at"},{"line_number":31,"context_line":"`/var/lib/snix`, you can run \\`snix-store daemon --help for customization"},{"line_number":32,"context_line":"instructions."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"You can run the daemon with:"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"bfdd9d0b_126208c6","line":32,"updated":"2025-03-22 15:37:50.000000000","message":"Note to self: I really need to finish porting the store docs over, so we can link to them from here, for people wanting to read more about it.","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"`snix` daemon is the component that manages the `castore`, by default located at"},{"line_number":31,"context_line":"`/var/lib/snix`, you can run \\`snix-store daemon --help for customization"},{"line_number":32,"context_line":"instructions."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"You can run the daemon with:"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"df0fd26a_c4d0954b","line":32,"in_reply_to":"bfdd9d0b_126208c6","updated":"2025-03-22 23:58:03.000000000","message":"Acknowledged","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":34,"context_line":"You can run the daemon with:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"```console"},{"line_number":37,"context_line":"$ snix-store daemon"},{"line_number":38,"context_line":"```"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"### Mount the castore onto your file system"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"bc5c6cdc_d8d8c0e1","line":37,"updated":"2025-03-22 15:37:50.000000000","message":"```suggestion\n$ $(nix-build -A snix-store)/bin/snix-store daemon\n```\n\n(And the same for the other commands. It probably makes it more clear where these are coming from.)","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":34,"context_line":"You can run the daemon with:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"```console"},{"line_number":37,"context_line":"$ snix-store daemon"},{"line_number":38,"context_line":"```"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"### Mount the castore onto your file system"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"b3631c73_3d4b500e","line":37,"in_reply_to":"bc5c6cdc_d8d8c0e1","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":40,"context_line":"### Mount the castore onto your file system"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"To make `castore` available on the file system, it has to be fuse-mounted with"},{"line_number":43,"context_line":"the following command:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"```console"},{"line_number":46,"context_line":"$ snix-store mount /path/to/mount"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"c7ff1774_0600fe10","line":43,"updated":"2025-03-22 15:37:50.000000000","message":"To expose the store paths and their contents as a file system, if can be FUSE-mounted...","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":40,"context_line":"### Mount the castore onto your file system"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"To make `castore` available on the file system, it has to be fuse-mounted with"},{"line_number":43,"context_line":"the following command:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"```console"},{"line_number":46,"context_line":"$ snix-store mount /path/to/mount"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"9eedf1c6_1171912e","line":43,"in_reply_to":"c7ff1774_0600fe10","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":46,"context_line":"$ snix-store mount /path/to/mount"},{"line_number":47,"context_line":"```"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This mount will use the daemon to provide file system objects."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Note that by default, this mount won\u0027t allow listing files and directories at"},{"line_number":52,"context_line":"the root of the store, if you want to enable it, use the `--list-root` flag, but"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"6bfe39e9_d6efc80e","line":49,"updated":"2025-03-22 15:37:50.000000000","message":"```suggestion\nThis mount will talk to the previously invoked daemon.\n```","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":46,"context_line":"$ snix-store mount /path/to/mount"},{"line_number":47,"context_line":"```"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This mount will use the daemon to provide file system objects."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Note that by default, this mount won\u0027t allow listing files and directories at"},{"line_number":52,"context_line":"the root of the store, if you want to enable it, use the `--list-root` flag, but"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"031978e2_bd213bea","line":49,"in_reply_to":"6bfe39e9_d6efc80e","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"With all of the above out of the way, we are ready to configure nix. In the"},{"line_number":83,"context_line":"proposed setup we will configure nix-daemon with an overlay store but for"},{"line_number":84,"context_line":"daemon-less environments you can just configure nix with the overlay store."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"#### nix-daemon"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"53903d0a_b4402074","line":84,"updated":"2025-03-22 15:37:50.000000000","message":"I guess this should say \"the Nix CLI\"?","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"With all of the above out of the way, we are ready to configure nix. In the"},{"line_number":83,"context_line":"proposed setup we will configure nix-daemon with an overlay store but for"},{"line_number":84,"context_line":"daemon-less environments you can just configure nix with the overlay store."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"#### nix-daemon"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":4,"id":"2b9c907c_e67bdff9","line":84,"in_reply_to":"53903d0a_b4402074","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b1a94b8b2f47b9bc718ae666c47383d51fe3173f","unresolved":true,"context_lines":[{"line_number":106,"context_line":"### Profit"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"With the above setup you should now be able to have nix use Snix Castore as"},{"line_number":109,"context_line":"its lower store."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"[Local Overlay]: https://nix.dev/manual/nix/2.26/store/types/experimental-local-overlay-store.html"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"7c47c07d_94977a1a","line":109,"updated":"2025-03-22 15:37:50.000000000","message":"We should add a call-out mentioning there\u0027s still some known performance issues with catore, so perf is expected to not be super great. We can probably link to the issue tracker too (and I should probably add a label to categorize some of the issues there 😂","commit_id":"941963f38c773a6048fe0493485394d11181aa58"},{"author":{"_account_id":1000009,"name":"Vova Kryachko","email":"v.kryachko@gmail.com","username":"vkryachko"},"change_message_id":"be540e8f7114b958c3d4ea1a3b7e638fcd226152","unresolved":false,"context_lines":[{"line_number":106,"context_line":"### Profit"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"With the above setup you should now be able to have nix use Snix Castore as"},{"line_number":109,"context_line":"its lower store."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"[Local Overlay]: https://nix.dev/manual/nix/2.26/store/types/experimental-local-overlay-store.html"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"77146b37_708cd962","line":109,"in_reply_to":"7c47c07d_94977a1a","updated":"2025-03-22 23:58:03.000000000","message":"Done","commit_id":"941963f38c773a6048fe0493485394d11181aa58"}]}
