Literate and reproducible emacs config using twist.nix
0

Configure Feed

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

lock: pin transient to magit master, drop monet/websocket

Magit master uses `transient--get-format' (transient 0.13+); Emacs 31
ships transient 0.12. Add a twist recipe pointing at magit/transient
plus a root `use-package' so `nix run .#lock --impure' resolves it.

Drop monet and websocket inputs — no longer referenced.

Jordan Isaacs (May 2, 2026, 10:31 PM UTC) 0ff7d42e 8509f15e

+110 -116
+10
init.org
··· 1539 1539 (use-package browse-at-remote 1540 1540 :ensure t) 1541 1541 1542 + ;; Magit master uses transient internals (`transient--get-format', etc.) 1543 + ;; that aren't in the older transient bundled with Emacs 31's core. The 1544 + ;; recipe in `recipes/transient' redirects twist to fetch master from 1545 + ;; magit/transient on GitHub; this declaration makes transient a root 1546 + ;; package so `nix run .#lock --impure' actually consults that recipe 1547 + ;; (without it, twist resolves transient via the `gnu' registry's 1548 + ;; core-src and drops it from the lockfile on re-lock). 1549 + (use-package transient 1550 + :ensure t) 1551 + 1542 1552 ;; Magit 1543 1553 (use-package magit-delta 1544 1554 :ensure t
+87 -104
lock/flake.lock
··· 83 83 "apheleia": { 84 84 "flake": false, 85 85 "locked": { 86 - "lastModified": 1776206323, 87 - "narHash": "sha256-kZRhCCZa29NoyAwqLmh7d4B+B8d0ytOpchCw3mAvFyk=", 86 + "lastModified": 1777329639, 87 + "narHash": "sha256-ycktFhA1Eo2z19lfheo6mAplFrUTMaKJ8BRi0meZQqc=", 88 88 "owner": "radian-software", 89 89 "repo": "apheleia", 90 - "rev": "14316996958ec8962d9395bc4d986411f77971de", 90 + "rev": "fa5d35ea43efa753c4dff71bc2acf473fc351e80", 91 91 "type": "github" 92 92 }, 93 93 "original": { ··· 195 195 "cape": { 196 196 "flake": false, 197 197 "locked": { 198 - "lastModified": 1776624423, 199 - "narHash": "sha256-5c3hzWUVgKuLK90D7HHtbpTFKnkhs25iartcH/lWElI=", 198 + "lastModified": 1777715375, 199 + "narHash": "sha256-rRGem2bDZxydpjjFaopGnZf8tjDJaOxE1eot14XfwcI=", 200 200 "owner": "minad", 201 201 "repo": "cape", 202 - "rev": "2e15e1909754752f66096dde1b8d639d6eb25f35", 202 + "rev": "9a93d13e223ca3fc469bce4b2932d9e74bdfae57", 203 203 "type": "github" 204 204 }, 205 205 "original": { ··· 243 243 "compat": { 244 244 "flake": false, 245 245 "locked": { 246 - "lastModified": 1775920508, 247 - "narHash": "sha256-x7552qoSFXaJr5RLaXYNhtaOfD/Wiy4rAI/KU5qwJJw=", 246 + "lastModified": 1777758310, 247 + "narHash": "sha256-Joi7BDvo/9+wn7YiQMAbmx+SQDeUYzb02zkbEcyJdvs=", 248 248 "owner": "emacs-compat", 249 249 "repo": "compat", 250 - "rev": "e4bd9aeb2893ef6304f471402e9659bb7a6d820c", 250 + "rev": "526043760c64f53d2f863690859bc8d2d3077952", 251 251 "type": "github" 252 252 }, 253 253 "original": { ··· 307 307 "cond-let": { 308 308 "flake": false, 309 309 "locked": { 310 - "lastModified": 1776693165, 311 - "narHash": "sha256-mJLv5ARBPLM0xlhvtaHormXgs7LFk290eh1ebkZE/ao=", 310 + "lastModified": 1777588584, 311 + "narHash": "sha256-uTR7n13bzIgygssM+1Psv9XdXRkvv64u1Y7+4fQe+0Q=", 312 312 "owner": "tarsius", 313 313 "repo": "cond-let", 314 - "rev": "2cd0cd53e5a0deef15d204872f6feb391469f593", 314 + "rev": "28d3b039a9c1f27ecfea36a7df4c37a3b90e4687", 315 315 "type": "github" 316 316 }, 317 317 "original": { ··· 323 323 "consult": { 324 324 "flake": false, 325 325 "locked": { 326 - "lastModified": 1776770074, 327 - "narHash": "sha256-pklvltN6vdGCaJCguI5gbXaMkj5wO0Osp6O2q4BB7rc=", 326 + "lastModified": 1777715414, 327 + "narHash": "sha256-FJmbUwY2YWcKfMStkxGk/v4bnG8bC/JDnGMy70Mwkoc=", 328 328 "owner": "minad", 329 329 "repo": "consult", 330 - "rev": "45fdad7b234141ea572267024c8f4b08dd2e1022", 330 + "rev": "8ffa37d7cb577fab68ab580889412b9363235a05", 331 331 "type": "github" 332 332 }, 333 333 "original": { ··· 419 419 "corfu": { 420 420 "flake": false, 421 421 "locked": { 422 - "lastModified": 1776623907, 423 - "narHash": "sha256-gg/dWNzh9vVV5L5vfSERZlxFaIqJGjkcXtFdMrVtczw=", 422 + "lastModified": 1777715315, 423 + "narHash": "sha256-+9/AkzteDGLAll9bAlk2wXVkez5a3Jo7nRbYmVjfkYU=", 424 424 "owner": "minad", 425 425 "repo": "corfu", 426 - "rev": "856171ac98c3aaa629caa011be7cd3a9405e6e0f", 426 + "rev": "80b3e0264b840c98a131534c2cfd585659ad1372", 427 427 "type": "github" 428 428 }, 429 429 "original": { ··· 435 435 "dape": { 436 436 "flake": false, 437 437 "locked": { 438 - "lastModified": 1775489813, 439 - "narHash": "sha256-iRKBWYg6+dpVd4qrMb36RgU22viMN/XFSUaInsIVz0g=", 438 + "lastModified": 1777719874, 439 + "narHash": "sha256-w9q8h9Vg3uhNKXuac5xf5sfCgTSLyRA3pS93NUXkXOM=", 440 440 "owner": "svaante", 441 441 "repo": "dape", 442 - "rev": "6fab87c15e5b68d9f3c7d0764978f196c53a578e", 442 + "rev": "753cf92ce4fc32e82d3816c525d4da09222c2a8a", 443 443 "type": "github" 444 444 }, 445 445 "original": { ··· 483 483 "diff-hl": { 484 484 "flake": false, 485 485 "locked": { 486 - "lastModified": 1774725944, 487 - "narHash": "sha256-OAtiqcsjXyDsWnJ2OwCR+kvEwbeOMALJ0w9YTghztR4=", 486 + "lastModified": 1777332584, 487 + "narHash": "sha256-aRt0BYNYAiq0ugHYaoDGEeKExhBhLdyhWMxpealkSZU=", 488 488 "owner": "dgutov", 489 489 "repo": "diff-hl", 490 - "rev": "b965e19e6e7f9933199e421849a49229207c1c9f", 490 + "rev": "7d873b2f58908de1ea2f499da9bf993e088953d7", 491 491 "type": "github" 492 492 }, 493 493 "original": { ··· 579 579 "embark": { 580 580 "flake": false, 581 581 "locked": { 582 - "lastModified": 1775343723, 583 - "narHash": "sha256-eBqP9it42HiDIalq2IBqM0Z6y8UnpS3Zz9yM/1ecJ/k=", 582 + "lastModified": 1777743096, 583 + "narHash": "sha256-pnWPInK+S5fWq69ANQN9gwd21yOsQNONVYqJBuz1yWM=", 584 584 "owner": "oantolin", 585 585 "repo": "embark", 586 - "rev": "27de48004242e98586b9c9661fdb6912f26fe70f", 586 + "rev": "80254c91da90635978fb12db8b9ab9bf54f3bfb0", 587 587 "type": "github" 588 588 }, 589 589 "original": { ··· 595 595 "embark-consult": { 596 596 "flake": false, 597 597 "locked": { 598 - "lastModified": 1775343723, 599 - "narHash": "sha256-eBqP9it42HiDIalq2IBqM0Z6y8UnpS3Zz9yM/1ecJ/k=", 598 + "lastModified": 1777743096, 599 + "narHash": "sha256-pnWPInK+S5fWq69ANQN9gwd21yOsQNONVYqJBuz1yWM=", 600 600 "owner": "oantolin", 601 601 "repo": "embark", 602 - "rev": "27de48004242e98586b9c9661fdb6912f26fe70f", 602 + "rev": "80254c91da90635978fb12db8b9ab9bf54f3bfb0", 603 603 "type": "github" 604 604 }, 605 605 "original": { ··· 643 643 "ghostel": { 644 644 "flake": false, 645 645 "locked": { 646 - "lastModified": 1777274902, 647 - "narHash": "sha256-wIKFE3dHi5+bGgnaCg7HgQvUnQRUHrH9ubuJylOA/nE=", 646 + "lastModified": 1777759108, 647 + "narHash": "sha256-9BELSbpDPhjZoZQYtbMsemxne4hyCz6y2pyusNZhBiI=", 648 648 "owner": "dakra", 649 649 "repo": "ghostel", 650 - "rev": "5321d1b2af5f0fab31ce3aa9b6d9970f0d737db7", 650 + "rev": "b99761f8808d4812d62ee95015c9ce8e97ac6db5", 651 651 "type": "github" 652 652 }, 653 653 "original": { ··· 739 739 "jinx": { 740 740 "flake": false, 741 741 "locked": { 742 - "lastModified": 1774851765, 743 - "narHash": "sha256-gChYV8W6izU5meS4h7CUFtOR/2v352VnJ48yKZOiNhM=", 742 + "lastModified": 1777715474, 743 + "narHash": "sha256-NiT4+65SaIimlV5Z41ZLa/sv2MwNV9AXk1ZU5kznfjM=", 744 744 "owner": "minad", 745 745 "repo": "jinx", 746 - "rev": "5aed0911971b866d75e326a9258a20a66df0cff2", 746 + "rev": "ee590b2278f26ac6cbbb80ab687628a704ddd2b2", 747 747 "type": "github" 748 748 }, 749 749 "original": { ··· 803 803 "magit": { 804 804 "flake": false, 805 805 "locked": { 806 - "lastModified": 1776344371, 807 - "narHash": "sha256-sp0Tx4NeCg7hp4FsfTmzWhXrq3qX1tEGAbfzCA3ShM4=", 806 + "lastModified": 1777718211, 807 + "narHash": "sha256-fCDi27C9EjQ9SKxxwdNk9WYquMVwOcr2nE4j6p7RvwU=", 808 808 "owner": "magit", 809 809 "repo": "magit", 810 - "rev": "83d899b66f2aa4744498baa6866f3bdec2d238be", 810 + "rev": "33c2a692e6ae15c839c9d8ef25c43c51a4e1dabb", 811 811 "type": "github" 812 812 }, 813 813 "original": { ··· 835 835 "magit-section": { 836 836 "flake": false, 837 837 "locked": { 838 - "lastModified": 1776344371, 839 - "narHash": "sha256-sp0Tx4NeCg7hp4FsfTmzWhXrq3qX1tEGAbfzCA3ShM4=", 838 + "lastModified": 1777718211, 839 + "narHash": "sha256-fCDi27C9EjQ9SKxxwdNk9WYquMVwOcr2nE4j6p7RvwU=", 840 840 "owner": "magit", 841 841 "repo": "magit", 842 - "rev": "83d899b66f2aa4744498baa6866f3bdec2d238be", 842 + "rev": "33c2a692e6ae15c839c9d8ef25c43c51a4e1dabb", 843 843 "type": "github" 844 844 }, 845 845 "original": { ··· 851 851 "marginalia": { 852 852 "flake": false, 853 853 "locked": { 854 - "lastModified": 1774851806, 855 - "narHash": "sha256-RU7OsnSeECaFQgBnGeianuXNUdKV5enW8oRkwA062yg=", 854 + "lastModified": 1777715457, 855 + "narHash": "sha256-fO30ThT022CpfwK08cOH/sHlNzAebJ6mOkYo90eNb0c=", 856 856 "owner": "minad", 857 857 "repo": "marginalia", 858 - "rev": "51a79bb82355d0ce0ee677151f041a3aba8cbfca", 858 + "rev": "8d87d2aedcefe0b157204f5c936dce3d0eacdf27", 859 859 "type": "github" 860 860 }, 861 861 "original": { ··· 867 867 "markdown-mode": { 868 868 "flake": false, 869 869 "locked": { 870 - "lastModified": 1774057400, 871 - "narHash": "sha256-nxSyRcYQd7+A0ku/BHN8lO8uzMJTK2CMj2xcxuL0W6c=", 870 + "lastModified": 1777110899, 871 + "narHash": "sha256-2L59pUw/bdARmhZnTFNpYSfBkk7wpUxAPMCWHUznDYA=", 872 872 "owner": "jrblevin", 873 873 "repo": "markdown-mode", 874 - "rev": "182640f79c3ed66f82f0419f130dffc173ee9464", 874 + "rev": "1f72cefa6a4b759f90e335e4908725a721b17ad9", 875 875 "type": "github" 876 876 }, 877 877 "original": { ··· 899 899 "modus-themes": { 900 900 "flake": false, 901 901 "locked": { 902 - "lastModified": 1776517996, 903 - "narHash": "sha256-PrqlsJhX4xc7A/k0qfPdHq/Nd0j1FACG1/LrujCXv3o=", 902 + "lastModified": 1777661523, 903 + "narHash": "sha256-TDIg/gZteMVbOgPRii+lLU/qqLTX0sk6Qg/hg7ktmOI=", 904 904 "owner": "protesilaos", 905 905 "repo": "modus-themes", 906 - "rev": "7c2ce1ff0dc25215061d05a9d796d6193f93c84e", 906 + "rev": "010ed945271bbf98e2bd46cd419ab41878cc279f", 907 907 "type": "github" 908 908 }, 909 909 "original": { ··· 912 912 "type": "github" 913 913 } 914 914 }, 915 - "monet": { 916 - "flake": false, 917 - "locked": { 918 - "lastModified": 1776563377, 919 - "narHash": "sha256-C5t7pKcp8lqZUPiWAcrx2H7Gba2NSpojUPxG5AnrMJg=", 920 - "owner": "stevemolitor", 921 - "repo": "monet", 922 - "rev": "ee2e35557e8ae07de842c435486f7c152f3750e0", 923 - "type": "github" 924 - }, 925 - "original": { 926 - "owner": "stevemolitor", 927 - "repo": "monet", 928 - "type": "github" 929 - } 930 - }, 931 915 "nerd-icons": { 932 916 "flake": false, 933 917 "locked": { 934 - "lastModified": 1774410403, 935 - "narHash": "sha256-LkbSi0xMBzoT9+a6HMtqO9lBISmCUk2w2AOKQS6q/Gw=", 918 + "lastModified": 1777407833, 919 + "narHash": "sha256-3BLTL4Imncin4bG+jmFMzCgu1a8nWEObsovAV3woYkU=", 936 920 "owner": "rainstormstudio", 937 921 "repo": "nerd-icons.el", 938 - "rev": "1db0b0b9203cf293b38ac278273efcfc3581a05f", 922 + "rev": "ae1b85c487c2b0bb1efb8bc0edc23af74282eec2", 939 923 "type": "github" 940 924 }, 941 925 "original": { ··· 979 963 "nix-ts-mode": { 980 964 "flake": false, 981 965 "locked": { 982 - "lastModified": 1771165311, 983 - "narHash": "sha256-HlSohlTC2A4njWu0S4U18qlZGDqKH0KflOeqzQYOVHg=", 966 + "lastModified": 1776964694, 967 + "narHash": "sha256-PizUBawN1IfupPK/vZh+xoPabZasJpjOa+7gFZ/Q2JM=", 984 968 "owner": "nix-community", 985 969 "repo": "nix-ts-mode", 986 - "rev": "319831712125e8c9e4f14b66def518d7a633685c", 970 + "rev": "50916188784786ed201a8edc70a5264eefb525e3", 987 971 "type": "github" 988 972 }, 989 973 "original": { ··· 995 979 "orderless": { 996 980 "flake": false, 997 981 "locked": { 998 - "lastModified": 1769534762, 999 - "narHash": "sha256-1f8nzn2MWjRMyLAAg0z71vLTEXD14vZnvYkP6elrH88=", 982 + "lastModified": 1777715646, 983 + "narHash": "sha256-+LOQkEe27VISPwt4DH+UzPhxwJW0OlIbndLd2bZxPQI=", 1000 984 "owner": "oantolin", 1001 985 "repo": "orderless", 1002 - "rev": "3a2a32181f7a5bd7b633e40d89de771a5dd88cc7", 986 + "rev": "34785f1eb40a241a7949ebe258d563bfa061bc50", 1003 987 "type": "github" 1004 988 }, 1005 989 "original": { ··· 1011 995 "pm": { 1012 996 "flake": false, 1013 997 "locked": { 1014 - "lastModified": 1777281509, 1015 - "narHash": "sha256-ZfmRGv/XGJEVu0VNaFDiNO09rgay+ZBpHVqeTY6MMJ0=", 998 + "lastModified": 1777760712, 999 + "narHash": "sha256-8KCZ9dC9zNrAUlsOJOiIDIcLuseOc7vrDNnHPNZzzr8=", 1016 1000 "ref": "refs/heads/master", 1017 - "rev": "272108522b00e707223ac71d86b5c27dd7704f9b", 1018 - "revCount": 74, 1001 + "rev": "eeb8096be81b1d72ccdee7d94806727ae8ac1c38", 1002 + "revCount": 94, 1019 1003 "type": "git", 1020 1004 "url": "file:///home/jordan.isaacs/.repos/project-manager" 1021 1005 }, ··· 1147 1131 "markdown-mode": "markdown-mode", 1148 1132 "mathjax": "mathjax", 1149 1133 "modus-themes": "modus-themes", 1150 - "monet": "monet", 1151 1134 "nerd-icons": "nerd-icons", 1152 1135 "nerd-icons-completion": "nerd-icons-completion", 1153 1136 "nerd-icons-dired": "nerd-icons-dired", ··· 1164 1147 "spinner": "spinner", 1165 1148 "svg-lib": "svg-lib", 1166 1149 "tldr": "tldr", 1150 + "transient": "transient", 1167 1151 "transpose-frame": "transpose-frame", 1168 1152 "treesit-fold": "treesit-fold", 1169 1153 "vertico": "vertico", 1170 1154 "vterm": "vterm", 1171 1155 "vundo": "vundo", 1172 - "websocket": "websocket", 1173 1156 "wgrep": "wgrep", 1174 1157 "whitespace-cleanup-mode": "whitespace-cleanup-mode", 1175 1158 "with-editor": "with-editor", ··· 1276 1259 "type": "github" 1277 1260 } 1278 1261 }, 1262 + "transient": { 1263 + "flake": false, 1264 + "locked": { 1265 + "lastModified": 1777665671, 1266 + "narHash": "sha256-z2IZ/3sbv30TtpL5Qg+salXCiSap0p71JPb3UvRvszA=", 1267 + "owner": "magit", 1268 + "repo": "transient", 1269 + "rev": "43cbef8539e3c7398d0280958b42f94dac7ea7b4", 1270 + "type": "github" 1271 + }, 1272 + "original": { 1273 + "owner": "magit", 1274 + "repo": "transient", 1275 + "type": "github" 1276 + } 1277 + }, 1279 1278 "transpose-frame": { 1280 1279 "flake": false, 1281 1280 "locked": { ··· 1311 1310 "vertico": { 1312 1311 "flake": false, 1313 1312 "locked": { 1314 - "lastModified": 1776623925, 1315 - "narHash": "sha256-Hv7IvNpuk4Q7vbkfZ1bkmCACwJNaIhg30ldtsNRT/LM=", 1313 + "lastModified": 1777715339, 1314 + "narHash": "sha256-PDrV0qpURsost88qCUKG1Ons4IxkGkd4ybEhd94JNww=", 1316 1315 "owner": "minad", 1317 1316 "repo": "vertico", 1318 - "rev": "e4338c5bae2c725be2940726be170bc034af3b6c", 1317 + "rev": "9e09fdddd6d3d995173cae0904347f46c2cdc55d", 1319 1318 "type": "github" 1320 1319 }, 1321 1320 "original": { ··· 1356 1355 "type": "github" 1357 1356 } 1358 1357 }, 1359 - "websocket": { 1360 - "flake": false, 1361 - "locked": { 1362 - "lastModified": 1772330265, 1363 - "narHash": "sha256-m4+0bhOJLZ2qnQMC9gF5XkfK1sdjU982twH+9sSqJEA=", 1364 - "owner": "ahyatt", 1365 - "repo": "emacs-websocket", 1366 - "rev": "2195e1247ecb04c30321702aa5f5618a51c329c5", 1367 - "type": "github" 1368 - }, 1369 - "original": { 1370 - "owner": "ahyatt", 1371 - "repo": "emacs-websocket", 1372 - "type": "github" 1373 - } 1374 - }, 1375 1358 "wgrep": { 1376 1359 "flake": false, 1377 1360 "locked": { ··· 1407 1390 "with-editor": { 1408 1391 "flake": false, 1409 1392 "locked": { 1410 - "lastModified": 1776674130, 1411 - "narHash": "sha256-cHZXZBF+GjuyzsFMVAEyX7w9X5UCkoFi6x1iKQQq4s4=", 1393 + "lastModified": 1777589322, 1394 + "narHash": "sha256-IvXqftFR7f+DN7vfkt9mf/8/YCGvom6dktZlgev5q64=", 1412 1395 "owner": "magit", 1413 1396 "repo": "with-editor", 1414 - "rev": "3941603f4422d16581e5d782458fa6fbfd432932", 1397 + "rev": "14ea1d98337a47d899ee1860f96b7cbb1ef0e2a0", 1415 1398 "type": "github" 1416 1399 }, 1417 1400 "original": {
+6 -12
lock/flake.nix
··· 341 341 repo = "modus-themes"; 342 342 type = "github"; 343 343 }; 344 - monet = { 345 - flake = false; 346 - owner = "stevemolitor"; 347 - repo = "monet"; 348 - type = "github"; 349 - }; 350 344 nerd-icons = { 351 345 flake = false; 352 346 owner = "rainstormstudio"; ··· 442 436 repo = "tldr.el"; 443 437 type = "github"; 444 438 }; 439 + transient = { 440 + flake = false; 441 + owner = "magit"; 442 + repo = "transient"; 443 + type = "github"; 444 + }; 445 445 transpose-frame = { 446 446 flake = false; 447 447 owner = "emacsorphanage"; ··· 470 470 flake = false; 471 471 owner = "casouri"; 472 472 repo = "vundo"; 473 - type = "github"; 474 - }; 475 - websocket = { 476 - flake = false; 477 - owner = "ahyatt"; 478 - repo = "emacs-websocket"; 479 473 type = "github"; 480 474 }; 481 475 wgrep = {
+7
recipes/transient
··· 1 + ;; Override the GNU ELPA core-sync resolution so twist fetches 2 + ;; transient master instead of using the older copy bundled with 3 + ;; Emacs 31 (0.12.0). Magit master calls `transient--get-format', 4 + ;; which only exists from transient 0.13 onward. 5 + (transient :fetcher github 6 + :repo "magit/transient" 7 + :files ("lisp/transient.el"))