diff options
| -rw-r--r-- | config/emacs.org | 7 | ||||
| -rw-r--r-- | config/nix.org | 132 | ||||
| -rw-r--r-- | flake.lock | 173 | ||||
| -rw-r--r-- | flake.nix | 2 | ||||
| m--------- | nix | 0 | ||||
| -rw-r--r-- | style.scss | 91 |
6 files changed, 295 insertions, 110 deletions
diff --git a/config/emacs.org b/config/emacs.org index 2970ca3..e5baafc 100644 --- a/config/emacs.org +++ b/config/emacs.org @@ -490,8 +490,9 @@ This is my org mode configuration, which also configures latex. ") (org-preview-latex-image-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location") (org-latex-preview-ltxpng-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location") - (org-latex-to-html-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling") - (org-latex-to-mathml-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling") + + (org-latex-to-html-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//' -e 's/ style=\"[^\"]*\"//g'" "latex to MathML with special character handling") + (org-latex-to-mathml-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//' -e 's/ style=\"[^\"]*\"//g'" "latex to MathML with special character handling") (TeX-engine 'xetex "set xelatex as default engine") (preview-default-option-list '("displaymath" "textmath" "graphics") "preview latex") @@ -622,7 +623,7 @@ This is my org mode configuration, which also configures latex. :publishing-function org-html-publish-to-html :headline-levels 4 :html-footnotes-section "<div id=\"footnotes\"><hr><div id=\"text-footnotes\"><span class=\"footnotes-label-hidden\">%s</span>%s</div></div>" - :html-head ,(concat "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS Feed\" href=\"/blog/rss.xml\"><meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Inconsolata-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Lora-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Bold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"manifest\" href=\"/site.webmanifest\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\"><meta name=\"msapplication-TileColor\" content=\"#da532c\">\n" + :html-head ,(concat "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS Feed\" href=\"/blog/rss.xml\"><meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Lora-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Bold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"manifest\" href=\"/site.webmanifest\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\"><meta name=\"msapplication-TileColor\" content=\"#da532c\">\n" "<style>" (->> (create-htmlize-css) (s-replace-regexp "<style[^>]*>" "") diff --git a/config/nix.org b/config/nix.org index 83f06dc..caabe50 100644 --- a/config/nix.org +++ b/config/nix.org @@ -2454,6 +2454,105 @@ We must put Nixpkgs in another configuration because we don't want to include it }; } #+end_src +** AutoUpdater +#+begin_src nix :tangle ../nix/modules/auto-update.nix +{ config, pkgs, lib, ... }: + +{ + config = lib.mkIf config.monorepo.profiles.workstation.enable { + systemd.timers.monorepo-flake-updater = { + description = "Timer for Automated Monorepo Flake Updates"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "hourly"; + Persistent = true; + }; + }; + + systemd.services.monorepo-flake-updater = { + description = "Automated Flake Update, Check, and Patch for Monorepo"; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + + serviceConfig = { + Type = "oneshot"; + User = "${config.monorepo.vars.userName}"; + }; + environment = { + HOME = "/home/${config.monorepo.vars.userName}"; + }; + + path = with pkgs; [ git nix coreutils curl ]; + script = '' + # Exit immediately if any command fails + set -euo pipefail + + API_URL="https://channels.nixos.org/nixos-unstable/git-revision" + if ! curl --silent --head --location --fail "$API_URL" > /dev/null; then + echo "No internet or NixOS API is down. Aborting." + exit 0 + fi + + LATEST_REV=$(curl --silent --location "$API_URL") + STATE_FILE="$HOME/.local/state/monorepo-updater-rev" + + mkdir -p "$(dirname "$STATE_FILE")" + + if [ ! -f "$STATE_FILE" ]; then + echo "First run. Initializing baseline hash ($LATEST_REV) and exiting." + echo "$LATEST_REV" > "$STATE_FILE" + exit 0 + fi + + if [ "$(cat "$STATE_FILE")" = "$LATEST_REV" ]; then + echo "Channel has not bumped since last check ($LATEST_REV). Aborting." + exit 0 + fi + + echo "$LATEST_REV" > "$STATE_FILE" + + TEMP_DIR=$(mktemp -d) + trap 'rm -rf "$TEMP_DIR"' EXIT + cd "$TEMP_DIR" + + echo "Cloning repository..." + git clone git://git.nullring.xyz/monorepo.git --recurse-submodules + + cd monorepo/nix + + # Create and checkout [date]-bump branch INSIDE the submodule + DATE=$(date +%Y-%m-%d) + BRANCH_NAME="''${DATE}-bump" + git checkout -b "$BRANCH_NAME" + + echo "Running nix flake update..." + nix flake update --extra-experimental-features "nix-command flakes" + + # If the channel bumped, but flake update didn't change flake.lock, exit + if git diff --quiet flake.lock; then + echo "No actual updates to flake.lock. Aborting." + exit 0 + fi + + nix flake check --extra-experimental-features "nix-command flakes" + + git config user.name "NixOS Updater" + git config user.email "updater@localhost" + git add flake.lock + git commit -m "chore: automated flake update ''${DATE}" + + PATCH_DIR="$HOME/monorepo/nix" + mkdir -p "$PATCH_DIR" + PATCH_FILE="$PATCH_DIR/0000-flake-update-''${DATE}.patch" + + git format-patch -1 HEAD --stdout > "$PATCH_FILE" + echo "Successfully checked updates and created patch at $PATCH_FILE" +''; + }; + }; +} +#+end_src + ** Main Configuration This is the backbone of the all the NixOS configurations, with all these options being shared because they enhance security. @@ -3494,19 +3593,41 @@ be straightforward. *** QuteBrowser #+begin_src nix :tangle ../nix/modules/home/qutebrowser.nix -{ lib, config, catppuccin-qutebrowser, ... }: +{ pkgs, lib, config, catppuccin-qutebrowser, ... }: { programs.qutebrowser = { enable = lib.mkDefault config.monorepo.profiles.graphics.enable; + package = pkgs.qutebrowser.overrideAttrs (old: { + qtWrapperArgs = (old.qtWrapperArgs or []) ++ [ + "--set" "__EGL_VENDOR_LIBRARY_FILENAMES" "/run/opengl-driver/share/glvnd/egl_vendor.d/10_nvidia.json" + "--set" "GBM_BACKEND" "nvidia-drm" + "--set" "__GLX_VENDOR_LIBRARY_NAME" "nvidia" + "--set" "QT_QPA_PLATFORM" "wayland" + ]; + }); + enableDefaultBindings = true; searchEngines = { + DEFAULT = "https://search.marginalia.nu/search?query={}"; g = "https://www.google.com/search?hl=en&q={}"; w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1"; aw = "https://wiki.archlinux.org/?search={}"; nw = "https://wiki.nixos.org/index.php?search={}"; npk = "https://search.nixos.org/packages?channel=unstable&query={}"; }; + settings = { + # This is the magic combination for Qtile + Wayland + Qutebrowser + qt.args = [ + "enable-features=UseOzonePlatform" + "disable-gpu" + "disable-software-rasterizer" + "disable-gpu-sandbox" + ]; + + # Force Qt to draw the UI in software mode so it doesn't look for OpenGL + qt.force_software_rendering = "qt-quick"; + content.blocking.method = "both"; fonts.default_family = "Lora"; fonts.default_size = "12pt"; @@ -3523,10 +3644,8 @@ be straightforward. # Hints fonts.hints = "bold 12pt Lora"; - - # Rendering - qt.force_software_rendering = "chromium"; }; + extraConfig = (builtins.readFile "${catppuccin-qutebrowser}/setup.py") + '' config.load_autoconfig() @@ -4220,7 +4339,7 @@ for these configurations. homeDirectory = "/home/${super.monorepo.vars.userName}"; stateVersion = "24.11"; sessionVariables = { - QTWEBENGINE_FORCE_USE_GBM = 0; + QT_QPA_PLATFORM = "wayland;xcb"; NIXOS_OZONE_WL = 1; XDG_SESSION_TYPE = "wayland"; XDG_CURRENT_DESKTOP = "qtile"; @@ -4233,6 +4352,7 @@ for these configurations. unzip mupdf zathura + qt6.qtwayland fzf # passwords @@ -4246,7 +4366,7 @@ for these configurations. # Apps # octaveFull - grim swww vim element-desktop signal-desktop signal-cli imv slurp wl-clipboard + grim awww vim element-desktop signal-desktop signal-cli imv slurp wl-clipboard # Sound/media pavucontrol alsa-utils imagemagick ffmpeg pulseaudio @@ -1,5 +1,21 @@ { "nodes": { + "catppuccin-qutebrowser": { + "flake": false, + "locked": { + "lastModified": 1741931053, + "narHash": "sha256-FmxrgpFlp+cMUdCx5HHIiLMGWML23p+pfxTKT/X0UME=", + "owner": "catppuccin", + "repo": "qutebrowser", + "rev": "808adc3d7d5be6fc573d6be6e9c888cb96b5d6e6", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "qutebrowser", + "type": "github" + } + }, "crane": { "inputs": { "nixpkgs": [ @@ -22,24 +38,6 @@ "type": "github" } }, - "deep-research": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1755738911, - "narHash": "sha256-BobMSFfhK8GprfN6V+BedMj6d1v/pKce6sqiETHiv48=", - "owner": "ret2pop", - "repo": "ollama-deep-researcher", - "rev": "678a3ef8e8d8ded2aab9288fd7396579a13aec46", - "type": "github" - }, - "original": { - "owner": "ret2pop", - "repo": "ollama-deep-researcher", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -48,11 +46,11 @@ ] }, "locked": { - "lastModified": 1769524058, - "narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", + "lastModified": 1777713215, + "narHash": "sha256-8GzXDOXckDWwST8TY5DbwYFjdvQLlP7K9CLSVx6iTTo=", "owner": "nix-community", "repo": "disko", - "rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", + "rev": "63b4e7e6cf75307c1d26ac3762b886b5b0247267", "type": "github" }, "original": { @@ -152,11 +150,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -230,11 +228,11 @@ ] }, "locked": { - "lastModified": 1772665116, - "narHash": "sha256-XmjUDG/J8Z8lY5DVNVUf5aoZGc400FxcjsNCqHKiKtc=", + "lastModified": 1778507602, + "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "39f53203a8458c330f61cc0759fe243f0ac0d198", + "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", "type": "github" }, "original": { @@ -253,11 +251,11 @@ ] }, "locked": { - "lastModified": 1770726378, - "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", + "lastModified": 1776796298, + "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", + "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", "type": "github" }, "original": { @@ -379,7 +377,7 @@ "impermanence": { "inputs": { "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1769548169, @@ -423,6 +421,22 @@ "type": "github" } }, + "lean4-mode-src": { + "flake": false, + "locked": { + "lastModified": 1748752682, + "narHash": "sha256-6XFcyqSTx1CwNWqQvIc25cuQMwh3YXnbgr5cDiOCxBk=", + "owner": "leanprover-community", + "repo": "lean4-mode", + "rev": "1388f9d1429e38a39ab913c6daae55f6ce799479", + "type": "github" + }, + "original": { + "owner": "leanprover-community", + "repo": "lean4-mode", + "type": "github" + } + }, "nix-topology": { "inputs": { "flake-parts": "flake-parts_2", @@ -432,11 +446,11 @@ ] }, "locked": { - "lastModified": 1769983422, - "narHash": "sha256-/zQdD8Aogh16eD5lgFokRMA0EYCm5uQITKCA90/01Oo=", + "lastModified": 1777808420, + "narHash": "sha256-hh9XBz0K1ypZ+neezgIPCSsnWFKEq8VfV/1aUSPu3OA=", "owner": "oddlama", "repo": "nix-topology", - "rev": "20b5c5c698d45cc0f950889b3f6379ced5ce9c4a", + "rev": "28e9dc901ff38a8fa2d24bccd5f89511d6d8324e", "type": "github" }, "original": { @@ -447,15 +461,16 @@ }, "nixmacs": { "inputs": { - "deep-research": "deep-research", + "catppuccin-qutebrowser": "catppuccin-qutebrowser", "disko": "disko", "git-hooks": "git-hooks_2", "home-manager": "home-manager", "impermanence": "impermanence", "lanzaboote": "lanzaboote", + "lean4-mode-src": "lean4-mode-src", "nix-topology": "nix-topology", "nixos-dns": "nixos-dns", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nur": "nur", "scripts": "scripts", "sops-nix": "sops-nix", @@ -498,15 +513,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", - "owner": "NixOS", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -514,11 +529,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "type": "github" }, "original": { @@ -545,11 +560,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -561,11 +576,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1770197578, - "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -577,27 +592,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1770197578, - "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1769740369, - "narHash": "sha256-xKPyJoMoXfXpDM5DFDZDsi9PHArf2k5BJjvReYXoFpM=", + "lastModified": 1775888245, + "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6308c3b21396534d8aaeac46179c14c439a89b8a", + "rev": "13043924aaa7375ce482ebe2494338e058282925", "type": "github" }, "original": { @@ -607,13 +606,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { - "lastModified": 1772624091, - "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -623,7 +622,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1772542754, "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=", @@ -642,14 +641,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1770405908, - "narHash": "sha256-910mKFyjbU6/t8sPJ2U6S1cxJiTgYFU1OOMuihNJO20=", + "lastModified": 1778003328, + "narHash": "sha256-7/RUNcp/ha++JzKc0Olb7G0xnPLS07GqqpYS2DQLok8=", "owner": "nix-community", "repo": "NUR", - "rev": "a84c4ed98604b96fc4cb6a4c2b24350aecd8ac3f", + "rev": "1564cfaba4bdfa14b97f141fff0f9e86e5ba220a", "type": "github" }, "original": { @@ -706,7 +705,7 @@ }, "publish-org-roam-ui": { "inputs": { - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "org-roam-ui-src": "org-roam-ui-src" }, "locked": { @@ -728,7 +727,7 @@ "garamond": "garamond", "git-hooks": "git-hooks", "nixmacs": "nixmacs", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "publish-org-roam-ui": "publish-org-roam-ui" } }, @@ -776,14 +775,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1770145881, - "narHash": "sha256-ktjWTq+D5MTXQcL9N6cDZXUf9kX8JBLLBLT0ZyOTSYY=", + "lastModified": 1777944972, + "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "17eea6f3816ba6568b8c81db8a4e6ca438b30b7c", + "rev": "c591bf665727040c6cc5cb409079acb22dcce33c", "type": "github" }, "original": { @@ -794,11 +793,11 @@ }, "sounds": { "locked": { - "lastModified": 1737024247, - "narHash": "sha256-OTtqUYIe713ti4vaa8hS1Z0UvD/X4J9XkLzKgl2+RBE=", + "lastModified": 1774486938, + "narHash": "sha256-2eGREGFU2BqUTS90Vuk6MGd0AMAcVyo5CdRD2PjXQLU=", "owner": "ret2pop", "repo": "sounds", - "rev": "9714690a6d216f9c55bfe56969d6e7d98768559f", + "rev": "f401687096553013f16644cefc05ac08beb675c1", "type": "github" }, "original": { @@ -267,7 +267,7 @@ xvfb-run -a emacs -q -l ${self}/tests/ci-runner.el || { printf "after emacs\n" CSS_HASH="$(python3 $HOME/monorepo/tests/test-csp-hash.py $HOME/website_html/index.html)" cat <<EOF > $HOME/website_html/csp_header.conf -add_header Content-Security-Policy "default-src 'self'; style-src 'self' 'sha256-$CSS_HASH'; font-src 'self';"; +add_header Content-Security-Policy "default-src 'none'; script-src 'none'; style-src 'self' 'sha256-$CSS_HASH'; font-src 'self'; img-src 'self'; object-src 'none'; base-uri 'none'; form-action 'none';"; EOF echo "Setting up Graph View..." diff --git a/nix b/nix -Subproject fdb5ae36cc411784bfda9622f5bd2b054342e75 +Subproject bfdb390152c0e5c65207ec3b24ac16a833686c1 @@ -9,6 +9,23 @@ $fonts: ( ('CormorantGaramond', 'CormorantGaramond-MediumItalic', 700, italic), ); +@font-face { + font-family: 'Lora-Fallback'; + src: local('serif'); + size-adjust: 98%; + ascent-override: 105%; + descent-override: 35%; +} + +@font-face { + font-family: 'Lora-Fallback'; + src: local('Times New Roman'), local('Times'), local('serif'); + size-adjust: 95%; + ascent-override: 90%; + descent-override: 25%; + line-gap-override: 30%; +} + $breakpoints: ( 'mobile': 768px, 'toc': 1250px @@ -104,7 +121,7 @@ $isa: ( --code-text: #cdd6f4; --code-radius: 6px; - --font-serif: "Lora", serif; + --font-serif: "Lora", "Lora-Fallback", serif; --font-mono: "Inconsolata", monospace; --font-header: "CormorantGaramond", serif; --font-math: "STIX Two Math",'Latin Modern Math', serif; @@ -175,7 +192,7 @@ main, header, footer { } h1, h2, h3 { line-height: 1.2; font-family: var(--font-header), serif; } -h4, h5, h6 { font-family: var(--font-mono), monospace; line-height: 1.3; margin-top: 1.5rem; margin-bottom: 0.5rem; } +h4, h5, h6 { font-family: var(--font-serif), serif; line-height: 1.3; margin-top: 1.5rem; margin-bottom: 0.5rem; } h1, h2 { padding-bottom: 8px; @@ -202,9 +219,42 @@ h2 { } h3 { font-size: 1.25rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.4rem; letter-spacing: 0.02em; } -h4 { font-size: 1.1rem; font-weight: 700; color: var(--text-main); } -h5 { font-size: 1rem; font-weight: 700; color: var(--link-color); } -h6 { font-size: 0.85rem; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; color: color-mix(in srgb, var(--text-main) 60%, transparent); } + +h4 { + font-size: 0.95rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--text-main); + -webkit-font-smoothing: auto; +} + +h5 { + font-size: 1rem; + font-weight: 500; + font-style: italic; + color: var(--text-main); +} + +h6 { + font-size: 0.82rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.08em; + color: color-mix(in srgb, var(--text-main) 50%, transparent); +} + +h1, h2, h3, h4, h5, h6 { + [class^="section-number-"] { + font-family: var(--font-mono), monospace; + color: color-mix(in srgb, var(--text-main) 35%, transparent); + font-weight: 400; + font-size: 0.65em; + letter-spacing: 0.05em; + margin-right: 0.75em; + vertical-align: middle; + } +} p, ul, ol { margin-top: 1rem; margin-bottom: 1rem; } li { margin-top: 0.3rem; } @@ -362,6 +412,17 @@ math { } } +#text-1 > p:first-of-type::first-letter { + float: left; + font-size: 3.5rem; + line-height: 0.8; + margin-right: 0.15em; + margin-top: 0.1em; + font-family: var(--font-header), serif; + font-weight: 700; + color: var(--accent); +} + h1.title { padding-top: 1.5rem; margin-top: 0.5rem; @@ -502,10 +563,10 @@ h1.title { } } -.theorem::before { content: "Theorem."; } -.lemma::before { content: "Lemma."; } -.corollary::before { content: "Corollary."; } -.definition::before { content: "Definition."; } +.theorem::before { content: "Theorem:"; } +.lemma::before { content: "Lemma:"; } +.corollary::before { content: "Corollary:"; } +.definition::before { content: "Definition:"; } .proof { position: relative; @@ -529,7 +590,11 @@ h1.title { @include bp('mobile') { columns: 1; } } -.org-svg { width: 100%; max-width: none; } +img.org-svg, .org-svg { + max-width: 80%; + margin: 2rem auto; + display: block; +} .verse { width: fit-content; @@ -743,12 +808,12 @@ h1.title { top: 0; left: 0; padding-top: 0; - background: var(--toc-bg); - border-right: 1px solid var(--accent); + // background: color-mix(in srgb, var(--toc-bg) 15%, transparent); + // border-right: 1px solid color-mix(in srgb, var(--accent) 12%, transparent); overflow-y: auto; overflow-x: hidden; - @include hide-scrollbar; + @include custom-scrollbar; ul { list-style-type: none; |
