Skip to content

feat: add Nix flake with package, devShell, and NixOS module#6265

Open
jmikedupont2 wants to merge 1 commit intoquickwit-oss:mainfrom
meta-introspector:add-nix-flake
Open

feat: add Nix flake with package, devShell, and NixOS module#6265
jmikedupont2 wants to merge 1 commit intoquickwit-oss:mainfrom
meta-introspector:add-nix-flake

Conversation

@jmikedupont2
Copy link
Copy Markdown

Add flake.nix providing:

  • packages.default: Quickwit 0.8.0 binary for x86_64-linux and aarch64-linux (fetched from GitHub releases, patched with autoPatchelfHook)
  • devShells.default: development shell with rustup, protobuf, cmake, pkg-config, openssl, nodejs, and yarn
  • nixosModules.quickwit: NixOS module with systemd service, including:
    • Dedicated quickwit user/group
    • Configurable listen address, port, and data directory
    • YAML settings merged into quickwit.yaml
    • systemd hardening (NoNewPrivileges, ProtectSystem, etc.)
    • Optional firewall rules for HTTP (7280) and gRPC/gossip (7281)

Usage:
nix build # build quickwit binary
nix develop # enter dev shell
nix flake show # list all outputs

NixOS configuration example:
services.quickwit = {
enable = true; listenAddress = "0.0.0.0"; openFirewall = true; settings.peer_seeds = [ "node-2.local" ]; };

Description

Adding flake.nix

How was this PR tested?

Locally, on ubuntu running nix from installer.

Describe how you tested this PR.

I have a makefile to deploy to systemd and nginx proxy i can share

Add flake.nix providing:

- packages.default: Quickwit 0.8.0 binary for x86_64-linux and aarch64-linux
  (fetched from GitHub releases, patched with autoPatchelfHook)
- devShells.default: development shell with rustup, protobuf, cmake,
  pkg-config, openssl, nodejs, and yarn
- nixosModules.quickwit: NixOS module with systemd service, including:
  - Dedicated quickwit user/group
  - Configurable listen address, port, and data directory
  - YAML settings merged into quickwit.yaml
  - systemd hardening (NoNewPrivileges, ProtectSystem, etc.)
  - Optional firewall rules for HTTP (7280) and gRPC/gossip (7281)

Usage:
  nix build          # build quickwit binary
  nix develop        # enter dev shell
  nix flake show     # list all outputs

NixOS configuration example:
  services.quickwit = {
    enable = true;
    listenAddress = "0.0.0.0";
    openFirewall = true;
    settings.peer_seeds = [ "node-2.local" ];
  };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant