{ description = "Bloggy time!"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; deploy-rs.url = "github:serokell/deploy-rs"; }; outputs = { self, nixpkgs, deploy-rs }: let systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; forAllSystems = function: nixpkgs.lib.genAttrs systems (system: function ( import nixpkgs { inherit system; config.allowUnfree = true; } )); in { packages = forAllSystems (pkgs: rec { default = pkgs.buildNpmPackage { name = "myblog"; version = "unstable"; buildInputs = with pkgs; [ nodejs vips ]; nativeBuildInputs = with pkgs; [ pkg-config ]; npmDepsHash = "sha256-rMU1q2BPvPihovOyjbCezd1UyEODSrtCLr9TJedOVl0="; src = ./.; installPhase = '' mkdir -p $out/public cp -ar _site/ $out/public ''; }; }); deploy.nodes.myblog = { hostname = "saji.dev"; profiles.mysite = { sshUser = "static-site"; user = "static-site"; path = deploy-rs.lib.x86_64-linux.activate.custom self.packages.x86_64-linux.default '' rm -rf /var/lib/static-site/public ln -sn $PROFILE/public /var/lib/static-site/public ''; }; }; devShells = forAllSystems (pkgs: { default = pkgs.mkShell { packages = with pkgs; [ nodejs vips pkg-config ]; }; }); }; }