My nix-darwin and NixOS config
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

server/pds: source landing page from pkgs-monorepo flake input

Replaces the inline runCommand derivation with pkgs-monorepo.packages.
Passes pkgs-monorepo as a specialArg to server and server-arm, and bumps
flake.lock to pick up the new pds-landing package from github:ewanc26/pkgs.

+11 -66
+3 -3
flake.lock
··· 333 333 ] 334 334 }, 335 335 "locked": { 336 - "lastModified": 1772901358, 337 - "narHash": "sha256-Oro0NhvTISpujRQDR+5J+Wj6qu3QA+gq54cf8QaiUvY=", 336 + "lastModified": 1772921768, 337 + "narHash": "sha256-Q4iO1AABTTgff2SjEMYNOYPHRl49oZYDdvgzTFmPr1c=", 338 338 "owner": "ewanc26", 339 339 "repo": "pkgs", 340 - "rev": "e2019041b73a6c816daf7449c4e233df4b471d59", 340 + "rev": "156e6d9568229988175e4c6853b18b91ee962455", 341 341 "type": "github" 342 342 }, 343 343 "original": {
+5 -11
flake.nix
··· 147 147 ]; 148 148 }; 149 149 150 - packages = forAllSystems ( 151 - system: 152 - let 153 - pkgs = nixpkgs.legacyPackages.${system}; 154 - in 155 - { 156 - pds-landing = pkgs.callPackage ./modules/server/pds-landing { }; 157 - } 158 - ); 150 + packages = forAllSystems (system: { 151 + pds-landing = pkgs-monorepo.packages.${system}.pds-landing; 152 + }); 159 153 160 154 nixosConfigurations = { 161 155 laptop = nixpkgs.lib.nixosSystem { ··· 168 162 169 163 server = nixpkgs.lib.nixosSystem { 170 164 specialArgs = { 171 - inherit self; 165 + inherit self pkgs-monorepo; 172 166 pkgs-unstable = mkUnstablePkgs "x86_64-linux"; 173 167 }; 174 168 modules = nixosModules ++ [ ··· 179 173 180 174 server-arm = nixpkgs.lib.nixosSystem { 181 175 specialArgs = { 182 - inherit self; 176 + inherit self pkgs-monorepo; 183 177 pkgs-unstable = mkUnstablePkgs "aarch64-linux"; 184 178 }; 185 179 modules = nixosModules ++ [
+3 -52
modules/server/pds.nix
··· 20 20 lib, 21 21 pkgs, 22 22 pkgs-unstable, 23 + pkgs-monorepo, 23 24 ... 24 25 }: 25 26 let ··· 28 29 pdsPort = toString pds.port; 29 30 caddyPort = toString pds.caddyPort; 30 31 31 - # Static landing page served by Caddy at the PDS root URL. 32 - # Built from modular source files in ./pds-landing/. 33 - landingPage = 34 - pkgs.runCommand "pds-landing" 35 - { 36 - nativeBuildInputs = [ pkgs.tailwindcss_3 ]; 37 - } 38 - '' 39 - # Lay out source so Tailwind's content scanner finds all class names. 40 - mkdir -p src/styles $out/assets 41 - cp ${./pds-landing/index.html} src/index.html 42 - cp ${./pds-landing/utils.js} src/utils.js 43 - cp ${./pds-landing/status.js} src/status.js 44 - cp ${./pds-landing/script.js} src/script.js 45 - cp ${./pds-landing/styles/input.css} src/styles/input.css 46 - 47 - # Build — scan src/ for used utility classes then emit minified CSS. 48 - cat > tailwind.config.js << 'EOF' 49 - module.exports = { content: ['./src/**/*.{html,js}'], theme: { extend: {} } } 50 - EOF 51 - tailwindcss --config tailwind.config.js --input src/styles/input.css --output $out/style.css --minify 52 - 53 - cp src/index.html $out/index.html 54 - cp src/utils.js $out/utils.js 55 - cp src/status.js $out/status.js 56 - cp src/script.js $out/script.js 57 - cp ${./pds-landing/assets/thumb.svg} $out/assets/thumb.svg 58 - 59 - # favicon (fml) 60 - cp ${./pds-landing/assets/icon/ms-icon-310x310.png} $out/favicon.ico # higher resolution is better 61 - cp ${./pds-landing/assets/icon/ms-icon-310x310.png} $out/ms-icon-310x310.png 62 - cp ${./pds-landing/assets/icon/ms-icon-150x150.png} $out/ms-icon-150x150.png 63 - cp ${./pds-landing/assets/icon/ms-icon-144x144.png} $out/ms-icon-144x144.png 64 - cp ${./pds-landing/assets/icon/ms-icon-70x70.png} $out/ms-icon-70x70.png 65 - cp ${./pds-landing/assets/icon/manifest.json} $out/manifest.json 66 - cp ${./pds-landing/assets/icon/favicon-256x256.png} $out/favicon-256x256.png 67 - cp ${./pds-landing/assets/icon/favicon-96x96.png} $out/favicon-96x96.png 68 - cp ${./pds-landing/assets/icon/favicon-32x32.png} $out/favicon-32x32.png 69 - cp ${./pds-landing/assets/icon/favicon-16x16.png} $out/favicon-16x16.png 70 - cp ${./pds-landing/assets/icon/browserconfig.xml} $out/browserconfig.xml 71 - cp ${./pds-landing/assets/icon/apple-icon-180x180.png} $out/apple-icon-180x180.png 72 - cp ${./pds-landing/assets/icon/apple-icon-152x152.png} $out/apple-icon-152x152.png 73 - cp ${./pds-landing/assets/icon/apple-icon-144x144.png} $out/apple-icon-144x144.png 74 - cp ${./pds-landing/assets/icon/apple-icon-120x120.png} $out/apple-icon-120x120.png 75 - cp ${./pds-landing/assets/icon/apple-icon-114x114.png} $out/apple-icon-114x114.png 76 - cp ${./pds-landing/assets/icon/apple-icon-76x76.png} $out/apple-icon-76x76.png 77 - cp ${./pds-landing/assets/icon/apple-icon-72x72.png} $out/apple-icon-72x72.png 78 - cp ${./pds-landing/assets/icon/apple-icon-60x60.png} $out/apple-icon-60x60.png 79 - cp ${./pds-landing/assets/icon/apple-icon-57x57.png} $out/apple-icon-57x57.png 80 - cp ${./pds-landing/assets/icon/android-icon-192x192.png} $out/android-icon-192x192.png 81 - 82 - ''; 32 + # Static landing page — built and maintained in the pkgs monorepo. 33 + landingPage = pkgs-monorepo.packages.${pkgs.system}.pds-landing; 83 34 84 35 # UK Online Safety Act age-assurance static responses. 85 36 ageAssuranceBlocks = ''