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.templ 49 pkgs.gopls 50 pkgs.httpie 51 pkgs.indigo-lexgen 52 pkgs.litecli 53 pkgs.websocat 54 ]; 55 }; 56 }); 57 apps = forAllSystems (system: 58 let 59 pkgs = nixpkgsFor."${system}"; 60 air-watcher = name: pkgs.writeShellScriptBin "run" 61 '' 62 ${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" 63 ''; 64 in 65 { 66 watch-appview = { 67 type = "app"; 68 program = ''${air-watcher "appview"}/bin/run''; 69 }; 70 watch-knotserver = { 71 type = "app"; 72 program = ''${air-watcher "knotserver"}/bin/run''; 73 }; 74 }); 75 }; 76}