diff --git a/appview/pages/templates/layouts/base.html b/appview/pages/templates/layouts/base.html index 7c26a0c6..fe69323e 100644 --- a/appview/pages/templates/layouts/base.html +++ b/appview/pages/templates/layouts/base.html @@ -37,7 +37,7 @@ - + diff --git a/blog/templates/text.html b/blog/templates/text.html index ff0bec3e..85063c6c 100644 --- a/blog/templates/text.html +++ b/blog/templates/text.html @@ -28,7 +28,7 @@ - + {{ index .Meta "title" }} diff --git a/docs/template.html b/docs/template.html index 46a0e7b6..c0cb3dcb 100644 --- a/docs/template.html +++ b/docs/template.html @@ -47,7 +47,7 @@ }); }); - + diff --git a/flake.lock b/flake.lock index ea4a2361..150c1e3b 100644 --- a/flake.lock +++ b/flake.lock @@ -197,6 +197,22 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1779560665, + "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "actor-typeahead-src": "actor-typeahead-src", @@ -211,7 +227,8 @@ "lucide-src": "lucide-src", "mermaid-src": "mermaid-src", "nixpkgs": "nixpkgs", - "sqlite-lib-src": "sqlite-lib-src" + "sqlite-lib-src": "sqlite-lib-src", + "valley-fonts": "valley-fonts" } }, "rust-analyzer-src": { @@ -258,6 +275,24 @@ "repo": "default", "type": "github" } + }, + "valley-fonts": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1780127204, + "narHash": "sha256-tLZOHLLMR7WBOmAq4v9tOJ24Fya+I9mrdVbobgn+Glc=", + "ref": "refs/heads/main", + "rev": "36c339b8b1eb91415c1b6957b80739a2c4fb22e2", + "revCount": 14, + "type": "git", + "url": "https://tangled.org/oppi.li/valley-sans" + }, + "original": { + "type": "git", + "url": "https://tangled.org/oppi.li/valley-sans" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c227919e..3c4ebef4 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,9 @@ url = "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip"; flake = false; }; + valley-fonts = { + url = "git+https://tangled.org/oppi.li/valley-sans"; + }; actor-typeahead-src = { url = "git+https://tangled.org/@jakelazaroff.com/actor-typeahead"; flake = false; @@ -65,6 +68,7 @@ htmx-ws-src, lucide-src, inter-fonts-src, + valley-fonts, sqlite-lib-src, ibm-plex-mono-src, actor-typeahead-src, @@ -73,7 +77,23 @@ }: let supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; - nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system}); + nixpkgsFor = forAllSystems (system: + import nixpkgs { + inherit system; + overlays = [ + # picosvg 0.22.3 has flaky SVG path comparison tests; skip them + (final: prev: { + python313 = prev.python313.override { + packageOverrides = pyFinal: pyPrev: { + picosvg = pyPrev.picosvg.overrideAttrs (_: { + doInstallCheck = false; + }); + }; + }; + }) + valley-fonts.overlays.default + ]; + }); mkPackageSet = pkgs: pkgs.lib.makeScope pkgs.newScope (self: { @@ -95,7 +115,7 @@ lexgen = self.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; goat = self.callPackage ./nix/pkgs/goat.nix {inherit indigo;}; appview-static-files = self.callPackage ./nix/pkgs/appview-static-files.nix { - inherit htmx-src htmx-ws-src lucide-src inter-fonts-src ibm-plex-mono-src actor-typeahead-src mermaid-src; + inherit htmx-src htmx-ws-src lucide-src ibm-plex-mono-src actor-typeahead-src mermaid-src; }; appview = self.callPackage ./nix/pkgs/appview.nix {}; blog = self.callPackage ./nix/pkgs/blog.nix {}; diff --git a/input.css b/input.css index 4834fb42..54ac8108 100644 --- a/input.css +++ b/input.css @@ -3,34 +3,18 @@ @tailwind utilities; @layer base { @font-face { - font-family: "InterVariable"; - src: url("/static/fonts/InterVariable.woff2") format("woff2-variations"); - font-weight: 100 600; + font-family: "ValleySans"; + src: url("/static/fonts/webfonts/ValleySans[wght].woff2") format("woff2-variations"); + font-weight: 100 900; font-style: normal; font-display: swap; } @font-face { - font-family: "InterVariable"; - src: url("/static/fonts/InterVariable-Italic.woff2") + font-family: "ValleySans"; + src: url("/static/fonts/webfonts/ValleySans-Italic[wght].woff2") format("woff2-variations"); - font-weight: 100 600; - font-style: italic; - font-display: swap; - } - - @font-face { - font-family: "InterVariable"; - src: url("/static/fonts/InterDisplay-Bold.woff2") format("woff2"); - font-weight: bold; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "InterVariable"; - src: url("/static/fonts/InterDisplay-BoldItalic.woff2") format("woff2"); - font-weight: bold; + font-weight: 100 900; font-style: italic; font-display: swap; } @@ -81,7 +65,6 @@ font-feature-settings: "kern" 1, "liga" 1, - "cv05" 1, "tnum" 1; } } diff --git a/nix/pkgs/appview-static-files.nix b/nix/pkgs/appview-static-files.nix index 7b1edd2f..f249af3f 100644 --- a/nix/pkgs/appview-static-files.nix +++ b/nix/pkgs/appview-static-files.nix @@ -3,8 +3,8 @@ htmx-src, htmx-ws-src, lucide-src, - inter-fonts-src, ibm-plex-mono-src, + valley-sans, actor-typeahead-src, mermaid-src, tailwindcss, @@ -24,10 +24,8 @@ runCommandLocal "appview-static-files" { cp -f ${mermaid-src} mermaid.min.js cp -rf ${lucide-src}/*.svg icons/ cp -rf ${src}/icons/*.svg icons/ - cp -f ${inter-fonts-src}/web/InterVariable*.woff2 fonts/ - cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 fonts/ - cp -f ${inter-fonts-src}/InterVariable*.ttf fonts/ cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono*.woff2 fonts/ + cp -rf ${valley-sans}/fonts/* fonts/ cp -f ${actor-typeahead-src}/actor-typeahead.js . ${dolly}/bin/dolly -output logos/dolly.png -size 180x180 diff --git a/tailwind.config.js b/tailwind.config.js index 2329ae2e..ec8c166f 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -27,7 +27,7 @@ module.exports = { }, extend: { fontFamily: { - sans: ["InterVariable", "system-ui", "sans-serif", "ui-sans-serif"], + sans: ["ValleySans", "system-ui", "sans-serif", "ui-sans-serif"], mono: [ "IBMPlexMono", "ui-monospace",