asxpio/flake.nix
Sergei Poljanski 2ea46b12e6
gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing
- pg + sequel: connect to the storage stack's Postgres.
- prawn + prawn-table: render invoice PDFs.
- aws-sdk-s3: upload PDFs to MinIO and mint presigned download URLs.

Also pulls libpq-dev into the Docker build (for the pg gem) and the
postgresql client lib into the Nix dev shell.
2026-05-26 17:29:21 +03:00

46 lines
1.1 KiB
Nix

{
description = "asxp.io IE Sergei Poljanski website";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.ruby_3_4
pkgs.bundler
pkgs.openssl
pkgs.zlib
pkgs.libyaml
pkgs.postgresql.lib
pkgs.postgresql
];
shellHook = ''
export GEM_HOME="$PWD/.gems"
export PATH="$GEM_HOME/bin:$PATH"
export BUNDLE_PATH="$GEM_HOME"
if [ -f .env ]; then
set -a
source .env
set +a
fi
if [ ! -f .gems/.bundled ] || [ Gemfile -nt .gems/.bundled ]; then
echo "Installing gems..."
bundle install --quiet && mkdir -p .gems && touch .gems/.bundled
fi
echo "asxpio dev shell ready"
echo " bundle exec rerun -- rackup -p 3000 - start with auto-reload"
'';
};
};
}