1
0
forked from Public/pics
Files
pics/flake.nix
Yorick van Pelt a4d453792d Add Nix flake for dev environment
Provides PHP with imagick, pdo_mysql, pdo_sqlite extensions, composer,
and sqlite CLI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 15:23:45 +01:00

48 lines
1.1 KiB
Nix

{
description = "HashRU Pics dev environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs = { self, nixpkgs }:
let
forAllSystems = f: nixpkgs.lib.genAttrs [
"x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"
] (system: f nixpkgs.legacyPackages.${system});
php = pkgs: pkgs.php.buildEnv {
extensions = { enabled, all }: enabled ++ (with all; [
imagick
pdo_mysql
pdo_sqlite
]);
extraConfig = ''
memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
'';
};
in
{
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
buildInputs = [
(php pkgs)
(php pkgs).packages.composer
pkgs.sqlite
];
shellHook = ''
export COMPOSER_HOME="$PWD/.composer"
if [ ! -d vendor ]; then
echo "Running composer install..."
composer install
fi
'';
};
});
};
}