From 805848d13e1e4a69204c90497033d2edac055443 Mon Sep 17 00:00:00 2001 From: clover caruso Date: Fri, 12 Dec 2025 18:20:00 -0800 Subject: [PATCH 1/3] clover: at work --- modules/home/default.nix | 9 ++++-- users/clover/home.nix | 63 ++++++++++++++++++++++++++++++++------ users/clover/work/home.nix | 1 + 3 files changed, 60 insertions(+), 13 deletions(-) diff --git a/modules/home/default.nix b/modules/home/default.nix index 6e9a26196dcdf34958881eb89a2316560317139d..9b0a348c969264f35c546f9528386fba2a600f38 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -144,11 +144,14 @@ in signing = lib.mkIf (config.programs.git.signing.key != null) { inherit (config.programs.git.signing) key; backend = "gpg"; - behavior = "own"; + # signatures are slow, compute them on push instead of on change. + behavior = "drop"; }; git = { - sign-on-push = true; - push-new-bookmarks = true; + sign-on-push = config.programs.git.signing.key != null; + }; + remotes.origin = { + auto-track-bookmarks = "glob:*"; }; ui = { default-command = "log"; diff --git a/users/clover/home.nix b/users/clover/home.nix index 72bcfaec101f041eb4446cb5874a40c9ea3ff74b..39e5db31eb601046124b1fdc6db20717a108aa51 100644 --- a/users/clover/home.nix +++ b/users/clover/home.nix @@ -1,4 +1,9 @@ -{ pkgs, host, ... }: +{ + pkgs, + host, + lib, + ... +}: let hostServer = false; in @@ -66,8 +71,7 @@ in jf = "jj git fetch"; e = "jj edit"; d = "jj desc"; - bup = "jj b m --from 'parents(@)' --to '@'"; - push = "jj git push"; + bup = "jj b m --from 'heads(::@- & bookmarks())' --to '@'"; moveself = "jj rebase -r @ -d"; logall = "jj log -r 'all()'"; cherry = "jj git fetch && jj split -i -p -m 'SPLIT_CHANGES' && jj edit -r 'description(\"SPLIT_CHANGES\")' && jj desc -m '' --edit"; @@ -83,19 +87,58 @@ in uv run --project "$dirname" "$@" } + function bun() { + if [[ "$1" = "build" ]]; then + command bun run "$@" + elif [[ "$1" = "bundle" ]]; then + shift + command bun build "$@" + else + command bun "$@" + fi + } + + function jj() { + if [[ "$*" = "git push"* ]] && [[ "$*" != *"--dry-run"* ]]; then + command jj "$@" --dry-run + printf "Press any key to continue... " + read -r + command jj "$@" + else + command jj "$@" + fi + } + + function push() { + command jj git push "$@" --dry-run + printf "Press any key to continue... " + read -r + if bash -c 'cd $(jj workspace root); bun local-ci'; then + command jj git push "$@" + fi + } + function pr() { message=$(jj log -r '@' -T 'description' --no-graph) if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then jj desc + message=$(jj log -r '@' -T 'description' --no-graph) + if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then + exit + fi fi if [ -n "$1" ]; then - jj git push --named "clo/$1"=@ - branch="clo/$1" + if [[ "clo"/* = "$1" ]]; then + branch="$1"; + else + branch="clo/$1" + fi + command jj git push --named "$branch"=@ else - branch="$(jj log -r '@' -T '"clo/push-" ++ change_id.short()' --no-graph)" - jj git push -c @ + command jj git push -c @ + branch="$(jj log -r '@-' -T 'bookmarks.join("\n")' --no-graph | head -1)" fi - open "$(git remote get-url origin | sed 's/git@github\.com:/https:\/\/github.com\//' | sed 's/\.git$//')/compare/master...$branch" + open "$(git remote get-url origin | sed 's/git@github\.com:/https:\/\/github.com\//' | sed 's/\.git$//')/compare/master...$branch?quick_pull=1&labels=awaiting+code+review,awaiting+functionality+review&body=" } ''; }; @@ -104,7 +147,7 @@ in git.userEmail = "git@paperclover.net"; git.signing = { signByDefault = true; - key = "C0D577FD799F9D11"; + key = lib.mkDefault "C0D577FD799F9D11"; }; jujutsu = { @@ -175,7 +218,7 @@ in }; # ui.graph.style = "square"; revsets = { - log = "ancestors(description(regex:\"^(WIP:|\\\\s+$)\"):: | working_copies() | bookmarks(\"master\")::remote_bookmarks(\"master\") | bookmarks(glob:\"clo/*\")::, 5)"; + log = "ancestors(description(regex:\"^(WIP:|\\\\s+$)\"):: | working_copies() | bookmarks(exact:\"master\")::remote_bookmarks(exact:\"master\") | bookmarks(glob:\"clo/*\")::, 5)"; short-prefixes = "(trunk()..@)::"; }; # templates.log = "hl_wip(self)"; diff --git a/users/clover/work/home.nix b/users/clover/work/home.nix index 3dcb3ea9c5e53de6b451d59bbcbb3d78a1cff0cf..63ec7800722bf7336ced60fcb9f0b40fd150051f 100644 --- a/users/clover/work/home.nix +++ b/users/clover/work/home.nix @@ -8,6 +8,7 @@ } ''; }; + programs.git.signing.key = "CE485807AE4068AF8508C8DC5CBB21841C7920AD"; home.packages = with pkgs; [ (bun.overrideAttrs (_: rec { version = "1.3.0"; -- 2.54.0 From 9687d552742d9dea6d65e2bb9efee9c31a03ff8f Mon Sep 17 00:00:00 2001 From: clover caruso Date: Sat, 24 Jan 2026 15:48:42 -0800 Subject: [PATCH 2/3] do a flake upgrade --- flake.lock | 187 +++++++++++++++++++++-------------- modules/home/default.nix | 10 +- modules/neovim/default.nix | 8 +- packages/autofmt/default.nix | 2 +- users/clover/home.nix | 128 ++---------------------- 5 files changed, 130 insertions(+), 205 deletions(-) diff --git a/flake.lock b/flake.lock index 5a4b7f887b3e7d6b2bf939e0c4949f441c3cd629..457bdacc7ef29a8a19b24ca5c434f5e3c6d43188 100644 --- a/flake.lock +++ b/flake.lock @@ -9,11 +9,11 @@ ] }, "locked": { - "lastModified": 1764707074, - "narHash": "sha256-XONQ/zRv36w1Cyx+YBPStg+o8xH5J5Kqg0olLWs0O4M=", + "lastModified": 1767990299, + "narHash": "sha256-Jz+cp9Ln4++1XiKw9KvZEM2dJ9AdOvayk97ybi9g7zc=", "owner": "tadfisher", "repo": "android-nixpkgs", - "rev": "f9c31127b45e3955a22c0d76b2d15e239b645879", + "rev": "449f2cadee7cb7b665aea209a67f8ecf30176653", "type": "github" }, "original": { @@ -71,11 +71,11 @@ ] }, "locked": { - "lastModified": 1764714051, - "narHash": "sha256-AjcMlM3UoavFoLzr0YrcvsIxALShjyvwe+o7ikibpCM=", + "lastModified": 1767024902, + "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "a43bedcceced5c21ad36578ed823e6099af78214", + "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", "type": "github" }, "original": { @@ -91,11 +91,11 @@ ] }, "locked": { - "lastModified": 1765065051, - "narHash": "sha256-b7W9WsvyMOkUScNxbzS45KEJp0iiqRPyJ1I3JBE+oEE=", + "lastModified": 1767718503, + "narHash": "sha256-V+VkFs0aSG0ca8p/N3gib7FAf4cq9jyr5Gm+ZBrHQpo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "7e22bf538aa3e0937effcb1cee73d5f1bcc26f79", + "rev": "9f48ffaca1f44b3e590976b4da8666a9e86e6eb1", "type": "github" }, "original": { @@ -129,15 +129,15 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -367,11 +367,11 @@ ] }, "locked": { - "lastModified": 1764998300, - "narHash": "sha256-fZatn/KLfHLDXnF0wy7JxXqGaZmGDTVufT4o/AOlj44=", + "lastModified": 1768018810, + "narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=", "owner": "nix-community", "repo": "home-manager", - "rev": "27a6182347ccae90a88231ae0dc5dfa7d15815bb", + "rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b", "type": "github" }, "original": { @@ -426,11 +426,11 @@ ] }, "locked": { - "lastModified": 1763733840, - "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", + "lastModified": 1766946335, + "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", + "rev": "4af02a3925b454deb1c36603843da528b67ded6c", "type": "github" }, "original": { @@ -456,11 +456,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1765104552, - "narHash": "sha256-oaYLaXFEOHrS67UBWUcG8S8lFNTmLo65x8CmT++iLug=", + "lastModified": 1768000181, + "narHash": "sha256-/E66+tcVBnvJcOFL/CjnjBfKew6A2e+28EZrcRHioBw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "76ac655c9e624069cf17f470773e37d8172ee290", + "rev": "81e7498ec27156ee97aabba6fe4993412d98d1ab", "type": "github" }, "original": { @@ -502,11 +502,11 @@ ] }, "locked": { - "lastModified": 1764812575, - "narHash": "sha256-1bK1yGgaR82vajUrt6z+BSljQvFn91D74WJ/vJsydtE=", + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "fd321368a40c782cfa299991e5584ca338e36ebe", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", "type": "github" }, "original": { @@ -527,11 +527,11 @@ ] }, "locked": { - "lastModified": 1759610243, - "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -633,11 +633,11 @@ ] }, "locked": { - "lastModified": 1764962281, - "narHash": "sha256-rGbEMhTTyTzw4iyz45lch5kXseqnqcEpmrHdy+zHsfo=", + "lastModified": 1766253372, + "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "fe686486ac867a1a24f99c753bb40ffed338e4b0", + "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", "type": "github" }, "original": { @@ -687,11 +687,11 @@ ] }, "locked": { - "lastModified": 1764872015, - "narHash": "sha256-INI9AVrQG5nJZFvGPSiUZ9FEUZJLfGdsqjF1QSak7Gc=", + "lastModified": 1767473322, + "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "7997451dcaab7b9d9d442f18985d514ec5891608", + "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", "type": "github" }, "original": { @@ -734,11 +734,11 @@ ] }, "locked": { - "lastModified": 1764208378, - "narHash": "sha256-Qur5AWl4Vx+It65DX+I+sc4lViz52OmXqvg+fL2t9I4=", + "lastModified": 1765916709, + "narHash": "sha256-qc4m7v8hGOMb9BVLuiQZAbgzHoKfVwEY7HUl9fsY/hE=", "owner": "moonlight-mod", "repo": "moonlight", - "rev": "059476af87f7335c05424b805833864d6d9ed0e3", + "rev": "d0ad754cf0b9c5a34d7f69595f407c8199f988ce", "type": "github" }, "original": { @@ -747,6 +747,24 @@ "type": "github" } }, + "ndg": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1765435293, + "narHash": "sha256-HRp4g6qBCb8vpJ17s2FacMRXRszM73uBiR56aILMELA=", + "owner": "feel-co", + "repo": "ndg", + "rev": "65bf834b332d5f8b28d95ea14c7974be7c272971", + "type": "github" + }, + "original": { + "owner": "feel-co", + "repo": "ndg", + "type": "github" + } + }, "nix-filter": { "locked": { "lastModified": 1693833173, @@ -769,11 +787,11 @@ ] }, "locked": { - "lastModified": 1765080594, - "narHash": "sha256-5t3d655GqLblE+p5xN5ntkeRfZBesN7vehOWcRcU88M=", + "lastModified": 1765267181, + "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "4194c582d0a3f440382ee00b729ea5cc5ef59754", + "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", "type": "github" }, "original": { @@ -789,11 +807,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1764771319, - "narHash": "sha256-SllXl+Void1CIMk2jkKJXp7PL/31JeWir/Q8GAsuvEM=", + "lastModified": 1765642879, + "narHash": "sha256-LIKEZW++qgg8FSpJtAayv6yfIF3CO42GpryyeJ4pk7M=", "owner": "madsbv", "repo": "nix-options-search", - "rev": "cccbb97d813c462bd85012740bc1c02c9c267808", + "rev": "b91e3ad2b4f3afbf0ceadb140fb9a0d342733b2e", "type": "github" }, "original": { @@ -804,11 +822,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1764950072, - "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", + "lastModified": 1767379071, + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f61125a668a320878494449750330ca58b78c557", + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", "type": "github" }, "original": { @@ -836,11 +854,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1764947035, - "narHash": "sha256-EYHSjVM4Ox4lvCXUMiKKs2vETUSL5mx+J2FfutM7T9w=", + "lastModified": 1767966113, + "narHash": "sha256-mSTsvXa4WveSRJexsmCbm9dY17B1fKp7NLpJxllpQw4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a672be65651c80d3f592a89b3945466584a22069", + "rev": "5f02c91314c8ba4afe83b256b023756412218535", "type": "github" }, "original": { @@ -850,6 +868,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1762111121, "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", @@ -865,7 +899,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1708161998, "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=", @@ -881,7 +915,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1717696253, "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=", @@ -902,17 +936,18 @@ "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "mnw": "mnw", + "ndg": "ndg", "nixpkgs": [ "nixpkgs" ], "systems": "systems_4" }, "locked": { - "lastModified": 1764871278, - "narHash": "sha256-ezKJwZeAtZSO9EA3aLl5bmjjAVUoLE69IC+yX/KSqDM=", + "lastModified": 1765537745, + "narHash": "sha256-EaFYxx2aSuM2xx+l+E55YNMCJOoQBl2tJybxyF0pPqw=", "owner": "notashelf", "repo": "nvf", - "rev": "43b48909a3d0c96f5c3d9a9e50d6faabbeccc9dd", + "rev": "8e031476d0d7f326b63c9c5522f840e2f8b724c0", "type": "github" }, "original": { @@ -944,11 +979,11 @@ ] }, "locked": { - "lastModified": 1765016596, - "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", + "lastModified": 1767281941, + "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", + "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", "type": "github" }, "original": { @@ -984,11 +1019,11 @@ ] }, "locked": { - "lastModified": 1765075567, - "narHash": "sha256-KFDCdQcHJ0hE3Nt5Gm5enRIhmtEifAjpxgUQ3mzSJpA=", + "lastModified": 1768012928, + "narHash": "sha256-HFFVQaux1JoOjEvgBT0ASk1Je+jsipyO5c91FoLMed8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "769156779b41e8787a46ca3d7d76443aaf68be6f", + "rev": "312b4371e72f644ffcff25b23615195e3b390643", "type": "github" }, "original": { @@ -1089,11 +1124,11 @@ "nix-filter": "nix-filter" }, "locked": { - "lastModified": 1764873455, - "narHash": "sha256-ehm3Y0xCUkJnbDwM0wwu9DBj7f3lLTwFW9GBxH93w2s=", + "lastModified": 1767711026, + "narHash": "sha256-yTuyde8TpBR3NhNnOcK4uOGukvMCwrH3otP8E04e9X0=", "owner": "Duckonaut", "repo": "split-monitor-workspaces", - "rev": "34d1ce459b4f13e77d8f2a0851475497abee2c98", + "rev": "764548c3aa22c9f4cb436ec7243d21795eb6ebec", "type": "github" }, "original": { @@ -1224,15 +1259,15 @@ }, "vicinae": { "inputs": { - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "systems": "systems_5" }, "locked": { - "lastModified": 1764939234, - "narHash": "sha256-o/0emFrTtNzfxQis6U1onAJMR63APCigiZNmqLxVM1E=", + "lastModified": 1767958732, + "narHash": "sha256-Jy7Px8fWfZgRRWcv5d8XTddPDaHRJ1o4mG3yTlEkXTo=", "owner": "vicinaehq", "repo": "vicinae", - "rev": "d50101fc04c76a9acc3785da5459f6884fc6984b", + "rev": "c80929ea3f44d540a5063ad1262799aa32a7929c", "type": "github" }, "original": { @@ -1289,11 +1324,11 @@ ] }, "locked": { - "lastModified": 1764648680, - "narHash": "sha256-B/nmawJ75/951Xs9ludSxDVd/txFY+odmcbinySqMQo=", + "lastModified": 1767618227, + "narHash": "sha256-9+XVF47E9NCVs249SSsDtr7YdG/23/lCJmWAjQvOfqI=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "897df2f2ad4880563ce801fa29f348a4e98f0a20", + "rev": "1586e49b3908b058e221f11d843eb46392dba17b", "type": "github" }, "original": { @@ -1306,14 +1341,14 @@ "inputs": { "flake-compat": "flake-compat_3", "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1764203689, - "narHash": "sha256-ivb0SqCptyIxx5g8ryRrUL0xrJhLrJPlvZbZjxVaui0=", + "lastModified": 1767919086, + "narHash": "sha256-t9Z7r8yJDbRqoAhm7vsohHAhMGF373NCWt/XeHlZAWw=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "8f7347545dea59b75e40247cc1ed55a42f64dbbf", + "rev": "d7671671de8bd3afcabffefc77c75ed9777b249b", "type": "github" }, "original": { @@ -1350,7 +1385,7 @@ "flake-utils": "flake-utils_4", "gitignore": "gitignore_3", "langref": "langref", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "zig-overlay": "zig-overlay" }, "locked": { diff --git a/modules/home/default.nix b/modules/home/default.nix index 9b0a348c969264f35c546f9528386fba2a600f38..61259dc7c98b1faf4950be94f82fd5776f4de9a6 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -69,8 +69,10 @@ in git = { enable = true; - userName = lib.mkDefault user.name; - userEmail = lib.mkDefault user.email; + settings.user = { + name = lib.mkDefault user.name; + email = lib.mkDefault user.email; + }; ignores = [ (lib.mkIf host.darwin ".DS_Store") # When using Finder (lib.mkIf host.darwin "._*") # When using non-APFS drives @@ -138,8 +140,8 @@ in jujutsu = { settings = { user = { - email = config.programs.git.userEmail; - name = config.programs.git.userName; + name = config.programs.git.settings.user.name; + email = config.programs.git.settings.user.email; }; signing = lib.mkIf (config.programs.git.signing.key != null) { inherit (config.programs.git.signing) key; diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index 6a31c91a848672da9814e0b6bd9e5c5ad48a29f8..e87139d7b90a9538b6e437893ef4fc1a4adca585 100644 --- a/modules/neovim/default.nix +++ b/modules/neovim/default.nix @@ -82,7 +82,7 @@ servers.nixd.init_options.autoArchive = true; }; treesitter = { - enable = true; + enable = false; addDefaultGrammars = true; # this is buggy and keybind.nix overwrites its keymaps anyways incrementalSelection.enable = false; @@ -99,7 +99,7 @@ }; languages = { enableFormat = true; - enableTreesitter = true; + enableTreesitter = false; enableExtraDiagnostics = true; # enable debug adapter protocol by default enableDAP = true; @@ -111,13 +111,13 @@ html.enable = true; nix.enable = true; python.enable = true; - rust.crates.enable = true; rust.enable = true; ts.enable = true; zig.enable = true; # sort-lines: off - nix.lsp.servers = "nixd"; + nix.lsp.servers = [ "nixd" ]; + rust.extensions.crates-nvim.enable = true; }; filetree.neo-tree = { enable = true; diff --git a/packages/autofmt/default.nix b/packages/autofmt/default.nix index fa006e3e7dc0b83bcc7ebb686daafe54b4925e08..45db7d83280d053850fcd1f77fc1a757e338ed38 100644 --- a/packages/autofmt/default.nix +++ b/packages/autofmt/default.nix @@ -6,7 +6,7 @@ pkgs.writeShellApplication { clang-tools deno dprint - nixfmt-rfc-style + nixfmt prettierd # autofmt only runs on a local build of prettier rustfmt zig diff --git a/users/clover/home.nix b/users/clover/home.nix index 39e5db31eb601046124b1fdc6db20717a108aa51..f48f27fa9434e915d801a530c837dd988107dd7c 100644 --- a/users/clover/home.nix +++ b/users/clover/home.nix @@ -1,7 +1,7 @@ { + config, pkgs, host, - lib, ... }: let @@ -64,6 +64,7 @@ in # zsh is the shell i use zsh = { enable = true; + dotDir = "${config.xdg.configHome}/zsh"; shellAliases = { switch = "~/config/switch"; @@ -144,10 +145,10 @@ in }; # use a git-specific email - git.userEmail = "git@paperclover.net"; - git.signing = { - signByDefault = true; - key = lib.mkDefault "C0D577FD799F9D11"; + git = { + settings.user.email = "git@paperclover.net"; + settings.gpg.format = "ssh"; + signing.signByDefault = true; }; jujutsu = { @@ -218,132 +219,19 @@ in }; # ui.graph.style = "square"; revsets = { - log = "ancestors(description(regex:\"^(WIP:|\\\\s+$)\"):: | working_copies() | bookmarks(exact:\"master\")::remote_bookmarks(exact:\"master\") | bookmarks(glob:\"clo/*\")::, 5)"; short-prefixes = "(trunk()..@)::"; }; - # templates.log = "hl_wip(self)"; - - template-aliases = { - # log template, highlighting the WIP commits by making everything else faded out - "hl_wip(commit)" = '' - if(commit.root(), format_root_commit(commit), - label("__commit__", - format_short_commit_header(commit) ++ "\n" ++ - format_commit_description(commit) - ) - ) - ''; - - "format_commit_description(commit)" = '' - label("desc", format_commit_firstline(commit.description().first_line())) ++ - "\n" ++ if( - commit.description().starts_with("WIP:") || commit.current_working_copy(), - commit.description().remove_prefix(commit.description().first_line()).remove_prefix("\n").trim_end() ++ "\n ", - if(commit.description().remove_prefix(commit.description().first_line()).trim().len() > 0, - label("muted", lines_collapsed(commit.description().lines().filter(|x| x.trim().len() > 0).len() - 1)), - " " - ) - ) - ''; - "lines_collapsed(count)" = - ''("[" ++ stringify(count ++ " line" ++ if(count == 1, "", "s")) ++ " collapsed]\n")''; - "format_commit_firstline(line)" = '' - if(line.starts_with("WIP:"), - label("cc_wip", " WIP ") ++ " " ++ format_commit_firstline_a_wip(line.remove_prefix("WIP:").trim()), - format_commit_firstline_a_wip(line) - ) - ''; - "format_commit_firstline_a_wip(line)" = '' - if(line.starts_with("feat:") || line.starts_with("feat("), - label("cc_feat", "feat") ++ format_commit_firstline_a_cc_type(line.remove_prefix("feat")), - if(line.starts_with("fix:") || line.starts_with("fix("), - label("cc_fix", "fix") ++ format_commit_firstline_a_cc_type(line.remove_prefix("fix")), - if(line.starts_with("hotfix:") || line.starts_with("hotfix("), - label("cc_hotfix", "hotfix") ++ format_commit_firstline_a_cc_type(line.remove_prefix("hotfix")), - if(line.starts_with("chore:") || line.starts_with("chore("), - label("cc_chore", "chore") ++ format_commit_firstline_a_cc_type(line.remove_prefix("chore")), - if(line.starts_with("test:") || line.starts_with("test("), - label("cc_other", "test") ++ format_commit_firstline_a_cc_type(line.remove_prefix("test")), - if(line.starts_with("refactor:") || line.starts_with("refactor("), - label("cc_other", "refactor") ++ format_commit_firstline_a_cc_type(line.remove_prefix("refactor")), - if(line.starts_with("perf:") || line.starts_with("perf("), - label("cc_other", "perf") ++ format_commit_firstline_a_cc_type(line.remove_prefix("perf")), - if(line.starts_with("lib:") || line.starts_with("lib("), - label("cc_other", "lib") ++ format_commit_firstline_a_cc_type(line.remove_prefix("lib")), - label("cc_header", line) - )))))))) - ''; - "format_commit_firstline_a_cc_type(rest)" = '' - if(rest.starts_with("(") && rest.contains(")"), - format_firstline_cc_scope(rest, index_of_close_paren(rest)), - format_firstline_a_cc(rest)) - ''; - "format_firstline_cc_scope(rest, index)" = '' - label("cc_scope", rest.substr(0, index)) ++ format_firstline_a_cc(rest.substr(index, rest.len())) - ''; - "format_firstline_a_cc(rest)" = '' - if(rest.starts_with(":"), - label("muted", ":") ++ label("cc_header", rest.remove_prefix(":")), - label("cc_header", rest) - ) - ''; - # sorry! - "index_of_close_paren(line)" = '' - stringify(if(line.substr(1, 2) == ")", "A", - if(line.substr(2, 3) == ")", "AA", - if(line.substr(3, 4) == ")", "AAA", - if(line.substr(4, 5) == ")", "AAAA", - if(line.substr(5, 6) == ")", "AAAAA", - if(line.substr(6, 7) == ")", "AAAAAA", - if(line.substr(7, 8) == ")", "AAAAAAA", - if(line.substr(8, 9) == ")", "AAAAAAAA", - if(line.substr(9, 10) == ")","AAAAAAAAA", - if(line.substr(10, 11) == ")", "AAAAAAAAAA", - if(line.substr(11, 12) == ")", "AAAAAAAAAAA", - if(line.substr(12, 13) == ")", "AAAAAAAAAAAA", - if(line.substr(13, 14) == ")", "AAAAAAAAAAAAA", - if(line.substr(14, 15) == ")", "AAAAAAAAAAAAAA", - if(line.substr(15, 16) == ")", "AAAAAAAAAAAAAAA", - if(line.substr(16, 17) == ")", "AAAAAAAAAAAAAAAA", - if(line.substr(17, 18) == ")", "AAAAAAAAAAAAAAAAA", - if(line.substr(18, 19) == ")", "AAAAAAAAAAAAAAAAAA", - if(line.substr(19, 20) == ")", "AAAAAAAAAAAAAAAAAAA", - if(line.substr(20, 21) == ")", "AAAAAAAAAAAAAAAAAAAA", - "AAAAAAAAAAAAAAAAAAAAA" - ))))))))))))))))))))).len() + 1 - ''; - - "format_short_signature(signature)" = "signature.name()"; - "format_timestamp(timestamp)" = "timestamp.ago()"; - "format_short_commit_header(commit)" = '' - separate(" ", - if(commit.current_working_copy(), label("active_marker", " ACTIVE ")), - if(commit.conflict(), label("conflict_marker", " CONFLICT ")), - format_short_change_id_with_hidden_and_divergent_info(commit), - format_short_signature(commit.author()), - label("muted", "|"), - if(commit.description().trim().len() > 0, label("muted", format_timestamp(commit_timestamp(commit)))), - commit.bookmarks(), - commit.tags(), - commit.working_copies(), - label("muted", "(") ++ - format_short_commit_id(commit.commit_id()) ++ - label("muted", ")"), - if(config("ui.show-cryptographic-signatures").as_boolean(), - format_short_cryptographic_signature(commit.signature())), - ) - ''; - }; - }; }; ssh = { enable = true; + enableDefaultConfig = false; extraConfig = '' SetEnv TERM=xterm-256color ''; matchBlocks = rec { + "*" = { }; zenith = { user = "clo"; port = 222; -- 2.54.0 From 4ce547cd1090c98735622fc88e72ab9bf7e34b5a Mon Sep 17 00:00:00 2001 From: clover caruso Date: Mon, 29 Dec 2025 06:15:52 -0800 Subject: [PATCH 3/3] clover: stuff --- modules/home/default.nix | 9 ++--- users/clover/home.nix | 71 ++++++++++++++------------------- users/clover/paperback/home.nix | 1 - users/clover/work/home.nix | 1 - 4 files changed, 33 insertions(+), 49 deletions(-) diff --git a/modules/home/default.nix b/modules/home/default.nix index 61259dc7c98b1faf4950be94f82fd5776f4de9a6..fc538513d7e2b2bfb7916c71e2a97e1aa8bcc633 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -140,12 +140,11 @@ in jujutsu = { settings = { user = { - name = config.programs.git.settings.user.name; - email = config.programs.git.settings.user.email; + inherit (config.programs.git.settings.user) name email; }; - signing = lib.mkIf (config.programs.git.signing.key != null) { - inherit (config.programs.git.signing) key; - backend = "gpg"; + signing = lib.mkIf (config.programs.git.signing.format != null) { + backend = config.programs.git.signing.format; + key = "~/.ssh/id_ed25519.pub"; # signatures are slow, compute them on push instead of on change. behavior = "drop"; }; diff --git a/users/clover/home.nix b/users/clover/home.nix index f48f27fa9434e915d801a530c837dd988107dd7c..7e413bb4c3b2119ee41154823fb239c50d796f50 100644 --- a/users/clover/home.nix +++ b/users/clover/home.nix @@ -21,18 +21,15 @@ in nh autofmt gnupg + nodejs_24 ]; # packages to install for desktop environments (non-server) desktop = [ - lazygit - jjui ]; # packages to install on all servers server = [ ]; # packages to install on macOS desktops - darwin = [ - raycast - ]; + darwin = [ ]; # packages to install on linux desktops linux = [ ]; @@ -109,46 +106,21 @@ in command jj "$@" fi } - - function push() { - command jj git push "$@" --dry-run - printf "Press any key to continue... " - read -r - if bash -c 'cd $(jj workspace root); bun local-ci'; then - command jj git push "$@" - fi - } - - function pr() { - message=$(jj log -r '@' -T 'description' --no-graph) - if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then - jj desc - message=$(jj log -r '@' -T 'description' --no-graph) - if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then - exit - fi - fi - if [ -n "$1" ]; then - if [[ "clo"/* = "$1" ]]; then - branch="$1"; - else - branch="clo/$1" - fi - command jj git push --named "$branch"=@ - else - command jj git push -c @ - branch="$(jj log -r '@-' -T 'bookmarks.join("\n")' --no-graph | head -1)" - fi - open "$(git remote get-url origin | sed 's/git@github\.com:/https:\/\/github.com\//' | sed 's/\.git$//')/compare/master...$branch?quick_pull=1&labels=awaiting+code+review,awaiting+functionality+review&body=" - } ''; }; - # use a git-specific email git = { + # use a git-specific email settings.user.email = "git@paperclover.net"; - settings.gpg.format = "ssh"; - signing.signByDefault = true; + settings.gpg.ssh.allowedSignersFile = "${pkgs.writeText "allowed_signers" '' + git@paperclover.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAVa1aq1LEj/VXHJYlR5HJpK65lS/9jOL/dAB9ZS1chd + ''}"; + # signing + signing = { + signByDefault = true; + key = "~/.ssh/id_ed25519"; + format = "ssh"; + }; }; jujutsu = { @@ -221,6 +193,15 @@ in revsets = { short-prefixes = "(trunk()..@)::"; }; + aliases = { + "ab" = [ "abandon" ]; + # "ai" = [ + # "util" + # "exec" + # "--" + # "~/jj-ai-sync.sh" + # ]; + }; }; }; @@ -228,15 +209,21 @@ in enable = true; enableDefaultConfig = false; extraConfig = '' + Include ~/.orbstack/ssh/config* + SetEnv TERM=xterm-256color ''; matchBlocks = rec { "*" = { }; zenith = { user = "clo"; - port = 222; + port = 22; + }; + "git.paperclover.net" = zenith; + "paperclover.net" = { + user = "clo"; + port = 22; }; - "nas.paperclover.net" = zenith; }; }; }; diff --git a/users/clover/paperback/home.nix b/users/clover/paperback/home.nix index 47d88a2034872f1efc7c06355eef2e3b004436b3..6686bc71ada574880cc557bb0207d2d8cef33c11 100644 --- a/users/clover/paperback/home.nix +++ b/users/clover/paperback/home.nix @@ -12,7 +12,6 @@ }; home.packages = with pkgs; [ deno - nodejs_22 rustup typescript pm2 diff --git a/users/clover/work/home.nix b/users/clover/work/home.nix index 63ec7800722bf7336ced60fcb9f0b40fd150051f..a6687ddcafbae66923c46d6cd449de1514f6eccc 100644 --- a/users/clover/work/home.nix +++ b/users/clover/work/home.nix @@ -19,7 +19,6 @@ })) doppler deno - nodejs_24 rustup typescript ssm-session-manager-plugin -- 2.54.0