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",