From 94ed1ecd330cbc03d431e718a47700789994d2b8 Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Tue, 20 Jan 2026 12:42:24 +0000 Subject: [PATCH] feat(shell): add OpenSSL env vars for cargo builds on Linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Set PKG_CONFIG_PATH, OPENSSL_DIR, OPENSSL_LIB_DIR, OPENSSL_INCLUDE_DIR in both bash and fish so cargo can find OpenSSL without nix-shell. Fixes: cargo build failing with "openssl-sys: system library not found" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- home-manager/programs/bash/default.nix | 6 ++++++ home-manager/programs/fish/default.nix | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/home-manager/programs/bash/default.nix b/home-manager/programs/bash/default.nix index 76023fe34..bb3357fdd 100644 --- a/home-manager/programs/bash/default.nix +++ b/home-manager/programs/bash/default.nix @@ -35,6 +35,12 @@ # Set XDG_RUNTIME_DIR on Linux for consistent socket paths (e.g., zellij) if [ "$(uname)" = "Linux" ]; then export XDG_RUNTIME_DIR="/run/user/$(id -u)" + + # OpenSSL for cargo builds (rust crates like openssl-sys) + export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig''${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" + export OPENSSL_DIR="${pkgs.openssl.dev}" + export OPENSSL_LIB_DIR="${pkgs.openssl.out}/lib" + export OPENSSL_INCLUDE_DIR="${pkgs.openssl.dev}/include" fi # Go configuration diff --git a/home-manager/programs/fish/default.nix b/home-manager/programs/fish/default.nix index 8c56a4558..7831965c1 100644 --- a/home-manager/programs/fish/default.nix +++ b/home-manager/programs/fish/default.nix @@ -11,6 +11,12 @@ # Set XDG_RUNTIME_DIR on Linux for consistent socket paths (e.g., zellij) if test (uname) = "Linux" set -gx XDG_RUNTIME_DIR /run/user/(id -u) + + # OpenSSL for cargo builds (rust crates like openssl-sys) + set -gx PKG_CONFIG_PATH "${pkgs.openssl.dev}/lib/pkgconfig" $PKG_CONFIG_PATH + set -gx OPENSSL_DIR "${pkgs.openssl.dev}" + set -gx OPENSSL_LIB_DIR "${pkgs.openssl.out}/lib" + set -gx OPENSSL_INCLUDE_DIR "${pkgs.openssl.dev}/include" end # Go configuration