b4fac5ab8c
Set X-Private header for private derivations
2025-10-07 11:29:01 +02:00
6c6b5d3377
Add debug output
2025-10-07 11:06:02 +02:00
70cd4f1ec5
Do not serve derivations with /nix-support/private
2025-10-07 11:06:02 +02:00
a098861c8d
Sample package
2025-10-07 11:06:02 +02:00
Zoe Zuser
1d21f73a2d
fix race with getStore() ( #45 )
...
by calling it once before starting the server
closes : #44
2025-05-28 15:02:52 -04:00
bobbrahms
7b7cf5cd08
fix inputs.nix-serve-ng.url string ( #43 )
2025-05-21 12:21:42 -04:00
Zoe Zuser
d1b8a9a02f
Support Lix 2.92 ( #42 )
...
* Support Lix 2.92
nix-serve-ng can now build against lix by passing -f lix to cabal
the flake now also exports the `lix-serve-ng` package for a version that
is built against lix
* add back configureFlags, lost in rebase
2025-05-10 21:19:48 +02:00
John Ericson
101b4a552f
Update to Nix 2.28 ( #41 )
...
* Format all Nix files
* flake.lock: Update, temporary to Nixpkgs master
Needed for Nix 2.28 until Hydra advances.
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/8edf06bea5bcbee082df1b7369ff973b91618b8d?narHash=sha256-sQxuJm8rHY20xq6Ah%2BGwIUkF95tWjGRd1X8xF%2BPkk38%3D' (2024-11-22)
→ 'github:NixOS/nixpkgs/ef3a956f697525883b77192cbe208233ea0f8f79?narHash=sha256-oxI9TLgnQbQ/WL0tIwVSIooLbXq4PW1QUhf5aQmXFgk%3D' (2025-04-09)
* Update to Nix 2.28
2025-04-09 15:28:10 -07:00
Jörg Thalheim
6e8d82a451
fix build against Nix 2.24 ( #40 )
...
* bump nixpkgs
* fix build against nix 2.24
* depend on nix 2.24
2024-12-02 15:12:47 +01:00
Philipp Schuster
578ad85b30
readme: introduce recommended service.nix-serve.package variant ( #38 )
...
It is much more idiomatic to use services.nix-serve.package instead of
an overlay. Also this way, one doesn't has to consume the repository directly.
2024-10-01 15:38:04 +02:00
Sridhar Ratnakumar
d5df363246
Update harmonia link in README
( #36 )
2024-05-21 13:03:08 -07:00
Gabriella Gonzalez
4a101296b7
Fix Nix build ( #35 )
...
… by bumping `base-16` to version 1.0.0 to match the constraint added
in https://github.com/aristanetworks/nix-serve-ng/pull/33
Fixes https://github.com/aristanetworks/nix-serve-ng/issues/34
2024-03-02 18:57:01 +01:00
Naïm Favier
4d9eacfcf7
Support base16 1.0 ( #33 )
...
See https://github.com/emilypi/Base16/blob/master/MIGRATION-1.0.md
2024-02-01 15:59:36 -08:00
Gabriella Gonzalez
21e65cb4c6
Support GHC 9.4 ( #32 )
...
Fixes https://github.com/aristanetworks/nix-serve-ng/issues/31
2023-12-18 07:16:55 -08:00
Sefa Eyeoglu
f3931b8120
Don't use URL literals ( #29 )
...
Also switch to nixpkgs-unstable, as using nixpkgs master is unusual.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-07-04 11:27:01 -05:00
Jörg Thalheim
94aebfc882
flake.lock: Update ( #26 )
...
Flake lock file updates:
• Updated input 'flake-compat':
'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17)
→ 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/ce1f9354959ae1493916f2e551ecc32e79b4a473' (2022-11-25)
→ 'github:NixOS/nixpkgs/0ef1c25e14638ae580a6cb09f0dcf1552a9fdb9a' (2023-03-27)
• Updated input 'utils':
'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
→ 'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
2023-06-12 10:25:04 -07:00
Bouke van der Bijl
dabf46d65d
Call initLibStore before opening store ( #23 )
2023-02-27 07:39:07 -08:00
Vika
6216734855
Fix overlay.*
flake outputs not conforming to spec ( #21 )
...
- overlay function argument names should be `final` and `prev`
- `overlay.*` should be overlays -- functions taking `final: prev:`
The NixOS module was amended to preserve compatibility.
2023-01-24 07:35:19 -08:00
Gabriella Gonzalez
e36a1a93aa
Fix Nix build ( #17 )
...
Fixes https://github.com/aristanetworks/nix-serve-ng/issues/16
2022-11-25 18:46:54 -07:00
Gabriella Gonzalez
9b546864f4
Version 1.0.0 → 1.0.1 ( #15 )
2022-11-25 09:22:29 -07:00
Gabriella Gonzalez
1e42286b14
Fix builds on Darwin ( #14 )
...
* Fix builds on Darwin
… using the trick that @roberth taught me here:
https://github.com/NixOS/nixpkgs/pull/196646#issuecomment-1327364634
This requires bumping the Cabal format version, which in turn requires
bumping the version of `cabal2nix`
* Update README
2022-11-25 09:16:11 -07:00
Gabriella Gonzalez
b6cabad434
Include nix.hh
in the source distribution ( #12 )
...
Fixes https://github.com/aristanetworks/nix-serve-ng/issues/10
2022-11-02 19:25:21 -07:00
Moritz Böhme
5e0e4fb8ab
Fix flake default app path ( #11 )
2022-11-02 19:13:03 -07:00
Gabriella Gonzalez
b86683efa4
Remove i686 from nix-serve-ng.cabal
( #9 )
...
Hackage does not accept `.cabal` files with this architecture
2022-09-23 15:24:04 -07:00
Gabriella Gonzalez
433f70f4da
Fix suggested URL for non-flake-enabled workflow ( #7 )
...
… so that users are more likely to pick up the fix from #6
2022-09-07 10:43:25 -07:00
Gabriella Gonzalez
1937593598
Fix default NixOS module ( #6 )
...
… to correctly override `pkgs.nix-serve` with `pkgs.nix-serve-ng`
2022-09-07 09:47:43 -07:00
Gabriella Gonzalez
ba2028f9d7
Add benchmark numbers to README
( #5 )
...
… and slightly tweak the benchmark to provide more relevant
measurements for throughput.
2022-09-01 21:37:05 -07:00
Gabriella Gonzalez
e686b2b1fc
Add README.md
( #4 )
...
… and make matching changes to `flake.nix` to support the usage
documented in the `README`
2022-09-01 12:36:08 -07:00
Gabriella Gonzalez
166672a78f
Benchmark using wallclock time instead of CPU time ( #3 )
...
This requires upgrading to a newer version of `nixpkgs` to pick up
a newer version of the `tasty-bench` package in order to support
benchmarking using wall-clock time
2022-08-31 14:06:16 -07:00
Gabriella Gonzalez
4ac870a142
Restructure NAR streaming to remove one pointer indirection ( #2 )
...
We can pass the two fields directly via the FFI instead of
bundling them in a `String_` struct
2022-08-29 11:35:58 -07:00
Gabriella Gonzalez
0242d8bebb
Add support for streaming NAR output ( #1 )
...
Before this change the NAR contents would be buffered in memory before
supplying them to the client. Now each chunk is instantly flushed
to the client when it's available.
This requires reworking things so that we use a `StreamingBody`,
which in turn requires passing a Haskell callback to the C code to
invoke.
2022-08-23 16:32:34 -07:00
Evan Relf
319e70637e
Fix incorrect Cabal option for -std=c++17
( #4 )
...
`cpp-options` is for the C preprocessor (`-XCPP`). `cxx-options` is for
the C++ compiler.
2022-07-13 11:57:29 -07:00
Evan Relf
e3a38c77f8
Ignore Cabal and Nix stuff in .gitignore
file ( #5 )
2022-07-13 11:53:22 -07:00
Gabriella Gonzalez
db246ffa56
Use packageSourceOverrides
( #3 )
...
The original reason for not using this was to
work around a mistake on our end. When we specified
`nix` via the `extra-libraries` clause of the `.cabal`
file instead of `pkgconfig-depends` that messed up the
file generated by `cabal2nix` which entailed various
work-arounds. Those workarounds are no longer necessary,
so we can switch to `packageSourceOverrides`
2022-07-06 12:50:53 -07:00
Gabriella Gonzalez
027398c9e9
Increase default timeout ( #2 )
...
... and make the timeout configurable
2022-07-06 12:31:19 -07:00
Gabriella Gonzalez
eaceeeb8ce
Remove spurious print
statement ( #1 )
...
I accidentally left this over from debugging the log endpoint
2022-07-06 09:22:29 -07:00
Gabriella Gonzalez
0c0cd76b3e
Switch to BSD 3-clause license
...
Apparently Arista Networks permits this license and it's more widely
used within the Haskell ecosystem
2022-07-05 10:46:15 -07:00
Gabriella Gonzalez
773da02662
Add benchmark suite
2022-07-05 10:13:10 -07:00
Gabriella Gonzalez
f74b94a24a
Fix URL returned in narinfo
...
It was missing the `.nar` suffix
2022-07-01 15:00:29 -07:00
Gabriella Gonzalez
81e3309159
Rename executable to nix-serve
...
… so that it's really a drop-in replacement
2022-07-01 14:30:12 -07:00
Gabriella Gonzalez
670846795d
Flake-enable the project
2022-07-01 14:00:11 -07:00
Gabriella Gonzalez
1881b0385b
Fix potential bug when marshalling string
struct
2022-07-01 12:54:58 -07:00
Gabriella Gonzalez
dbf735e77f
Fix /log/
endpoint
...
The old logic would fail to return a result if a later
substituter didn't have the log file, even if an older
This also simplifies the logic.
2022-07-01 12:29:28 -07:00
Gabriella Gonzalez
c8d0b47a7a
Fix nix-serve-ng.cabal
...
… to use `pkgconfig-depends` instead of `extra-libraries`.
The former works better with both `cabal` and `cabal2nix`
2022-07-01 12:00:26 -07:00
Gabriella Gonzalez
01167e8dcb
Fix build on Linux
2022-07-01 11:18:37 -07:00
Gabriella Gonzalez
8fb2184865
Pin Nixpkgs
...
Also, remove `allowBroken = true`, since we don't need it now that
we're not depending on the `bsd-sysctl` package
2022-07-01 11:18:37 -07:00
Gabriella Gonzalez
614ed2ca65
Remove dependence on bsd-sysctl
package
...
… since it doesn't work on Linux
2022-06-30 15:59:38 -07:00
Gabriella Gonzalez
24fb4b7fea
Add support for /log/
API
2022-06-30 15:45:40 -07:00
Gabriella Gonzalez
3bd298c02a
Add support for /nar/*.nar
endpoint
2022-06-30 15:06:41 -07:00
Gabriella Gonzalez
ba62966149
Allow broken so that bsd-sysctl
builds
...
It works on at least MacOS, although Linux still needs to be
fixed.
2022-06-30 13:42:34 -07:00