grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderi gotta stop doing these massive changesb70d9f9

main
1.1 KiB30 linesraw
1{ pkgs }:
2
3let
4  source = builtins.getFlake "git+https://git.t4t.associates/char/sorcery?rev=5e5b89fd84f3fab236aebb245d35107b686842e4";
5  manifest = builtins.readFile "${source.outPath}/src/grammar_manifest.rs";
6  grammarVersion = builtins.head (builtins.match ''.*VERSION: &str = "([^"]+)";.*'' manifest);
7  artifacts = builtins.filter builtins.isList (
8    builtins.split ''"([^"]+)" => Some\(\([[:space:]]*([0-9]+),[[:space:]]*"([0-9a-f]+)"'' manifest
9  );
10in
11{
12  inherit grammarVersion;
13  sshPackage = source.packages.${pkgs.stdenv.hostPlatform.system}.sorcery-ssh;
14
15  package = source.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (old: {
16    postPatch = (old.postPatch or "") + ''
17      cat ${./sorcery-rose-pine.css} >> src/style.css
18    '';
19  });
20
21  grammars = pkgs.linkFarm "sorcery-grammars-${grammarVersion}" (
22    map (artifact: {
23      name = "${builtins.elemAt artifact 0}.wasm";
24      path = pkgs.fetchurl {
25        url = "https://cdn.jsdelivr.net/npm/@arborium/${builtins.elemAt artifact 0}@${grammarVersion}/grammar_bg.wasm";
26        sha256 = builtins.elemAt artifact 2;
27      };
28    }) artifacts
29  );
30}