From 7d8feab9148900c43a1e1dceee488f3103601bc7 Mon Sep 17 00:00:00 2001 From: WinterPancake Date: Wed, 29 Oct 2025 13:45:06 -0500 Subject: [PATCH] Added flake.nix default.nix for building on nix systems --- default.nix | 12 ++++++++++++ flake.nix | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 default.nix create mode 100644 flake.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..7327b53 --- /dev/null +++ b/default.nix @@ -0,0 +1,12 @@ +{ + rustPlatform, + glib, + pkg-config, +}: +rustPlatform.buildRustPackage { + name = "ripasso"; + src = ./.; + buildInputs = [ glib ]; + nativeBuildInputs = [ pkg-config ]; + cargoHash = "sha256-UMhQgijZuZW2O/0Jk5Zn8P368KnDWZRXj5e1nDG40Gw="; +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..856a6b2 --- /dev/null +++ b/flake.nix @@ -0,0 +1,49 @@ +{ + description = "Rust flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + + outputs = { self, nixpkgs, ... }@inputs: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + + clangLibPath = "${pkgs.libclang.lib}/lib"; + opensslDev = pkgs.openssl.dev; + opensslOut = pkgs.openssl.out; + in + { + devShells.${system}.default = pkgs.mkShell { + packages = with pkgs; [ + rustc + cargo + clang + libclang + openssl + pkg-config + libgpg-error + nettle + gpgme + ripasso-cursive + ]; + + shellHook = '' + # Clang + export LIBCLANG_PATH=${clangLibPath} + export LD_LIBRARY_PATH=${clangLibPath}:${opensslOut}/lib:$LD_LIBRARY_PATH + + # OpenSSL + export OPENSSL_NO_VENDOR=1 + export OPENSSL_LIB_DIR=${opensslOut}/lib + export OPENSSL_INCLUDE_DIR=${opensslDev}/include + + echo " LIBCLANG_PATH = $LIBCLANG_PATH" + echo " LD_LIBRARY_PATH = $LD_LIBRARY_PATH" + echo " OPENSSL_LIB_DIR = $OPENSSL_LIB_DIR" + echo " OPENSSL_INCLUDE_DIR = $OPENSSL_INCLUDE_DIR" + ''; + }; + }; +}