diff options
| author | spl3g <spleefer6@gmail.com> | 2026-03-21 17:37:15 +0300 |
|---|---|---|
| committer | frosty <gabriel@bwaaa.monster> | 2026-03-21 11:39:16 -0400 |
| commit | 8229aaa489c8e9cda0ce1ce0997006df712f5123 (patch) | |
| tree | 7b5e7a207c6e187f9a075439263fc853f0da1f31 /flake.nix | |
| parent | ddf39b56505a3a83bf888e245068160b4b5f24bd (diff) | |
| download | omnisearch-8229aaa489c8e9cda0ce1ce0997006df712f5123.tar.gz | |
feat: bring back nix support and fix the beaker-src
Co-authored-by: beeb5k <beebeeb5k@gmail.com>
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..eaf5253 --- /dev/null +++ b/flake.nix @@ -0,0 +1,76 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + beaker-src = { + url = "git+https://git.bwaaa.monster/beaker?shallow=0"; + flake = false; + }; + }; + + outputs = + { + self, + nixpkgs, + beaker-src, + }: + let + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + in + { + formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt); + packages = forAllSystems ( + system: + let + pkgs = import nixpkgs { inherit system; }; + + beaker = pkgs.stdenv.mkDerivation { + pname = "beaker"; + version = "git"; + src = beaker-src; + makeFlags = [ + "INSTALL_PREFIX=$(out)/" + "LDCONFIG=true" + ]; + }; + in + { + default = pkgs.stdenv.mkDerivation { + pname = "omnisearch"; + version = "git"; + src = ./.; + + buildInputs = [ + pkgs.libxml2.dev + pkgs.curl.dev + pkgs.openssl + beaker + ]; + + preBuild = '' + makeFlagsArray+=( + "PREFIX=$out" + "CFLAGS=-Wall -Wextra -O2 -Isrc -I${pkgs.libxml2.dev}/include/libxml2" + "LIBS=-lbeaker -lcurl -lxml2 -lpthread -lm -lssl -lcrypto" + ) + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/omnisearch + install -Dm755 bin/omnisearch $out/bin/omnisearch + cp -r templates static -t $out/share/omnisearch/ + ''; + + meta = { + description = "Lightweight metasearch engine in C"; + platforms = pkgs.lib.platforms.linux; + }; + }; + } + ); + nixosModules.default = import ./module.nix self; + }; +} |
