Monorepo for Tangled tangled.org

nix fmt the flake

Changed files
+117 -124
+117 -124
flake.nix
··· 21 21 }; 22 22 }; 23 23 24 - outputs = 25 - { self 26 - , nixpkgs 27 - , indigo 28 - , htmx-src 29 - , lucide-src 30 - , gitignore 31 - , 32 - }: 33 - let 34 - supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; 35 - forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 36 - nixpkgsFor = forAllSystems (system: 37 - import nixpkgs { 38 - inherit system; 39 - overlays = [ self.overlays.default ]; 40 - }); 41 - inherit (gitignore.lib) gitignoreSource; 42 - in 43 - { 44 - overlays.default = final: prev: { 45 - indigo-lexgen = with final; 46 - final.buildGoModule { 47 - pname = "indigo-lexgen"; 48 - version = "0.1.0"; 49 - src = indigo; 50 - subPackages = [ "cmd/lexgen" ]; 51 - vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs="; 52 - doCheck = false; 53 - }; 24 + outputs = { 25 + self, 26 + nixpkgs, 27 + indigo, 28 + htmx-src, 29 + lucide-src, 30 + gitignore, 31 + }: let 32 + supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; 33 + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 34 + nixpkgsFor = forAllSystems (system: 35 + import nixpkgs { 36 + inherit system; 37 + overlays = [self.overlays.default]; 38 + }); 39 + inherit (gitignore.lib) gitignoreSource; 40 + in { 41 + overlays.default = final: prev: { 42 + indigo-lexgen = with final; 43 + final.buildGoModule { 44 + pname = "indigo-lexgen"; 45 + version = "0.1.0"; 46 + src = indigo; 47 + subPackages = ["cmd/lexgen"]; 48 + vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs="; 49 + doCheck = false; 50 + }; 54 51 55 - appview = with final; 56 - final.pkgsStatic.buildGoModule { 57 - pname = "appview"; 58 - version = "0.1.0"; 59 - src = gitignoreSource ./.; 60 - postUnpack = '' 61 - pushd source 62 - cp -f ${htmx-src} appview/pages/static/htmx.min.js 63 - cp -f ${lucide-src} appview/pages/static/lucide.min.js 64 - ${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css 65 - popd 66 - ''; 67 - doCheck = false; 68 - subPackages = [ "cmd/appview" ]; 69 - vendorHash = "sha256-u9LwvapAwyVOIOAag0IRrk+ot6B0PaqyEnt0EeJciGQ="; 70 - env.CGO_ENABLED = 1; 71 - stdenv = pkgsStatic.stdenv; 72 - }; 73 - knotserver = with final; 74 - final.pkgsStatic.buildGoModule { 75 - pname = "knotserver"; 76 - version = "0.1.0"; 77 - src = gitignoreSource ./.; 78 - subPackages = [ "cmd/knotserver" ]; 79 - vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 80 - env.CGO_ENABLED = 1; 81 - }; 82 - repoguard = with final; 83 - final.pkgsStatic.buildGoModule { 84 - pname = "repoguard"; 85 - version = "0.1.0"; 86 - src = gitignoreSource ./.; 87 - subPackages = [ "cmd/repoguard" ]; 88 - vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 89 - env.CGO_ENABLED = 0; 90 - }; 91 - keyfetch = with final; 92 - final.pkgsStatic.buildGoModule { 93 - pname = "keyfetch"; 94 - version = "0.1.0"; 95 - src = gitignoreSource ./.; 96 - subPackages = [ "cmd/keyfetch" ]; 97 - vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 98 - env.CGO_ENABLED = 0; 99 - }; 52 + appview = with final; 53 + final.pkgsStatic.buildGoModule { 54 + pname = "appview"; 55 + version = "0.1.0"; 56 + src = gitignoreSource ./.; 57 + postUnpack = '' 58 + pushd source 59 + cp -f ${htmx-src} appview/pages/static/htmx.min.js 60 + cp -f ${lucide-src} appview/pages/static/lucide.min.js 61 + ${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css 62 + popd 63 + ''; 64 + doCheck = false; 65 + subPackages = ["cmd/appview"]; 66 + vendorHash = "sha256-u9LwvapAwyVOIOAag0IRrk+ot6B0PaqyEnt0EeJciGQ="; 67 + env.CGO_ENABLED = 1; 68 + stdenv = pkgsStatic.stdenv; 69 + }; 70 + knotserver = with final; 71 + final.pkgsStatic.buildGoModule { 72 + pname = "knotserver"; 73 + version = "0.1.0"; 74 + src = gitignoreSource ./.; 75 + subPackages = ["cmd/knotserver"]; 76 + vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 77 + env.CGO_ENABLED = 1; 78 + }; 79 + repoguard = with final; 80 + final.pkgsStatic.buildGoModule { 81 + pname = "repoguard"; 82 + version = "0.1.0"; 83 + src = gitignoreSource ./.; 84 + subPackages = ["cmd/repoguard"]; 85 + vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 86 + env.CGO_ENABLED = 0; 87 + }; 88 + keyfetch = with final; 89 + final.pkgsStatic.buildGoModule { 90 + pname = "keyfetch"; 91 + version = "0.1.0"; 92 + src = gitignoreSource ./.; 93 + subPackages = ["cmd/keyfetch"]; 94 + vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0="; 95 + env.CGO_ENABLED = 0; 96 + }; 97 + }; 98 + packages = forAllSystems (system: { 99 + inherit (nixpkgsFor."${system}") indigo-lexgen appview knotserver repoguard keyfetch; 100 + }); 101 + defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview); 102 + formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra); 103 + devShells = forAllSystems (system: let 104 + pkgs = nixpkgsFor.${system}; 105 + staticShell = pkgs.mkShell.override { 106 + stdenv = pkgs.pkgsStatic.stdenv; 107 + }; 108 + in { 109 + default = staticShell { 110 + nativeBuildInputs = [ 111 + pkgs.go 112 + pkgs.air 113 + pkgs.gopls 114 + pkgs.httpie 115 + pkgs.indigo-lexgen 116 + pkgs.litecli 117 + pkgs.websocat 118 + pkgs.tailwindcss 119 + ]; 100 120 }; 101 - packages = forAllSystems (system: { 102 - inherit (nixpkgsFor."${system}") indigo-lexgen appview knotserver repoguard keyfetch; 103 - }); 104 - defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview); 105 - formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra); 106 - devShells = forAllSystems (system: 107 - let 108 - pkgs = nixpkgsFor.${system}; 109 - staticShell = pkgs.mkShell.override { 110 - stdenv = pkgs.pkgsStatic.stdenv; 111 - }; 112 - in 113 - { 114 - default = staticShell { 115 - nativeBuildInputs = [ 116 - pkgs.go 117 - pkgs.air 118 - pkgs.gopls 119 - pkgs.httpie 120 - pkgs.indigo-lexgen 121 - pkgs.litecli 122 - pkgs.websocat 123 - pkgs.tailwindcss 124 - ]; 125 - }; 126 - }); 127 - apps = forAllSystems (system: 128 - let 129 - pkgs = nixpkgsFor."${system}"; 130 - air-watcher = name: 131 - pkgs.writeShellScriptBin "run" 132 - '' 133 - ${pkgs.air}/bin/air -c /dev/null \ 134 - -build.cmd "${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o ./appview/pages/static/tw.css && ${pkgs.go}/bin/go build -o ./out/${name}.out ./cmd/${name}/main.go" \ 135 - -build.bin "./out/${name}.out" \ 136 - -build.include_ext "go,html,css" 137 - ''; 138 - in 139 - { 140 - watch-appview = { 141 - type = "app"; 142 - program = ''${air-watcher "appview"}/bin/run''; 143 - }; 144 - watch-knotserver = { 145 - type = "app"; 146 - program = ''${air-watcher "knotserver"}/bin/run''; 147 - }; 148 - }); 149 - }; 121 + }); 122 + apps = forAllSystems (system: let 123 + pkgs = nixpkgsFor."${system}"; 124 + air-watcher = name: 125 + pkgs.writeShellScriptBin "run" 126 + '' 127 + ${pkgs.air}/bin/air -c /dev/null \ 128 + -build.cmd "${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o ./appview/pages/static/tw.css && ${pkgs.go}/bin/go build -o ./out/${name}.out ./cmd/${name}/main.go" \ 129 + -build.bin "./out/${name}.out" \ 130 + -build.include_ext "go,html,css" 131 + ''; 132 + in { 133 + watch-appview = { 134 + type = "app"; 135 + program = ''${air-watcher "appview"}/bin/run''; 136 + }; 137 + watch-knotserver = { 138 + type = "app"; 139 + program = ''${air-watcher "knotserver"}/bin/run''; 140 + }; 141 + }); 142 + }; 150 143 }