this repo has no description
1{ 2 description = "atproto github"; 3 4 inputs = { 5 nixpkgs.url = "github:nixos/nixpkgs"; 6 indigo = { 7 url = "github:oppiliappan/indigo"; 8 flake = false; 9 }; 10 }; 11 12 outputs = { 13 self, 14 nixpkgs, 15 indigo, 16 }: let 17 supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; 18 forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 19 nixpkgsFor = forAllSystems (system: 20 import nixpkgs { 21 inherit system; 22 overlays = [self.overlays.default]; 23 }); 24 in { 25 overlays.default = final: prev: { 26 indigo-lexgen = with final; 27 final.buildGoModule { 28 pname = "indigo-lexgen"; 29 version = "0.1.0"; 30 src = indigo; 31 subPackage = ["cmd/lexgen"]; 32 vendorHash = null; 33 doCheck = false; 34 }; 35 }; 36 packages = forAllSystems (system: { 37 inherit (nixpkgsFor."${system}") indigo-lexgen; 38 }); 39 defaultPackage = forAllSystems (system: nixpkgsFor.${system}.indigo-lexgen); 40 formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra); 41 devShells = forAllSystems (system: let 42 pkgs = nixpkgsFor.${system}; 43 in { 44 default = pkgs.mkShell { 45 nativeBuildInputs = [ 46 pkgs.go 47 pkgs.air 48 pkgs.gopls 49 pkgs.httpie 50 pkgs.indigo-lexgen 51 pkgs.litecli 52 pkgs.websocat 53 ]; 54 }; 55 }); 56 apps = forAllSystems (system: 57 let 58 pkgs = nixpkgsFor."${system}"; 59 air-watcher = name: pkgs.writeShellScriptBin "run" 60 '' 61 ${pkgs.air}/bin/air -c /dev/null -build.cmd "${pkgs.go}/bin/go build -o ./out/${name}.out ./cmd/${name}/main.go" -build.bin "./out/${name}.out" 62 ''; 63 in 64 { 65 watch-appview = { 66 type = "app"; 67 program = ''${air-watcher "appview"}/bin/run''; 68 }; 69 watch-knotserver = { 70 type = "app"; 71 program = ''${air-watcher "knotserver"}/bin/run''; 72 }; 73 }); 74 }; 75}