CLI tool for migrating PDS

add flake.nix and nix build

nel.pet b798f9d0 70c9ddcb

verified
+72 -2
+1
.gitignore
··· 1 /target
··· 1 /target 2 + /result
+4 -2
.tangled/workflows/build.yml
··· 4 5 dependencies: 6 nixpkgs: 7 - gcc 8 - - cargo 9 10 steps: 11 - name: Build project 12 command: | 13 - cargo build
··· 4 5 dependencies: 6 nixpkgs: 7 + - cargo 8 - gcc 9 + - pkg-config 10 + - openssl 11 12 steps: 13 - name: Build project 14 command: | 15 + nix build
+27
flake.lock
···
··· 1 + { 2 + "nodes": { 3 + "nixpkgs": { 4 + "locked": { 5 + "lastModified": 1751949589, 6 + "narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=", 7 + "owner": "nixos", 8 + "repo": "nixpkgs", 9 + "rev": "9b008d60392981ad674e04016d25619281550a9d", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "nixos", 14 + "ref": "nixpkgs-unstable", 15 + "repo": "nixpkgs", 16 + "type": "github" 17 + } 18 + }, 19 + "root": { 20 + "inputs": { 21 + "nixpkgs": "nixpkgs" 22 + } 23 + } 24 + }, 25 + "root": "root", 26 + "version": 7 27 + }
+18
flake.nix
···
··· 1 + { 2 + description = "Nix flake for PDS migrate. A CLI tool for migrating between PDSs in the atmosphere (atproto network)"; 3 + 4 + inputs = { 5 + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 6 + }; 7 + 8 + outputs = {nixpkgs, ...}: let 9 + forAllSystems = function: 10 + nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed ( 11 + system: function nixpkgs.legacyPackages.${system} 12 + ); 13 + in { 14 + packages = forAllSystems (pkgs: { 15 + default = pkgs.callPackage ./nix/package.nix {}; 16 + }); 17 + }; 18 + }
+22
nix/package.nix
···
··· 1 + { 2 + rustPlatform, 3 + pkg-config, 4 + openssl, 5 + }: 6 + rustPlatform.buildRustPackage { 7 + pname = "pds-migrate"; 8 + version = "0.1.0"; 9 + 10 + src = ../.; 11 + cargoLock = { 12 + lockFile = ../Cargo.lock; 13 + }; 14 + 15 + nativeBuildInputs = [ 16 + pkg-config 17 + ]; 18 + 19 + buildInputs = [ 20 + openssl 21 + ]; 22 + }