{ inputs = { devshell.url = "github:numtide/devshell"; flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ systems = [ "x86_64-linux" ]; imports = [ inputs.devshell.flakeModule ]; perSystem = { pkgs, system, ... }: let php = pkgs.php83.buildEnv { extraConfig = '' upload_max_filesize = 50M; post_max_size = 50M; ''; }; phpPackages = pkgs.php83Packages; in { devshells.default = { packages = with pkgs; [ just lua-language-server lua54Packages.luacheck nixd php phpactor phpPackages.composer sqlite tailwindcss_4 tailwindcss-language-server ]; commands = [ { name = "generate"; command = "vendor/bin/drush tome:static --uri https://www.oliverdavies.uk"; help = "Generate the static HTML"; } { name = "upload"; command = '' generate rsync -avzP html/ nixedo.oliverdavies.uk:/var/www/vhosts/website-tome \ --delete --delete-after ''; help = "Generate the static HTML and upload it to the server"; } ]; }; formatter = pkgs.nixfmt-rfc-style; }; }); }