From fe829e19c51f31e59d61bee54395fb569dd49b33 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 13:50:07 +0100 Subject: [PATCH 001/182] fish: Remove right prompt. Put vcs info on terminal bottom line. --- home/common/fish.nix | 81 ++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 51 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 44678fa..d0384e1 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -94,66 +94,45 @@ return 1 end - # Generate prompt - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[2;3m", - "\e[0m", - separate( - " ", - surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), - surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), - if(conflict, ""), - if(empty, ""), - if(divergent, ""), - if(hidden, ""), - ) - ) - ' - ''; - - fish_jj_desc.body = '' - if not command -sq jj || not jj root --quiet &>/dev/null - return 1 - end - - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[0;2;3m", - "\e[0m", - coalesce( - surround( - "\e[1;2;3m❝", - "❞\e[0m", - if( - description.first_line().substr(0, 80).starts_with(description.first_line()), - description.first_line().substr(0, 80), - description.first_line().substr(0, 79) ++ "…" - ) + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround( + "\e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" + ) + ), + "…" ), - "…" ), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), + if(conflict, ""), + if(empty, ""), + if(divergent, ""), + if(hidden, ""), ) - ' + ) + ' ''; fish_prompt.body = '' - echo -e "\033[1;2;38;5;236m" - string pad -c '┄' -w $COLUMNS (fish_jj_desc) - echo -ne "\033[0;3m" + echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) ''; - fish_right_prompt.body = '' - if test $CMD_DURATION -gt 3000 - # Show duration of the last command in seconds - set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.1fs", $1 / $2}') - echo -n "⏳$duration " - end - fish_jj_prompt || fish_vcs_prompt - ''; - transient_prompt_func.body = '' echo string join "" -- (set_color yellow) '❯ ' (set_color normal) From 8ad810254b438ef3b708b47561a35aaabe768a1e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 002/182] nemo: add woodpecker user for woodpecker-agent --- hosts/nemo/woodpecker.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hosts/nemo/woodpecker.nix b/hosts/nemo/woodpecker.nix index 8a4e963..f3cd5ec 100644 --- a/hosts/nemo/woodpecker.nix +++ b/hosts/nemo/woodpecker.nix @@ -4,6 +4,20 @@ ... }: { + + users.users.woodpecker = { + isSystemUser = true; + group = "woodpecker"; + extraGroups = [ + "docker" + "podman" + ]; + createHome = true; + home = "/etc/woodpecker"; + homeMode = "764"; + }; + users.groups.woodpecker = { }; + services.woodpecker-agents.agents.docker = { enable = true; package = pkgs.woodpecker-agent; @@ -27,7 +41,11 @@ ]; # restartIfChanged = false; serviceConfig = { + User = "woodpecker"; + Group = "woodpecker"; + WorkingDirectory = "/etc/woodpecker"; BindPaths = [ "/run/podman/podman.sock" ]; }; }; + } From 010e4bc4d703f0b02e6ef7aac73dc006e0e41fd2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 003/182] ghostty: automatic switching between light/dark themes --- home/common/ghostty.nix | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index caa6992..5ecdc06 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -5,25 +5,11 @@ pkgs, ... }: -let - launch-ghostty = pkgs.writeShellApplication { - name = "launch-ghostty"; - text = '' - if [ "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-dark'" ]; then - theme="theme_dark" - else - theme="theme_light" - fi - exec ghostty --config-file="$HOME/.config/ghostty/$theme" "$@" - ''; - }; -in { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ inputs.ghostty.packages.${pkgs.system}.default - launch-ghostty ]; programs.ghostty = { @@ -56,6 +42,7 @@ in window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; + theme = "light:PatagiaLight,dark:PatagiaDark"; keybind = [ "alt+shift+c=copy_to_clipboard" @@ -76,7 +63,7 @@ in }; }; - xdg.configFile."ghostty/theme_dark".text = '' + xdg.configFile."ghostty/themes/PatagiaDark".text = '' background = #0d1117 foreground = #b2b2b2 cursor-color = #00d992 @@ -100,7 +87,7 @@ in palette = 15=#ffffff ''; - xdg.configFile."ghostty/theme_light".text = '' + xdg.configFile."ghostty/themes/PatagiaLight".text = '' background = #fefeff foreground = #222222 cursor-color = #aa0000 @@ -130,13 +117,13 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; settings = { StartupWMClass = "com.mitchellh.ghostty-local"; - TryExec = "launch-ghostty"; + TryExec = "ghostty"; }; terminal = false; type = "Application"; @@ -147,13 +134,13 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; settings = { StartupWMClass = "com.mitchellh.ghostty-nemo"; - TryExec = "launch-ghostty"; + TryExec = "ghostty"; }; terminal = false; type = "Application"; From 2994a40003ba2fd64ad816630d40fbc00d3edbf2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 004/182] nix: update --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 79dd621..5f5e30f 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1731971697, - "narHash": "sha256-6JNMcpy0z19yOLBRt3eE4Rk4A96kcEsRv5+ym1hkv1c=", + "lastModified": 1732159111, + "narHash": "sha256-dIHQDtvPXsuv0z6DVgK6GvTh/jJn14B7Q9J0gT38Pl4=", "ref": "refs/heads/main", - "rev": "29c3a52e964a97dddaed876ce472aeb167774acf", - "revCount": 8021, + "rev": "63bf16ff00ccac2f730519b4f0dd14cde857792d", + "revCount": 8050, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1731968878, - "narHash": "sha256-+hTCwETOE9N8voTAaF+IzdUZz28Ws3LDpH90FWADrEE=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "a42fa14b53ceab66274a21da480c9f8e06204173", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732002290, - "narHash": "sha256-v17KxlCf0O7hoD9AjiF94T2nuZuh7ZREyI6Ww/Tr4R0=", + "lastModified": 1732173780, + "narHash": "sha256-pszcETwWdItBmb/Z2CqIiTfEiVl3K5TPpgFSwyQrghY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2a9b9e821c7f91eb6ae540925a453f9ebacd0513", + "rev": "151fab1aa35e1cbc6f5caad1e175e3d621d67951", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1731949793, - "narHash": "sha256-ZXZInL8J38JaVpglSPa78ptn1zlqbaRHDtpa73CqpfI=", + "lastModified": 1732143030, + "narHash": "sha256-XKPsbjqHmwbiyzZdqNtw0tKxWLGFCkVB1+Awbi8tjQU=", "owner": "neovim", "repo": "neovim", - "rev": "989a37a594649528f28432388c0e7e28e8be2753", + "rev": "07db909eb5ae2a559771068be64439eba394cd61", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1731676054, - "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { From 4e803491d6b652bb581752125315860a60244792 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 16:40:26 +0100 Subject: [PATCH 005/182] nvim: add <Leader>ub to toggle light/dark background --- home/common/nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 90f5db6..88c9353 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -147,5 +147,8 @@ vim.keymap.set("n", "K", function() offset_x = 2, } end, {}) +vim.keymap.set("n", "<Leader>ub", function() + vim.o.background = (vim.o.background == "light" and "dark" or "light") + end, opts("Toggle dark/light background")) From e3858e3adf847e1ae9e87dca19003e9db5b362e4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:09:59 +0100 Subject: [PATCH 006/182] nvim: blink-cmp has been merged to unstable --- home/common/nvim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 04b5299..f5fa34b 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -59,7 +59,7 @@ } { - plugin = pkgs.nixpkgs-unstable.vimPlugins.blink-cmp; + plugin = blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ From b09da9efbec2df0554741cf38f36e54252b22bab Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:11:29 +0100 Subject: [PATCH 007/182] ghostty+nvim: try on some oled black background --- home/common/ghostty.nix | 2 +- home/common/nvim/dieter/lua/dieter/init.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 5ecdc06..6e64ed6 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,7 +64,7 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = #0d1117 + background = #000000 foreground = #b2b2b2 cursor-color = #00d992 selection-background = #d7d7d7 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 1e0d459..b232d82 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,7 +39,7 @@ local colors = { }, dark = { - background = hsl(216, 28, 7), + background = hsl(216, 28, 0), foreground = hsl(0, 0, 80), accent1 = hsl(12, 100, 50), From 18a27db98390f7c4a9a54e7a905a71d9a7de6426 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:11:29 +0100 Subject: [PATCH 008/182] nix: update --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 5f5e30f..6e34ac7 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732159111, - "narHash": "sha256-dIHQDtvPXsuv0z6DVgK6GvTh/jJn14B7Q9J0gT38Pl4=", + "lastModified": 1732647216, + "narHash": "sha256-blOW/hA7AxMlltpIVM08iy0YYWWjmYSbOiZsPj9Ocms=", "ref": "refs/heads/main", - "rev": "63bf16ff00ccac2f730519b4f0dd14cde857792d", - "revCount": 8050, + "rev": "c5a711a0e3e23ce5b89b49609c87f85c990a8306", + "revCount": 8112, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732173780, - "narHash": "sha256-pszcETwWdItBmb/Z2CqIiTfEiVl3K5TPpgFSwyQrghY=", + "lastModified": 1732602555, + "narHash": "sha256-S6LcEOdbc5YlHDXJvCH5H03DNuBwrLBkRic+EQrmd/8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "151fab1aa35e1cbc6f5caad1e175e3d621d67951", + "rev": "c868a93ed4dcb19861474661d3f8cf5b8bbb01d2", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732143030, - "narHash": "sha256-XKPsbjqHmwbiyzZdqNtw0tKxWLGFCkVB1+Awbi8tjQU=", + "lastModified": 1732578787, + "narHash": "sha256-2vEA6SuddlQh6agDXTk2Um1NSSxcXzLmErOUdJ9ffGE=", "owner": "neovim", "repo": "neovim", - "rev": "07db909eb5ae2a559771068be64439eba394cd61", + "rev": "66bb1e577c96d8eb63c04dcc737394b4ce2b0f5d", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { From e7d96ac4c0a81b0c7eebacfe0879041b81ff74aa Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 24 Nov 2024 19:18:53 +0100 Subject: [PATCH 009/182] fish: fix viddy arguments for `w` --- home/common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index d0384e1..4452d23 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -162,7 +162,7 @@ tree = "eza --tree"; top = "btm --basic --enable_cache_memory --battery"; ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; - w = "viddy -n1 $history[1]"; + w = "viddy $history[1]"; xc = "fish_clipboard_copy"; }; }; From 9a31f83e80178dd8994e0997663bc2541fc73d2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 010/182] ghostty+nvim: color tweaks to please the eyeballs --- home/common/ghostty.nix | 4 ++-- home/common/nvim/dieter/lua/dieter/init.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6e64ed6..8cd92f2 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,8 +64,8 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = #000000 - foreground = #b2b2b2 + background = "#14151a" + foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 selection-foreground = #000000 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index b232d82..243c8bf 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,8 +39,8 @@ local colors = { }, dark = { - background = hsl(216, 28, 0), - foreground = hsl(0, 0, 80), + background = hsl(230, 13, 9), + foreground = hsl(216, 12, 84), accent1 = hsl(12, 100, 50), From dfa99a5d4c7a1c45cf59f966655cafe314d9393f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 23:31:06 +0100 Subject: [PATCH 011/182] ghostty: run tmux in shell --- home/common/ghostty.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 8cd92f2..ecb79c3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,7 +64,9 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = "#14151a" + # background = "#14151a" + # foreground = "#d1d5db" + background = "#000000" foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 @@ -117,7 +119,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "fish -c tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -134,7 +136,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo fish -c tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 71660705f0ce156dc3ce216d29572e54ae9f07a8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 012/182] nvim: mini.pick ripgrep->rg tool name --- home/common/nvim/mini.lua | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 2c71357..f1de03f 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -69,7 +69,7 @@ MiniPick.registry.files_root = function(local_opts) local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) local_opts.cwd = root_dir local_opts.tool = "rg" - return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "ripgrep" } }) + return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "rg" } }) end MiniPick.registry.grep_live_root = function(local_opts) local root_patterns = { ".jj", ".git" } @@ -130,9 +130,6 @@ require("mini.pick").registry.buffers = function(local_opts, opts) return require("mini.pick").start(opts) end - - - local miniclue = require('mini.clue') miniclue.setup({ -- cute prompts about bindings triggers = { From a7aa9c7a7204061d601dbbb63779e000682b1ad0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 013/182] vcs+rg: fix ignore globs --- home/common/utils.nix | 11 +++++++---- home/common/vcs.nix | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 0a608da..d9b5abe 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -53,10 +53,13 @@ ripgrep = { enable = true; arguments = [ - "--glob=!.git/*" - "--glob=!.jj/*" - "--glob=!result/*" - "--glob=!target/*" + "--glob=!**/.cache/*" + "--glob=!**/.direnv/*" + "--glob=!**/.git/*" + "--glob=!**/.jj/*" + "--glob=!**/{node_modules,.npm,dist}/*" + "--glob=!**/target/*" + "--glob=!**/result/*" ]; }; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index fde4105..34ec497 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -116,9 +116,12 @@ "*.so" "*.swp" ".direnv" + ".env" ".idea" + ".nixos-test-history" ".null-ls_*" - "result" + "/result*" + "/target" ]; signing = { From e1c3fd6cb8771c188f8b99d9531075bef4f59c64 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 014/182] ghostty+nvim: Add oled mode for darker darks on laptop --- home/common/default.nix | 1 + home/common/ghostty.nix | 10 ++++++---- home/common/nvim/dieter/lua/dieter/init.lua | 2 +- home/dln/dinky.nix | 4 ++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/home/common/default.nix b/home/common/default.nix index 3a2a686..e66ef79 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -19,4 +19,5 @@ ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; + options.patagia.oled.enable = lib.mkEnableOption "Darker darks on oled screens"; } diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ecb79c3..d0842e5 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -63,10 +63,12 @@ }; }; - xdg.configFile."ghostty/themes/PatagiaDark".text = '' - # background = "#14151a" - # foreground = "#d1d5db" - background = "#000000" + xdg.configFile."ghostty/themes/PatagiaDark".text = + let + background = if config.patagia.oled.enable then "#000000" else "#14151a"; + in + '' + background = "${background}" foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 243c8bf..0e39bd7 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,7 +39,7 @@ local colors = { }, dark = { - background = hsl(230, 13, 9), + background = "NONE", foreground = hsl(216, 12, 84), accent1 = hsl(12, 100, 50), diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index ba0b79e..fd47c55 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -5,6 +5,10 @@ ./desktop.nix ]; + patagia = { + oled.enable = true; + }; + dconf.settings = { "org/gnome/shell" = { enabled-extensions = [ "Battery-Health-Charging@maniacx.github.com" ]; From 3dee43330ac8a488a2417acf192f7eeacaaf157f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 015/182] nvim: clear Normal group and use terminal defaults for background+foreground --- home/common/nvim/dieter/lua/dieter/init.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 0e39bd7..4ba8e4c 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -2,8 +2,8 @@ local hsl = require("dieter.hsl").hslToHex local colors = { light = { - background = hsl(240, 100, 100), - foreground = hsl(0, 0, 13), + background = "NONE", + foreground = "NONE", accent1 = hsl(12, 100, 50), @@ -40,7 +40,7 @@ local colors = { dark = { background = "NONE", - foreground = hsl(216, 12, 84), + foreground = "NONE", accent1 = hsl(12, 100, 50), From 38a179be129014b8714338912de02d33ee7dfbfb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 016/182] README --- README.md | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index ea9d7aa..2ffa21f 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,3 @@ -# NixOS Config +# Configuration and various sundries -IT in a box! - -## Bootstrapping from a fresh NixOS installation - -1. Install NixOS -2. Clone this repo: - - ``` - nix-shell -p git --command 'git clone https://patagia.dev/dln/nixos-config.git' - ``` - -3. Ensure host configuration exists at `./nixos-config/hosts/${HOSTNAME}` and contains at minimum the hardware configuration. The NixOS installer will write this out to `/etc/nixos/hardware-configuration.nix`. -4. Apply configuration: - ``` - sudo nixos-rebuild boot --flake ./nixos-config#${HOSTNAME} - ``` - -## Use - -1. Clone this repo somewhere convenient, like `~/src/shelman/nixos-config` -2. Apply configuration: `just switch` - -## Update - -Update nixpkgs and switch: `just update` - -# Home Manager - -`just home-switch` +IT in a box. From b0668e2ef766583757e8821d34d9cc8a24796e1a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 017/182] nvim: Add blink.compat for nvim-cmp compatibility for blink.cmp https://github.com/Saghen/blink.compat --- home/common/nvim/default.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f5fa34b..eade3f0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -94,6 +94,22 @@ ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "blink.compat"; + src = pkgs.fetchFromGitHub { + owner = "saghen"; + repo = "blink.compat"; + rev = "cd2d3a040b76ad0eeab9a3bba48bc4c2b9d703bf"; # v1.0.2 + hash = "sha256-4uoehv/qe74IivgXc69ekYLod3Zo+oPUvXJHtt4wc2U="; + }; + }; + type = "lua"; + config = '' + require('blink.compat').setup() + ''; + } + { plugin = codeium-nvim; type = "lua"; From b6b4abddf52608c823dee6a526906ffe8ab09f2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 018/182] =?UTF-8?q?Revert=20running=20tmux=20from=20fish,?= =?UTF-8?q?=20set=20ripgrep=20config=20explicitly.=20There=20should=20be?= =?UTF-8?q?=20a=20better=20way=20to=20do=20this=3F=20=F0=9F=A4=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/common/ghostty.nix | 4 ++-- home/common/nvim/init.lua | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index d0842e5..025b156 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "fish -c tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -138,7 +138,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo fish -c tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 88c9353..5295c24 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -1,3 +1,5 @@ +vim.env.RIPGREP_CONFIG_PATH = vim.env.HOME .. "/.config/ripgrep/ripgreprc" + vim.g.mapleader = ' ' vim.g.maplocalleader = "," From 4dadbe3542ea8c43af593791e6dd971c4cd524b6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 019/182] nix: update --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 6e34ac7..2f56044 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1732722421, + "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732647216, - "narHash": "sha256-blOW/hA7AxMlltpIVM08iy0YYWWjmYSbOiZsPj9Ocms=", + "lastModified": 1732920523, + "narHash": "sha256-/Udch6RRLBSjluDXjQHWpiYFFJR15g+qV263ibVBwoc=", "ref": "refs/heads/main", - "rev": "c5a711a0e3e23ce5b89b49609c87f85c990a8306", - "revCount": 8112, + "rev": "3c637a2777885dab9f8bb9d2b7c36411d62e1e4c", + "revCount": 8136, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732482255, - "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", + "lastModified": 1732884235, + "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", + "rev": "819f682269f4e002884702b87e445c82840c68f2", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732602555, - "narHash": "sha256-S6LcEOdbc5YlHDXJvCH5H03DNuBwrLBkRic+EQrmd/8=", + "lastModified": 1732925246, + "narHash": "sha256-MjqyzOEa6s9OGO8SMh5C2kqo57+iSNsgDbzPBbpi4QU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c868a93ed4dcb19861474661d3f8cf5b8bbb01d2", + "rev": "7461a0b228bb48bb02af086f8b9ee9a83583120b", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732578787, - "narHash": "sha256-2vEA6SuddlQh6agDXTk2Um1NSSxcXzLmErOUdJ9ffGE=", + "lastModified": 1732903628, + "narHash": "sha256-JF8zmoLdqmbKCSS5Smf/Yj0jEl5f+qKhSubhPo/BvUM=", "owner": "neovim", "repo": "neovim", - "rev": "66bb1e577c96d8eb63c04dcc737394b4ce2b0f5d", + "rev": "2833925cfc688786759d6a980a1ad62b62d20570", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732238832, - "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", + "lastModified": 1732617236, + "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", + "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1731797254, - "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", + "lastModified": 1732749044, + "narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", + "rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732238832, - "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", + "lastModified": 1732937961, + "narHash": "sha256-B5pYT+IVaqcrfOekkwKvx/iToDnuQWzc2oyDxzzBDc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", + "rev": "4703b8d2c708e13a8cab03d865f90973536dcdf5", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1732837521, + "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", "type": "github" }, "original": { From 761b506dacdc09ea80f4c8ca92bde86153a55fc2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 020/182] desktop: nerd-fonts are split into separate packages now --- common/desktop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 52cc9d4..ebf6c6d 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -57,10 +57,9 @@ in }; packages = with pkgs; [ inter - jetbrains-mono liberation_ttf monaspace - (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + nerd-fonts.symbols-only noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji From 0357c7ff0534af1315096579601be1eba2dd8f77 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 021/182] ghostty: add .desktop for secondary tmux session --- home/common/ghostty.nix | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 025b156..c1fbc4b 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s main"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -133,12 +133,29 @@ type = "Application"; }; + ghostty-local-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -s secondary -t main"''; + genericName = "Ghostty (local) Secondary"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (local) Secondary"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-local-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; + ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s main"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 7a4712c057270ca54916e7fcbb6e87d09cd52c3b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 022/182] chore: typo --- common/laptop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/laptop.nix b/common/laptop.nix index a18c765..b91a011 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -7,12 +7,11 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.patagia.podman; in { options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; - config = mkIf cfg.enable { + config = mkIf config.laptop.enable { environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; services.fprintd.enable = true; From 37ddc9161358b2c81549b6449c242e07feef455c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 023/182] nvim: upgrade blink-cmp. lsp config for web stuff. --- home/common/nvim/default.nix | 43 +++++++++++---------- home/common/nvim/lsp.lua | 73 ++++++++++++++++++------------------ pkgs/blink-cmp/default.nix | 45 ++++++++++++++++++++++ pkgs/default.nix | 1 + 4 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 pkgs/blink-cmp/default.nix diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index eade3f0..ce2f78b 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -42,6 +42,7 @@ shellcheck shfmt stylua + superhtml vscode-langservers-extracted ]; @@ -59,7 +60,7 @@ } { - plugin = blink-cmp; + plugin = pkgs.blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ @@ -68,27 +69,31 @@ ["<PageDown>"] = { "scroll_documentation_down" }, ["<PageUp>"] = { "scroll_documentation_up" }, }, - trigger = { - completion = { - show_in_snippet = true, - }, - signature_help = { - enabled = true, - }, - }, - windows = { - autocomplete = { - border = 'none', - selection = 'preselect', + completion = { + accept = { + auto_brackets = { + enabled = true, + }, }, + documentation = { - border = 'rounded', - auto_show = false, + auto_show = true, auto_show_delay_ms = 800, + window = { + border = 'rounded', + }, + ghost_text = { + enabled = true, + }, }, - signature_help = { - border = 'rounded', + + signature = { + enabled = true, + window = { + border = 'rounded', + }, }, + }, }) ''; @@ -100,8 +105,8 @@ src = pkgs.fetchFromGitHub { owner = "saghen"; repo = "blink.compat"; - rev = "cd2d3a040b76ad0eeab9a3bba48bc4c2b9d703bf"; # v1.0.2 - hash = "sha256-4uoehv/qe74IivgXc69ekYLod3Zo+oPUvXJHtt4wc2U="; + rev = "78f3f7187ff4a1444e952548c556d936da8f72fc"; # v2.1.2 + hash = "sha256-aqHDwrzPOyOw9UbJlQX10/cVQwNHg4v6i9jSm+pNKZc="; }; }; type = "lua"; diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 7a8d0c5..0123089 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,44 +1,43 @@ -local configs = require('lspconfig.configs') local lspconfig = require("lspconfig") -local capabilities = vim.lsp.protocol.make_client_capabilities() local servers = { - 'gopls', - 'ts_ls', -} + cssls = {}, + gopls = {}, + html = {}, + jsonls = {}, + superhtml = {}, + ts_ls = {}, -for _, ls in ipairs(servers) do - lspconfig[ls].setup { - capabilities = capabilities, - } -end - -lspconfig.nixd.setup({ - capabilities = capabilities, - cmd = { "nixd" }, - settings = { - nixd = { - nixpkgs = { expr = "import <nixpkgs> { }" }, - formatting = { command = { "nixfmt" } }, - options = {}, - }, - }, -}) - -lspconfig.lua_ls.setup({ - capabilities = capabilities, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - path = vim.split(package.path, ";"), - }, - diagnostics = { globals = { "vim", "hs" } }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + lua_ls = { + settings = { + Lua = { + runtime = { + version = "LuaJIT", + path = vim.split(package.path, ";"), + }, + diagnostics = { globals = { "vim", "hs" } }, + workspace = { + library = { + [vim.fn.expand("$VIMRUNTIME/lua")] = true, + [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + }, }, }, }, }, -}) + + nixd = { + cmd = { "nixd" }, + settings = { + nixd = { + nixpkgs = { expr = "import <nixpkgs> { }" }, + formatting = { command = { "nixfmt" } }, + options = {}, + }, + }, + }, +} + +for server, config in pairs(servers) do + config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities) + lspconfig[server].setup(config) +end diff --git a/pkgs/blink-cmp/default.nix b/pkgs/blink-cmp/default.nix new file mode 100644 index 0000000..e9307e4 --- /dev/null +++ b/pkgs/blink-cmp/default.nix @@ -0,0 +1,45 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + vimUtils, +}: +let + version = "0.7.3"; + src = fetchFromGitHub { + owner = "Saghen"; + repo = "blink.cmp"; + rev = "refs/tags/v${version}"; + hash = "sha256-nxiODLKgGeXzN5sqkLWU0PcsuSSB1scSzTC5qyCxLCI="; + }; + libExt = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; + blink-fuzzy-lib = rustPlatform.buildRustPackage { + inherit version src; + pname = "blink-fuzzy-lib"; + env = { + # TODO: remove this if plugin stops using nightly rust + RUSTC_BOOTSTRAP = true; + }; + useFetchCargoVendor = true; + cargoHash = "sha256-XXI2jEoD6XbFNk3O8B6+aLzl1ZcJq1VinQXb+AOw8Rw="; + }; +in +vimUtils.buildVimPlugin { + pname = "blink-cmp"; + inherit version src; + preInstall = '' + mkdir -p target/release + ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} + ''; + meta = { + description = "Performant, batteries-included completion plugin for Neovim"; + homepage = "https://github.com/saghen/blink.cmp"; + maintainers = with lib.maintainers; [ + balssh + redxtech + ]; + }; + doInstallCheck = true; + nvimRequireCheck = "blink-cmp"; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index ab3485b..1ee0f62 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ pkgs: { + blink-cmp = pkgs.callPackage ./blink-cmp { }; gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; lazyjj = pkgs.callPackage ./lazyjj { }; From dc126a49d6df2482c80cc701ae194ee609be5467 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 024/182] nvim: add harper ls --- home/common/nvim/default.nix | 1 + home/common/nvim/lsp.lua | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index ce2f78b..152649f 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -30,6 +30,7 @@ go gopls gotools + harper lua-language-server nil nixd diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 0123089..fc149a2 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -7,6 +7,13 @@ local servers = { superhtml = {}, ts_ls = {}, + harper_ls = { + filetypes = { + "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", + "nix", "python", "ruby", "rust", "text", "toml", "typescript", "zig", + } + }, + lua_ls = { settings = { Lua = { From c94ce60795d70550d5655a56064d5a7a5df8d7e1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 025/182] ghostty: use hardcoded session names in tmux --- home/common/ghostty.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index c1fbc4b..977eedc 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -D -s main -t main"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -138,7 +138,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -s secondary -t main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -D -s secondary -t main"''; genericName = "Ghostty (local) Secondary"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local) Secondary"; @@ -155,7 +155,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -D -s main -t main"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 5c319ac288e3dbcaac73224774f09e582df3ce5b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 026/182] nvim: Iterate on colors --- home/common/nvim/dieter/lua/dieter/init.lua | 33 ++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 4ba8e4c..e803a36 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -42,16 +42,18 @@ local colors = { background = "NONE", foreground = "NONE", - accent1 = hsl(12, 100, 50), + accent1 = hsl(202, 57, 57), -- Blue + accent2 = hsl(40, 57, 57), -- Yellow - dimmed = hsl(0, 0, 25), - dimmed_subtle = hsl(0, 0, 50), + dimmed = hsl(212, 19, 25), + -- dimmed_subtle = hsl(212, 19, 70), + dimmed_subtle = hsl(212, 5, 65), - highlight_subtle = hsl(0, 0, 6), + highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), - string = hsl(96, 50, 70), - comment = hsl(220, 50, 60), + string = hsl(96, 35, 60), + comment = hsl(2, 69, 68), comment_error = hsl(2, 85, 50), diagnostic_error = hsl(353, 100, 45), @@ -71,10 +73,6 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - -- dialog_bg = background, - -- dialog_fg = hsl(216, 70, 80), - -- dialog_bg = hsl(216, 25, 20), - -- selection = hsl(216, 25, 33), selection = hsl(213, 60, 40), cmp_bg = hsl(218, 30, 13), @@ -105,7 +103,7 @@ local theme = { Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, - String = { fg = c.string }, + String = { fg = c.string, italic = true }, Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, @@ -128,7 +126,8 @@ local theme = { ["@function"] = { link = "NormalNC" }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, - ["@lsp.type.variable"] = { fg = c.dimmed_subtle }, + ["@variable.parameter"] = { fg = c.accent2 }, + ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, @@ -148,8 +147,13 @@ local theme = { DiagnosticSignInfo = { fg = c.diagnostic_info }, DiagnosticSignWarn = { fg = c.diagnostic_warning }, LineNr = { fg = c.dimmed, italic = true }, - IndentLine = { fg = c.background }, - IndentLineCurrent = { fg = c.dimmed }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + + IndentLine = { fg = c.dimmed }, + IndentLineCurrent = { fg = c.dimmed_subtle }, + MiniIndentscopeSymbol = { link = "IndentLine" }, + MiniIndentscopeSymbolOff = { link = "IndentLine" }, + TreesitterContext = { reverse = true }, TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, InclineNormal = { bg = c.background }, @@ -200,6 +204,7 @@ local theme = { Visual = { bg = c.selection }, LspReferenceText = { fg = c.highlight_intense, undercurl = true }, + LspInlayHint = { fg = c.accent1, italic = true, bold = true }, } vim.cmd("hi clear") From aed9af6f4582bf87a817deb2b7ce72484818004d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 027/182] nvim: enable inlay hints + toggling --- flake.lock | 56 ++++++++++++++++----------------- home/common/nvim/default.nix | 24 +++++++++++++- home/common/nvim/init.lua | 2 +- home/common/nvim/lsp.lua | 18 ++++++++++- home/common/nvim/rust.lua | 40 +++++++++++++++++++++++ home/common/nvim/treesitter.nix | 1 + 6 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 home/common/nvim/rust.lua diff --git a/flake.lock b/flake.lock index 2f56044..294813a 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733269028, + "narHash": "sha256-kVq/jAKKtbvWwbL9wf0SKDxtxsC5Gb+nlIYEFnyXhGA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "e37654df08605b510ad84eceaafcc7248495e843", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732920523, - "narHash": "sha256-/Udch6RRLBSjluDXjQHWpiYFFJR15g+qV263ibVBwoc=", + "lastModified": 1733235265, + "narHash": "sha256-BZBmyv2gY4SmanxCM0ZVYhYx7t2/Az/okDOQj+4RIso=", "ref": "refs/heads/main", - "rev": "3c637a2777885dab9f8bb9d2b7c36411d62e1e4c", - "revCount": 8136, + "rev": "50dc4b75d73bab7631e22e19e940331ad7ac8cfd", + "revCount": 8155, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732884235, - "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", + "lastModified": 1733317578, + "narHash": "sha256-anN/LcP5IuqEARvhPETg1vnbyG3IQ0wdvSAYEJfIQzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "819f682269f4e002884702b87e445c82840c68f2", + "rev": "ad48eb25cd0b00ce730da00fa1f8e6e6c27b397d", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732925246, - "narHash": "sha256-MjqyzOEa6s9OGO8SMh5C2kqo57+iSNsgDbzPBbpi4QU=", + "lastModified": 1733314815, + "narHash": "sha256-FxQzRALeGEfZg7ZA+ArlGBbs3Jtwd7Tr7+E6iucHKDA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7461a0b228bb48bb02af086f8b9ee9a83583120b", + "rev": "7545e949aa9bc2396130191100f1fbf9765bc448", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732903628, - "narHash": "sha256-JF8zmoLdqmbKCSS5Smf/Yj0jEl5f+qKhSubhPo/BvUM=", + "lastModified": 1733247868, + "narHash": "sha256-TGXXXV/jWUBF2ZBiYt6RKIvUGpsefDe/RSXnUzejxMU=", "owner": "neovim", "repo": "neovim", - "rev": "2833925cfc688786759d6a980a1ad62b62d20570", + "rev": "ae93c7f369a174f3d738ab55030de2c9dfc10c57", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732617236, - "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", + "lastModified": 1733097829, + "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", + "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1732749044, - "narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=", + "lastModified": 1733220138, + "narHash": "sha256-Yh5XZ9yVurrcYdNTSWxYgW4+EJ0pcOqgM1043z9JaRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685", + "rev": "bcb68885668cccec12276bbb379f8f2557aa06ce", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732937961, - "narHash": "sha256-B5pYT+IVaqcrfOekkwKvx/iToDnuQWzc2oyDxzzBDc4=", + "lastModified": 1733097829, + "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4703b8d2c708e13a8cab03d865f90973536dcdf5", + "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1732837521, - "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 152649f..b5599db 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -50,7 +50,6 @@ plugins = with pkgs.vimPlugins; [ friendly-snippets go-nvim - rustaceanvim targets-vim ts-comments-nvim @@ -116,6 +115,23 @@ ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "inlay-hints"; + src = pkgs.fetchFromGitHub { + owner = "MysticalDevil"; + repo = "inlay-hints.nvim"; + rev = "af84dee42cd118af6d592b06c1c0e45d6432a6c0"; # 2024-08-23 + hash = "sha256-DZVtFAUK9c8GInp+JdCQ1BKe0dkAheHKI67oxdMmA24="; + }; + }; + type = "lua"; + config = '' + require('inlay-hints').setup() + require("inlay-hints.utils").enable_inlay_hints() + ''; + } + { plugin = codeium-nvim; type = "lua"; @@ -185,6 +201,12 @@ type = "lua"; config = lib.fileContents ./mini.lua; } + + { + plugin = rustaceanvim; + type = "lua"; + config = lib.fileContents ./rust.lua; + } ]; }; } diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 5295c24..fbb6738 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -152,5 +152,5 @@ vim.keymap.set("n", "K", function() vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) - +vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index fc149a2..164c0cb 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,12 +1,27 @@ local lspconfig = require("lspconfig") local servers = { cssls = {}, - gopls = {}, html = {}, jsonls = {}, superhtml = {}, ts_ls = {}, + gopls = { + settings = { + gopls = { + hints = { + rangeVariableTypes = true, + parameterNames = true, + constantValues = true, + assignVariableTypes = true, + compositeLiteralFields = true, + compositeLiteralTypes = true, + functionTypeParameters = true, + }, + }, + }, + }, + harper_ls = { filetypes = { "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", @@ -22,6 +37,7 @@ local servers = { path = vim.split(package.path, ";"), }, diagnostics = { globals = { "vim", "hs" } }, + hint = { enable = true }, workspace = { library = { [vim.fn.expand("$VIMRUNTIME/lua")] = true, diff --git a/home/common/nvim/rust.lua b/home/common/nvim/rust.lua new file mode 100644 index 0000000..982daa7 --- /dev/null +++ b/home/common/nvim/rust.lua @@ -0,0 +1,40 @@ +vim.g.rustaceanvim = { + server = { + settings = { + ["rust-analyzer"] = { + inlayHints = { + bindingModeHints = { + enable = false, + }, + chainingHints = { + enable = true, + }, + closingBraceHints = { + enable = true, + minLines = 25, + }, + closureReturnTypeHints = { + enable = "never", + }, + lifetimeElisionHints = { + enable = "never", + useParameterNames = false, + }, + maxLength = 25, + parameterHints = { + enable = true, + }, + reborrowHints = { + enable = "never", + }, + renderColons = true, + typeHints = { + enable = true, + hideClosureInitialization = false, + hideNamedConstructor = false, + }, + }, + }, + }, + }, +} diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index 4fb87ec..d18b8ae 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -13,6 +13,7 @@ plugins = with pkgs.vimPlugins; [ ts-comments-nvim nvim-ts-context-commentstring + playground { plugin = nvim-treesitter-context; From 4465aa5abc8a1be9d0ce22a1fcd36bb29b40c35f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 5 Dec 2024 09:36:56 +0100 Subject: [PATCH 028/182] chore: fix typo --- common/laptop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/laptop.nix b/common/laptop.nix index b91a011..2e0d6da 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -11,7 +11,7 @@ in { options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; - config = mkIf config.laptop.enable { + config = mkIf config.patagia.laptop.enable { environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; services.fprintd.enable = true; From da605daf0867c2d28cdd0bb105ff5460d9db3ce3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 5 Dec 2024 09:36:56 +0100 Subject: [PATCH 029/182] jj: upgrade to 0.24.0 --- flake.lock | 80 ++--- pkgs/jujutsu-openssh/Cargo.lock | 498 ++++++++++++++++--------------- pkgs/jujutsu-openssh/default.nix | 6 +- 3 files changed, 297 insertions(+), 287 deletions(-) diff --git a/flake.lock b/flake.lock index 294813a..77d0531 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1732722421, - "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1733269028, - "narHash": "sha256-kVq/jAKKtbvWwbL9wf0SKDxtxsC5Gb+nlIYEFnyXhGA=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "e37654df08605b510ad84eceaafcc7248495e843", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733235265, - "narHash": "sha256-BZBmyv2gY4SmanxCM0ZVYhYx7t2/Az/okDOQj+4RIso=", + "lastModified": 1733686035, + "narHash": "sha256-uhbYV9gdMAPgBFm5CiH3defxuzrVXD1HsxkZPUqMxoQ=", "ref": "refs/heads/main", - "rev": "50dc4b75d73bab7631e22e19e940331ad7ac8cfd", - "revCount": 8155, + "rev": "40ad31deea3d236ad762f2c21f2834af3b767bdb", + "revCount": 8184, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1732021966, - "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1730903510, - "narHash": "sha256-mnynlrPeiW0nUQ8KGZHb3WyxAxA3Ye/BH8gMjdoKP6E=", + "lastModified": 1733333617, + "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "b89ac4d66d618b915b1f0a408e2775fe3821d141", + "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733317578, - "narHash": "sha256-anN/LcP5IuqEARvhPETg1vnbyG3IQ0wdvSAYEJfIQzA=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "ad48eb25cd0b00ce730da00fa1f8e6e6c27b397d", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1733314815, - "narHash": "sha256-FxQzRALeGEfZg7ZA+ArlGBbs3Jtwd7Tr7+E6iucHKDA=", + "lastModified": 1733618008, + "narHash": "sha256-8MM4WF1AapF9QWDJhoXGLcEKrLE3S75QA74YEQt0A18=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7545e949aa9bc2396130191100f1fbf9765bc448", + "rev": "b75d6c354368841ce4291142b79882362e574f61", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733247868, - "narHash": "sha256-TGXXXV/jWUBF2ZBiYt6RKIvUGpsefDe/RSXnUzejxMU=", + "lastModified": 1733614558, + "narHash": "sha256-JcI4DL5fn0KGX5TxoSLIxwTfi6rikRHsG/gI/7SUDIg=", "owner": "neovim", "repo": "neovim", - "rev": "ae93c7f369a174f3d738ab55030de2c9dfc10c57", + "rev": "4fcc5cd34a75df9a3088c83dc1a87aa6e37051e1", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733097829, - "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", + "lastModified": 1733376361, + "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", + "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733220138, - "narHash": "sha256-Yh5XZ9yVurrcYdNTSWxYgW4+EJ0pcOqgM1043z9JaRc=", + "lastModified": 1733384649, + "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bcb68885668cccec12276bbb379f8f2557aa06ce", + "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733097829, - "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", + "lastModified": 1733376361, + "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", + "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "lastModified": 1733581040, + "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", "type": "github" }, "original": { diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index f9d6918..5146150 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "arc-swap" @@ -178,17 +178,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "getrandom", - "instant", - "rand", -] - [[package]] name = "backtrace" version = "0.3.73" @@ -204,17 +193,14 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] [[package]] name = "blake2" @@ -236,9 +222,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", "regex-automata 0.4.8", @@ -357,9 +343,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" dependencies = [ "clap_builder", "clap_derive", @@ -376,9 +362,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" dependencies = [ "anstream", "anstyle", @@ -389,11 +375,14 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.37" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595" +checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" dependencies = [ "clap", + "clap_lex", + "is_executable", + "shlex", ] [[package]] @@ -585,7 +574,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.6.0", + "bitflags", "crossterm_winapi", "libc", "mio 0.8.11", @@ -727,21 +716,14 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "esl01-renderdag" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1840969ab8be31e186bb6d2f672d586dcd203dd4019a80dc1277a14686eca9" -dependencies = [ - "bitflags 1.3.2", - "itertools 0.10.5", -] - [[package]] name = "faster-hex" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" +dependencies = [ + "serde", +] [[package]] name = "fastrand" @@ -890,7 +872,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.23.0" +version = "0.24.0" dependencies = [ "prost-build", ] @@ -927,7 +909,7 @@ name = "git2" version = "0.19.0" source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", "libgit2-sys", "log", @@ -938,9 +920,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.66.0" +version = "0.68.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9048b8d1ae2104f045cb37e5c450fc49d5d8af22609386bfc739c11ba88995eb" +checksum = "b04c66359b5e17f92395abc433861df0edf48f39f3f590818d1d7217327dd6a1" dependencies = [ "gix-actor", "gix-attributes", @@ -979,28 +961,28 @@ dependencies = [ "gix-worktree", "once_cell", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-actor" -version = "0.32.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc19e312cd45c4a66cd003f909163dc2f8e1623e30a0c0c6df3776e89b308665" +checksum = "32b24171f514cef7bb4dfb72a0b06dacf609b33ba8ad2489d4c4559a03b7afb3" dependencies = [ "bstr", "gix-date", "gix-utils", "itoa", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-attributes" -version = "0.22.5" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" +checksum = "ddf9bf852194c0edfe699a2d36422d2c1f28f73b7c6d446c3f0ccd3ba232cadc" dependencies = [ "bstr", "gix-glob", @@ -1009,33 +991,33 @@ dependencies = [ "gix-trace", "kstring", "smallvec", - "thiserror", + "thiserror 2.0.4", "unicode-bom", ] [[package]] name = "gix-bitmap" -version = "0.2.11" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" +checksum = "d48b897b4bbc881aea994b4a5bbb340a04979d7be9089791304e04a9fbc66b53" dependencies = [ - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-chunk" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" +checksum = "c6ffbeb3a5c0b8b84c3fe4133a6f8c82fa962f4caefe8d0762eced025d3eb4f7" dependencies = [ - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-command" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" +checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" dependencies = [ "bstr", "gix-path", @@ -1045,23 +1027,23 @@ dependencies = [ [[package]] name = "gix-commitgraph" -version = "0.24.3" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" +checksum = "a8da6591a7868fb2b6dabddea6b09988b0b05e0213f938dbaa11a03dd7a48d85" dependencies = [ "bstr", "gix-chunk", "gix-features", "gix-hash", "memmap2", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-config" -version = "0.40.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78e797487e6ca3552491de1131b4f72202f282fb33f198b1c34406d765b42bb0" +checksum = "6649b406ca1f99cb148959cf00468b231f07950f8ec438cc0903cda563606f19" dependencies = [ "bstr", "gix-config-value", @@ -1073,41 +1055,41 @@ dependencies = [ "memchr", "once_cell", "smallvec", - "thiserror", + "thiserror 2.0.4", "unicode-bom", - "winnow 0.6.18", + "winnow", ] [[package]] name = "gix-config-value" -version = "0.14.8" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" +checksum = "49aaeef5d98390a3bcf9dbc6440b520b793d1bf3ed99317dc407b02be995b28e" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-path", "libc", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-date" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" +checksum = "691142b1a34d18e8ed6e6114bc1a2736516c5ad60ef3aa9bd1b694886e3ca92d" dependencies = [ "bstr", "itoa", "jiff", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-diff" -version = "0.46.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c9afd80fff00f8b38b1c1928442feb4cd6d2232a6ed806b6b193151a3d336c" +checksum = "a327be31a392144b60ab0b1c863362c32a1c8f7effdfa2141d5d5b6b916ef3bf" dependencies = [ "bstr", "gix-command", @@ -1118,16 +1100,17 @@ dependencies = [ "gix-path", "gix-tempfile", "gix-trace", + "gix-traverse", "gix-worktree", "imara-diff", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-discover" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0577366b9567376bc26e815fd74451ebd0e6218814e242f8e5b7072c58d956d2" +checksum = "83bf6dfa4e266a4a9becb4d18fc801f92c3f7cc6c433dd86fdadbcf315ffb6ef" dependencies = [ "bstr", "dunce", @@ -1136,14 +1119,14 @@ dependencies = [ "gix-path", "gix-ref", "gix-sec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-features" -version = "0.38.2" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +checksum = "7d85d673f2e022a340dba4713bed77ef2cf4cd737d2f3e0f159d45e0935fd81f" dependencies = [ "crc32fast", "crossbeam-channel", @@ -1156,15 +1139,15 @@ dependencies = [ "parking_lot", "prodash", "sha1_smol", - "thiserror", + "thiserror 2.0.4", "walkdir", ] [[package]] name = "gix-filter" -version = "0.13.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4121790ae140066e5b953becc72e7496278138d19239be2e63b5067b0843119e" +checksum = "5108cc58d58b27df10ac4de7f31b2eb96d588a33e5eba23739b865f5d8db7995" dependencies = [ "bstr", "encoding_rs", @@ -1178,14 +1161,14 @@ dependencies = [ "gix-trace", "gix-utils", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-fs" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +checksum = "34740384d8d763975858fa2c176b68652a6fcc09f616e24e3ce967b0d370e4d8" dependencies = [ "fastrand", "gix-features", @@ -1194,11 +1177,11 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.16.5" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +checksum = "aaf69a6bec0a3581567484bf99a4003afcaf6c469fd4214352517ea355cf3435" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-features", "gix-path", @@ -1206,19 +1189,19 @@ dependencies = [ [[package]] name = "gix-hash" -version = "0.14.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +checksum = "0b5eccc17194ed0e67d49285e4853307e4147e95407f91c1c3e4a13ba9f4e4ce" dependencies = [ "faster-hex", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-hashtable" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe" dependencies = [ "gix-hash", "hashbrown 0.14.5", @@ -1227,9 +1210,9 @@ dependencies = [ [[package]] name = "gix-ignore" -version = "0.11.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" +checksum = "b6b1fb24d2a4af0aa7438e2771d60c14a80cf2c9bd55c29cf1712b841f05bb8a" dependencies = [ "bstr", "gix-glob", @@ -1240,11 +1223,11 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4203244444017682176e65fd0180be9298e58ed90bd4a8489a357795ed22d" +checksum = "270645fd20556b64c8ffa1540d921b281e6994413a0ca068596f97e9367a257a" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "filetime", "fnv", @@ -1263,64 +1246,66 @@ dependencies = [ "memmap2", "rustix", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-lock" -version = "14.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +checksum = "5102acdf4acae2644e38dbbd18cdfba9597a218f7d85f810fe5430207e03c2de" dependencies = [ "gix-tempfile", "gix-utils", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "gix-object" -version = "0.44.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5b801834f1de7640731820c2df6ba88d95480dc4ab166a5882f8ff12b88efa" +checksum = "65d93e2bbfa83a307e47f45e45de7b6c04d7375a8bd5907b215f4bf45237d879" dependencies = [ "bstr", "gix-actor", "gix-date", "gix-features", "gix-hash", + "gix-hashtable", "gix-utils", "gix-validate", "itoa", "smallvec", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-odb" -version = "0.63.0" +version = "0.65.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3158068701c17df54f0ab2adda527f5a6aca38fd5fd80ceb7e3c0a2717ec747" +checksum = "93bed6e1b577c25a6bb8e6ecbf4df525f29a671ddf5f2221821a56a8dbeec4e3" dependencies = [ "arc-swap", "gix-date", "gix-features", "gix-fs", "gix-hash", + "gix-hashtable", "gix-object", "gix-pack", "gix-path", "gix-quote", "parking_lot", "tempfile", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-pack" -version = "0.53.0" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3223aa342eee21e1e0e403cad8ae9caf9edca55ef84c347738d10681676fd954" +checksum = "9b91fec04d359544fecbb8e85117ec746fbaa9046ebafcefb58cb74f20dc76d4" dependencies = [ "clru", "gix-chunk", @@ -1331,66 +1316,66 @@ dependencies = [ "gix-path", "memmap2", "smallvec", - "thiserror", + "thiserror 2.0.4", "uluru", ] [[package]] name = "gix-packetline-blocking" -version = "0.17.5" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" +checksum = "ce9004ce1bc00fd538b11c1ec8141a1558fb3af3d2b7ac1ac5c41881f9e42d2a" dependencies = [ "bstr", "faster-hex", "gix-trace", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-path" -version = "0.10.11" +version = "0.10.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af" +checksum = "afc292ef1a51e340aeb0e720800338c805975724c1dfbd243185452efd8645b7" dependencies = [ "bstr", "gix-trace", "home", "once_cell", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-pathspec" -version = "0.7.7" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" +checksum = "4c472dfbe4a4e96fcf7efddcd4771c9037bb4fdea2faaabf2f4888210c75b81e" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-attributes", "gix-config-value", "gix-glob", "gix-path", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-quote" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" +checksum = "64a1e282216ec2ab2816cd57e6ed88f8009e634aec47562883c05ac8a7009a63" dependencies = [ "bstr", "gix-utils", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-ref" -version = "0.47.0" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0d8406ebf9aaa91f55a57f053c5a1ad1a39f60fdf0303142b7be7ea44311e5" +checksum = "1eae462723686272a58f49501015ef7c0d67c3e042c20049d8dd9c7eff92efde" dependencies = [ "gix-actor", "gix-features", @@ -1403,43 +1388,44 @@ dependencies = [ "gix-utils", "gix-validate", "memmap2", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-refspec" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb005f82341ba67615ffdd9f7742c87787544441c88090878393d0682869ca6" +checksum = "00c056bb747868c7eb0aeb352c9f9181ab8ca3d0a2550f16470803500c6c413d" dependencies = [ "bstr", "gix-hash", "gix-revision", "gix-validate", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-revision" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4621b219ac0cdb9256883030c3d56a6c64a6deaa829a92da73b9a576825e1e" +checksum = "44488e0380847967bc3e3cacd8b22652e02ea1eb58afb60edd91847695cd2d8d" dependencies = [ "bstr", + "gix-commitgraph", "gix-date", "gix-hash", "gix-object", "gix-revwalk", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-revwalk" -version = "0.15.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41e72544b93084ee682ef3d5b31b1ba4d8fa27a017482900e5e044d5b1b3984" +checksum = "510026fc32f456f8f067d8f37c34088b97a36b2229d88a6a5023ef179fcb109d" dependencies = [ "gix-commitgraph", "gix-date", @@ -1447,16 +1433,16 @@ dependencies = [ "gix-hashtable", "gix-object", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-sec" -version = "0.10.8" +version = "0.10.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" +checksum = "a8b876ef997a955397809a2ec398d6a45b7a55b4918f2446344330f778d14fd6" dependencies = [ - "bitflags 2.6.0", + "bitflags", "gix-path", "libc", "windows-sys 0.52.0", @@ -1464,9 +1450,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529d0af78cc2f372b3218f15eb1e3d1635a21c8937c12e2dd0b6fc80c2ca874b" +checksum = "a2455f8c0fcb6ebe2a6e83c8f522d30615d763eb2ef7a23c7d929f9476e89f5c" dependencies = [ "bstr", "gix-config", @@ -1474,14 +1460,14 @@ dependencies = [ "gix-pathspec", "gix-refspec", "gix-url", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-tempfile" -version = "14.0.2" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" +checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82" dependencies = [ "dashmap", "gix-fs", @@ -1493,17 +1479,17 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" +checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952" [[package]] name = "gix-traverse" -version = "0.41.0" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030da39af94e4df35472e9318228f36530989327906f38e27807df305fccb780" +checksum = "3ff2ec9f779680f795363db1c563168b32b8d6728ec58564c628e85c92d29faf" dependencies = [ - "bitflags 2.6.0", + "bitflags", "gix-commitgraph", "gix-date", "gix-hash", @@ -1511,28 +1497,27 @@ dependencies = [ "gix-object", "gix-revwalk", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-url" -version = "0.27.5" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" +checksum = "e09f97db3618fb8e473d7d97e77296b50aaee0ddcd6a867f07443e3e87391099" dependencies = [ "bstr", "gix-features", "gix-path", - "home", - "thiserror", + "thiserror 2.0.4", "url", ] [[package]] name = "gix-utils" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" +checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f" dependencies = [ "fastrand", "unicode-normalization", @@ -1540,19 +1525,19 @@ dependencies = [ [[package]] name = "gix-validate" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f2badbb64e57b404593ee26b752c26991910fd0d81fe6f9a71c1a8309b6c86" +checksum = "cd520d09f9f585b34b32aba1d0b36ada89ab7fefb54a8ca3fe37fc482a750937" dependencies = [ "bstr", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-worktree" -version = "0.36.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c312ad76a3f2ba8e865b360d5cb3aa04660971d16dec6dd0ce717938d903149a" +checksum = "756dbbe15188fa22540d5eab941f8f9cf511a5364d5aec34c88083c09f4bea13" dependencies = [ "bstr", "gix-attributes", @@ -1608,9 +1593,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -1706,12 +1691,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.1", + "hashbrown 0.15.2", ] [[package]] @@ -1733,15 +1718,6 @@ dependencies = [ "similar", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - [[package]] name = "is-terminal" version = "0.4.13" @@ -1753,6 +1729,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_executable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" +dependencies = [ + "winapi", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1819,7 +1804,7 @@ dependencies = [ [[package]] name = "jj-cli" -version = "0.23.0" +version = "0.24.0" dependencies = [ "anyhow", "assert_cmd", @@ -1837,10 +1822,10 @@ dependencies = [ "crossterm", "dirs", "dunce", - "esl01-renderdag", "futures 0.3.31", "git2", "gix", + "glob", "indexmap", "indoc", "insta", @@ -1857,15 +1842,17 @@ dependencies = [ "rayon", "regex", "rpassword", + "sapling-renderdag", "scm-record", "serde", + "serde_json", "slab", "strsim", "tempfile", "test-case", "testutils", "textwrap", - "thiserror", + "thiserror 2.0.4", "timeago", "toml_edit", "tracing", @@ -1876,11 +1863,10 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.23.0" +version = "0.24.0" dependencies = [ "assert_matches", "async-trait", - "backoff", "blake2", "bstr", "chrono", @@ -1890,13 +1876,11 @@ dependencies = [ "criterion", "digest", "either", - "esl01-renderdag", "futures 0.3.31", "git2", "gix", - "gix-filter", "glob", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "hex", "ignore", "indexmap", @@ -1919,6 +1903,7 @@ dependencies = [ "regex", "rustix", "same-file", + "sapling-renderdag", "serde", "serde_json", "smallvec", @@ -1926,8 +1911,9 @@ dependencies = [ "tempfile", "test-case", "testutils", - "thiserror", + "thiserror 2.0.4", "tokio", + "toml_edit", "tracing", "version_check", "watchman_client", @@ -1938,7 +1924,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.23.0" +version = "0.24.0" dependencies = [ "proc-macro2", "quote", @@ -1980,9 +1966,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libgit2-sys" @@ -2002,7 +1988,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", "redox_syscall", ] @@ -2122,7 +2108,7 @@ dependencies = [ "parking_lot", "regex", "textwrap", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2306,7 +2292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.69", "ucd-trie", ] @@ -2464,18 +2450,22 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] [[package]] name = "prodash" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" +checksum = "a266d8d6020c61a437be704c5e618037588e1985c7dbb7bf8d265db84cffe325" +dependencies = [ + "log", + "parking_lot", +] [[package]] name = "prost" @@ -2575,7 +2565,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ - "bitflags 2.6.0", + "bitflags", "cassowary", "compact_str", "crossterm", @@ -2616,7 +2606,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -2627,7 +2617,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2729,11 +2719,11 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.39" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -2761,6 +2751,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sapling-renderdag" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edffb89cab87bd0901c5749d576f5d37a1f34e05160e936f463f4e94cc447b61" +dependencies = [ + "bitflags", +] + [[package]] name = "scanlex" version = "0.1.4" @@ -2779,7 +2778,7 @@ dependencies = [ "ratatui", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-width", ] @@ -2792,9 +2791,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -2810,7 +2809,7 @@ dependencies = [ "bytes", "serde", "serde_bytes", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2824,9 +2823,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", @@ -2835,9 +2834,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -3011,9 +3010,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.87" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -3022,9 +3021,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", @@ -3084,7 +3083,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.23.0" +version = "0.24.0" dependencies = [ "async-trait", "config", @@ -3111,18 +3110,38 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] name = "thiserror-impl" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" dependencies = [ "proc-macro2", "quote", @@ -3172,9 +3191,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -3235,22 +3254,22 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.5.40", + "winnow", ] [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -3259,9 +3278,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", @@ -3281,9 +3300,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -3302,9 +3321,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -3528,7 +3547,7 @@ dependencies = [ "maplit", "serde", "serde_bser", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-util", "winapi", @@ -3743,15 +3762,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.6.18" diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index ff65c83..1d3ec6a 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.23.0+pr3191.openssh"; + version = "0.24.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; repo = "jj"; - rev = "aa61f294708502d4faf120720252b4aa76157f2d"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-5U873EtczuQBysXmfhLh0wrZ7rdkszOKHlakROBckWI="; + rev = "b6608a03881542d6a8c98f659b80b57a27906096"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg="; }; cargoLock.lockFile = ./Cargo.lock; From 2d5364c5de0166f9a763bdc5e62dd8c1a170bcd1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Dec 2024 23:00:45 +0100 Subject: [PATCH 030/182] nvim: blink-cmp 0.7.3 is in nixpkgs now --- home/common/nvim/default.nix | 2 +- pkgs/blink-cmp/default.nix | 45 ------------------------------------ pkgs/default.nix | 1 - 3 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 pkgs/blink-cmp/default.nix diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index b5599db..9f991b0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -60,7 +60,7 @@ } { - plugin = pkgs.blink-cmp; + plugin = blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ diff --git a/pkgs/blink-cmp/default.nix b/pkgs/blink-cmp/default.nix deleted file mode 100644 index e9307e4..0000000 --- a/pkgs/blink-cmp/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - rustPlatform, - fetchFromGitHub, - stdenv, - vimUtils, -}: -let - version = "0.7.3"; - src = fetchFromGitHub { - owner = "Saghen"; - repo = "blink.cmp"; - rev = "refs/tags/v${version}"; - hash = "sha256-nxiODLKgGeXzN5sqkLWU0PcsuSSB1scSzTC5qyCxLCI="; - }; - libExt = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; - blink-fuzzy-lib = rustPlatform.buildRustPackage { - inherit version src; - pname = "blink-fuzzy-lib"; - env = { - # TODO: remove this if plugin stops using nightly rust - RUSTC_BOOTSTRAP = true; - }; - useFetchCargoVendor = true; - cargoHash = "sha256-XXI2jEoD6XbFNk3O8B6+aLzl1ZcJq1VinQXb+AOw8Rw="; - }; -in -vimUtils.buildVimPlugin { - pname = "blink-cmp"; - inherit version src; - preInstall = '' - mkdir -p target/release - ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} - ''; - meta = { - description = "Performant, batteries-included completion plugin for Neovim"; - homepage = "https://github.com/saghen/blink.cmp"; - maintainers = with lib.maintainers; [ - balssh - redxtech - ]; - }; - doInstallCheck = true; - nvimRequireCheck = "blink-cmp"; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 1ee0f62..ab3485b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,4 @@ pkgs: { - blink-cmp = pkgs.callPackage ./blink-cmp { }; gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; lazyjj = pkgs.callPackage ./lazyjj { }; From 264546666cb431d4747e4e093214d91775e032d5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Dec 2024 23:03:11 +0100 Subject: [PATCH 031/182] lazyjj: nixpkgs caught up and ran by --- flake.lock | 26 +++++++++++++------------- pkgs/default.nix | 1 - pkgs/lazyjj/default.nix | 30 ------------------------------ 3 files changed, 13 insertions(+), 44 deletions(-) delete mode 100644 pkgs/lazyjj/default.nix diff --git a/flake.lock b/flake.lock index 77d0531..2bd73e6 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733686035, - "narHash": "sha256-uhbYV9gdMAPgBFm5CiH3defxuzrVXD1HsxkZPUqMxoQ=", + "lastModified": 1733704542, + "narHash": "sha256-tGY+WuCTF/hoZpISys+jLaPXvQV4QyGmSTyecFV1R3I=", "ref": "refs/heads/main", - "rev": "40ad31deea3d236ad762f2c21f2834af3b767bdb", - "revCount": 8184, + "rev": "ae2cf8dc371c960aa0772065c7f2a741c8bdc91b", + "revCount": 8188, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1733318908, - "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1733618008, - "narHash": "sha256-8MM4WF1AapF9QWDJhoXGLcEKrLE3S75QA74YEQt0A18=", + "lastModified": 1733703025, + "narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b75d6c354368841ce4291142b79882362e574f61", + "rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733614558, - "narHash": "sha256-JcI4DL5fn0KGX5TxoSLIxwTfi6rikRHsG/gI/7SUDIg=", + "lastModified": 1733660965, + "narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=", "owner": "neovim", "repo": "neovim", - "rev": "4fcc5cd34a75df9a3088c83dc1a87aa6e37051e1", + "rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4", "type": "github" }, "original": { diff --git a/pkgs/default.nix b/pkgs/default.nix index ab3485b..068b02a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,4 @@ pkgs: { gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; - lazyjj = pkgs.callPackage ./lazyjj { }; } diff --git a/pkgs/lazyjj/default.nix b/pkgs/lazyjj/default.nix deleted file mode 100644 index c253e67..0000000 --- a/pkgs/lazyjj/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - stdenvNoCC, - fetchzip, -}: -let - version = "0.3.1"; -in -stdenvNoCC.mkDerivation { - name = "lazyjj"; - inherit version; - - src = fetchzip { - url = "https://github.com/Cretezy/lazyjj/releases/download/v0.3.1/lazyjj-v0.3.1-x86_64-unknown-linux-musl.tar.gz"; - hash = "sha256-6R4W6uyq8sns8WLoJxp06xAYaJ0Zn+pZLtwhVIPobmc="; - }; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -m755 -D $src/lazyjj $out/bin/lazyjj - runHook postInstall - ''; - - meta = { - homepage = "https://github.com/Cretezy/lazyjj"; - description = "TUI for jj"; - mainProgram = "lazyjj"; - platforms = [ "x86_64-linux" ]; - }; -} From 378fd7caa0ad8fc8a0661167c5f83d930605fe8a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 10 Dec 2024 15:30:04 +0100 Subject: [PATCH 032/182] patagia.dev -> patagia.net --- common/nix.nix | 1 - flake.lock | 74 ++++++++++++++++++++++++++--------------- hosts/dinky/default.nix | 10 +++--- hosts/nemo/default.nix | 6 ++-- hosts/pearl/default.nix | 4 +-- 5 files changed, 58 insertions(+), 37 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index 1d2bde9..b6362a3 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,7 +20,6 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - # "https://cache-nixos-org.aarn.shelman.io" "https://cache.nixos.org/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; diff --git a/flake.lock b/flake.lock index 2bd73e6..67742e2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733704542, - "narHash": "sha256-tGY+WuCTF/hoZpISys+jLaPXvQV4QyGmSTyecFV1R3I=", + "lastModified": 1733867032, + "narHash": "sha256-2ddDF3j8aI70WdWIn+Gsef4XGM2+grIlaEtHlkZmWdY=", "ref": "refs/heads/main", - "rev": "ae2cf8dc371c960aa0772065c7f2a741c8bdc91b", - "revCount": 8188, + "rev": "59df17a699f6f13700823124cefaf91fb0c37d4f", + "revCount": 8196, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733484277, - "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", + "lastModified": 1733869277, + "narHash": "sha256-qFWxVV48wwiyvrAbGeSbZ5LAOv1Kv/lvDtibOhuc1/o=", "owner": "nix-community", "repo": "home-manager", - "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", + "rev": "8772bae58c0a1390727aaf13802debfa29757d67", "type": "github" }, "original": { @@ -229,14 +229,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733703025, - "narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=", + "lastModified": 1733846759, + "narHash": "sha256-Xp/rWqO4XXJAqh5c2xju4NCBRpi8lQIknLQmCYfrdWY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a", + "rev": "dcd1be4d5f9fa160d0c68c1967f4ecc458b01969", "type": "github" }, "original": { @@ -248,11 +249,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733660965, - "narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=", + "lastModified": 1733731191, + "narHash": "sha256-Xtd0YLx6RKJMDu2GfE9geO48Dw3KnpVkfZjUqA51xDw=", "owner": "neovim", "repo": "neovim", - "rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4", + "rev": "3bb2d027597107a3d7f84ef61507104fd4dc050a", "type": "github" }, "original": { @@ -263,11 +264,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733376361, - "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", + "lastModified": 1733656523, + "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", + "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", "type": "github" }, "original": { @@ -279,11 +280,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733384649, - "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", + "lastModified": 1733730953, + "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", + "rev": "7109b680d161993918b0a126f38bc39763e5a709", "type": "github" }, "original": { @@ -295,11 +296,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733376361, - "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", + "lastModified": 1733686850, + "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", + "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", "type": "github" }, "original": { @@ -311,11 +312,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733581040, - "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", "type": "github" }, "original": { @@ -351,6 +352,27 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733761991, + "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 90f6d5a..5a5806a 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -78,10 +78,10 @@ networking = { hostName = "dinky"; - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; search = [ - "patagia.dev" - "aarn.patagia.dev" + "patagia.net" + "aarn.patagia.net" ]; useDHCP = lib.mkDefault true; }; @@ -120,7 +120,7 @@ nix.settings.trusted-users = [ "dln" ]; nix.buildMachines = [ { - hostName = "nemo.aarn.patagia.dev"; + hostName = "nemo.aarn.patagia.net"; sshUser = "nixremote"; sshKey = "/root/.ssh/id_ed25519"; system = "x86_64-linux"; @@ -138,7 +138,7 @@ nix.distributedBuilds = true; nix.settings.builders-use-substitutes = true; nix.settings.trusted-substituters = [ - "ssh-ng://nemo.aarn.patagia.dev" + "ssh-ng://nemo.aarn.patagia.net" ]; system.stateVersion = "24.05"; # Did you read the comment? diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index ada8496..748c8b2 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -87,7 +87,7 @@ networking = { hostName = "nemo"; # Define your hostname. - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; nameservers = [ "10.1.100.11" "10.1.100.12" @@ -143,8 +143,8 @@ services.resolved = { enable = true; domains = [ - "patagia.dev" - "aarn.patagia.dev" + "patagia.net" + "aarn.patagia.net" ]; llmnr = "false"; fallbackDns = [ "9.9.9.9" ]; diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix index a44a372..1120826 100644 --- a/hosts/pearl/default.nix +++ b/hosts/pearl/default.nix @@ -33,10 +33,10 @@ networking = { hostName = "pearl"; - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; search = [ "patagia.dev" - "aarn.patagia.dev" + "aarn.patagia.net" ]; useDHCP = lib.mkDefault true; }; From 4c259757dbd5e627c5f54d76c8b6e8779b60b619 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 033/182] nvim: add c-p binding --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index fbb6738..b94dc09 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -124,6 +124,7 @@ vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostic vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) +vim.keymap.set('n', '<c-p>', "<Leader>f", { remap = true }) vim.keymap.set('n', '<Leader>g', "<cmd>Pick oldfiles<cr>", opts("Open file picker history")) vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item under cursor")) vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) From 195a66d7bfff484417e469ad4043389f5c015f6d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 034/182] nvim: add direnv-vim plugin --- flake.lock | 50 ++++++++++++++++++------------------ home/common/nvim/default.nix | 1 + 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 67742e2..c6fc0c8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733867032, - "narHash": "sha256-2ddDF3j8aI70WdWIn+Gsef4XGM2+grIlaEtHlkZmWdY=", + "lastModified": 1734275633, + "narHash": "sha256-/5Rnuouf4DrQWKc5sMjA/8Uiznp8/oCQe3YaYvp+fWU=", "ref": "refs/heads/main", - "rev": "59df17a699f6f13700823124cefaf91fb0c37d4f", - "revCount": 8196, + "rev": "ceef2900e24944b18a6aadf5e6dd40aeef64e85d", + "revCount": 8271, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733869277, - "narHash": "sha256-qFWxVV48wwiyvrAbGeSbZ5LAOv1Kv/lvDtibOhuc1/o=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "8772bae58c0a1390727aaf13802debfa29757d67", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { @@ -233,11 +233,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733846759, - "narHash": "sha256-Xp/rWqO4XXJAqh5c2xju4NCBRpi8lQIknLQmCYfrdWY=", + "lastModified": 1734048484, + "narHash": "sha256-EtSEYNx19xzuEBJsT7yXG+nVx11CM3rvrAQAXcvG/5Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dcd1be4d5f9fa160d0c68c1967f4ecc458b01969", + "rev": "044f9a36ad620a119ebe154c26ec571a09f75039", "type": "github" }, "original": { @@ -249,11 +249,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733731191, - "narHash": "sha256-Xtd0YLx6RKJMDu2GfE9geO48Dw3KnpVkfZjUqA51xDw=", + "lastModified": 1734000357, + "narHash": "sha256-8FO5Ca9bLEiD649b5gkQCdjpTmbPenJHpN0JBhtLpjE=", "owner": "neovim", "repo": "neovim", - "rev": "3bb2d027597107a3d7f84ef61507104fd4dc050a", + "rev": "17383870dd3b7f04eddd48ed929cc25c7e102277", "type": "github" }, "original": { @@ -264,11 +264,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733656523, - "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", + "lastModified": 1733749988, + "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", + "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733730953, - "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", + "lastModified": 1734017764, + "narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7109b680d161993918b0a126f38bc39763e5a709", + "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b", "type": "github" }, "original": { @@ -296,11 +296,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733686850, - "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", + "lastModified": 1734126203, + "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", + "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733759999, - "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 9f991b0..fad4f3d 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -48,6 +48,7 @@ ]; plugins = with pkgs.vimPlugins; [ + direnv-vim friendly-snippets go-nvim targets-vim From 0ff88467e6e8fadadb70b05c8ea6629cba3717bc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 035/182] athens moved to athens.patagia.net --- home/common/devel.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/devel.nix b/home/common/devel.nix index c8e6c0a..21cffd0 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -29,6 +29,6 @@ ]; home.sessionVariables = { - GOPROXY = "https://athena.patagia.dev"; + GOPROXY = "https://athena.patagia.net"; }; } From f5af1628e716a722e3837e92d79fe8703cc6ccbc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 036/182] atuin: moved to atuin.patagia.net --- home/common/atuin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/atuin.nix b/home/common/atuin.nix index 720459b..991dcec 100644 --- a/home/common/atuin.nix +++ b/home/common/atuin.nix @@ -13,7 +13,7 @@ search_mode_shell_up_key_binding = "prefix"; show_help = false; style = "compact"; - sync_address = "https://atuin.patagia.dev"; + sync_address = "https://atuin.patagia.net"; sync.records = true; daemon = { From f53cbba16fb02334d1842185884ec5a6fde0f91b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 037/182] Enable avahi --- common/base.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/base.nix b/common/base.nix index 5eb3b4e..9207bf3 100644 --- a/common/base.nix +++ b/common/base.nix @@ -51,6 +51,18 @@ ''; }; + services.avahi = { + nssmdns4 = true; + enable = true; + ipv4 = true; + ipv6 = true; + publish = { + enable = true; + addresses = true; + workstation = true; + }; + }; + # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; From 1379ed01f0ea57b6a9e7e8b211a781eff6b14edd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 038/182] Use cache-nixos-org.aarn.patagia.net as cache --- common/nix.nix | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index b6362a3..da49b67 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,7 +20,7 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - "https://cache.nixos.org/" + "https://cache-nixos-org.aarn.patagia.net/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; extra-substituters = [ diff --git a/flake.nix b/flake.nix index 848f99f..c200102 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixConfig = { substituters = [ - "https://cache.nixos.org/" + "https://cache-nixos-org.aarn.patagia.net/" ]; extra-substituters = [ "https://nix-community.cachix.org" From fa7fce620a86ca9f1707a813725fe69ccd41b69a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 039/182] ghostty: Use official (now released + public) flake --- flake.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index c200102..5f52e80 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ }; inputs = { + ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; @@ -21,14 +22,6 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - - ghostty = { - url = "git+ssh://git@github.com/ghostty-org/ghostty"; - inputs = { - nixpkgs-stable.follows = "nixpkgs"; - nixpkgs-unstable.follows = "nixpkgs"; - }; - }; ghostty-hm.url = "github:clo4/ghostty-hm-module"; }; From baaf51693925984288cbdfa338317950a9910811 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 040/182] nix: bump --- flake.nix | 2 +- hosts/nemo/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 5f52e80..ce544bd 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager"; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 748c8b2..c36cc1c 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -219,5 +219,5 @@ "nixremote" ]; - system.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "24.11"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion } From 49d4bbd7c12654af196b39bdeceeaa4562634009 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 041/182] gimp: skip plugins for now --- home/dln/desktop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index ae7ded3..b783e5d 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -7,7 +7,7 @@ home.packages = with pkgs; [ cameractrls-gtk4 dynamic-wallpaper - gimp-with-plugins + gimp inkscape inputs.ghostty.packages.${pkgs.system}.default moonlight-qt From 8b46fa253d94fa764f939451cbec432bf0ec6ae1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 042/182] nvim fixings --- home/common/nvim/default.nix | 80 ++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index fad4f3d..1c9b4a7 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -72,30 +72,38 @@ }, completion = { accept = { - auto_brackets = { - enabled = true, - }, + auto_brackets = { enabled = true, }, }, documentation = { auto_show = true, auto_show_delay_ms = 800, - window = { - border = 'rounded', - }, - ghost_text = { - enabled = true, - }, + window = { border = 'rounded', }, }, - signature = { - enabled = true, - window = { - border = 'rounded', - }, - }, + ghost_text = { enabled = true }, + menu = { + auto_show = false, + }, }, + + fuzzy = { + prebuilt_binaries = { + download = false + }, + }, + + signature = { + enabled = true, + window = { border = 'rounded', }, + }, + + sources = { + default = { 'lsp', 'buffer', 'path', 'snippets' }, + cmdline = {}, + }, + }) ''; } @@ -106,8 +114,8 @@ src = pkgs.fetchFromGitHub { owner = "saghen"; repo = "blink.compat"; - rev = "78f3f7187ff4a1444e952548c556d936da8f72fc"; # v2.1.2 - hash = "sha256-aqHDwrzPOyOw9UbJlQX10/cVQwNHg4v6i9jSm+pNKZc="; + rev = "5ca8848c8cc32abdc980e5db4f0eb7bb8fbf84dc"; # Dec 25, 2024 + hash = "sha256-tFQeKyqdo3mvptYnWxKhTpI4ROFNQ6u3P8cLqtlsozw="; }; }; type = "lua"; @@ -143,25 +151,25 @@ ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "neocodeium"; - src = pkgs.fetchFromGitHub { - owner = "monkoose"; - repo = "neocodeium"; - rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; - }; - }; - type = "lua"; - config = '' - local neocodeium =require('neocodeium') - neocodeium.setup() - vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) - vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) - vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) - ''; - } + # { + # plugin = pkgs.vimUtils.buildVimPlugin { + # name = "neocodeium"; + # src = pkgs.fetchFromGitHub { + # owner = "monkoose"; + # repo = "neocodeium"; + # rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + # hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + # }; + # }; + # type = "lua"; + # config = '' + # local neocodeium =require('neocodeium') + # neocodeium.setup() + # vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) + # vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) + # vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) + # ''; + # } { plugin = pkgs.vimUtils.buildVimPlugin { From f26beb87bd3984aea595fd84eab299f445fb0251 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 043/182] nvim: nvim-tree-pairs appears broken right now --- home/common/nvim/treesitter.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index d18b8ae..9c765c4 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -44,20 +44,6 @@ ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "nvim-tree-pairs"; # make % match in TS - src = pkgs.fetchFromGitHub { - owner = "yorickpeterse"; - repo = "nvim-tree-pairs"; - rev = "e7f7b6cc28dda6f3fa271ce63b0d371d5b7641da"; - hash = "sha256-fb4EsrWAbm8+dWAhiirCPuR44MEg+KYb9hZOIuEuT24="; - }; - }; - type = "lua"; - config = "require('tree-pairs').setup()"; - } - { plugin = nvim-treesitter-textobjects; type = "lua"; From b4550106246663506d8be8e78f668555252dc004 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 044/182] nvim: blink-cmp goodness --- flake.lock | 141 +++++++++++++++++++++----------- home/common/nvim/blink-cmp.lua | 56 +++++++++++++ home/common/nvim/default.nix | 44 +--------- home/common/nvim/treesitter.nix | 2 +- 4 files changed, 151 insertions(+), 92 deletions(-) create mode 100644 home/common/nvim/blink-cmp.lua diff --git a/flake.lock b/flake.lock index c6fc0c8..086a183 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,22 @@ { "nodes": { "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1733328505, @@ -16,7 +32,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -94,26 +110,23 @@ }, "ghostty": { "inputs": { - "nixpkgs-stable": [ - "nixpkgs" - ], - "nixpkgs-unstable": [ - "nixpkgs" - ], + "flake-compat": "flake-compat", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", "zig": "zig" }, "locked": { - "lastModified": 1734275633, - "narHash": "sha256-/5Rnuouf4DrQWKc5sMjA/8Uiznp8/oCQe3YaYvp+fWU=", - "ref": "refs/heads/main", - "rev": "ceef2900e24944b18a6aadf5e6dd40aeef64e85d", - "revCount": 8271, - "type": "git", - "url": "ssh://git@github.com/ghostty-org/ghostty" + "lastModified": 1735271978, + "narHash": "sha256-y6Ony5eq4F4E76Y2ZhALSEzBZ4GbGRVQIEScPieCDGI=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "a8e5eef11cc67f87f445626f9ca2993373774bf8", + "type": "github" }, "original": { - "type": "git", - "url": "ssh://git@github.com/ghostty-org/ghostty" + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" } }, "ghostty-hm": { @@ -133,7 +146,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -145,11 +158,11 @@ ] }, "locked": { - "lastModified": 1733665616, - "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", + "lastModified": 1734797603, + "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", + "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", "type": "github" }, "original": { @@ -209,11 +222,11 @@ ] }, "locked": { - "lastModified": 1734093295, - "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", + "lastModified": 1735053786, + "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", "owner": "nix-community", "repo": "home-manager", - "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", + "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", "type": "github" }, "original": { @@ -224,7 +237,7 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -233,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734048484, - "narHash": "sha256-EtSEYNx19xzuEBJsT7yXG+nVx11CM3rvrAQAXcvG/5Q=", + "lastModified": 1735172062, + "narHash": "sha256-Ru+5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "044f9a36ad620a119ebe154c26ec571a09f75039", + "rev": "d05e1d754812bcd89925d845992f377faf6c4944", "type": "github" }, "original": { @@ -249,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1734000357, - "narHash": "sha256-8FO5Ca9bLEiD649b5gkQCdjpTmbPenJHpN0JBhtLpjE=", + "lastModified": 1735157560, + "narHash": "sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM=", "owner": "neovim", "repo": "neovim", - "rev": "17383870dd3b7f04eddd48ed929cc25c7e102277", + "rev": "487c48ec8689b865bad04fdb87b61f5ada25da97", "type": "github" }, "original": { @@ -264,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733749988, - "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", + "lastModified": 1734988233, + "narHash": "sha256-Ucfnxq1rF/GjNP3kTL+uTfgdoE9a3fxDftSfeLIS8mA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", + "rev": "de1864217bfa9b5845f465e771e0ecb48b30e02d", "type": "github" }, "original": { @@ -280,27 +293,59 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1734017764, - "narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=", + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b", + "rev": "e36963a147267afc055f7cf65225958633e536bf", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1735141468, + "narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1734126203, - "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=", + "lastModified": 1733229606, + "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2", + "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1735268880, + "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", "type": "github" }, "original": { @@ -312,11 +357,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735291276, + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", "type": "github" }, "original": { @@ -333,8 +378,8 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unstable": "nixpkgs-unstable_2" } }, "systems": { @@ -360,11 +405,11 @@ ] }, "locked": { - "lastModified": 1733761991, - "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "lastModified": 1735135567, + "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", "type": "github" }, "original": { diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua new file mode 100644 index 0000000..b34b6fc --- /dev/null +++ b/home/common/nvim/blink-cmp.lua @@ -0,0 +1,56 @@ +require 'blink-cmp'.setup({ + keymap = { + preset = 'enter', + ["<PageDown>"] = { "scroll_documentation_down" }, + ["<PageUp>"] = { "scroll_documentation_up" }, + }, + completion = { + accept = { + auto_brackets = { enabled = true, }, + }, + + documentation = { + auto_show = true, + auto_show_delay_ms = 800, + window = { border = 'rounded', }, + }, + + ghost_text = { enabled = true }, + + list = { + selection = "manual", + }, + + menu = { + auto_show = true, + }, + }, + + fuzzy = { + prebuilt_binaries = { + download = false + }, + }, + + keymap = { + preset = 'super-tab', + }, + + signature = { + enabled = true, + window = { border = 'rounded', }, + }, + + sources = { + default = { 'lsp', 'codeium', 'buffer' }, + cmdline = {}, + providers = { + codeium = { + name = "codeium", + module = 'blink.compat.source', + score_offset = -100, + }, + }, + }, + +}) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 1c9b4a7..d6dd694 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -63,49 +63,7 @@ { plugin = blink-cmp; type = "lua"; - config = '' - require'blink-cmp'.setup({ - keymap = { - preset = 'enter', - ["<PageDown>"] = { "scroll_documentation_down" }, - ["<PageUp>"] = { "scroll_documentation_up" }, - }, - completion = { - accept = { - auto_brackets = { enabled = true, }, - }, - - documentation = { - auto_show = true, - auto_show_delay_ms = 800, - window = { border = 'rounded', }, - }, - - ghost_text = { enabled = true }, - - menu = { - auto_show = false, - }, - }, - - fuzzy = { - prebuilt_binaries = { - download = false - }, - }, - - signature = { - enabled = true, - window = { border = 'rounded', }, - }, - - sources = { - default = { 'lsp', 'buffer', 'path', 'snippets' }, - cmdline = {}, - }, - - }) - ''; + config = lib.fileContents ./blink-cmp.lua; } { diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index 9c765c4..25e15f8 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -11,9 +11,9 @@ ]; plugins = with pkgs.vimPlugins; [ - ts-comments-nvim nvim-ts-context-commentstring playground + ts-comments-nvim { plugin = nvim-treesitter-context; From 461f3a9a46d7d28b96d7074383a0c6b7a2f31a65 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 28 Dec 2024 10:22:29 +0100 Subject: [PATCH 045/182] nix update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 086a183..de58e6d 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735271978, - "narHash": "sha256-y6Ony5eq4F4E76Y2ZhALSEzBZ4GbGRVQIEScPieCDGI=", + "lastModified": 1735508351, + "narHash": "sha256-hrmauluOxnJlvc49WeclJdoz24Nb7c/WHhyLGkmpde8=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a8e5eef11cc67f87f445626f9ca2993373774bf8", + "rev": "b3925b83ae4b24b02a9b268e88dffcf1af25734b", "type": "github" }, "original": { @@ -222,11 +222,11 @@ ] }, "locked": { - "lastModified": 1735053786, - "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", + "lastModified": 1735381016, + "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", + "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735172062, - "narHash": "sha256-Ru+5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo=", + "lastModified": 1735463474, + "narHash": "sha256-QTw0q1dJnoFygq9aiwjrXsX5cZEwruVzPz3VKg8KemQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d05e1d754812bcd89925d845992f377faf6c4944", + "rev": "3d6e49088eae842b6c0556fba66cfb14123f0d59", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735157560, - "narHash": "sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM=", + "lastModified": 1735384850, + "narHash": "sha256-e1KLj+283Znt14U9DkKw+zPqShe0AkFPGpT44BhZ9KU=", "owner": "neovim", "repo": "neovim", - "rev": "487c48ec8689b865bad04fdb87b61f5ada25da97", + "rev": "2b07b14eacf3197754c63f42f9c880e85960eef2", "type": "github" }, "original": { @@ -277,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734988233, - "narHash": "sha256-Ucfnxq1rF/GjNP3kTL+uTfgdoE9a3fxDftSfeLIS8mA=", + "lastModified": 1735268880, + "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "de1864217bfa9b5845f465e771e0ecb48b30e02d", + "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735141468, - "narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=", + "lastModified": 1735264675, + "narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce", + "rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966", "type": "github" }, "original": { From 714cbcb8a9f37c7c062d3d4c17e04e31d32eb9d3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 046/182] nvim: reformat --- home/common/nvim/mini.lua | 99 ++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index f1de03f..c6788f1 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -71,6 +71,7 @@ MiniPick.registry.files_root = function(local_opts) local_opts.tool = "rg" return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "rg" } }) end + MiniPick.registry.grep_live_root = function(local_opts) local root_patterns = { ".jj", ".git" } local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) @@ -79,56 +80,56 @@ MiniPick.registry.grep_live_root = function(local_opts) end require("mini.pick").registry.buffers = function(local_opts, opts) - local_opts = vim.tbl_deep_extend( - "force", - { sort_lastused = false, sort_mru = true, include_current = true, include_unlisted = false }, - local_opts or {} - ) - local buffers_output = vim.api.nvim_exec("buffers" .. (local_opts.include_unlisted and "!" or ""), true) - local cur_buf_id, include_current = vim.api.nvim_get_current_buf(), local_opts.include_current - local items = {} - local default_selection_idx = 1 - for _, l in ipairs(vim.split(buffers_output, "\n")) do - local buf_str, name = l:match("^%s*%d+"), l:match('"(.*)"') - local buf_id = tonumber(buf_str) - local flag = buf_id == vim.fn.bufnr("") and "%" or (buf_id == vim.fn.bufnr("#") and "#" or " ") - local item = { text = name, bufnr = buf_id, flag = flag } - if buf_id ~= cur_buf_id or include_current then - if local_opts.sort_lastused and not local_opts.ignore_current_buffer and flag == "#" then - default_selection_idx = 2 - end - if local_opts.sort_lastused and (flag == "#" or flag == "%") then - local idx = ((items[1] ~= nil and items[1].flag == "%") and 2 or 1) - table.insert(items, idx, item) - else - table.insert(items, item) - end - end - end - if local_opts.sort_mru then - table.sort(items, function(a, b) - return vim.fn.getbufinfo(a.bufnr)[1].lastused > vim.fn.getbufinfo(b.bufnr)[1].lastused - end) - end + local_opts = vim.tbl_deep_extend( + "force", + { sort_lastused = false, sort_mru = true, include_current = true, include_unlisted = false }, + local_opts or {} + ) + local buffers_output = vim.api.nvim_exec("buffers" .. (local_opts.include_unlisted and "!" or ""), true) + local cur_buf_id, include_current = vim.api.nvim_get_current_buf(), local_opts.include_current + local items = {} + local default_selection_idx = 1 + for _, l in ipairs(vim.split(buffers_output, "\n")) do + local buf_str, name = l:match("^%s*%d+"), l:match('"(.*)"') + local buf_id = tonumber(buf_str) + local flag = buf_id == vim.fn.bufnr("") and "%" or (buf_id == vim.fn.bufnr("#") and "#" or " ") + local item = { text = name, bufnr = buf_id, flag = flag } + if buf_id ~= cur_buf_id or include_current then + if local_opts.sort_lastused and not local_opts.ignore_current_buffer and flag == "#" then + default_selection_idx = 2 + end + if local_opts.sort_lastused and (flag == "#" or flag == "%") then + local idx = ((items[1] ~= nil and items[1].flag == "%") and 2 or 1) + table.insert(items, idx, item) + else + table.insert(items, item) + end + end + end + if local_opts.sort_mru then + table.sort(items, function(a, b) + return vim.fn.getbufinfo(a.bufnr)[1].lastused > vim.fn.getbufinfo(b.bufnr)[1].lastused + end) + end - local show = function(buf_id, items, query) - require("mini.pick").default_show(buf_id, items, query, { show_icons = true }) - end - local default_opts = { source = { name = "Buffers", show = show } } - opts = vim.tbl_deep_extend("force", default_opts, opts or {}, { source = { items = items } }) - if default_selection_idx > 1 then - vim.api.nvim_create_autocmd("User", { - pattern = "MiniPickStart", - once = true, - callback = function() - local mappings = require("mini.pick").get_picker_opts().mappings - local keys = vim.fn["repeat"](mappings.move_down, default_selection_idx - 1) - vim.api.nvim_input(vim.api.nvim_replace_termcodes(keys, true, true, true)) - end, - }) - end - return require("mini.pick").start(opts) - end + local show = function(buf_id, items, query) + require("mini.pick").default_show(buf_id, items, query, { show_icons = true }) + end + local default_opts = { source = { name = "Buffers", show = show } } + opts = vim.tbl_deep_extend("force", default_opts, opts or {}, { source = { items = items } }) + if default_selection_idx > 1 then + vim.api.nvim_create_autocmd("User", { + pattern = "MiniPickStart", + once = true, + callback = function() + local mappings = require("mini.pick").get_picker_opts().mappings + local keys = vim.fn["repeat"](mappings.move_down, default_selection_idx - 1) + vim.api.nvim_input(vim.api.nvim_replace_termcodes(keys, true, true, true)) + end, + }) + end + return require("mini.pick").start(opts) +end local miniclue = require('mini.clue') miniclue.setup({ -- cute prompts about bindings From c4a2a60fa6b4d520bbf8a9c20aaa86f4d3628960 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 047/182] nvim: implement projects picker --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index b94dc09..1330396 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -127,6 +127,7 @@ vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file pic vim.keymap.set('n', '<c-p>', "<Leader>f", { remap = true }) vim.keymap.set('n', '<Leader>g', "<cmd>Pick oldfiles<cr>", opts("Open file picker history")) vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item under cursor")) +vim.keymap.set('n', '<Leader>p', "<cmd>Pick projects<cr>", opts("Open projects picker")) vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", opts("Open symbol picker")) vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index c6788f1..a572728 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -64,6 +64,45 @@ require('mini.pick').setup({ config = picker_win_config, }, }) + +MiniPick.registry.projects = function(local_opts) + local root = vim.fn.expand("~/src") + + local command = { + "fd", + "--max-depth=8", + "--one-file-system", + "--unrestricted", + "--full-path", + "/.jj/repo/store/type$|/.git/HEAD$", + root, + } + + local postprocess = function(paths) + local result = {} + for _, path in ipairs(paths) do + path = path:gsub("%/.jj/repo/store/type$", "") + path = path:gsub("%/.git/HEAD$", "") + local item = { + path = path, + text = path:gsub("%" .. root .. "/", " "), + } + table.insert(result, item) + end + return result + end + + local choose = function(item) + local_opts.cwd = item.path + vim.fn.chdir(item.path) + vim.schedule(function() + MiniPick.builtin.files(local_opts, { source = { cwd = item.path, tool = "rg" } }) + end) + end + + return MiniPick.builtin.cli({ command = command, postprocess = postprocess }, { source = { choose = choose } }) +end + MiniPick.registry.files_root = function(local_opts) local root_patterns = { ".jj", ".git" } local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) From 46c13deee715786d4ebc1d72b1bb56aa9419b231 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 048/182] nix update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index de58e6d..a2d4639 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735508351, - "narHash": "sha256-hrmauluOxnJlvc49WeclJdoz24Nb7c/WHhyLGkmpde8=", + "lastModified": 1735535921, + "narHash": "sha256-cfsHww91bRA2Frni54+blIGZGU9/269vaWzeGcNRNN0=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "b3925b83ae4b24b02a9b268e88dffcf1af25734b", + "rev": "87bd0bb744d6a1c45022aa39f21219d0b6ff3261", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735463474, - "narHash": "sha256-QTw0q1dJnoFygq9aiwjrXsX5cZEwruVzPz3VKg8KemQ=", + "lastModified": 1735517129, + "narHash": "sha256-ibHgAkr8OXAP8MRBo4Z7AIaVdOHywGR2J8R50vZCQjI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3d6e49088eae842b6c0556fba66cfb14123f0d59", + "rev": "fd381a5a19f553c2466dc437fb94fcf799d77e82", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735384850, - "narHash": "sha256-e1KLj+283Znt14U9DkKw+zPqShe0AkFPGpT44BhZ9KU=", + "lastModified": 1735489459, + "narHash": "sha256-PMeWazyxGxpA6UeVrWH/ur8WuqliGxXlRjTTQdMiYVc=", "owner": "neovim", "repo": "neovim", - "rev": "2b07b14eacf3197754c63f42f9c880e85960eef2", + "rev": "e4bc8b5967d22840c1e52c97acab0f77107cd48c", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735264675, - "narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=", + "lastModified": 1735412871, + "narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966", + "rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735268880, - "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "lastModified": 1735523292, + "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735291276, - "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "type": "github" }, "original": { From be47c9500b802cb21bf383ebc73cbccd5aed05a0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 049/182] dinky is laptop --- home/common/default.nix | 1 + home/dln/dinky.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/default.nix b/home/common/default.nix index e66ef79..26df1d8 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -19,5 +19,6 @@ ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; + options.patagia.laptop.enable = lib.mkEnableOption "Laptop"; options.patagia.oled.enable = lib.mkEnableOption "Darker darks on oled screens"; } diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index fd47c55..9b9e955 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -6,6 +6,7 @@ ]; patagia = { + laptop.enable = true; oled.enable = true; }; From 2497584fd0a2beff5fc1728501a3b1ab0cef2f66 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 050/182] Remove unused zed --- home/dln/desktop.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index b783e5d..95d3157 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -15,7 +15,6 @@ pavucontrol plexamp signal-desktop - zed-editor ]; xdg.desktopEntries = { From be8780d846b7d5ae5a62c23994404151169d5b14 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 051/182] Experiment with having no system wide language tooling --- flake.lock | 12 ++++++------ flake.nix | 1 + home/common/devel.nix | 17 ----------------- home/common/nvim/default.nix | 33 ++++++++++++++++++--------------- 4 files changed, 25 insertions(+), 38 deletions(-) diff --git a/flake.lock b/flake.lock index a2d4639..0d72b93 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735535921, - "narHash": "sha256-cfsHww91bRA2Frni54+blIGZGU9/269vaWzeGcNRNN0=", + "lastModified": 1735589157, + "narHash": "sha256-s5fJn9LSwz3cfkKSvicQppCnXVs8F05OH96yaa5K2Dc=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "87bd0bb744d6a1c45022aa39f21219d0b6ff3261", + "rev": "ef542c6e63b40b3541dc5efd625c0b95f750bbc6", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735412871, - "narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=", + "lastModified": 1735531152, + "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21", + "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ce544bd..170ca39 100644 --- a/flake.nix +++ b/flake.nix @@ -67,6 +67,7 @@ packages = with pkgs; [ just nh + nixd ]; }; diff --git a/home/common/devel.nix b/home/common/devel.nix index 21cffd0..910900e 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -2,30 +2,13 @@ { home.packages = with pkgs; [ age-plugin-fido2-hmac - bacon - cargo - clang - codeium comma dogdns file - gnumake - go just - ldns - minio-client - nil nix-output-monitor - nixd - nixfmt-rfc-style - nodejs_22 passage rage - prettierd - rust-analyzer - rustc - stylua - tree-sitter ]; home.sessionVariables = { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index d6dd694..ab9a1b0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -24,36 +24,38 @@ extraLuaConfig = lib.fileContents ./init.lua; extraPackages = with pkgs; [ - black codeium - cue - go - gopls - gotools harper lua-language-server - nil nixd - nodePackages.prettier - nodePackages.typescript - nodePackages.typescript-language-server - nodePackages.bash-language-server - rust-analyzer - rustfmt shellcheck shfmt stylua - superhtml - vscode-langservers-extracted ]; plugins = with pkgs.vimPlugins; [ - direnv-vim friendly-snippets go-nvim targets-vim ts-comments-nvim + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "direnv-nvim"; + src = pkgs.fetchFromGitHub { + owner = "actionshrimp"; + repo = "direnv.nvim"; + rev = "main"; + hash = "sha256-7NcVskgAurbIuEVIXxHvXZfYQBOEXLURGzllfVEQKNE="; + }; + }; + type = "lua"; + config = '' + require('direnv-nvim').setup { + type = "dir" + } + ''; + } { plugin = nvim-lspconfig; type = "lua"; @@ -174,6 +176,7 @@ type = "lua"; config = lib.fileContents ./rust.lua; } + ]; }; } From c749caf2e9ddd6b810f7d7cdc48ab0c1e5b346fc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:32:15 +0100 Subject: [PATCH 052/182] nvim: do not enable inlay hints by default --- home/common/nvim/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index ab9a1b0..5a76e67 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -90,14 +90,15 @@ src = pkgs.fetchFromGitHub { owner = "MysticalDevil"; repo = "inlay-hints.nvim"; - rev = "af84dee42cd118af6d592b06c1c0e45d6432a6c0"; # 2024-08-23 - hash = "sha256-DZVtFAUK9c8GInp+JdCQ1BKe0dkAheHKI67oxdMmA24="; + rev = "3259b54f3b954b4d8260f3ee49ceabe978ea5636"; + hash = "sha256-99KCGoPowa4PA1jkCm4ZbbgrFl84NWnKQMgkfy8KS5E="; }; }; type = "lua"; config = '' - require('inlay-hints').setup() - require("inlay-hints.utils").enable_inlay_hints() + require('inlay-hints').setup { + autocmd = { enable = false }, + } ''; } From cdc020ff0d54117a83c50dccf05ff72bb464d35b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:33:50 +0100 Subject: [PATCH 053/182] nvim: trying out just using blink cmp for neocodium as well --- home/common/nvim/default.nix | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 5a76e67..2731261 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -112,26 +112,6 @@ ''; } - # { - # plugin = pkgs.vimUtils.buildVimPlugin { - # name = "neocodeium"; - # src = pkgs.fetchFromGitHub { - # owner = "monkoose"; - # repo = "neocodeium"; - # rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - # hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; - # }; - # }; - # type = "lua"; - # config = '' - # local neocodeium =require('neocodeium') - # neocodeium.setup() - # vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) - # vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) - # vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) - # ''; - # } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "diagflow"; From 494bd5cad1b3a3eb96c8c19c86c259ceb03d9caf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:42:32 +0100 Subject: [PATCH 054/182] nvim: <Leader>uw toggles line wrap --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 1330396..c32cefe 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -155,4 +155,5 @@ vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From be77222a9987bda6839a26ae303a2e488db8343f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 1 Jan 2025 13:12:48 +0100 Subject: [PATCH 055/182] Ditch tmux for ghostty tabs + a more stateless living --- home/common/fish.nix | 30 +++--------------------- home/common/ghostty.nix | 51 ++++------------------------------------- home/common/tmux.nix | 20 ++++++++-------- 3 files changed, 16 insertions(+), 85 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 4452d23..5fd6a55 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -43,40 +43,17 @@ body = ''confirm "⚠ Really shutdown $(hostname)?" && command shutdown $argv''; }; - tmux-refresh-env = { - description = "Refresh environment variables from tmux session"; - body = '' - for var in (tmux show-environment | string match -rv '^-') - set -l parts (string split -m 1 '=' $var) - if test (count $parts) -eq 2 - set -Ux $parts[1] $parts[2] - end - end - ''; - }; - kubectl = { description = "Wraps kubectl in grc"; wraps = "kubectl"; body = "grc.wrap kubectl $argv"; }; - edit = { - description = "Open a file in already running nvim and switch tab"; + e = { + description = "Open a file in already running nvim"; argumentNames = [ "file" ]; body = '' - set _file (readlink -f "$file") - if test -z "$file" - set _root (vcs_root) - set _file (fd --type f . "$_root" | sed -e "s#^$_root/##" | fzf --no-sort --layout=reverse) - set _file "$_root/$_file" - end - set _nvim_socket "$XDG_RUNTIME_DIR/nvim-persistent.sock" - if test -S "$_nvim_socket" && tmux select-window -t nvim 2>/dev/null - nvim --server "$_nvim_socket" --remote "$_file" - return 0 - end - tmux new-window -S -n nvim nvim --listen "$_nvim_socket" "$_file" + nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote (readlink -f "$file") ''; }; @@ -156,7 +133,6 @@ ]; shellAbbrs = { - e = "edit"; l = "bat"; ls = "eza"; tree = "eza --tree"; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 977eedc..7db5cca 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -34,8 +34,9 @@ shell-integration = "fish"; - window-decoration = false; - gtk-tabs-location = "bottom"; + window-decoration = true; + gtk-single-instance = true; + gtk-tabs-location = "hidden"; gtk-titlebar = false; window-padding-x = 12; window-padding-y = 0; @@ -49,16 +50,6 @@ "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" "super+enter=toggle_fullscreen" - "ctrl+enter=unbind" - "alt+one=unbind" - "alt+two=unbind" - "alt+three=unbind" - "alt+four=unbind" - "alt+five=unbind" - "alt+six=unbind" - "alt+seven=unbind" - "alt+eight=unbind" - "alt+nine=unbind" ]; }; }; @@ -116,46 +107,12 @@ ''; xdg.desktopEntries = { - ghostty-local = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -D -s main -t main"''; - genericName = "Ghostty (local)"; - icon = "com.mitchellh.ghostty"; - name = "Ghostty (local)"; - settings = { - StartupWMClass = "com.mitchellh.ghostty-local"; - TryExec = "ghostty"; - }; - terminal = false; - type = "Application"; - }; - - ghostty-local-secondary = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -D -s secondary -t main"''; - genericName = "Ghostty (local) Secondary"; - icon = "com.mitchellh.ghostty"; - name = "Ghostty (local) Secondary"; - settings = { - StartupWMClass = "com.mitchellh.ghostty-local-secondary"; - TryExec = "ghostty"; - }; - terminal = false; - type = "Application"; - }; - ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -D -s main -t main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/tmux.nix b/home/common/tmux.nix index d5b0687..a587338 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -25,7 +25,6 @@ set -g status-right '%F | %R' set -g status off set -g update-environment "SSH_AUTH_SOCK" - setenv -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent" setw -g alternate-screen on setw -g automatic-rename off setw -g window-status-format "" @@ -34,16 +33,15 @@ set -s command-alias[1000] stty='run-shell "tmux send-keys \"stty cols #{pane_width} rows #{pane_height}\" Enter"' - bind -n M-1 if-shell 'tmux select-window -t nvim' refresh-client 'new-window -S -n nvim nvim --listen $XDG_RUNTIME_DIR/nvim-persistent.sock' - bind -n M-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' - bind -n M-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' - bind -n M-4 if-shell 'tmux select-window -t t3' refresh-client 'new-window -S -n t3' - bind -n M-5 if-shell 'tmux select-window -t t4' refresh-client 'new-window -S -n t4' - bind -n M-6 if-shell 'tmux select-window -t t5' refresh-client 'new-window -S -n t5' - bind -n M-7 if-shell 'tmux select-window -t t6' refresh-client 'new-window -S -n t6' - bind -n M-8 if-shell 'tmux select-window -t t7' refresh-client 'new-window -S -n t7' - bind -n M-9 if-shell 'tmux select-window -t t8' refresh-client 'new-window -S -n t8' - bind -n M-0 if-shell 'tmux select-window -t t9' refresh-client 'new-window -S -n t9' + bind -n C-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' + bind -n C-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' + bind -n C-4 if-shell 'tmux select-window -t t3' refresh-client 'new-window -S -n t3' + bind -n C-5 if-shell 'tmux select-window -t t4' refresh-client 'new-window -S -n t4' + bind -n C-6 if-shell 'tmux select-window -t t5' refresh-client 'new-window -S -n t5' + bind -n C-7 if-shell 'tmux select-window -t t6' refresh-client 'new-window -S -n t6' + bind -n C-8 if-shell 'tmux select-window -t t7' refresh-client 'new-window -S -n t7' + bind -n C-9 if-shell 'tmux select-window -t t8' refresh-client 'new-window -S -n t8' + bind -n C-0 if-shell 'tmux select-window -t t9' refresh-client 'new-window -S -n t9' bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down bind C-s set-option -g status From 376fb67f48fff74d39b29dbbc9bae64d40e98ba9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 1 Jan 2025 16:55:29 +0100 Subject: [PATCH 056/182] nix update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0d72b93..2b181d7 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735589157, - "narHash": "sha256-s5fJn9LSwz3cfkKSvicQppCnXVs8F05OH96yaa5K2Dc=", + "lastModified": 1735689283, + "narHash": "sha256-LOZRScnB8Q9ylmlXnt2j2v4Aj1b5JZTdSeKYaFL1RDw=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "ef542c6e63b40b3541dc5efd625c0b95f750bbc6", + "rev": "60611b8a4a1d5b3c1097cce85eb0311de0696cfa", "type": "github" }, "original": { @@ -222,11 +222,11 @@ ] }, "locked": { - "lastModified": 1735381016, - "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", + "lastModified": 1735735907, + "narHash": "sha256-/AOGn9qJMjrZQyWYbObHTKmWDUP0q9+0TAXOJnq6ik0=", "owner": "nix-community", "repo": "home-manager", - "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", + "rev": "59a4c43e9ba6db24698c112720a58a334117de83", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735517129, - "narHash": "sha256-ibHgAkr8OXAP8MRBo4Z7AIaVdOHywGR2J8R50vZCQjI=", + "lastModified": 1735693090, + "narHash": "sha256-Axke90GBbocA48Lrb7ub/RycvHt1NcujkZW1RMF+Q7Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fd381a5a19f553c2466dc437fb94fcf799d77e82", + "rev": "47e417b35d1ec8bf79deec3e96c90f1e41a9e1e4", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735489459, - "narHash": "sha256-PMeWazyxGxpA6UeVrWH/ur8WuqliGxXlRjTTQdMiYVc=", + "lastModified": 1735686267, + "narHash": "sha256-gLa+1QOW7P5J4cAG34BW68tnf/yOx50rH6iZuSyoX1A=", "owner": "neovim", "repo": "neovim", - "rev": "e4bc8b5967d22840c1e52c97acab0f77107cd48c", + "rev": "59cbe640233eeb6ae96231e059449e73e15f9ea5", "type": "github" }, "original": { @@ -277,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735268880, - "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "lastModified": 1735554305, + "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735523292, - "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=", + "lastModified": 1735617354, + "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b", + "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", "type": "github" }, "original": { @@ -405,11 +405,11 @@ ] }, "locked": { - "lastModified": 1735135567, - "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", + "lastModified": 1735653038, + "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", + "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7", "type": "github" }, "original": { From 9ee84b89e6eaceffcc259e0812fffebc977dae9b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 00:30:54 +0100 Subject: [PATCH 057/182] nvim: color scheme tweaks --- home/common/nvim/dieter/lua/dieter/init.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e803a36..1a638dd 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -52,9 +52,14 @@ local colors = { highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), - string = hsl(96, 35, 60), + -- string = hsl(96, 35, 60), + -- string = hsl(80, 79, 83), + string = hsl(90, 45, 70), comment = hsl(2, 69, 68), comment_error = hsl(2, 85, 50), + func = hsl(40, 57, 87), + member = hsl(213, 45, 75), + punc = hsl(213, 45, 50), diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), @@ -97,13 +102,14 @@ local theme = { Constant = { link = "NormalNC" }, Delimiter = { link = "NormalNC" }, + Function = { fg = c.func }, Identifier = { link = "NormalNC" }, Keyword = { fg = c.foreground, bold = true }, Operator = { link = "NormalNC" }, Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, - String = { fg = c.string, italic = true }, + String = { fg = c.string }, Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, @@ -123,11 +129,13 @@ local theme = { GitSignsDeleteNr = { link = "DiffDelete" }, -- Treesitter - ["@function"] = { link = "NormalNC" }, + -- ["@function"] = { link = "NormalNC" }, + ["@punctuation.special"] = { fg = c.punc }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, + ["@variable.member"] = { fg = c.member }, ["@variable.parameter"] = { fg = c.accent2 }, - ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, + -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, From 311cd9042e5d22ce52980d02ade6b8c7e6152cd8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 10:55:43 +0100 Subject: [PATCH 058/182] nvim: wrapper script for persistent+remote control --- home/common/fish.nix | 2 +- home/common/ghostty.nix | 5 ++++- home/common/nvim/default.nix | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 5fd6a55..253c701 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -53,7 +53,7 @@ description = "Open a file in already running nvim"; argumentNames = [ "file" ]; body = '' - nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote (readlink -f "$file") + nvim-remote --remote (readlink -f "$file") ''; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 7db5cca..60174c8 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -33,6 +33,7 @@ unfocused-split-opacity = 1.0; shell-integration = "fish"; + initial-command = "nvim-remote"; window-decoration = true; gtk-single-instance = true; @@ -112,7 +113,9 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo"''; + exec = '' + ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 2731261..a67f7e3 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -4,11 +4,23 @@ pkgs, ... }: +let + nvim-remote = pkgs.writeShellApplication { + name = "nvim-remote"; + text = '' + _sess=$(echo -n "$USER@''${SSH_CONNECTION:-$HOSTNAME}" | tr -c '[:alnum:]@.' '_') + _nvim_sock="''${XDG_RUNTIME_DIR:-/tmp}/nvim.$_sess.sock" + exec nvim --listen "$_nvim_sock" --server "$_nvim_sock" "$@" + ''; + }; +in { imports = [ ./treesitter.nix ]; + home.packages = [ nvim-remote ]; + programs.man.generateCaches = false; programs.neovim = { From a603dd1cada3f589d3ea2d8a82ae4d419d8b1bca Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 16:19:21 +0100 Subject: [PATCH 059/182] ghostty: module has been merged to home-manager --- flake.lock | 64 ++++++++++++++++------------------------- flake.nix | 3 -- home/common/ghostty.nix | 7 ++--- home/dln/desktop.nix | 1 - 4 files changed, 26 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index 2b181d7..bb16977 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1735774679, + "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", "type": "github" }, "original": { @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735689283, - "narHash": "sha256-LOZRScnB8Q9ylmlXnt2j2v4Aj1b5JZTdSeKYaFL1RDw=", + "lastModified": 1735765328, + "narHash": "sha256-f4LI34cXP8nOTi4Va6GPUFaJYf0qGbabk+OeUddsfuk=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "60611b8a4a1d5b3c1097cce85eb0311de0696cfa", + "rev": "94599102e9fb8247af08cbbbcb7ee25e3d31e1bd", "type": "github" }, "original": { @@ -129,21 +129,6 @@ "type": "github" } }, - "ghostty-hm": { - "locked": { - "lastModified": 1702368251, - "narHash": "sha256-hafrDmzGplzm+vdIo+LkOjRfA4qRcy5JmpGGksnht5c=", - "owner": "clo4", - "repo": "ghostty-hm-module", - "rev": "887e13a6e7acf5ffaab0119d96e476d84db90904", - "type": "github" - }, - "original": { - "owner": "clo4", - "repo": "ghostty-hm-module", - "type": "github" - } - }, "git-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -202,11 +187,11 @@ ] }, "locked": { - "lastModified": 1733333617, - "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", + "lastModified": 1735695978, + "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", + "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", "type": "github" }, "original": { @@ -222,11 +207,11 @@ ] }, "locked": { - "lastModified": 1735735907, - "narHash": "sha256-/AOGn9qJMjrZQyWYbObHTKmWDUP0q9+0TAXOJnq6ik0=", + "lastModified": 1735774425, + "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", "owner": "nix-community", "repo": "home-manager", - "rev": "59a4c43e9ba6db24698c112720a58a334117de83", + "rev": "5f6aa268e419d053c3d5025da740e390b12ac936", "type": "github" }, "original": { @@ -246,11 +231,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735693090, - "narHash": "sha256-Axke90GBbocA48Lrb7ub/RycvHt1NcujkZW1RMF+Q7Q=", + "lastModified": 1735801710, + "narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "47e417b35d1ec8bf79deec3e96c90f1e41a9e1e4", + "rev": "57a05ea557689b9d85dd594a9a26778b6842a18a", "type": "github" }, "original": { @@ -262,11 +247,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735686267, - "narHash": "sha256-gLa+1QOW7P5J4cAG34BW68tnf/yOx50rH6iZuSyoX1A=", + "lastModified": 1735771362, + "narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=", "owner": "neovim", "repo": "neovim", - "rev": "59cbe640233eeb6ae96231e059449e73e15f9ea5", + "rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9", "type": "github" }, "original": { @@ -277,11 +262,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735554305, - "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "lastModified": 1735617354, + "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", "type": "github" }, "original": { @@ -309,11 +294,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735531152, - "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", + "lastModified": 1735669367, + "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", + "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", "type": "github" }, "original": { @@ -374,7 +359,6 @@ "root": { "inputs": { "ghostty": "ghostty", - "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", diff --git a/flake.nix b/flake.nix index 170ca39..c19e910 100644 --- a/flake.nix +++ b/flake.nix @@ -22,14 +22,12 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - ghostty-hm.url = "github:clo4/ghostty-hm-module"; }; outputs = inputs@{ self, nixpkgs, - ghostty-hm, home-manager, ... }: @@ -55,7 +53,6 @@ inherit inputs outputs; }; modules = [ - ghostty-hm.homeModules.default ./home/common ] ++ modules; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 60174c8..165989a 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -7,13 +7,10 @@ }: { config = lib.mkIf config.patagia.desktop.enable { - - home.packages = with pkgs; [ - inputs.ghostty.packages.${pkgs.system}.default - ]; - programs.ghostty = { enable = true; + enableFishIntegration = true; + package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 14; font-family = "Berkeley Mono Variable"; diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 95d3157..783f875 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -9,7 +9,6 @@ dynamic-wallpaper gimp inkscape - inputs.ghostty.packages.${pkgs.system}.default moonlight-qt obsidian pavucontrol From 091442fcdf183fcc65f5799f59c663f2c3ffd367 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 17:04:16 +0100 Subject: [PATCH 060/182] ghostty: use berkeley mono v2 --- home/common/ghostty.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 165989a..3ff4a1e 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -13,11 +13,12 @@ package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 14; - font-family = "Berkeley Mono Variable"; + font-family = "TX-02"; font-family-bold-italic = "Monaspace Xenon"; + font-style-bold = "Bold"; + font-style-italic = "Light Oblique"; font-style-bold-italic = "ExtraLight Italic"; font-synthetic-style = false; - font-variation-italic = [ "wght=100" ]; adjust-cell-height = 1; adjust-cursor-thickness = 5; From 13348be8e987eac9e6555634fc71e120f7317551 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 19:46:32 +0100 Subject: [PATCH 061/182] nvim: Add dieter/dieter-nocolor variants. Switch with <Leader>uc --- home/common/nvim/default.nix | 2 +- .../nvim/dieter/colors/dieter-nocolor.lua | 2 + home/common/nvim/dieter/colors/dieter.lua | 2 +- home/common/nvim/dieter/lua/dieter/init.lua | 255 ++++++++++-------- home/common/nvim/init.lua | 7 + 5 files changed, 156 insertions(+), 112 deletions(-) create mode 100644 home/common/nvim/dieter/colors/dieter-nocolor.lua diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index a67f7e3..4312729 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -154,7 +154,7 @@ in }; type = "lua"; config = '' - vim.cmd.colorscheme "dieter" + vim.cmd.colorscheme "dieter-nocolor" ''; } diff --git a/home/common/nvim/dieter/colors/dieter-nocolor.lua b/home/common/nvim/dieter/colors/dieter-nocolor.lua new file mode 100644 index 0000000..6f016e4 --- /dev/null +++ b/home/common/nvim/dieter/colors/dieter-nocolor.lua @@ -0,0 +1,2 @@ +package.loaded["dieter"] = nil +require("dieter").setup_nocolor() diff --git a/home/common/nvim/dieter/colors/dieter.lua b/home/common/nvim/dieter/colors/dieter.lua index 38e858c..5dd7a50 100644 --- a/home/common/nvim/dieter/colors/dieter.lua +++ b/home/common/nvim/dieter/colors/dieter.lua @@ -1,2 +1,2 @@ package.loaded["dieter"] = nil -require("dieter") +require("dieter").setup() diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 1a638dd..4b4c55d 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -42,7 +42,7 @@ local colors = { background = "NONE", foreground = "NONE", - accent1 = hsl(202, 57, 57), -- Blue + accent1 = hsl(202, 57, 57), -- Blue accent2 = hsl(40, 57, 57), -- Yellow dimmed = hsl(212, 19, 25), @@ -93,136 +93,171 @@ local colors = { } -local c = colors[vim.o.background] -c.dialog_fg = c.foreground -c.dialog_bg = c.background +local setupGroups = function(c) + c.dialog_fg = c.foreground + c.dialog_bg = c.background -local theme = { - Normal = { fg = c.foreground, bg = c.background }, + return { + Normal = { fg = c.foreground, bg = c.background }, - Constant = { link = "NormalNC" }, - Delimiter = { link = "NormalNC" }, - Function = { fg = c.func }, - Identifier = { link = "NormalNC" }, - Keyword = { fg = c.foreground, bold = true }, - Operator = { link = "NormalNC" }, - Special = { link = "NormalNC" }, - Type = { link = "NormalNC" }, + Constant = { link = "NormalNC" }, + Delimiter = { link = "NormalNC" }, + Function = { fg = c.func }, + Identifier = { link = "NormalNC" }, + Keyword = { fg = c.foreground, bold = true }, + Operator = { link = "NormalNC" }, + Special = { link = "NormalNC" }, + Type = { link = "NormalNC" }, - String = { fg = c.string }, + String = { fg = c.string }, - Comment = { fg = c.comment, italic = true, bold = true }, - CommentError = { fg = c.comment_error, italic = true, bold = true }, - ["@comment.note"] = { link = "Comment" }, - ["@comment.todo"] = { link = "CommentError" }, - ["@comment.error"] = { link = "CommentError" }, - ["@comment.warning"] = { link = "CommentError" }, + Visual = { bg = c.selection }, - DiffAdd = { fg = c.add, bg = c.add_quarter }, - GitSignsAdd = { fg = c.add, bg = c.background }, - GitSignsAddNr = { link = "DiffAdd" }, - DiffChange = { fg = c.change, bg = c.change_quarter }, - GitSignsChange = { fg = c.change, bg = c.background }, - GitSignsChangeNr = { link = "DiffChange" }, - DiffDelete = { fg = c.delete, bg = c.delete_quarter }, - GitSignsDelete = { fg = c.delete, bg = c.background }, - GitSignsDeleteNr = { link = "DiffDelete" }, + Comment = { fg = c.comment, italic = true, bold = true }, + CommentError = { fg = c.comment_error, italic = true, bold = true }, + ["@comment.note"] = { link = "Comment" }, + ["@comment.todo"] = { link = "CommentError" }, + ["@comment.error"] = { link = "CommentError" }, + ["@comment.warning"] = { link = "CommentError" }, - -- Treesitter - -- ["@function"] = { link = "NormalNC" }, - ["@punctuation.special"] = { fg = c.punc }, - ["@special"] = { link = "NormalNC" }, - ["@variable"] = { link = "NormalNC" }, - ["@variable.member"] = { fg = c.member }, - ["@variable.parameter"] = { fg = c.accent2 }, - -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, + DiffAdd = { fg = c.add, bg = c.add_quarter }, + GitSignsAdd = { fg = c.add, bg = c.background }, + GitSignsAddNr = { link = "DiffAdd" }, + DiffChange = { fg = c.change, bg = c.change_quarter }, + GitSignsChange = { fg = c.change, bg = c.background }, + GitSignsChangeNr = { link = "DiffChange" }, + DiffDelete = { fg = c.delete, bg = c.delete_quarter }, + GitSignsDelete = { fg = c.delete, bg = c.background }, + GitSignsDeleteNr = { link = "DiffDelete" }, - -- UI Elements - CursorLine = { bg = c.highlight_subtle }, + -- Treesitter + -- ["@function"] = { link = "NormalNC" }, + ["@punctuation.special"] = { fg = c.punc }, + ["@special"] = { link = "NormalNC" }, + ["@variable"] = { link = "NormalNC" }, + ["@variable.member"] = { fg = c.member }, + ["@variable.parameter"] = { fg = c.accent2 }, + -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, - DiagnosticError = { fg = c.diagnostic_error, italic = true }, - DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, - DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, - DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, - DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, - DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + -- UI Elements + CursorLine = { bg = c.highlight_subtle }, - DiagnosticSignError = { fg = c.diagnostic_error }, - DiagnosticSignHint = { fg = c.diagnostic_hint }, - DiagnosticSignInfo = { fg = c.diagnostic_info }, - DiagnosticSignWarn = { fg = c.diagnostic_warning }, - LineNr = { fg = c.dimmed, italic = true }, - CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, + DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, + DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, + DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, - IndentLine = { fg = c.dimmed }, - IndentLineCurrent = { fg = c.dimmed_subtle }, - MiniIndentscopeSymbol = { link = "IndentLine" }, - MiniIndentscopeSymbolOff = { link = "IndentLine" }, + DiagnosticSignError = { fg = c.diagnostic_error }, + DiagnosticSignHint = { fg = c.diagnostic_hint }, + DiagnosticSignInfo = { fg = c.diagnostic_info }, + DiagnosticSignWarn = { fg = c.diagnostic_warning }, + LineNr = { fg = c.dimmed, italic = true }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, - TreesitterContext = { reverse = true }, - TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, - InclineNormal = { bg = c.background }, - InclineNormalNC = { bg = c.background }, + IndentLine = { fg = c.dimmed }, + IndentLineCurrent = { fg = c.dimmed_subtle }, + MiniIndentscopeSymbol = { link = "IndentLine" }, + MiniIndentscopeSymbolOff = { link = "IndentLine" }, - WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, - FloatBorder = { fg = c.doc_fg }, - FloatTitle = { fg = c.doc_fg, bold = true }, + TreesitterContext = { reverse = true }, + TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, + InclineNormal = { bg = c.background }, + InclineNormalNC = { bg = c.background }, - Title = { fg = c.foreground, bold = true }, + WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, + NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, + FloatBorder = { fg = c.doc_fg }, + FloatTitle = { fg = c.doc_fg, bold = true }, - MiniPickNormal = { link = "Normal" }, - MiniPickBorder = { link = "MiniPickNormal" }, - MiniPickBorderText = { link = "MiniPickBorder" }, - MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + Title = { fg = c.foreground, bold = true }, - MiniClueBorder = { link = "MiniPickNormal" }, - MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, - MiniClueNextKey = { link = "MiniClueTitle" }, - MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueDescSingle = { bg = c.background, fg = c.foreground }, - MiniClueSeparator = { link = "MiniClueBorder" }, + MiniPickNormal = { link = "Normal" }, + MiniPickBorder = { link = "MiniPickNormal" }, + MiniPickBorderText = { link = "MiniPickBorder" }, + MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, - MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, + MiniClueBorder = { link = "MiniPickNormal" }, + MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, + MiniClueNextKey = { link = "MiniClueTitle" }, + MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, + MiniClueDescSingle = { bg = c.background, fg = c.foreground }, + MiniClueSeparator = { link = "MiniClueBorder" }, - BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, - BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, - BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg }, - BlinkCmpLabel = { link = 'BlinkCmpMenu' }, - BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, - BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground }, - BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg }, - BlinkCmpDocDetail = { link = 'BlinkCmpDoc' }, - BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, - BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, + BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, + BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpLabel = { link = 'BlinkCmpMenu' }, + BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true }, - NeoCodeiumSuggestion = { fg = c.suggestion , bold = true, italic = true }, + BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground }, + BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg }, + BlinkCmpDocDetail = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, - NoiceMini = { fg = c.foreground, italic = true }, - - TelescopeNormal = { fg = c.foreground, bg = c.background }, - TelescopeBorder = { bold = true }, - TelescopeSelection = { bg = c.selection }, - TelescopeResultsNormal = { fg = c.foreground, bold = true }, - TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, - - Visual = { bg = c.selection }, - LspReferenceText = { fg = c.highlight_intense, undercurl = true }, - LspInlayHint = { fg = c.accent1, italic = true, bold = true }, -} - -vim.cmd("hi clear") - -if vim.fn.exists("syntax_on") == 1 then - vim.cmd("syntax reset") + NeoCodeiumSuggestion = { fg = c.suggestion, bold = true, italic = true }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, + LspInlayHint = { fg = c.accent1, italic = true, bold = true }, + } end -for group, hl in pairs(theme) do - vim.api.nvim_set_hl(0, group, hl) + +local setupGroupsNoColor = function(c) + local g = setupGroups(c) + local cl = { link = "NormalNC" } + g.Constant = cl + g.Delimiter = cl + g.Function = cl + g.Identifier = cl + g.Keyword = cl + g.Operator = cl + g["@punctuation.special"] = cl + g["@special"] = cl + g["@string"] = cl + g["@lsp.type.string"] = cl + g.Special = cl + g.String = cl + g.Type = cl + g.Variable = cl + g["@variable"] = cl + g["@variable.member"] = cl + g["@variable.parameter"] = cl + g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } + g.CommentError = { link = "Comment" } + return g end -vim.g.colors_name = "dieter" +local setup_common = function(groups) + vim.cmd("hi clear") + if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") + end + for group, hl in pairs(groups) do + vim.api.nvim_set_hl(0, group, hl) + end +end + +local T = {} + +T.setup = function() + local c = colors[vim.o.background] + local groups = setupGroups(c) + setup_common(groups) + vim.g.colors_name = "dieter" +end + +T.setup_nocolor = function() + local c = colors[vim.o.background] + local groups = setupGroupsNoColor(c) + setup_common(groups) + vim.g.colors_name = "dieter-nocolor" +end + +return T diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index c32cefe..7c3e600 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -154,6 +154,13 @@ vim.keymap.set("n", "K", function() vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) +vim.keymap.set("n", "<Leader>uc", function() + if vim.g.colors_name == "dieter-nocolor" then + vim.cmd [[colorscheme dieter]] + else + vim.cmd [[colorscheme dieter-nocolor]] + end +end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 37372a5c69bb1b8cae6b97283738c3a0e5c17a8d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 20:27:42 +0100 Subject: [PATCH 062/182] nvim: colors --- home/common/nvim/dieter/lua/dieter/init.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 4b4c55d..e8b7abd 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -52,6 +52,8 @@ local colors = { highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), + dialog_fg = hsl(191, 15, 75), + -- string = hsl(96, 35, 60), -- string = hsl(80, 79, 83), string = hsl(90, 45, 70), @@ -81,7 +83,7 @@ local colors = { selection = hsl(213, 60, 40), cmp_bg = hsl(218, 30, 13), - cmp_fg = hsl(218, 30, 60), + cmp_fg = hsl(218, 30, 80), cmp_selected_bg = hsl(218, 30, 25), cmp_selected_fg = hsl(218, 50, 80), @@ -94,7 +96,6 @@ local colors = { } local setupGroups = function(c) - c.dialog_fg = c.foreground c.dialog_bg = c.background return { @@ -176,12 +177,12 @@ local setupGroups = function(c) Title = { fg = c.foreground, bold = true }, - MiniPickNormal = { link = "Normal" }, + MiniPickNormal = { bg = c.dialog_bg, fg = c.dialog_fg }, MiniPickBorder = { link = "MiniPickNormal" }, MiniPickBorderText = { link = "MiniPickBorder" }, - MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + MiniPickMatchCurrent = { bg = c.dialog_bg, fg = c.dialog_fg, reverse = true }, - MiniClueBorder = { link = "MiniPickNormal" }, + MiniClueBorder = { link = "MiniPicBorder" }, MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, MiniClueNextKey = { link = "MiniClueTitle" }, MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, From f8ad364bc9c9fa4b32dba3c7f7fe65889c8491a7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 21:11:26 +0100 Subject: [PATCH 063/182] ghostty: color adjustments --- home/common/ghostty.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3ff4a1e..d2dfb12 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -20,11 +20,9 @@ font-style-bold-italic = "ExtraLight Italic"; font-synthetic-style = false; - adjust-cell-height = 1; - adjust-cursor-thickness = 5; - adjust-font-baseline = 1; + adjust-cursor-thickness = 4; adjust-underline-position = 2; - adjust-underline-thickness = -1; + adjust-underline-thickness = -2; mouse-hide-while-typing = true; cursor-style = "block"; @@ -59,9 +57,9 @@ in '' background = "${background}" - foreground = "#d1d5db" - cursor-color = #00d992 - selection-background = #d7d7d7 + foreground = #b7bec7 + cursor-color = #e7e7b7 + selection-background = #84979f selection-foreground = #000000 palette = 0=#000000 palette = 1=#ff0035 @@ -70,7 +68,7 @@ palette = 4=#00a7ff palette = 5=#cb01ff palette = 6=#00e0ff - palette = 7=#f0f0f0 + palette = 7=#b7bec7 palette = 8=#444444 palette = 9=#ff8c88 palette = 10=#baff94 From f0710b34fba2fd30247b04bb3f9b9f3bcdd04a2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 23:04:54 +0100 Subject: [PATCH 064/182] nvim: update Patagia logo --- home/common/nvim/mini.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index a572728..297c1c6 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -239,11 +239,14 @@ require('mini.notify').setup({ require('mini.starter').setup({ header = - [[ ______ _ -(_____ \ _ (_) - _____) )___| |_ ____ ____ _ ____ -| ____/ _ | _)/ _ |/ _ | |/ _ | -| | ( ( | | |_( ( | ( ( | | ( ( | | -|_| \_||_|\___)_||_|\_|| |_|\_||_| - (_____|]] + [[ +████████▄ ▄▄ ▒▒ +██ ▀██ ██ +██ ▄██ ▄██████▄ ██████ ▄██████▄ ▄████▄██ ██ ▄██████▄ +████████▀ ▀▀ ██ ██ ▀▀ ██ ██▀ ▀██ ██ ▀▀ ██ +██ ▄███████ ██ ▄███████ ██ ██ ██ ▄███████ +██ ██ ██ ██ ██ ██ ██▄ ▄██ ██ ██ ██ +██ ▀████▀██ ▀███ ▀████▀██ ▀████▀██ ██ ▀████▀██ + ▄▄ ██ + ▀██████▀ ]] }) From 7e89879ae9f591fad9260030773206ca06a6a02a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 23:08:15 +0100 Subject: [PATCH 065/182] lsjostro has his own home-manager setup now --- flake.nix | 1 - home/lsjostro/home.nix | 40 ---------------------------------------- home/lsjostro/nemo.nix | 6 ------ 3 files changed, 47 deletions(-) delete mode 100644 home/lsjostro/home.nix delete mode 100644 home/lsjostro/nemo.nix diff --git a/flake.nix b/flake.nix index c19e910..fc589f7 100644 --- a/flake.nix +++ b/flake.nix @@ -78,7 +78,6 @@ "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; "dln@nemo" = mkHome [ ./home/dln/nemo.nix ]; "dln@pearl" = mkHome [ ./home/dln/pearl.nix ]; - "lsjostro@nemo" = mkHome [ ./home/lsjostro/nemo.nix ]; }; }; } diff --git a/home/lsjostro/home.nix b/home/lsjostro/home.nix deleted file mode 100644 index f1d8a4d..0000000 --- a/home/lsjostro/home.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs, ... }: -{ - home = { - username = "lsjostro"; - homeDirectory = "/home/lsjostro"; - packages = with pkgs; [ openconnect ]; - }; - - programs.git = { - userName = "Lars Sjöstrom"; - userEmail = "lars@radicore.se"; - }; - - programs.ssh.matchBlocks = { - dev = { - hostname = "10.1.100.17"; - }; - - nemo = { - hostname = "10.1.100.20"; - forwardAgent = true; - localForwards = [ - { - bind.address = "localhost"; - bind.port = 8000; - host.address = "localhost"; - host.port = 8000; - } - { - bind.address = "localhost"; - bind.port = 8080; - host.address = "localhost"; - host.port = 8080; - } - ]; - }; - }; - - home.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion -} diff --git a/home/lsjostro/nemo.nix b/home/lsjostro/nemo.nix deleted file mode 100644 index 0de2f39..0000000 --- a/home/lsjostro/nemo.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - imports = [ ./home.nix ]; - - # Host specific user config goes here -} From 70fec1c1f1369022103e6824399652ca0d444908 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 00:11:25 +0100 Subject: [PATCH 066/182] nvim: just color underlines for diagnostics --- home/common/nvim/dieter/lua/dieter/init.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e8b7abd..e552e61 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -148,10 +148,10 @@ local setupGroups = function(c) DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, - DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, - DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, - DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, + DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, + DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, + DiagnosticUnderlinehint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticSignError = { fg = c.diagnostic_error }, DiagnosticSignHint = { fg = c.diagnostic_hint }, From 5a35ac9aeb78004ecdba79ce07c5cdcc19b12ae2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 00:11:25 +0100 Subject: [PATCH 067/182] nvim: absolute line numbers by default --- home/common/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 7c3e600..2372c92 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,7 +8,7 @@ vim.g.maplocalleader = "," vim.opt.cursorline = true vim.opt.laststatus = 0 vim.opt.number = true -vim.opt.relativenumber = true +vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" vim.opt.termguicolors = true From 6223f1e7c92ca7b1557f7a3ca3266314a0d3568c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 068/182] test-term: add ANSI color sets --- files/scripts/test-term.sh | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/files/scripts/test-term.sh b/files/scripts/test-term.sh index 822e174..e702886 100755 --- a/files/scripts/test-term.sh +++ b/files/scripts/test-term.sh @@ -186,3 +186,109 @@ for i in $(seq 255 -1 128); do echo -n " " done resetOutput + + +## Color test + +# Tom Hale, 2016. MIT Licence. +# Print out 256 colours, with each number printed in its corresponding colour +# See http://askubuntu.com/questions/821157/print-a-256-color-test-pattern-in-the-terminal/821163#821163 + +set -eu # Fail on errors or undeclared variables + +printable_colours=256 + +# Return a colour that contrasts with the given colour +# Bash only does integer division, so keep it integral +function contrast_colour { + local r g b luminance + colour="$1" + + if (( colour < 16 )); then # Initial 16 ANSI colours + (( colour == 0 )) && printf "15" || printf "0" + return + fi + + # Greyscale # rgb_R = rgb_G = rgb_B = (number - 232) * 10 + 8 + if (( colour > 231 )); then # Greyscale ramp + (( colour < 244 )) && printf "15" || printf "0" + return + fi + + # All other colours: + # 6x6x6 colour cube = 16 + 36*R + 6*G + B # Where RGB are [0..5] + # See http://stackoverflow.com/a/27165165/5353461 + + # r=$(( (colour-16) / 36 )) + g=$(( ((colour-16) % 36) / 6 )) + # b=$(( (colour-16) % 6 )) + + # If luminance is bright, print number in black, white otherwise. + # Green contributes 587/1000 to human perceived luminance - ITU R-REC-BT.601 + (( g > 2)) && printf "0" || printf "15" + return + + # Uncomment the below for more precise luminance calculations + + # # Calculate percieved brightness + # # See https://www.w3.org/TR/AERT#color-contrast + # # and http://www.itu.int/rec/R-REC-BT.601 + # # Luminance is in range 0..5000 as each value is 0..5 + # luminance=$(( (r * 299) + (g * 587) + (b * 114) )) + # (( $luminance > 2500 )) && printf "0" || printf "15" +} + +# Print a coloured block with the number of that colour +function print_colour { + local colour="$1" contrast + contrast=$(contrast_colour "$1") + printf "\e[48;5;%sm" "$colour" # Start block of colour + printf "\e[38;5;%sm%3d" "$contrast" "$colour" # In contrast, print number + printf "\e[0m " # Reset colour +} + +# Starting at $1, print a run of $2 colours +function print_run { + local i + for (( i = "$1"; i < "$1" + "$2" && i < printable_colours; i++ )) do + print_colour "$i" + done + printf " " +} + +# Print blocks of colours +function print_blocks { + local start="$1" i + local end="$2" # inclusive + local block_cols="$3" + local block_rows="$4" + local blocks_per_line="$5" + local block_length=$((block_cols * block_rows)) + + # Print sets of blocks + for (( i = start; i <= end; i += (blocks_per_line-1) * block_length )) do + printf "\n" # Space before each set of blocks + # For each block row + for (( row = 0; row < block_rows; row++ )) do + # Print block columns for all blocks on the line + for (( block = 0; block < blocks_per_line; block++ )) do + print_run $(( i + (block * block_length) )) "$block_cols" + done + (( i += block_cols )) # Prepare to print the next row + printf "\n" + done + done +} + +echo +echo "ANSI 4-bit colors:" +echo + +print_run 0 16 # The first 16 colours are spread over the whole spectrum + +echo +echo +echo "ANSI 8-bit colors:" + +print_blocks 16 231 6 6 3 # 6x6x6 colour cube between 16 and 231 inclusive +print_blocks 232 255 12 2 1 # Not 50, but 24 Shades of Grey From 243a4765256801190bb7fb6236644b8b7324e9b2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 069/182] ghostty: lower underline position --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index d2dfb12..3904d69 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -21,7 +21,7 @@ font-synthetic-style = false; adjust-cursor-thickness = 4; - adjust-underline-position = 2; + adjust-underline-position = 5; adjust-underline-thickness = -2; mouse-hide-while-typing = true; From a8adda373c4b323d99e6642fecfcc499c71a8fce Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 070/182] fish: bold prompt symbol instead of colored --- home/common/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 253c701..1061926 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -107,12 +107,12 @@ fish_prompt.body = '' echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) + string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold) ' ❯ ' (set_color normal) ''; transient_prompt_func.body = '' echo - string join "" -- (set_color yellow) '❯ ' (set_color normal) + string join "" -- (set_color --bold) '❯ ' (set_color normal) ''; rg.body = '' From 79e3ffbac30f471011aa4c9ae72e1d161cf8e975 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:05:08 +0100 Subject: [PATCH 071/182] nvim: more subtle mini cursor word --- home/common/nvim/dieter/lua/dieter/init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e552e61..8fc4535 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -66,7 +66,7 @@ local colors = { diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), diagnostic_info = hsl(176, 80, 60), - diagnostic_hint = hsl(176, 80, 60), + diagnostic_hint = hsl(210, 74, 60), popup_error_bg = hsl(0, 95, 7), popup_warning_bg = hsl(27, 95, 7), @@ -189,6 +189,8 @@ local setupGroups = function(c) MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, + MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, From 9b9389592e0251da7f61ef604f0ea5ff36a58e59 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:02:44 +0100 Subject: [PATCH 072/182] eza: monochrome theme. use home-manager aliases. --- home/common/fish.nix | 2 -- home/common/utils.nix | 12 +++++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 1061926..53c9988 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -134,8 +134,6 @@ shellAbbrs = { l = "bat"; - ls = "eza"; - tree = "eza --tree"; top = "btm --basic --enable_cache_memory --battery"; ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; w = "viddy $history[1]"; diff --git a/home/common/utils.nix b/home/common/utils.nix index d9b5abe..4b5bc1a 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -33,11 +33,6 @@ }; }; - eza = { - enable = true; - enableFishIntegration = true; - }; - fd.enable = true; fzf = { @@ -69,4 +64,11 @@ options = [ "--cmd=cd" ]; }; }; + + programs.eza = { + enable = true; + enableFishIntegration = true; + }; + home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + } From afa495919cf1dae0583d5eca458799726d633a18 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:48:33 +0100 Subject: [PATCH 073/182] nvim: colorings --- home/common/nvim/dieter/lua/dieter/init.lua | 13 +++++++++---- home/common/nvim/init.lua | 8 +++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 8fc4535..7a7d3a2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -29,7 +29,6 @@ local colors = { change = hsl(41, 80, 80), change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - delete_quarter = hsl(350, 100, 85), dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), @@ -80,7 +79,10 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - selection = hsl(213, 60, 40), + selection = hsl(218, 30, 20), + + search_bg = hsl(43, 100, 8), + search_fg = hsl(43, 100, 85), cmp_bg = hsl(218, 30, 13), cmp_fg = hsl(218, 30, 80), @@ -114,6 +116,9 @@ local setupGroups = function(c) Visual = { bg = c.selection }, + Search = { bg = c.search_bg, fg = c.search_fg }, + CurSearch = { link = "Search" }, + Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, ["@comment.note"] = { link = "Comment" }, @@ -157,8 +162,8 @@ local setupGroups = function(c) DiagnosticSignHint = { fg = c.diagnostic_hint }, DiagnosticSignInfo = { fg = c.diagnostic_info }, DiagnosticSignWarn = { fg = c.diagnostic_warning }, - LineNr = { fg = c.dimmed, italic = true }, - CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + LineNr = { fg = c.dimmed }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle }, IndentLine = { fg = c.dimmed }, IndentLineCurrent = { fg = c.dimmed_subtle }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 2372c92..8682273 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -69,7 +69,6 @@ vim.o.timeoutlen = 10 vim.o.timeout = true vim.o.updatetime = 50 - -- Use rg vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } @@ -150,10 +149,10 @@ vim.keymap.set("n", "K", function() max_width = 80, offset_x = 2, } - end, {}) +end, {}) vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") - end, opts("Toggle dark/light background")) +end, opts("Toggle dark/light background")) vim.keymap.set("n", "<Leader>uc", function() if vim.g.colors_name == "dieter-nocolor" then vim.cmd [[colorscheme dieter]] @@ -162,5 +161,4 @@ vim.keymap.set("n", "<Leader>uc", function() end end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) -vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) - +vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 7954844ff624cb73fce3cfa0f450e35f2258cf8c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:48:33 +0100 Subject: [PATCH 074/182] fish: colorings --- files/config/fish/config.fish | 2 +- home/common/fish.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index e794e56..c3d902f 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -12,7 +12,7 @@ set fish_emoji_width 2 # Colors set fish_color_command --bold set fish_color_comment --italics --dim -set fish_color_autosuggestion --italics --bold red +set fish_color_autosuggestion --italics --bold --dim set fish_color_cancel set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/home/common/fish.nix b/home/common/fish.nix index 53c9988..9fd7a43 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -107,7 +107,7 @@ fish_prompt.body = '' echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold) ' ❯ ' (set_color normal) + string join "" -- (set_color --dim) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold normal) ' ❯ ' (set_color normal) ''; transient_prompt_func.body = '' From 5032e07ee90aa455e24d32473d39d700b4e9caef Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 14:01:39 +0100 Subject: [PATCH 075/182] zoxide: fzf clown vomit mitigation effort --- home/common/utils.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 4b5bc1a..a8284c1 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -58,11 +58,6 @@ ]; }; - zoxide = { - enable = true; - enableFishIntegration = true; - options = [ "--cmd=cd" ]; - }; }; programs.eza = { @@ -71,4 +66,11 @@ }; home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + programs.zoxide = { + enable = true; + enableFishIntegration = true; + options = [ "--cmd=cd" ]; + }; + home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=none --no-info --no-separator --no-scrollbar --no-color"; + } From 6dd68098e0cfd4a3cfe030f44ca33cc94589cef0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 14:01:39 +0100 Subject: [PATCH 076/182] jj: use jj flake directly --- flake.lock | 159 +- flake.nix | 1 + home/common/vcs.nix | 4 +- pkgs/default.nix | 1 - pkgs/jujutsu-openssh/Cargo.lock | 3838 ------------------------------ pkgs/jujutsu-openssh/default.nix | 89 - 6 files changed, 125 insertions(+), 3967 deletions(-) delete mode 100644 pkgs/jujutsu-openssh/Cargo.lock delete mode 100644 pkgs/jujutsu-openssh/default.nix diff --git a/flake.lock b/flake.lock index bb16977..17a6d61 100644 --- a/flake.lock +++ b/flake.lock @@ -108,6 +108,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -116,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735765328, - "narHash": "sha256-f4LI34cXP8nOTi4Va6GPUFaJYf0qGbabk+OeUddsfuk=", + "lastModified": 1735875799, + "narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "94599102e9fb8247af08cbbbcb7ee25e3d31e1bd", + "rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8", "type": "github" }, "original": { @@ -136,18 +154,14 @@ "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" - ], - "nixpkgs-stable": [ - "neovim-nightly-overlay", - "nixpkgs" ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { @@ -207,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735774425, - "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", + "lastModified": 1735900408, + "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", "owner": "nix-community", "repo": "home-manager", - "rev": "5f6aa268e419d053c3d5025da740e390b12ac936", + "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", "type": "github" }, "original": { @@ -220,6 +234,27 @@ "type": "github" } }, + "jujutsu": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1733685432, + "narHash": "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=", + "owner": "dln", + "repo": "jj", + "rev": "b6608a03881542d6a8c98f659b80b57a27906096", + "type": "github" + }, + "original": { + "owner": "dln", + "ref": "openssh", + "repo": "jj", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -227,15 +262,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735801710, - "narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=", + "lastModified": 1735908283, + "narHash": "sha256-00Cd/KACX7Mr4ixz8rXksT4wteIStuExZIS22sA21ls=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "57a05ea557689b9d85dd594a9a26778b6842a18a", + "rev": "54dd5a7c0384fdcd11830e52f9896e457f189cb6", "type": "github" }, "original": { @@ -247,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735771362, - "narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=", + "lastModified": 1735903221, + "narHash": "sha256-VrmQyDyR8y7x8QHSnX+Szs2ywZa7butk6lUdiNX5U3s=", "owner": "neovim", "repo": "neovim", - "rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9", + "rev": "c26951b1d6d4d7ff8fe431e8bfb16744ff56af1c", "type": "github" }, "original": { @@ -262,18 +297,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735617354, - "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", - "type": "github" + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "path": "/nix/store/8vz84mqgnm1gz5yk7hgnnb5gir5hjxas-source", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "type": "path" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs-stable": { @@ -326,11 +358,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735617354, - "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", + "lastModified": 1735821806, + "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", + "rev": "d6973081434f88088e5321f83ebafe9a1167c367", "type": "github" }, "original": { @@ -341,6 +373,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1735821806, + "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1735471104, "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", @@ -360,12 +408,34 @@ "inputs": { "ghostty": "ghostty", "home-manager": "home-manager", + "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "jujutsu", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735871325, + "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "a599f011db521766cbaf7c2f5874182485554f00", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -381,6 +451,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -389,11 +474,11 @@ ] }, "locked": { - "lastModified": 1735653038, - "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=", + "lastModified": 1735905407, + "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7", + "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fc589f7..25d23c1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; + jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 34ec497..17f1fb4 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, inputs, pkgs, ... }: { home.packages = with pkgs; [ @@ -169,6 +169,6 @@ programs.jujutsu = { enable = true; - package = pkgs.jujutsu-openssh; + package = inputs.jujutsu.packages.${pkgs.system}.default; }; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 068b02a..3d0d4d6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,3 @@ pkgs: { gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; - jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; } diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock deleted file mode 100644 index 5146150..0000000 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ /dev/null @@ -1,3838 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "anyhow" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "assert_cmd" -version = "2.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" -dependencies = [ - "anstyle", - "bstr", - "doc-comment", - "libc", - "predicates", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-trait" -version = "0.1.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.7.4", - "object", - "rustc-demangle", -] - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -dependencies = [ - "serde", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bstr" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" -dependencies = [ - "memchr", - "regex-automata 0.4.8", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -dependencies = [ - "serde", -] - -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "castaway" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" -dependencies = [ - "rustversion", -] - -[[package]] -name = "cc" -version = "1.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "chrono-english" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73d909da7eb4a7d88c679c3f5a1bc09d965754e0adb2e7627426cef96a00d6f" -dependencies = [ - "chrono", - "scanlex", -] - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "clap" -version = "4.5.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap-markdown" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ebc67e6266e14f8b31541c2f204724fa2ac7ad5c17d6f5908fbb92a60f42cff" -dependencies = [ - "clap", -] - -[[package]] -name = "clap_builder" -version = "4.5.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", - "terminal_size", -] - -[[package]] -name = "clap_complete" -version = "4.5.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" -dependencies = [ - "clap", - "clap_lex", - "is_executable", - "shlex", -] - -[[package]] -name = "clap_complete_nushell" -version = "4.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "315902e790cc6e5ddd20cbd313c1d0d49db77f191e149f96397230fb82a17677" -dependencies = [ - "clap", - "clap_complete", -] - -[[package]] -name = "clap_derive" -version = "4.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "clap_mangen" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17415fd4dfbea46e3274fcd8d368284519b358654772afb700dc2e8d2b24eeb" -dependencies = [ - "clap", - "roff", -] - -[[package]] -name = "clru" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "compact_str" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "ryu", - "static_assertions", -] - -[[package]] -name = "config" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca" -dependencies = [ - "async-trait", - "lazy_static", - "nom", - "pathdiff", - "serde", - "toml", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "cpufeatures" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" -dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot", - "is-terminal", - "itertools 0.10.5", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools 0.10.5", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" -dependencies = [ - "bitflags", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "faster-hex" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" -dependencies = [ - "serde", -] - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" -dependencies = [ - "crc32fast", - "miniz_oxide 0.8.0", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures 0.1.31", - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "gen-protos" -version = "0.24.0" -dependencies = [ - "prost-build", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "git2" -version = "0.19.0" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" -dependencies = [ - "bitflags", - "libc", - "libgit2-sys", - "log", - "openssl-probe", - "openssl-sys", - "url", -] - -[[package]] -name = "gix" -version = "0.68.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04c66359b5e17f92395abc433861df0edf48f39f3f590818d1d7217327dd6a1" -dependencies = [ - "gix-actor", - "gix-attributes", - "gix-command", - "gix-commitgraph", - "gix-config", - "gix-date", - "gix-diff", - "gix-discover", - "gix-features", - "gix-filter", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-hashtable", - "gix-ignore", - "gix-index", - "gix-lock", - "gix-object", - "gix-odb", - "gix-pack", - "gix-path", - "gix-pathspec", - "gix-ref", - "gix-refspec", - "gix-revision", - "gix-revwalk", - "gix-sec", - "gix-submodule", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-url", - "gix-utils", - "gix-validate", - "gix-worktree", - "once_cell", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-actor" -version = "0.33.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b24171f514cef7bb4dfb72a0b06dacf609b33ba8ad2489d4c4559a03b7afb3" -dependencies = [ - "bstr", - "gix-date", - "gix-utils", - "itoa", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-attributes" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf9bf852194c0edfe699a2d36422d2c1f28f73b7c6d446c3f0ccd3ba232cadc" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-quote", - "gix-trace", - "kstring", - "smallvec", - "thiserror 2.0.4", - "unicode-bom", -] - -[[package]] -name = "gix-bitmap" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48b897b4bbc881aea994b4a5bbb340a04979d7be9089791304e04a9fbc66b53" -dependencies = [ - "thiserror 2.0.4", -] - -[[package]] -name = "gix-chunk" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ffbeb3a5c0b8b84c3fe4133a6f8c82fa962f4caefe8d0762eced025d3eb4f7" -dependencies = [ - "thiserror 2.0.4", -] - -[[package]] -name = "gix-command" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" -dependencies = [ - "bstr", - "gix-path", - "gix-trace", - "shell-words", -] - -[[package]] -name = "gix-commitgraph" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8da6591a7868fb2b6dabddea6b09988b0b05e0213f938dbaa11a03dd7a48d85" -dependencies = [ - "bstr", - "gix-chunk", - "gix-features", - "gix-hash", - "memmap2", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-config" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6649b406ca1f99cb148959cf00468b231f07950f8ec438cc0903cda563606f19" -dependencies = [ - "bstr", - "gix-config-value", - "gix-features", - "gix-glob", - "gix-path", - "gix-ref", - "gix-sec", - "memchr", - "once_cell", - "smallvec", - "thiserror 2.0.4", - "unicode-bom", - "winnow", -] - -[[package]] -name = "gix-config-value" -version = "0.14.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49aaeef5d98390a3bcf9dbc6440b520b793d1bf3ed99317dc407b02be995b28e" -dependencies = [ - "bitflags", - "bstr", - "gix-path", - "libc", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-date" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "691142b1a34d18e8ed6e6114bc1a2736516c5ad60ef3aa9bd1b694886e3ca92d" -dependencies = [ - "bstr", - "itoa", - "jiff", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-diff" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a327be31a392144b60ab0b1c863362c32a1c8f7effdfa2141d5d5b6b916ef3bf" -dependencies = [ - "bstr", - "gix-command", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-worktree", - "imara-diff", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-discover" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bf6dfa4e266a4a9becb4d18fc801f92c3f7cc6c433dd86fdadbcf315ffb6ef" -dependencies = [ - "bstr", - "dunce", - "gix-fs", - "gix-hash", - "gix-path", - "gix-ref", - "gix-sec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-features" -version = "0.39.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d85d673f2e022a340dba4713bed77ef2cf4cd737d2f3e0f159d45e0935fd81f" -dependencies = [ - "crc32fast", - "crossbeam-channel", - "flate2", - "gix-hash", - "gix-trace", - "gix-utils", - "libc", - "once_cell", - "parking_lot", - "prodash", - "sha1_smol", - "thiserror 2.0.4", - "walkdir", -] - -[[package]] -name = "gix-filter" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5108cc58d58b27df10ac4de7f31b2eb96d588a33e5eba23739b865f5d8db7995" -dependencies = [ - "bstr", - "encoding_rs", - "gix-attributes", - "gix-command", - "gix-hash", - "gix-object", - "gix-packetline-blocking", - "gix-path", - "gix-quote", - "gix-trace", - "gix-utils", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-fs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34740384d8d763975858fa2c176b68652a6fcc09f616e24e3ce967b0d370e4d8" -dependencies = [ - "fastrand", - "gix-features", - "gix-utils", -] - -[[package]] -name = "gix-glob" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf69a6bec0a3581567484bf99a4003afcaf6c469fd4214352517ea355cf3435" -dependencies = [ - "bitflags", - "bstr", - "gix-features", - "gix-path", -] - -[[package]] -name = "gix-hash" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5eccc17194ed0e67d49285e4853307e4147e95407f91c1c3e4a13ba9f4e4ce" -dependencies = [ - "faster-hex", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-hashtable" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe" -dependencies = [ - "gix-hash", - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "gix-ignore" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fb24d2a4af0aa7438e2771d60c14a80cf2c9bd55c29cf1712b841f05bb8a" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-trace", - "unicode-bom", -] - -[[package]] -name = "gix-index" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "270645fd20556b64c8ffa1540d921b281e6994413a0ca068596f97e9367a257a" -dependencies = [ - "bitflags", - "bstr", - "filetime", - "fnv", - "gix-bitmap", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-traverse", - "gix-utils", - "gix-validate", - "hashbrown 0.14.5", - "itoa", - "libc", - "memmap2", - "rustix", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-lock" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5102acdf4acae2644e38dbbd18cdfba9597a218f7d85f810fe5430207e03c2de" -dependencies = [ - "gix-tempfile", - "gix-utils", - "thiserror 1.0.69", -] - -[[package]] -name = "gix-object" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d93e2bbfa83a307e47f45e45de7b6c04d7375a8bd5907b215f4bf45237d879" -dependencies = [ - "bstr", - "gix-actor", - "gix-date", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-utils", - "gix-validate", - "itoa", - "smallvec", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-odb" -version = "0.65.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bed6e1b577c25a6bb8e6ecbf4df525f29a671ddf5f2221821a56a8dbeec4e3" -dependencies = [ - "arc-swap", - "gix-date", - "gix-features", - "gix-fs", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-pack", - "gix-path", - "gix-quote", - "parking_lot", - "tempfile", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-pack" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b91fec04d359544fecbb8e85117ec746fbaa9046ebafcefb58cb74f20dc76d4" -dependencies = [ - "clru", - "gix-chunk", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-path", - "memmap2", - "smallvec", - "thiserror 2.0.4", - "uluru", -] - -[[package]] -name = "gix-packetline-blocking" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce9004ce1bc00fd538b11c1ec8141a1558fb3af3d2b7ac1ac5c41881f9e42d2a" -dependencies = [ - "bstr", - "faster-hex", - "gix-trace", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-path" -version = "0.10.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc292ef1a51e340aeb0e720800338c805975724c1dfbd243185452efd8645b7" -dependencies = [ - "bstr", - "gix-trace", - "home", - "once_cell", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-pathspec" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c472dfbe4a4e96fcf7efddcd4771c9037bb4fdea2faaabf2f4888210c75b81e" -dependencies = [ - "bitflags", - "bstr", - "gix-attributes", - "gix-config-value", - "gix-glob", - "gix-path", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-quote" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a1e282216ec2ab2816cd57e6ed88f8009e634aec47562883c05ac8a7009a63" -dependencies = [ - "bstr", - "gix-utils", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-ref" -version = "0.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eae462723686272a58f49501015ef7c0d67c3e042c20049d8dd9c7eff92efde" -dependencies = [ - "gix-actor", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "memmap2", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-refspec" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c056bb747868c7eb0aeb352c9f9181ab8ca3d0a2550f16470803500c6c413d" -dependencies = [ - "bstr", - "gix-hash", - "gix-revision", - "gix-validate", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-revision" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44488e0380847967bc3e3cacd8b22652e02ea1eb58afb60edd91847695cd2d8d" -dependencies = [ - "bstr", - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-object", - "gix-revwalk", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-revwalk" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510026fc32f456f8f067d8f37c34088b97a36b2229d88a6a5023ef179fcb109d" -dependencies = [ - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-hashtable", - "gix-object", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-sec" -version = "0.10.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8b876ef997a955397809a2ec398d6a45b7a55b4918f2446344330f778d14fd6" -dependencies = [ - "bitflags", - "gix-path", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "gix-submodule" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2455f8c0fcb6ebe2a6e83c8f522d30615d763eb2ef7a23c7d929f9476e89f5c" -dependencies = [ - "bstr", - "gix-config", - "gix-path", - "gix-pathspec", - "gix-refspec", - "gix-url", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-tempfile" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82" -dependencies = [ - "dashmap", - "gix-fs", - "libc", - "once_cell", - "parking_lot", - "tempfile", -] - -[[package]] -name = "gix-trace" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952" - -[[package]] -name = "gix-traverse" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff2ec9f779680f795363db1c563168b32b8d6728ec58564c628e85c92d29faf" -dependencies = [ - "bitflags", - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-url" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e09f97db3618fb8e473d7d97e77296b50aaee0ddcd6a867f07443e3e87391099" -dependencies = [ - "bstr", - "gix-features", - "gix-path", - "thiserror 2.0.4", - "url", -] - -[[package]] -name = "gix-utils" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f" -dependencies = [ - "fastrand", - "unicode-normalization", -] - -[[package]] -name = "gix-validate" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd520d09f9f585b34b32aba1d0b36ada89ab7fefb54a8ca3fe37fc482a750937" -dependencies = [ - "bstr", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-worktree" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756dbbe15188fa22540d5eab941f8f9cf511a5364d5aec34c88083c09f4bea13" -dependencies = [ - "bstr", - "gix-attributes", - "gix-features", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-validate", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata 0.4.8", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "imara-diff" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc9da1a252bd44cd341657203722352efc9bc0c847d06ea6d2dc1cd1135e0a01" -dependencies = [ - "ahash", - "hashbrown 0.14.5", -] - -[[package]] -name = "indexmap" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" -dependencies = [ - "equivalent", - "hashbrown 0.15.2", -] - -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - -[[package]] -name = "insta" -version = "1.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9ffc4d4892617c50a928c52b2961cb5174b6fc6ebf252b2fac9d21955c48b8" -dependencies = [ - "console", - "lazy_static", - "linked-hash-map", - "regex", - "similar", -] - -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is_executable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" -dependencies = [ - "winapi", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jiff" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437651126da47900d4d70255ab15f5c69510ca4e0d88c9f01b5b8d41a45c3a9b" -dependencies = [ - "jiff-tzdb-platform", - "windows-sys 0.59.0", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" -dependencies = [ - "jiff-tzdb", -] - -[[package]] -name = "jj-cli" -version = "0.24.0" -dependencies = [ - "anyhow", - "assert_cmd", - "assert_matches", - "async-trait", - "bstr", - "chrono", - "clap", - "clap-markdown", - "clap_complete", - "clap_complete_nushell", - "clap_mangen", - "config", - "criterion", - "crossterm", - "dirs", - "dunce", - "futures 0.3.31", - "git2", - "gix", - "glob", - "indexmap", - "indoc", - "insta", - "itertools 0.13.0", - "jj-cli", - "jj-lib", - "libc", - "maplit", - "minus", - "once_cell", - "pest", - "pest_derive", - "pollster", - "rayon", - "regex", - "rpassword", - "sapling-renderdag", - "scm-record", - "serde", - "serde_json", - "slab", - "strsim", - "tempfile", - "test-case", - "testutils", - "textwrap", - "thiserror 2.0.4", - "timeago", - "toml_edit", - "tracing", - "tracing-chrome", - "tracing-subscriber", - "unicode-width", -] - -[[package]] -name = "jj-lib" -version = "0.24.0" -dependencies = [ - "assert_matches", - "async-trait", - "blake2", - "bstr", - "chrono", - "chrono-english", - "clru", - "config", - "criterion", - "digest", - "either", - "futures 0.3.31", - "git2", - "gix", - "glob", - "hashbrown 0.15.2", - "hex", - "ignore", - "indexmap", - "indoc", - "insta", - "itertools 0.13.0", - "jj-lib-proc-macros", - "maplit", - "num_cpus", - "once_cell", - "pest", - "pest_derive", - "pollster", - "pretty_assertions", - "prost", - "rand", - "rand_chacha", - "rayon", - "ref-cast", - "regex", - "rustix", - "same-file", - "sapling-renderdag", - "serde", - "serde_json", - "smallvec", - "strsim", - "tempfile", - "test-case", - "testutils", - "thiserror 2.0.4", - "tokio", - "toml_edit", - "tracing", - "version_check", - "watchman_client", - "whoami", - "winreg", - "zstd", -] - -[[package]] -name = "jj-lib-proc-macros" -version = "0.24.0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "kstring" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" -dependencies = [ - "static_assertions", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.167" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" - -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" -dependencies = [ - "cc", - "libc", - "libz-sys", - "openssl-sys", - "pkg-config", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags", - "libc", - "redox_syscall", -] - -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "lru" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - -[[package]] -name = "minus" -version = "5.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093bd0520d2a37943566a73750e6d44094dac75d66a978d1f0d97ffc78686832" -dependencies = [ - "crossbeam-channel", - "crossterm", - "once_cell", - "parking_lot", - "regex", - "textwrap", - "thiserror 1.0.69", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "wasi", - "windows-sys 0.52.0", -] - -[[package]] -name = "multimap" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[package]] -name = "object" -version = "0.36.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -dependencies = [ - "parking_lot_core", -] - -[[package]] -name = "oorandom" -version = "11.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-src" -version = "300.3.2+3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pest" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" -dependencies = [ - "memchr", - "thiserror 1.0.69", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "plotters" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" - -[[package]] -name = "plotters-svg" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "pollster" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" - -[[package]] -name = "ppv-lite86" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "predicates" -version = "3.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" -dependencies = [ - "anstyle", - "difflib", - "predicates-core", -] - -[[package]] -name = "predicates-core" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" - -[[package]] -name = "predicates-tree" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "pretty_assertions" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prodash" -version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a266d8d6020c61a437be704c5e618037588e1985c7dbb7bf8d265db84cffe325" -dependencies = [ - "log", - "parking_lot", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -dependencies = [ - "bytes", - "heck", - "itertools 0.12.1", - "log", - "multimap", - "once_cell", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-types" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -dependencies = [ - "prost", -] - -[[package]] -name = "quote" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "ratatui" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" -dependencies = [ - "bitflags", - "cassowary", - "compact_str", - "crossterm", - "itertools 0.13.0", - "lru", - "paste", - "stability", - "strum", - "strum_macros", - "unicode-segmentation", - "unicode-truncate", - "unicode-width", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom", - "libredox", - "thiserror 1.0.69", -] - -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "roff" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" - -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "0.38.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sapling-renderdag" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edffb89cab87bd0901c5749d576f5d37a1f34e05160e936f463f4e94cc447b61" -dependencies = [ - "bitflags", -] - -[[package]] -name = "scanlex" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088c5d71572124929ea7549a8ce98e1a6fd33d0a38367b09027b382e67c033db" - -[[package]] -name = "scm-record" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d344fd2a7dd1580458c344f977c64ce7b1b1ad1d4f959ab6d2ca2cbab44de69" -dependencies = [ - "cassowary", - "crossterm", - "num-traits", - "ratatui", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", - "unicode-width", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.215" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bser" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56b4bcc15e42e5b5ae16c6f75582bef80d36c6ffe2c03b1b5317754b38f8717" -dependencies = [ - "anyhow", - "byteorder", - "bytes", - "serde", - "serde_bytes", - "thiserror 1.0.69", -] - -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.215" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.133" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - -[[package]] -name = "sha1_smol" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "similar" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "stability" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "terminal_size" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" -dependencies = [ - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "termtree" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" - -[[package]] -name = "test-case" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" -dependencies = [ - "test-case-macros", -] - -[[package]] -name = "test-case-core" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "test-case-macros" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "test-case-core", -] - -[[package]] -name = "testutils" -version = "0.24.0" -dependencies = [ - "async-trait", - "config", - "futures 0.3.31", - "git2", - "hex", - "itertools 0.13.0", - "jj-lib", - "pollster", - "rand", - "tempfile", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" -dependencies = [ - "thiserror-impl 2.0.4", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "timeago" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1710e589de0a76aaf295cd47a6699f6405737dbfd3cf2b75c92d000b548d0e6" - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio 1.0.2", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "log", - "pin-project-lite", - "slab", - "tokio", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-chrome" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" -dependencies = [ - "serde_json", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - -[[package]] -name = "uluru" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c8a2469e56e6e5095c82ccd3afb98dad95f7af7929aab6d8ba8d6e0f73657da" -dependencies = [ - "arrayvec", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-bom" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-truncate" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" -dependencies = [ - "itertools 0.13.0", - "unicode-segmentation", - "unicode-width", -] - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "watchman_client" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bc4c9bb443a7aae10d4fa7807bffc397805315e2305288c90c80e2f66cfb52" -dependencies = [ - "anyhow", - "bytes", - "futures 0.3.31", - "maplit", - "serde", - "serde_bser", - "thiserror 1.0.69", - "tokio", - "tokio-util", - "winapi", -] - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", - "web-sys", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix deleted file mode 100644 index 1d3ec6a..0000000 --- a/pkgs/jujutsu-openssh/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - lib, - fetchFromGitHub, - rustPlatform, - pkg-config, - openssl, - gzip, - libgit2, - openssh, - zstd, - installShellFiles, - nix-update-script, - testers, - jujutsu-openssh, -}: - -rustPlatform.buildRustPackage rec { - pname = "jujutsu-openssh"; - version = "0.24.0+pr3191.openssh"; - - src = fetchFromGitHub { - owner = "dln"; - repo = "jj"; - rev = "b6608a03881542d6a8c98f659b80b57a27906096"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg="; - }; - - cargoLock.lockFile = ./Cargo.lock; - cargoLock.outputHashes = { - "git2-0.19.0" = "sha256-fV8dFChGeDhb20bMyqefpAD5/+raQQ2sMdkEtlA1jaE="; - }; - - cargoBuildFlags = [ - "--bin" - "jj" - ]; # don't install the fake editors - useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping - ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib - - nativeBuildInputs = [ - gzip - installShellFiles - pkg-config - ]; - - buildInputs = [ - openssl - zstd - libgit2 - openssh - ]; - - postInstall = '' - $out/bin/jj util mangen > ./jj.1 - installManPage ./jj.1 - - installShellCompletion --cmd jj \ - --bash <($out/bin/jj util completion bash) \ - --fish <($out/bin/jj util completion fish) \ - --zsh <($out/bin/jj util completion zsh) - ''; - - checkFlags = [ - # signing tests spin up an ssh-agent and do git checkouts - "--skip=test_ssh_signing" - ]; - - passthru = { - updateScript = nix-update-script { }; - tests = { - version = testers.testVersion { - package = jujutsu-openssh; - command = "jj --version"; - }; - }; - }; - - meta = with lib; { - description = "Git-compatible DVCS that is both simple and powerful"; - homepage = "https://github.com/martinvonz/jj"; - changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ - _0x4A6F - thoughtpolice - ]; - mainProgram = "jj"; - }; -} From 4766311654b4130ab6874d8e3d76c3b7cbfec7cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 16:11:27 +0100 Subject: [PATCH 077/182] ghostty: add desktop entries for secondary (condensed) terminals --- home/common/ghostty.nix | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3904d69..cf72219 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -104,13 +104,32 @@ ''; xdg.desktopEntries = { + ghostty-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = '' + ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" + ''; + genericName = "Ghostty Secondary"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (nemo)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; + ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" ''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; @@ -122,6 +141,25 @@ terminal = false; type = "Application"; }; + + ghostty-nemo-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = '' + ghostty --class=com.mitchellh.ghostty-nemo-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ''; + genericName = "Ghostty Secondary (nemo)"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (nemo)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-nemo-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; }; }; From 90b5b48d2a5fa286078d89905eee9a742cf1b651 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:22:16 +0100 Subject: [PATCH 078/182] vcs: remove unused lazyjj, gitui --- files/config/fish/vcs.fish | 10 ---------- home/common/vcs.nix | 38 -------------------------------------- 2 files changed, 48 deletions(-) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index 4859d3b..f3c179e 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -53,15 +53,6 @@ function vcs_log commandline -f repaint end -function vcs_ui - if __jj_in_repo - lazyjj - else - gitui - end - commandline -f repaint -end - # Abbreviations abbr -a d vcs_diff @@ -71,6 +62,5 @@ abbr -a s vcs_status bind \c_ vcs_jump bind \ea vcs_log bind \ee vcs_broot -bind \eg vcs_ui bind \eS vcs_diff bind \es vcs_status diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 17f1fb4..956612a 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -7,7 +7,6 @@ difftastic git-get git-graph - lazyjj tea ]; @@ -130,43 +129,6 @@ }; }; - programs.gitui = { - enable = true; - keyConfig = '' - ( - open_help: Some(( code: F(1), modifiers: "")), - move_left: Some(( code: Char('h'), modifiers: "")), - move_right: Some(( code: Char('l'), modifiers: "")), - move_up: Some(( code: Char('k'), modifiers: "")), - move_down: Some(( code: Char('j'), modifiers: "")), - popup_up: Some(( code: Char('p'), modifiers: "CONTROL")), - popup_down: Some(( code: Char('n'), modifiers: "CONTROL")), - page_up: Some(( code: Char('b'), modifiers: "CONTROL")), - page_down: Some(( code: Char('f'), modifiers: "CONTROL")), - home: Some(( code: Char('g'), modifiers: "")), - end: Some(( code: Char('G'), modifiers: "SHIFT")), - shift_up: Some(( code: Char('K'), modifiers: "SHIFT")), - shift_down: Some(( code: Char('J'), modifiers: "SHIFT")), - edit_file: Some(( code: Char('I'), modifiers: "SHIFT")), - status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")), - diff_reset_lines: Some(( code: Char('u'), modifiers: "")), - diff_stage_lines: Some(( code: Char('s'), modifiers: "")), - stashing_save: Some(( code: Char('w'), modifiers: "")), - stashing_toggle_index: Some(( code: Char('m'), modifiers: "")), - stash_open: Some(( code: Char('l'), modifiers: "")), - abort_merge: Some(( code: Char('M'), modifiers: "SHIFT")), - ) - ''; - theme = '' - ( - selection_bg: Some(Black), - selection_fg: Some(Reset), - cmdbar_bg: Some(Reset), - cmdbar_extra_lines_bg: Some(Reset), - ) - ''; - }; - programs.jujutsu = { enable = true; package = inputs.jujutsu.packages.${pkgs.system}.default; From 09694db3377d872b0c811022210bdd9ad66459ad Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:22:16 +0100 Subject: [PATCH 079/182] nix update --- flake.lock | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 17a6d61..41ea256 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735875799, - "narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=", + "lastModified": 1735924432, + "narHash": "sha256-OxI6QxoMsKBBTaH+RNFPIE7kiqYyv8DnO1y8zLWK36g=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8", + "rev": "7eb35d72758a984c6c028272e6f53b7694e42b60", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735900408, - "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", + "lastModified": 1735925111, + "narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", + "rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1", "type": "github" }, "original": { @@ -241,11 +241,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1733685432, - "narHash": "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=", + "lastModified": 1735928141, + "narHash": "sha256-KN5rfdDj3vB/GNVw4YZU4tJv2BnUQiQdOz1kEQyketI=", "owner": "dln", "repo": "jj", - "rev": "b6608a03881542d6a8c98f659b80b57a27906096", + "rev": "cb103fb4692c4e2b90c4663804b81a5ff1e49c06", "type": "github" }, "original": { @@ -297,15 +297,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", - "path": "/nix/store/8vz84mqgnm1gz5yk7hgnnb5gir5hjxas-source", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", - "type": "path" + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5083ec887760adfe12af64830a66807423a859a7", + "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -390,11 +393,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -423,11 +426,11 @@ ] }, "locked": { - "lastModified": 1735871325, - "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", + "lastModified": 1732242723, + "narHash": "sha256-NWI8csIK0ujFlFuEXKnoc+7hWoCiEtINK9r48LUUMeU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a599f011db521766cbaf7c2f5874182485554f00", + "rev": "a229311fcb45b88a95fdfa5cecd8349c809a272a", "type": "github" }, "original": { From 9ca1072e0035236056475afff4baab66f63f1882 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:40:03 +0100 Subject: [PATCH 080/182] rename nemo -> devel for ghostty+ssh --- home/common/ghostty.nix | 22 +++++++++++----------- home/dln/home.nix | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index cf72219..11a8608 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -114,7 +114,7 @@ ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -123,38 +123,38 @@ type = "Application"; }; - ghostty-nemo = { + ghostty-devel = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" ''; - genericName = "Ghostty (nemo)"; + genericName = "Ghostty (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { - StartupWMClass = "com.mitchellh.ghostty-nemo"; + StartupWMClass = "com.mitchellh.ghostty-devel"; TryExec = "ghostty"; }; terminal = false; type = "Application"; }; - ghostty-nemo-secondary = { + ghostty-devel-secondary = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" ''; - genericName = "Ghostty Secondary (nemo)"; + genericName = "Ghostty Secondary (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { - StartupWMClass = "com.mitchellh.ghostty-nemo-secondary"; + StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; }; terminal = false; diff --git a/home/dln/home.nix b/home/dln/home.nix index 4ec8164..5e9a82d 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -164,12 +164,12 @@ in ''; programs.ssh.matchBlocks = { - dev = { + dev-old = { hostname = "10.1.100.16"; forwardAgent = true; }; - nemo = { + devel = { hostname = "10.1.100.20"; forwardAgent = true; localForwards = [ From 7152b0bf09f56410ad4f39e22ef5f717322b370c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 4 Jan 2025 13:00:29 +0100 Subject: [PATCH 081/182] nix: add nix-index --- flake.lock | 45 +++++++++++++++++++++++++++++++++------------ flake.nix | 5 +++++ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 41ea256..137b9cb 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735924432, - "narHash": "sha256-OxI6QxoMsKBBTaH+RNFPIE7kiqYyv8DnO1y8zLWK36g=", + "lastModified": 1735943291, + "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "7eb35d72758a984c6c028272e6f53b7694e42b60", + "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735925111, - "narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=", + "lastModified": 1735979091, + "narHash": "sha256-WpFjt6+8UD81EP386c269ZTqpEmlGJgcPw+OB4b7EBs=", "owner": "nix-community", "repo": "home-manager", - "rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1", + "rev": "11ab08541e61ac3bbf2ab27229f68622629401df", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735908283, - "narHash": "sha256-00Cd/KACX7Mr4ixz8rXksT4wteIStuExZIS22sA21ls=", + "lastModified": 1735972534, + "narHash": "sha256-FUp+Pke5Cj/rSldEnbGBIQ2VCHolBIqHKTD0CnzJp44=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "54dd5a7c0384fdcd11830e52f9896e457f189cb6", + "rev": "71933af08d74fad918521fb72af61bad20bb8f70", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735903221, - "narHash": "sha256-VrmQyDyR8y7x8QHSnX+Szs2ywZa7butk6lUdiNX5U3s=", + "lastModified": 1735929980, + "narHash": "sha256-vtnUEiVt9QtwUJTi/Vr8fCy+yAhYjY9BdLlsaDVrObc=", "owner": "neovim", "repo": "neovim", - "rev": "c26951b1d6d4d7ff8fe431e8bfb16744ff56af1c", + "rev": "a09c7a5d57ba2aca58fbc00e0b04a1437555a3c0", "type": "github" }, "original": { @@ -295,6 +295,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735443188, + "narHash": "sha256-AydPpRBh8+NOkrLylG7vTsHrGO2b5L7XkMEL5HlzcA8=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "55ab1e1df5daf2476e6b826b69a82862dcbd7544", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1731890469, @@ -413,6 +433,7 @@ "home-manager": "home-manager", "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", + "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" diff --git a/flake.nix b/flake.nix index 25d23c1..7e3b30d 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,9 @@ nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nix-index-database.url = "github:nix-community/nix-index-database"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; @@ -28,6 +31,7 @@ outputs = inputs@{ self, + nix-index-database, nixpkgs, home-manager, ... @@ -55,6 +59,7 @@ }; modules = [ ./home/common + nix-index-database.hmModules.nix-index ] ++ modules; }; in From 4bb1fa1f40d3f46429b167e492fd482b46e56173 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 4 Jan 2025 19:00:32 +0100 Subject: [PATCH 082/182] ghostty: fix .desktop entries --- home/common/ghostty.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 11a8608..3a2f55e 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -110,11 +110,11 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" + ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" -e bash ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (devel)"; + name = "Ghostty Secondary"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -148,11 +148,11 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Ghostty Secondary (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (devel)"; + name = "Ghostty Secondary (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; From b23bc6b9af2e64223438b7d0d3e0bad4a012fc68 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 00:10:20 +0100 Subject: [PATCH 083/182] nix: add nixfmt --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 7e3b30d..1bc8a36 100644 --- a/flake.nix +++ b/flake.nix @@ -71,6 +71,7 @@ just nh nixd + nixfmt-rfc-style ]; }; From 476542b69728368873e1d7904d60ff807e22c16a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 00:10:20 +0100 Subject: [PATCH 084/182] jj: colorific --- home/dln/home.nix | 151 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 132 insertions(+), 19 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 5e9a82d..e59ba81 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -1,4 +1,9 @@ -{ config, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let realName = "Daniel Lundin"; email = "dln@arity.se"; @@ -136,26 +141,134 @@ in "ready" = "open() ~ (wip::)"; }; - colors = { - "commit_id prefix" = { - bold = true; - }; + colors = + let + bold = { + bold = true; + }; + dim = { + fg = "bright black"; + }; + underline = { + fg = "default"; + underline = true; + }; + in + { + "error" = bold; + "warning" = bold; + "error heading" = bold; + "error_source heading" = bold; + "warning heading" = bold; + "hint heading" = bold; + "prefix" = bold; + "rest" = "bright black"; + "divergent prefix" = underline; + "bookmark" = "magenta"; + "bookmarks" = "magenta"; + "change_id" = "magenta"; + "local_bookmarks" = "magenta"; - "rest" = { - fg = "bright black"; - bold = false; - }; + "diff file_header" = bold; + "diff hunk_header" = "cyan"; + "diff removed" = "red"; + "diff removed token" = "red"; + "diff added" = "green"; + "diff added token" = "green"; + "diff modified" = "cyan"; + "diff untracked" = "magenta"; + "diff renamed" = "cyan"; + "diff copied" = "green"; + "diff access-denied" = { + bg = "red"; + }; + + "elided" = "blue"; + "node elided" = dim; + "node working_copy" = { + fg = "green"; + bold = true; + }; + "node current_operation" = bold; + "node immutable" = bold; + "node conflict" = { + fg = "red"; + bold = true; + }; + "operation id" = "blue"; + "operation current_operation" = bold; + "remote_bookmarks" = "magenta"; + "working_copy" = { + fg = "green"; + bold = true; + }; + "working_copy change_id" = "magenta"; + "working_copy description placeholder" = "green"; + "working_copy empty description placeholder" = "green"; + "working_copy bookmark" = "bright magenta"; + "working_copy bookmarks" = "bright magenta"; + "working_copy local_bookmarks" = "bright magenta"; + "working_copy remote_bookmarks" = "bright magenta"; + } + // lib.genAttrs [ + "author" + "branch" + "branches" + "commit_id" + "committer" + "config_list name" + "config_list overridden" + "config_list overridden name" + "config_list overridden value" + "config_list value" + "conflict" + "conflict_description" + "conflict_description difficult" + "description placeholder" + "diff token" + "divergent" + "divergent change_id" + "divergent rest" + "empty" + "empty description placeholder" + "error_source" + "git_head" + "git_refs" + "hidden prefix" + "hint" + "local_branches" + "operation current_operation id" + "operation current_operation time" + "operation current_operation user" + "operation time" + "operation user" + "placeholder" + "remote_branches" + "root" + "separator" + "tag" + "tags" + "timestamp" + "working_copies" + "working_copy author" + "working_copy branch" + "working_copy branches" + "working_copy commit_id" + "working_copy committer" + "working_copy conflict" + "working_copy divergent" + "working_copy divergent change_id" + "working_copy empty" + "working_copy git_refs" + "working_copy local_branches" + "working_copy placeholder" + "working_copy remote_branches" + "working_copy tag" + "working_copy tags" + "working_copy timestamp" + "working_copy working_copies" + ] (_: "default"); - "diff added token" = { - bg = "#002200"; - fg = "#66ffcc"; - underline = false; - }; - "diff removed token" = { - bg = "#220011"; - underline = true; - }; - }; }; }; From 6d3575087355bae62d0eb454049e494fb7f2cb0b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:08:02 +0100 Subject: [PATCH 085/182] hardware.pulseaudio -> services.pulseaudio --- common/desktop.nix | 2 +- hosts/pearl/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index ebf6c6d..263ab6e 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -93,7 +93,7 @@ in xkb.variant = "us"; }; - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix index 1120826..4696113 100644 --- a/hosts/pearl/default.nix +++ b/hosts/pearl/default.nix @@ -99,7 +99,7 @@ console.keyMap = "sv-latin1"; # Enable sound with pipewire. - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; From fac15cd4c5c56883bb1d8e2a9ca434bf18e9e532 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:08:02 +0100 Subject: [PATCH 086/182] nix: update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 137b9cb..87aea3c 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735943291, - "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=", + "lastModified": 1736113571, + "narHash": "sha256-5viqX++mUONRNCHf393l26iZIvi2DlFLJR87Xrsod3s=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018", + "rev": "c9c5ad43a54e815e664569f5e5809a71369b99a2", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735979091, - "narHash": "sha256-WpFjt6+8UD81EP386c269ZTqpEmlGJgcPw+OB4b7EBs=", + "lastModified": 1736066484, + "narHash": "sha256-uTstP36WaFrw+TEHb8nLF14hFPzQBOhmIxzioHCDaL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "11ab08541e61ac3bbf2ab27229f68622629401df", + "rev": "5ad12b6ea06b84e48f6b677957c74f32d47bdee0", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735972534, - "narHash": "sha256-FUp+Pke5Cj/rSldEnbGBIQ2VCHolBIqHKTD0CnzJp44=", + "lastModified": 1736035694, + "narHash": "sha256-hsJH+qsn3hdE2Axo+MGQv2oVPzAXoBTdVJEhmUIprzo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "71933af08d74fad918521fb72af61bad20bb8f70", + "rev": "75151f049969a87404442dbcf16e885875e29e72", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735929980, - "narHash": "sha256-vtnUEiVt9QtwUJTi/Vr8fCy+yAhYjY9BdLlsaDVrObc=", + "lastModified": 1736023725, + "narHash": "sha256-ARpgwbA6wEHBFv4x6Cpv/sXHFkeBiZoYN0iBiI3fKQw=", "owner": "neovim", "repo": "neovim", - "rev": "a09c7a5d57ba2aca58fbc00e0b04a1437555a3c0", + "rev": "a8ace2c58a318552869462a36859aabf1cdfaa68", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1735443188, - "narHash": "sha256-AydPpRBh8+NOkrLylG7vTsHrGO2b5L7XkMEL5HlzcA8=", + "lastModified": 1736047960, + "narHash": "sha256-hutd85FA1jUJhhqBRRJ+u7UHO9oFGD/RVm2x5w8WjVQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "55ab1e1df5daf2476e6b826b69a82862dcbd7544", + "rev": "816a6ae88774ba7e74314830546c29e134e0dffb", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735669367, - "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", + "lastModified": 1736061677, + "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "owner": "nixos", "repo": "nixpkgs", - "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", + "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735821806, - "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "lastModified": 1735915915, + "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735821806, - "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "lastModified": 1735915915, + "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", "type": "github" }, "original": { From 78d818056b1395ebc8062bba90942d08651809b3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:44:22 +0100 Subject: [PATCH 087/182] jj: use bright magenta for bookmarks --- home/dln/home.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index e59ba81..0770df0 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -164,10 +164,10 @@ in "prefix" = bold; "rest" = "bright black"; "divergent prefix" = underline; - "bookmark" = "magenta"; - "bookmarks" = "magenta"; - "change_id" = "magenta"; - "local_bookmarks" = "magenta"; + "bookmark" = "bright magenta"; + "bookmarks" = "bright magenta"; + "change_id" = "bright magenta"; + "local_bookmarks" = "bright magenta"; "diff file_header" = bold; "diff hunk_header" = "cyan"; @@ -176,13 +176,14 @@ in "diff added" = "green"; "diff added token" = "green"; "diff modified" = "cyan"; - "diff untracked" = "magenta"; + "diff untracked" = "blue"; "diff renamed" = "cyan"; "diff copied" = "green"; "diff access-denied" = { bg = "red"; }; + "empty" = "green"; "elided" = "blue"; "node elided" = dim; "node working_copy" = { @@ -197,12 +198,16 @@ in }; "operation id" = "blue"; "operation current_operation" = bold; - "remote_bookmarks" = "magenta"; + "remote_bookmarks" = "bright magenta"; "working_copy" = { fg = "green"; bold = true; }; - "working_copy change_id" = "magenta"; + "working_copy empty" = { + fg = "green"; + bold = true; + }; + "working_copy change_id" = "bright magenta"; "working_copy description placeholder" = "green"; "working_copy empty description placeholder" = "green"; "working_copy bookmark" = "bright magenta"; @@ -229,7 +234,6 @@ in "divergent" "divergent change_id" "divergent rest" - "empty" "empty description placeholder" "error_source" "git_head" @@ -258,7 +262,6 @@ in "working_copy conflict" "working_copy divergent" "working_copy divergent change_id" - "working_copy empty" "working_copy git_refs" "working_copy local_branches" "working_copy placeholder" From 7a2d1a7e4e531368a1846cf0224fef22ab422236 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:44:22 +0100 Subject: [PATCH 088/182] nemo: re-enable pam_rssh --- flake.lock | 54 +++++++++++++++++++++--------------------- hosts/nemo/default.nix | 39 +++++++++++++++++------------- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index 87aea3c..4fa76dc 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1735774679, - "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736113571, - "narHash": "sha256-5viqX++mUONRNCHf393l26iZIvi2DlFLJR87Xrsod3s=", + "lastModified": 1736210320, + "narHash": "sha256-QnDkQ/s1OWmPj1f+7MFNxQiAPJdHbI1Aft7yM5I+8gQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c9c5ad43a54e815e664569f5e5809a71369b99a2", + "rev": "a3837a1e4ee06a183f32d4a622c2cdcd51f73fb8", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736066484, - "narHash": "sha256-uTstP36WaFrw+TEHb8nLF14hFPzQBOhmIxzioHCDaL8=", + "lastModified": 1736204492, + "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ad12b6ea06b84e48f6b677957c74f32d47bdee0", + "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736035694, - "narHash": "sha256-hsJH+qsn3hdE2Axo+MGQv2oVPzAXoBTdVJEhmUIprzo=", + "lastModified": 1736233375, + "narHash": "sha256-I6fqKdaoKOVU33SyPv+MuxWRiOs+PXQTO94aCLA3rAc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "75151f049969a87404442dbcf16e885875e29e72", + "rev": "721f5f602b876a3ee21be04f68ab3cedf162e7f6", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736023725, - "narHash": "sha256-ARpgwbA6wEHBFv4x6Cpv/sXHFkeBiZoYN0iBiI3fKQw=", + "lastModified": 1736193797, + "narHash": "sha256-5S4RnwKfa5nn/r+8OsMtfgD6TEA5P6cWKti76A0zIMc=", "owner": "neovim", "repo": "neovim", - "rev": "a8ace2c58a318552869462a36859aabf1cdfaa68", + "rev": "b6ab294838421afb6932c52dd6e6d35d571e621d", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735915915, - "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", + "lastModified": 1736134818, + "narHash": "sha256-30sOEZ8CFK2nTTMdkhaNrfVlIi3rWTNV0Z5z+NmpFNI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", + "rev": "3df3c47c19dc90fec35359e89ffb52b34d2b0e94", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735915915, - "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", + "lastModified": 1736042175, + "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", + "rev": "bf689c40d035239a489de5997a4da5352434632e", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1735905407, - "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", + "lastModified": 1736154270, + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", "type": "github" }, "original": { diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index c36cc1c..d1df1d0 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -124,21 +124,20 @@ }; # FIXME: pam_rssh is broken from rust 1.80 upgrade - # environment.systemPackages = [ pkgs.pam_rssh ]; - # security = { - # pam.services.doas = - # { config, ... }: - # { - # rules.auth.rssh = { - # order = config.rules.auth.ssh_agent_auth.order - 1; - # control = "sufficient"; - # modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; - # settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' - # cat "/etc/ssh/authorized_keys.d/$1" - # ''; - # }; - # }; - # }; + security = { + pam.services.doas = + { config, ... }: + { + rules.auth.rssh = { + order = config.rules.auth.ssh_agent_auth.order - 1; + control = "sufficient"; + modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + cat "/etc/ssh/authorized_keys.d/$1" + ''; + }; + }; + }; services.resolved = { enable = true; @@ -175,7 +174,7 @@ ffado libcamera lm_sensors - # pkgs.pam_rssh + pam_rssh openconnect v4l-utils ]; @@ -213,6 +212,14 @@ }; users.groups.nixremote = { }; + nix.sshServe.enable = true; + nix.sshServe.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIHMAEZx02kbHrEygyPQYStiXlrIe6EIqBCv7anIkL0pAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJ10mLOpInoqDaySyrxbzvcOrJfLw48Y6eWHa9501lw+hEEBXya3ib7nlvpCqEQJ8aPU5fVRqpkOW5zSimCiRbwAAAAEc3NoOg==" + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLpoKvsZDIQQLfgzJhe1jAQubBNxjydkj8UfdUPaSXqgfB02OypMOC1m5ZuJYcQIxox0I+4Z8xstFhYP6s8zKZwAAAAEc3NoOg==" + ]; + nix.settings.trusted-users = [ "dln" "lsjostro" From 223bff63157618d7c7254514e3ff5e0086c4f64b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 7 Jan 2025 21:57:21 +0100 Subject: [PATCH 089/182] fish: remove grc --- home/common/fish.nix | 10 ---------- home/common/utils.nix | 1 - 2 files changed, 11 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 9fd7a43..03cf86f 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -5,10 +5,6 @@ plugins = [ - { - name = "grc"; - src = pkgs.fishPlugins.grc.src; - } { name = "transient"; src = pkgs.fishPlugins.transient-fish.src; @@ -43,12 +39,6 @@ body = ''confirm "⚠ Really shutdown $(hostname)?" && command shutdown $argv''; }; - kubectl = { - description = "Wraps kubectl in grc"; - wraps = "kubectl"; - body = "grc.wrap kubectl $argv"; - }; - e = { description = "Open a file in already running nvim"; argumentNames = [ "file" ]; diff --git a/home/common/utils.nix b/home/common/utils.nix index a8284c1..d2d07a4 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -1,7 +1,6 @@ { pkgs, ... }: { home.packages = with pkgs; [ - grc dust jless procs From b82010faf8fb757783fdea1786fe3fdfbfd53850 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 8 Jan 2025 15:37:19 +0100 Subject: [PATCH 090/182] nvim: add sqls --- home/common/nvim/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 164c0cb..1cd6e50 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -3,6 +3,7 @@ local servers = { cssls = {}, html = {}, jsonls = {}, + sqls = {}, superhtml = {}, ts_ls = {}, From 3ef41dd40078ba25a60d84a7e74f0b5c465f4fea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 8 Jan 2025 18:58:16 +0100 Subject: [PATCH 091/182] nemo: set OTEL endpoint globally --- hosts/nemo/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index d1df1d0..be2b346 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -179,6 +179,10 @@ v4l-utils ]; + environment.variables = { + OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; + }; + programs.coolercontrol.enable = true; users.users.dln = { From 03e20d83e1be92fca6618a1d41313b3580d39ca1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:35:34 +0100 Subject: [PATCH 092/182] nemo: disable sunshine --- hosts/nemo/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index be2b346..49cdaf0 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -158,12 +158,6 @@ }; }; - services.sunshine = { - enable = true; - openFirewall = true; - settings = { }; - }; - patagia = { desktop.enable = true; plymouth.enable = true; From 3ec86e59ba79852a0e7ce99f78e8178269af7022 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:35:34 +0100 Subject: [PATCH 093/182] nemo: disable coolercontrol + gnome vitals --- home/common/gnome.nix | 6 ------ hosts/nemo/default.nix | 2 -- 2 files changed, 8 deletions(-) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index de67eb7..75343f5 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -13,7 +13,6 @@ with lib.hm.gvariant; gnomeExtensions.desktop-clock gnomeExtensions.emoji-copy gnomeExtensions.just-perfection - gnomeExtensions.vitals ]; dconf.settings = { @@ -168,7 +167,6 @@ with lib.hm.gvariant; enabled-extensions = [ "emoji-copy@felipeftn" "just-perfection-desktop@just-perfection" - "Vitals@CoreCoding.com" ]; }; @@ -187,10 +185,6 @@ with lib.hm.gvariant; top-panel-position = 0; }; - "org/gnome/shell/extensions/vitals" = { - update-time = 15; - }; - "org/gnome/tweaks" = { show-extensions-notice = false; }; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 49cdaf0..cc1db74 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -177,8 +177,6 @@ OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; }; - programs.coolercontrol.enable = true; - users.users.dln = { isNormalUser = true; description = "Daniel Lundin"; From c68bdd38183701f7a81851587711785b8a89ca87 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 094/182] nvim: blink-cmp changes --- home/common/nvim/blink-cmp.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index b34b6fc..b59fe58 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -1,6 +1,7 @@ require 'blink-cmp'.setup({ keymap = { preset = 'enter', + -- preset = 'super-tab', ["<PageDown>"] = { "scroll_documentation_down" }, ["<PageUp>"] = { "scroll_documentation_up" }, }, @@ -18,11 +19,11 @@ require 'blink-cmp'.setup({ ghost_text = { enabled = true }, list = { - selection = "manual", + selection = { preselect = false, auto_insert = false }, }, menu = { - auto_show = true, + auto_show = false, }, }, @@ -32,10 +33,6 @@ require 'blink-cmp'.setup({ }, }, - keymap = { - preset = 'super-tab', - }, - signature = { enabled = true, window = { border = 'rounded', }, From f263c95f039cd2425c2938db351c31ad64022243 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 095/182] ghostty: don't start nvim automatically --- home/common/ghostty.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3a2f55e..a05ca7f 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -29,7 +29,6 @@ unfocused-split-opacity = 1.0; shell-integration = "fish"; - initial-command = "nvim-remote"; window-decoration = true; gtk-single-instance = true; @@ -129,7 +128,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From ccf59fbaee3ef7beb48f8869a8273c9d35b17034 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 096/182] zoxide: add fzf border and avoid sorting (which ruins zoxide weighting) --- home/common/utils.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index d2d07a4..1ae7cf9 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -70,6 +70,6 @@ enableFishIntegration = true; options = [ "--cmd=cd" ]; }; - home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=none --no-info --no-separator --no-scrollbar --no-color"; + home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; } From fec53f5ca0a36d3014b2ccb243a93ce909d3647f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 097/182] nvim: re-enable neocodium. bink-cmp config --- flake.lock | 54 +++++++++++++++++----------------- flake.nix | 1 + home/common/nvim/blink-cmp.lua | 37 ++++++++++++++++++----- home/common/nvim/default.nix | 21 +++++++++++++ home/common/nvim/init.lua | 2 +- 5 files changed, 79 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 4fa76dc..b4a05c0 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736210320, - "narHash": "sha256-QnDkQ/s1OWmPj1f+7MFNxQiAPJdHbI1Aft7yM5I+8gQ=", + "lastModified": 1736566108, + "narHash": "sha256-r+FXWU/hfgO3lAHYs9Q03iCShnC42mZd1pnmIIp8Z9k=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a3837a1e4ee06a183f32d4a622c2cdcd51f73fb8", + "rev": "918ccdba5cc65ccd1fb48a54c71306d869299441", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736204492, - "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736233375, - "narHash": "sha256-I6fqKdaoKOVU33SyPv+MuxWRiOs+PXQTO94aCLA3rAc=", + "lastModified": 1736553940, + "narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "721f5f602b876a3ee21be04f68ab3cedf162e7f6", + "rev": "b2237869f288c278b6fd429445d460cb44a0e788", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736193797, - "narHash": "sha256-5S4RnwKfa5nn/r+8OsMtfgD6TEA5P6cWKti76A0zIMc=", + "lastModified": 1736553525, + "narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", "owner": "neovim", "repo": "neovim", - "rev": "b6ab294838421afb6932c52dd6e6d35d571e621d", + "rev": "fbe546e25d21f3184814d696c329d23d146bd615", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736047960, - "narHash": "sha256-hutd85FA1jUJhhqBRRJ+u7UHO9oFGD/RVm2x5w8WjVQ=", + "lastModified": 1736440205, + "narHash": "sha256-QJgTI//KEGuEJC6FDxuI9Dq8PewIpnxD2NVx2/OHbfc=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "816a6ae88774ba7e74314830546c29e134e0dffb", + "rev": "a2200b499efa01ca8646173e94cdfcc93188f2b8", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736061677, - "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736134818, - "narHash": "sha256-30sOEZ8CFK2nTTMdkhaNrfVlIi3rWTNV0Z5z+NmpFNI=", + "lastModified": 1736420959, + "narHash": "sha256-dMGNa5UwdtowEqQac+Dr0d2tFO/60ckVgdhZU9q2E2o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3df3c47c19dc90fec35359e89ffb52b34d2b0e94", + "rev": "32af3611f6f05655ca166a0b1f47b57c762b5192", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736042175, - "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bf689c40d035239a489de5997a4da5352434632e", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1bc8a36..35ccf56 100644 --- a/flake.nix +++ b/flake.nix @@ -70,6 +70,7 @@ packages = with pkgs; [ just nh + nil nixd nixfmt-rfc-style ]; diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index b59fe58..26531e4 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -1,9 +1,10 @@ require 'blink-cmp'.setup({ keymap = { preset = 'enter', - -- preset = 'super-tab', - ["<PageDown>"] = { "scroll_documentation_down" }, - ["<PageUp>"] = { "scroll_documentation_up" }, + ['<Tab>'] = { 'select_next', 'fallback' }, + ['<S-Tab>'] = { 'select_prev', 'fallback' }, + ['<PageDown>'] = { 'scroll_documentation_down', 'fallback' }, + ['<PageUp>'] = { 'scroll_documentation_up', 'fallback' }, }, completion = { accept = { @@ -16,15 +17,35 @@ require 'blink-cmp'.setup({ window = { border = 'rounded', }, }, - ghost_text = { enabled = true }, + ghost_text = { enabled = false }, list = { - selection = { preselect = false, auto_insert = false }, + selection = { + preselect = false, + auto_insert = false + }, }, menu = { - auto_show = false, - }, + auto_show = true, + direction_priority = { 'n' }, + draw = { + components = { + kind_icon = { + ellipsis = false, + text = function(ctx) + local kind_icon, _, _ = require('mini.icons').get('lsp', ctx.kind) + return kind_icon + end, + -- Optionally, you may also use the highlights from mini.icons + highlight = function(ctx) + local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) + return hl + end, + } + } + } + } }, fuzzy = { @@ -39,7 +60,7 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp', 'codeium', 'buffer' }, + default = { 'lsp', 'codeium' }, cmdline = {}, providers = { codeium = { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 4312729..7056678 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -124,6 +124,27 @@ in ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "neocodeium"; + src = pkgs.fetchFromGitHub { + owner = "monkoose"; + repo = "neocodeium"; + rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + }; + doCheck = false; + }; + type = "lua"; + config = '' + local neocodeium =require('neocodeium') + neocodeium.setup() + vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) + ''; + } + { plugin = pkgs.vimUtils.buildVimPlugin { name = "diagflow"; diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8682273..4487604 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -65,7 +65,7 @@ vim.o.showcmd = false vim.o.showmode = false vim.o.smoothscroll = true vim.o.splitkeep = "screen" -vim.o.timeoutlen = 10 +vim.o.timeoutlen = 1 vim.o.timeout = true vim.o.updatetime = 50 From cea9b407c86945c2112f55621433f91dadcc47a1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:08:35 +0100 Subject: [PATCH 098/182] nvim: ruler format tweaks --- home/common/nvim/init.lua | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 4487604..03ae7d7 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -19,12 +19,31 @@ function GetIndicators() local counts = vim.diagnostic.count(bufnr) local errors = counts[vim.diagnostic.severity.ERROR] or 0 local warnings = counts[vim.diagnostic.severity.WARN] or 0 - local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " - local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " + local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or "" + local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or "" return warn_string .. error_string end -vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" +function CondensedPath() + local path = vim.fn.expand("%:p") + -- path = vim.fn.fnamemodify(path, ':p') + local home = os.getenv("HOME") + if home then + path = vim.fn.substitute(path, '^' .. home, '~', '') + end + + local segments = vim.fn.split(path, '/') + if #segments <= 3 then + return path + end + + local early_path = table.concat(vim.list_slice(segments, 1, #segments - 2), '/') + local late_path = table.concat(vim.list_slice(segments, #segments - 1), '/') + + return vim.fn.pathshorten(early_path) .. '/' .. late_path +end + +vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#Label#%#MsgArea#| %{%v:lua.CondensedPath()%}%)" -- Search vim.opt.ignorecase = true From 2cd4b5c52a5538f8a966e8d2b5d6e3770cefeb73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:08:35 +0100 Subject: [PATCH 099/182] nvim: picker + cmp tweaks --- home/common/nvim/blink-cmp.lua | 1 + home/common/nvim/dieter/lua/dieter/init.lua | 10 ++++++---- home/common/nvim/init.lua | 5 ++--- home/common/nvim/mini.lua | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 26531e4..f635cba 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -28,6 +28,7 @@ require 'blink-cmp'.setup({ menu = { auto_show = true, + border = 'rounded', direction_priority = { 'n' }, draw = { components = { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 7a7d3a2..24a3677 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -34,7 +34,6 @@ local colors = { selection = hsl(270, 75, 92), highlight_subtle = hsl(0, 0, 94), highlight_intense = hsl(42, 100, 30), - }, dark = { @@ -46,7 +45,7 @@ local colors = { dimmed = hsl(212, 19, 25), -- dimmed_subtle = hsl(212, 19, 70), - dimmed_subtle = hsl(212, 5, 65), + dimmed_subtle = hsl(212, 19, 50), highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), @@ -112,6 +111,8 @@ local setupGroups = function(c) Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, + MsgArea = { fg = c.dimmed_subtle }, + String = { fg = c.string }, Visual = { bg = c.selection }, @@ -176,8 +177,8 @@ local setupGroups = function(c) InclineNormalNC = { bg = c.background }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, - FloatBorder = { fg = c.doc_fg }, + NormalFloat = { bg = c.background, fg = c.foreground }, + FloatBorder = { fg = c.foreground }, FloatTitle = { fg = c.doc_fg, bold = true }, Title = { fg = c.foreground, bold = true }, @@ -193,6 +194,7 @@ local setupGroups = function(c) MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, + MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 03ae7d7..9534e5a 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -84,9 +84,8 @@ vim.o.showcmd = false vim.o.showmode = false vim.o.smoothscroll = true vim.o.splitkeep = "screen" -vim.o.timeoutlen = 1 -vim.o.timeout = true -vim.o.updatetime = 50 +vim.o.timeout = false +vim.o.updatetime = 250 -- Use rg vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 297c1c6..f769f93 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -49,15 +49,16 @@ local picker_win_config = function() height = height, width = width, row = 2, - col = math.floor((vim.o.columns - width) / 2), + col = 5, } end require('mini.pick').setup({ mappings = { move_down = '<tab>', + move_up = '<S-tab>', toggle_info = '<C-k>', - toggle_preview = '<C-p>', + toggle_preview = 'p', }, options = { use_cache = true }, window = { From b5a3d0ec9e06cfa49ae5592c1680b0f737d6dc2b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:29:02 +0100 Subject: [PATCH 100/182] nvim: colors --- home/common/nvim/dieter/lua/dieter/init.lua | 19 ++++++++----------- home/common/nvim/init.lua | 6 +++--- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 24a3677..9bf0a9d 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -44,18 +44,17 @@ local colors = { accent2 = hsl(40, 57, 57), -- Yellow dimmed = hsl(212, 19, 25), - -- dimmed_subtle = hsl(212, 19, 70), dimmed_subtle = hsl(212, 19, 50), highlight_subtle = hsl(212, 27, 11), + highlight = hsl(212, 27, 18), highlight_intense = hsl(58, 100, 60), dialog_fg = hsl(191, 15, 75), - -- string = hsl(96, 35, 60), - -- string = hsl(80, 79, 83), - string = hsl(90, 45, 70), - comment = hsl(2, 69, 68), + string = hsl(90, 30, 60), + -- comment = hsl(2, 69, 68), + comment = hsl(216, 30, 55), comment_error = hsl(2, 85, 50), func = hsl(40, 57, 87), member = hsl(213, 45, 75), @@ -78,7 +77,7 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - selection = hsl(218, 30, 20), + selection = hsl(218, 90, 20), search_bg = hsl(43, 100, 8), search_fg = hsl(43, 100, 85), @@ -138,13 +137,11 @@ local setupGroups = function(c) GitSignsDeleteNr = { link = "DiffDelete" }, -- Treesitter - -- ["@function"] = { link = "NormalNC" }, ["@punctuation.special"] = { fg = c.punc }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, ["@variable.member"] = { fg = c.member }, ["@variable.parameter"] = { fg = c.accent2 }, - -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, @@ -166,8 +163,8 @@ local setupGroups = function(c) LineNr = { fg = c.dimmed }, CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle }, - IndentLine = { fg = c.dimmed }, - IndentLineCurrent = { fg = c.dimmed_subtle }, + IndentLine = { fg = c.highlight }, + IndentLineCurrent = { fg = c.highlight }, MiniIndentscopeSymbol = { link = "IndentLine" }, MiniIndentscopeSymbolOff = { link = "IndentLine" }, @@ -239,7 +236,7 @@ local setupGroupsNoColor = function(c) g["@variable"] = cl g["@variable.member"] = cl g["@variable.parameter"] = cl - g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } + -- g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } g.CommentError = { link = "Comment" } return g end diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 9534e5a..0885481 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -7,7 +7,7 @@ vim.g.maplocalleader = "," vim.opt.cursorline = true vim.opt.laststatus = 0 -vim.opt.number = true +vim.opt.number = false vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" @@ -26,7 +26,6 @@ end function CondensedPath() local path = vim.fn.expand("%:p") - -- path = vim.fn.fnamemodify(path, ':p') local home = os.getenv("HOME") if home then path = vim.fn.substitute(path, '^' .. home, '~', '') @@ -43,7 +42,7 @@ function CondensedPath() return vim.fn.pathshorten(early_path) .. '/' .. late_path end -vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#Label#%#MsgArea#| %{%v:lua.CondensedPath()%}%)" +vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#MsgArea#%{%v:lua.CondensedPath()%}%)%7(%l:%c%)" -- Search vim.opt.ignorecase = true @@ -179,4 +178,5 @@ vim.keymap.set("n", "<Leader>uc", function() end end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From a93861071d31515ba8fd970e412c9ed995f1ab54 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 101/182] nvim: cleanup --- home/common/nvim/dieter/lua/dieter/init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 9bf0a9d..08d75af 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -191,7 +191,6 @@ local setupGroups = function(c) MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, - MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, From f8c7a5ecfe98082c97950043652f616548ec6c9c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 102/182] nvim: revert minipick preview key --- home/common/nvim/mini.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index f769f93..0499268 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -58,7 +58,7 @@ require('mini.pick').setup({ move_down = '<tab>', move_up = '<S-tab>', toggle_info = '<C-k>', - toggle_preview = 'p', + toggle_preview = '<C-p>', }, options = { use_cache = true }, window = { From 81f036c147226fab3efe1915149ca03ac1e4ee3f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 103/182] nvim: use mini.visits for history w/frecency --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0885481..258d834 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -133,6 +133,7 @@ vim.keymap.set({ "n", "v" }, "<Leader>a", vim.lsp.buf.code_action, { remap = tru vim.keymap.set("n", "<Leader>af", function() vim.lsp.buf.format({ async = true }) end, opts("Format Buffer")) +vim.keymap.set('n', '<Leader><Leader>', "<cmd>Pick visit_paths cwd=''<cr>", opts("Visits")) vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 0499268..215b734 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -10,6 +10,7 @@ require('mini.jump').setup() require('mini.surround').setup() require('mini.splitjoin').setup() require('mini.trailspace').setup() +require('mini.visits').setup() require('mini.cursorword').setup({ delay = 800 From 0b6313671c72aa81bb901764a15b38b4b9010897 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 104/182] ghostty: reduce font size a bit --- home/common/ghostty.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a05ca7f..99b7338 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -12,7 +12,7 @@ enableFishIntegration = true; package = inputs.ghostty.packages.${pkgs.system}.default; settings = { - font-size = 14; + font-size = 12.5; font-family = "TX-02"; font-family-bold-italic = "Monaspace Xenon"; font-style-bold = "Bold"; @@ -34,7 +34,7 @@ gtk-single-instance = true; gtk-tabs-location = "hidden"; gtk-titlebar = false; - window-padding-x = 12; + window-padding-x = 0; window-padding-y = 0; window-padding-balance = true; window-padding-color = "extend"; From 8e2d04365015032ca3db5d8eb0cc3c46990bab4e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 105/182] nvim: add mini.files --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 258d834..8ef82a3 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -150,6 +150,7 @@ vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", op vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) vim.keymap.set("n", "<Leader>ws", "<C-w>s", opts("Horizontal split")) vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) +vim.keymap.set("n", "<m-f>", require('mini.files').open, opts("Open file manager")) vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set("n", "zz", "zt", { remap = true }) vim.keymap.set({ "n", "v" }, "<Leader>y", '"+y', opts("Yank to clipboard")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 215b734..a12b7cf 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -5,6 +5,7 @@ require('mini.bufremove').setup() require('mini.comment').setup() require('mini.diff').setup() require('mini.extra').setup() +require('mini.files').setup() require('mini.icons').setup() require('mini.jump').setup() require('mini.surround').setup() From 3b577407f7d7a73bc1e4d0390d1755b33f14110a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 17:18:51 +0100 Subject: [PATCH 106/182] nvim: remove codeium cmp source --- home/common/nvim/blink-cmp.lua | 10 ++-------- home/common/nvim/default.nix | 10 ---------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index f635cba..8ae4f6c 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -61,15 +61,9 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp', 'codeium' }, + default = { 'lsp' }, cmdline = {}, - providers = { - codeium = { - name = "codeium", - module = 'blink.compat.source', - score_offset = -100, - }, - }, + providers = {}, }, }) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 7056678..57e68e6 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -114,16 +114,6 @@ in ''; } - { - plugin = codeium-nvim; - type = "lua"; - config = '' - require'codeium'.setup { - enable_chat = false, - } - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "neocodeium"; From ad82eb1cbf1f3708c292253e60ccd2624781f084 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 22:54:28 +0100 Subject: [PATCH 107/182] nvim: Add autoformat on save w/toggle ui --- home/common/nvim/init.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8ef82a3..ed4052d 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -118,6 +118,29 @@ vim.keymap.set({ "i", "s" }, "<Tab>", function() end, { expr = true }) +-- Autoformat + +vim.g.autoformat_enabled = true -- set to true by default + +vim.api.nvim_create_user_command('ToggleAutoFormat', function() + vim.g.autoformat_enabled = not vim.g.autoformat_enabled + print('Autoformatting ' .. (vim.g.autoformat_enabled and 'enabled' or 'disabled')) +end, {}) + +vim.api.nvim_create_augroup("AutoFormat", {}) + +vim.api.nvim_create_autocmd("BufWritePre", { + group = "AutoFormat", + callback = function() + if vim.g.autoformat_enabled then + vim.lsp.buf.format({ + async = false, + timeout_ms = 2000 -- Adjust timeout as needed + }) + end + end, +}) + -- Keymap local opts = function(label) return { noremap = true, silent = true, desc = label } @@ -179,6 +202,7 @@ vim.keymap.set("n", "<Leader>uc", function() vim.cmd [[colorscheme dieter-nocolor]] end end, opts("Toggle Dieter colors")) +vim.keymap.set("n", "<Leader>uf", "<cmd>ToggleAutoFormat<cr>", opts("Toggle autoformat on save")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From a6013523fa68fdfd9ae8c20379acb9f55a36cd88 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 22:54:28 +0100 Subject: [PATCH 108/182] nvim: cleanup --- home/common/nvim/mini.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index a12b7cf..947528f 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -68,6 +68,7 @@ require('mini.pick').setup({ }, }) +local MiniPick = require('mini.pick') MiniPick.registry.projects = function(local_opts) local root = vim.fn.expand("~/src") From de6547851a5bfc6835a86cde694352e851beee1d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 109/182] fish: remove unused config --- files/config/fish/go-task.fish | 37 ---- files/config/fish/jj.fish | 338 --------------------------------- home/common/fish.nix | 67 ++++--- 3 files changed, 32 insertions(+), 410 deletions(-) delete mode 100644 files/config/fish/go-task.fish delete mode 100644 files/config/fish/jj.fish diff --git a/files/config/fish/go-task.fish b/files/config/fish/go-task.fish deleted file mode 100644 index 6c7e2cf..0000000 --- a/files/config/fish/go-task.fish +++ /dev/null @@ -1,37 +0,0 @@ -set GO_TASK_PROGNAME task - -function __task_get_tasks --description "Prints all available tasks with their description" - # Read the list of tasks (and potential errors) - $GO_TASK_PROGNAME --list-all 2>&1 | read -lz rawOutput - - # Return on non-zero exit code (for cases when there is no Taskfile found or etc.) - if test $status -ne 0 - return - end - - # Grab names and descriptions (if any) of the tasks - set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) - if test $output - echo $output - end -end - -complete -c $GO_TASK_PROGNAME -d 'Runs the specified task(s). Falls back to the "default" task if no task name was specified, or lists all tasks if an unknown task name was - specified.' -xa "(__task_get_tasks)" - -complete -c $GO_TASK_PROGNAME -s c -l color -d 'colored output (default true)' -complete -c $GO_TASK_PROGNAME -s d -l dir -d 'sets directory of execution' -complete -c $GO_TASK_PROGNAME -l dry -d 'compiles and prints tasks in the order that they would be run, without executing them' -complete -c $GO_TASK_PROGNAME -s f -l force -d 'forces execution even when the task is up-to-date' -complete -c $GO_TASK_PROGNAME -s h -l help -d 'shows Task usage' -complete -c $GO_TASK_PROGNAME -s i -l init -d 'creates a new Taskfile.yml in the current folder' -complete -c $GO_TASK_PROGNAME -s l -l list -d 'lists tasks with description of current Taskfile' -complete -c $GO_TASK_PROGNAME -s o -l output -d 'sets output style: [interleaved|group|prefixed]' -xa "interleaved group prefixed" -complete -c $GO_TASK_PROGNAME -s p -l parallel -d 'executes tasks provided on command line in parallel' -complete -c $GO_TASK_PROGNAME -s s -l silent -d 'disables echoing' -complete -c $GO_TASK_PROGNAME -l status -d 'exits with non-zero exit code if any of the given tasks is not up-to-date' -complete -c $GO_TASK_PROGNAME -l summary -d 'show summary about a task' -complete -c $GO_TASK_PROGNAME -s t -l taskfile -d 'choose which Taskfile to run. Defaults to "Taskfile.yml"' -complete -c $GO_TASK_PROGNAME -s v -l verbose -d 'enables verbose mode' -complete -c $GO_TASK_PROGNAME -l version -d 'show Task version' -complete -c $GO_TASK_PROGNAME -s w -l watch -d 'enables watch of the given task' diff --git a/files/config/fish/jj.fish b/files/config/fish/jj.fish deleted file mode 100644 index 9a6257e..0000000 --- a/files/config/fish/jj.fish +++ /dev/null @@ -1,338 +0,0 @@ -# TODO: passthru other args? E.g.. --at-operation, --repository -function __jj - command jj --ignore-working-copy --color=never --quiet $argv 2>/dev/null -end - -# Aliases -# Based on https://github.com/fish-shell/fish-shell/blob/cd71359c42f633d9d71a63591ae16d150407a2b2/share/completions/git.fish#L625. -# -# Aliases are stored in global variables. -# `__jj_aliases` is a list of all aliases and `__jj_alias_$alias` is the command line for the alias. -function __jj_add_alias - set -l alias $argv[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -g __jj_alias_$alias_escaped $argv - set --append -g __jj_aliases $alias -end - -__jj config list aliases -T 'concat(name, "\t", value, "\n")' --include-defaults | while read -l config_alias - set -l parsed (string match --regex '^aliases\.(.+)\t(.*)$' --groups-only -- $config_alias) - set -l alias $parsed[1] - set -l command $parsed[2] - set -l args $alias - # Replace wrapping `[]` if any - set -l command (string replace -r --all '^\[|]$' "" -- $command) - while test (string length -- $command) -gt 0 - set -l parsed (string match -r '^"((?:\\\"|[^"])*?)"(?:,\s)?(.*)$' --groups-only -- $command) - set --append args $parsed[1] - set command $parsed[2] - end - __jj_add_alias $args -end - -__jj_add_alias ci commit -__jj_add_alias desc describe -__jj_add_alias op operation -__jj_add_alias st status - -# Resolve aliases that call another alias. -for alias in $__jj_aliases - set -l handled $alias - - while true - set -l alias_escaped (string escape --style=var -- $alias) - set -l alias_varname __jj_alias_$alias_escaped - set -l aliased_command $$alias_varname[1][2] - set -l aliased_escaped (string escape --style=var -- $aliased_command) - set -l aliased_varname __jj_alias_$aliased_escaped - set -q $aliased_varname - or break - - # Prevent infinite recursion - contains $aliased_escaped $handled - and break - - # Expand alias in cmdline - set -l aliased_cmdline $$aliased_varname[1][2..-1] - set --append aliased_cmdline $$alias_varname[1][3..-1] - set -g $alias_varname $$alias_varname[1][1] $aliased_cmdline - set --append handled $aliased_escaped - end -end - -function __jj_aliases_with_descriptions - for alias in $__jj_aliases - set -l alias_escaped (string escape --style=var -- $alias) - set -l alias_varname __jj_alias_$alias_escaped - set -l aliased_cmdline (string join " " -- $$alias_varname[1][2..-1] | string replace -r --all '\\\"' '"') - printf "%s\talias: %s\n" $alias $aliased_cmdline - end -end - -# Based on https://github.com/fish-shell/fish-shell/blob/2d4e42ee93327b9cfd554a0d809f85e3d371e70e/share/functions/__fish_seen_subcommand_from.fish. -# Test to see if we've seen a subcommand from a list. -# This logic may seem backwards, but the commandline will often be much shorter than the list. -function __jj_seen_subcommand_from - set -l cmd (commandline -opc) - set -e cmd[1] - - # Check command line arguments first. - for i in $cmd - if contains -- $i $argv - return 0 - end - end - - # Check aliases. - set -l alias $cmd[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -l varname __jj_alias_$alias_escaped - set -q $varname - or return 1 - - for i in $$varname[1][2..-1] - if contains -- $i $argv - return 0 - end - end - - return 1 -end - -function __jj_changes - __jj log --no-graph --limit 1000 -r $argv[1] \ - -T 'separate("\t", change_id.shortest(), if(description, description.first_line(), "(no description set)")) ++ "\n"' -end - -function __jj_bookmarks - set -f filter $argv[1] - if string length --quiet -- $argv[2] - __jj bookmark list --all-remotes -r "$argv[2]" \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" - else - __jj bookmark list --all-remotes \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" - end -end - -function __jj_all_bookmarks - __jj_bookmarks '!remote || !remote.starts_with("git")' $argv[1] -end - -function __jj_local_bookmarks - __jj_bookmarks '!remote' '' -end - -function __jj_remote_bookmarks - __jj_bookmarks 'remote && !remote.starts_with("git")' '' -end - -function __jj_all_changes - if string length --quiet -- $argv[1] - set -f REV $argv[1] - else - set -f REV "all()" - end - __jj_changes $REV - __jj_all_bookmarks $REV -end - -function __jj_mutable_changes - set -f REV "mutable()" - __jj_changes $REV - __jj_all_bookmarks $REV -end - -function __jj_revision_modified_files - if test $argv[1] = "@" - set -f suffix "" - else - set -l change_id (__jj log --no-graph --limit 1 -T 'change_id.shortest()') - set -f suffix " in $change_id" - end - - __jj diff -r $argv[1] --summary | while read -l line - set -l file (string split " " -m 1 -- $line) - switch $file[1] - case M - set -f change Modified - case D - set -f change Deleted - case A - set -f change Added - end - printf "%s\t%s%s\n" $file[2] $change $suffix - end -end - -function __jj_remotes - __jj git remote list | while read -l remote - printf "%s\t%s\n" (string split " " -m 1 -- $remote) - end -end - -function __jj_operations - __jj operation log --no-graph --limit 1000 -T 'separate("\t", id.short(), description) ++ "\n"' -end - -function __jj_parse_revision - set -l cmd (commandline -opc) - set -e cmd[1] - set -l return_next false - set -l return_value 1 - - # Check aliases. - set -l alias $cmd[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -l varname __jj_alias_$alias_escaped - - if set -q $varname - set cmd $$varname[1][2..-1] $cmd[2..-1] - end - - # Check command line arguments first. - for i in $cmd - if $return_next - echo $i - set return_value 0 - else if contains -- $i -r --revision --from - set return_next true - else - set -l match (string match --regex '^(?:-r=?|--revision=|--from=)(.+)\s*$' --groups-only -- $i) - if set -q match[1] - echo $match[1] - set return_value 0 - end - end - end - - return $return_value -end - -function __jj_revision_files - set -l description (__jj log --no-graph --limit 1 -r $argv[1] -T 'change_id.shortest() ++ ": " ++ coalesce(description.first_line().substr(0, 30), "(no description set)")') - __jj file list -r $argv[1] | while read -l file - printf "%s\t%s\n" $file $description - end -end - -function __jj_revision_conflicted_files - __jj resolve --list -r $argv[1] | while read -l line - set -l file (string split " " -m 1 -- $line) - printf "%s\t%s\n" $file[1] $file[2] - end -end - -function __jj_parse_revision_files - set -l rev (__jj_parse_revision) - if test $status -eq 1 - set rev "@" - end - __jj_revision_files $rev -end - -function __jj_parse_revision_conflicted_files - set -l rev (__jj_parse_revision) - if test $status -eq 1 - set rev "@" - end - __jj_revision_conflicted_files $rev -end - -function __jj_parse_revision_files_or_wc_modified_files - set -l revs (__jj_parse_revision) - if test $status -eq 1 - __jj_revision_modified_files "@" - else - for rev in $revs - __jj_revision_files $rev - end - end -end - -function __jj_parse_revision_modified_files_or_wc_modified_files - set -l revs (__jj_parse_revision) - if test $status -eq 1 - __jj_revision_modified_files "@" - else - for rev in $revs - __jj_revision_modified_files $rev - end - end -end - -# Aliases. -complete -f -c jj -n __fish_use_subcommand -a '(__jj_aliases_with_descriptions)' - -# Files. -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from chmod' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from commit' -ka '(__jj_revision_modified_files "@")' -complete -c jj -n '__jj_seen_subcommand_from diff' -ka '(__jj_parse_revision_files_or_wc_modified_files)' -complete -c jj -n '__jj_seen_subcommand_from interdiff' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from resolve' -ka '(__jj_parse_revision_conflicted_files)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -ka '(__jj_parse_revision_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from split' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from untrack' -ka '(__jj_parse_revision_files_or_wc_modified_files)' - -# Revisions. -complete -f -c jj -n '__jj_seen_subcommand_from abandon' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from backout' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from backout' -s d -l destination -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from chmod' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from describe' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -l to -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l to -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from duplicate' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from edit' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from list' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l to -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from log' -s r -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -s A -l after -l insert-after -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from obslog' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from parallelize' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s r -l revisions -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s s -l source -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s b -l bookmark -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s d -l destination -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s A -l after -l insert-after -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from resolve' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -l to -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -s c -l changes-in -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from show' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from split' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -l from -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -l to -l into -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from unsquash' -s r -l revision -rka '(__jj_mutable_changes)' - -# Bookmarks -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from delete forget rename set d f r s' -ka '(__jj_local_bookmarks)' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from track t' -ka '(__jj_bookmarks "remote && !tracked" "")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from untrack' -ka '(__jj_bookmarks "remote && tracked && !remote.starts_with(\"git\")" "")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from create move set c m s' -s r -l revision -kra '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l from -rka '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l to -rka '(__jj_changes "all()")' - -# Git. -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s c -l change -kra '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s r -l revisions -kra '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -s b -l bookmark -rka '(__jj_local_bookmarks)' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -l remote -rka '(__jj_remotes)' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from remote; and __jj_seen_subcommand_from remove rename set-url' -ka '(__jj_remotes)' - -# Operations. -complete -f -c jj -l at-op -l at-operation -rka '(__jj_operations)' -complete -f -c jj -n '__jj_seen_subcommand_from undo' -ka '(__jj_operations)' -complete -f -c jj -n '__jj_seen_subcommand_from operation; and __jj_seen_subcommand_from abandon undo restore' -ka '(__jj_operations)' diff --git a/home/common/fish.nix b/home/common/fish.nix index 03cf86f..e5d1c45 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -3,7 +3,6 @@ programs.fish = { enable = true; - plugins = [ { name = "transient"; @@ -57,42 +56,42 @@ ''; fish_jj_prompt.body = '' - if not command -sq jj || not jj root --quiet &>/dev/null - return 1 - end + if not command -sq jj || not jj root --quiet &>/dev/null + return 1 + end - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[2;3m", - "\e[0m", - separate( - " ", - surround( - "\e[0;2;3m", - "\e[0m", - coalesce( - surround( - "\e[1;2;3m❝", - "❞\e[0m", - if( - description.first_line().substr(0, 80).starts_with(description.first_line()), - description.first_line().substr(0, 80), - description.first_line().substr(0, 79) ++ "…" - ) + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround( + "\e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" + ) + ), + "…" ), - "…" ), - ), - surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), - surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), - if(conflict, ""), - if(empty, ""), - if(divergent, ""), - if(hidden, ""), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), + if(conflict, ""), + if(empty, ""), + if(divergent, ""), + if(hidden, ""), + ) ) - ) - ' + ' ''; fish_prompt.body = '' @@ -117,8 +116,6 @@ interactiveShellInit = lib.concatStringsSep "\n" [ (builtins.readFile ../../files/config/fish/config.fish) (builtins.readFile ../../files/config/fish/semantic-prompt.fish) - (builtins.readFile ../../files/config/fish/go-task.fish) - (builtins.readFile ../../files/config/fish/jj.fish) (builtins.readFile ../../files/config/fish/vcs.fish) ]; From fac0a155e23b7e92c99b4678976d71a837aad4e9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 110/182] fish: jj dynamic completion --- files/config/fish/vcs.fish | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index f3c179e..0fa3e43 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -64,3 +64,7 @@ bind \ea vcs_log bind \ee vcs_broot bind \eS vcs_diff bind \es vcs_status + +# jj completions + +COMPLETE=fish jj | source From eb06ace77da001eb7b5e102e0ebdfedf1a7cc29c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 111/182] nix: update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index b4a05c0..b723216 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736566108, - "narHash": "sha256-r+FXWU/hfgO3lAHYs9Q03iCShnC42mZd1pnmIIp8Z9k=", + "lastModified": 1736911212, + "narHash": "sha256-OLly4X2kN1tDb2gMYcWeim6uJECPoc52ltJsz1iD5Ug=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "918ccdba5cc65ccd1fb48a54c71306d869299441", + "rev": "ff9414d9ea7b16a375d41cde8f6f193de7e5db72", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736553940, - "narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", + "lastModified": 1736924666, + "narHash": "sha256-1Mnw9hNMmsnfZuNbeTgmRev99vLZ9FsgrfCChjwnzSk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b2237869f288c278b6fd429445d460cb44a0e788", + "rev": "7e61ee6d94536d30888c2fbeb1e9d53f4aa3f8b8", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736553525, - "narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", + "lastModified": 1736864394, + "narHash": "sha256-QEbgudJG4M9kVmuhGDEG2EP397zAbPmnZ5DX2GFwZCI=", "owner": "neovim", "repo": "neovim", - "rev": "fbe546e25d21f3184814d696c329d23d146bd615", + "rev": "e8a6c1b02122852da83dc52184e78369598d8240", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736440205, - "narHash": "sha256-QJgTI//KEGuEJC6FDxuI9Dq8PewIpnxD2NVx2/OHbfc=", + "lastModified": 1736652904, + "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a2200b499efa01ca8646173e94cdfcc93188f2b8", + "rev": "271e5bd7c57e1f001693799518b10a02d1123b12", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736200483, - "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "lastModified": 1736867362, + "narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736420959, - "narHash": "sha256-dMGNa5UwdtowEqQac+Dr0d2tFO/60ckVgdhZU9q2E2o=", + "lastModified": 1736848588, + "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32af3611f6f05655ca166a0b1f47b57c762b5192", + "rev": "357cd3dfdb8993af11268d755d53357720675e66", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736320768, - "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", + "lastModified": 1736848588, + "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", + "rev": "357cd3dfdb8993af11268d755d53357720675e66", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", "type": "github" }, "original": { From 62246715bbfd985c3541b27657475aa5b74c27a0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 112/182] jj: fancy 's' command as default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit new `util exec` is very nice 😀 --- home/dln/home.nix | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 0770df0..7c306b7 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -65,12 +65,7 @@ in }; ui = { - "default-command" = [ - "log" - "--limit=10" - "-T" - "builtin_log_comfortable" - ]; + "default-command" = [ "s" ]; pager = "delta"; }; @@ -112,23 +107,28 @@ in ]; d = [ "diff" - "--tool=difftu" + "--tool=difft" ]; dd = [ "diff" "--git" ]; - ds = [ + du = [ "diff" - "--tool=difft" - ]; - s = [ - "show" "--tool=difftu" ]; - ss = [ - "show" - "--tool=difft" + s = [ + "util" + "exec" + "--" + "bash" + "-c" + '' + printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' + jj show --stat + printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' + jj log --limit=15 -T builtin_log_comfortable + '' ]; }; From 6b1a4b5d043a126996001f1a4b41cefded4b184e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:40:47 +0100 Subject: [PATCH 113/182] jj: pass args to 's' alias --- home/dln/home.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/dln/home.nix b/home/dln/home.nix index 7c306b7..f64681d 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -124,11 +124,17 @@ in "bash" "-c" '' + #!/usr/bin/env bash + set -eo pipefail + if [ -n "$1" ]; then + exec jj show --stat --tool=difft "$@" + fi printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj show --stat printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj log --limit=15 -T builtin_log_comfortable '' + "" ]; }; From dcc102f9bf7a04b5cabc039c6629265888faad37 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 114/182] ghostty: keymap c-m + friends --- home/common/ghostty.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 99b7338..971ade9 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -44,7 +44,10 @@ keybind = [ "alt+shift+c=copy_to_clipboard" "alt+shift+v=paste_from_clipboard" + "ctrl+i=text:\\x09" + "ctrl+m=text:\\x0D" "ctrl+tab=goto_split:previous" + "ctrl+[=text:\\x1B" "super+enter=toggle_fullscreen" ]; }; From cc9fc76545fb8f00a9e824634693fc6bc98fe2cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 115/182] jj: fancier status --- home/common/ghostty.nix | 44 ++++++++++++++++++++--------------------- home/dln/home.nix | 9 +++++---- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 971ade9..6f9b5ea 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -58,28 +58,28 @@ background = if config.patagia.oled.enable then "#000000" else "#14151a"; in '' - background = "${background}" - foreground = #b7bec7 - cursor-color = #e7e7b7 - selection-background = #84979f - selection-foreground = #000000 - palette = 0=#000000 - palette = 1=#ff0035 - palette = 2=#85ff00 - palette = 3=#ffc900 - palette = 4=#00a7ff - palette = 5=#cb01ff - palette = 6=#00e0ff - palette = 7=#b7bec7 - palette = 8=#444444 - palette = 9=#ff8c88 - palette = 10=#baff94 - palette = 11=#ffe090 - palette = 12=#88ccff - palette = 13=#e38dff - palette = 14=#97eeff - palette = 15=#ffffff - ''; + background = "${background}" + foreground = #b7bec7 + cursor-color = #e7e7b7 + selection-background = #84979f + selection-foreground = #000000 + palette = 0=#000000 + palette = 1=#ff0035 + palette = 2=#85ff00 + palette = 3=#ffc900 + palette = 4=#00a7ff + palette = 5=#cb01ff + palette = 6=#00e0ff + palette = 7=#b7bec7 + palette = 8=#444444 + palette = 9=#ff8c88 + palette = 10=#baff94 + palette = 11=#ffe090 + palette = 12=#88ccff + palette = 13=#e38dff + palette = 14=#97eeff + palette = 15=#ffffff + ''; xdg.configFile."ghostty/themes/PatagiaLight".text = '' background = #fefeff diff --git a/home/dln/home.nix b/home/dln/home.nix index f64681d..8288f2c 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -126,13 +126,14 @@ in '' #!/usr/bin/env bash set -eo pipefail - if [ -n "$1" ]; then - exec jj show --stat --tool=difft "$@" - fi printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj show --stat printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' - jj log --limit=15 -T builtin_log_comfortable + if [ -n "$1" ]; then + jj diff --tool=difft -r "$@" + else + jj log --limit=15 -T builtin_log_comfortable + fi '' "" ]; From 1b367e232261a0b5c2fcc952992a4923583c3133 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 116/182] nemo: add tpm2 tooling + perms --- hosts/nemo/default.nix | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index cc1db74..3f0fa01 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -170,6 +170,7 @@ lm_sensors pam_rssh openconnect + tpm2-tools v4l-utils ]; @@ -177,10 +178,19 @@ OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; }; + security.tpm2 = { + enable = true; + pkcs11.enable = true; + tctiEnvironment.enable = true; + }; + users.users.dln = { isNormalUser = true; description = "Daniel Lundin"; - extraGroups = [ "wheel" ]; + extraGroups = [ + "tss" + "wheel" + ]; openssh.authorizedKeys.keys = [ "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIHMAEZx02kbHrEygyPQYStiXlrIe6EIqBCv7anIkL0pAAAABHNzaDo= dln@dinky" "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" @@ -190,7 +200,10 @@ users.users.lsjostro = { isNormalUser = true; description = "Lars Sjöström"; - extraGroups = [ "wheel" ]; + extraGroups = [ + "tss" + "wheel" + ]; openssh.authorizedKeys.keys = [ "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJ10mLOpInoqDaySyrxbzvcOrJfLw48Y6eWHa9501lw+hEEBXya3ib7nlvpCqEQJ8aPU5fVRqpkOW5zSimCiRbwAAAAEc3NoOg==" "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLpoKvsZDIQQLfgzJhe1jAQubBNxjydkj8UfdUPaSXqgfB02OypMOC1m5ZuJYcQIxox0I+4Z8xstFhYP6s8zKZwAAAAEc3NoOg==" From 48af3d54499494be6c3f2024b94e261abc4d547b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 117/182] ghostty: use window decorations --- home/common/ghostty.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6f9b5ea..a25f6e8 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -25,17 +25,13 @@ adjust-underline-thickness = -2; mouse-hide-while-typing = true; - cursor-style = "block"; unfocused-split-opacity = 1.0; shell-integration = "fish"; - window-decoration = true; - gtk-single-instance = true; gtk-tabs-location = "hidden"; - gtk-titlebar = false; - window-padding-x = 0; - window-padding-y = 0; + gtk-titlebar = true; + gtk-titlebar-hide-when-maximized = true; window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; From a07cdcc95974006b32078ee86f77f99ab4d13d70 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 118/182] desktop: add supersonic music player --- flake.lock | 78 ++++++++++++++++++++++---------------------- home/dln/desktop.nix | 1 + 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index b723216..a6a4aa0 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736911212, - "narHash": "sha256-OLly4X2kN1tDb2gMYcWeim6uJECPoc52ltJsz1iD5Ug=", + "lastModified": 1737085478, + "narHash": "sha256-EzdUQf1ljtGIWMmscVzoW3rUxxN3UKyNXOXbzUvz3BQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "ff9414d9ea7b16a375d41cde8f6f193de7e5db72", + "rev": "72d085525b22d66468c5969a4d507a0fa68d4a04", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737301351, + "narHash": "sha256-2UNmLCKORvdBRhPGI8Vx0b6l7M8/QBey/nHLIxOl4jE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "15a87cedeb67e3dbc8d2f7b9831990dffcf4e69f", "type": "github" }, "original": { @@ -201,11 +201,11 @@ ] }, "locked": { - "lastModified": 1735695978, - "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", + "lastModified": 1736917206, + "narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", + "rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "lastModified": 1737394973, + "narHash": "sha256-EW4oXMfnfA5sNM9Jqm+y98horWVvN66Gu7YIcEpFYZc=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "rev": "9786661d57c476021c8a0c3e53bf9fa2b4f3328b", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736924666, - "narHash": "sha256-1Mnw9hNMmsnfZuNbeTgmRev99vLZ9FsgrfCChjwnzSk=", + "lastModified": 1737357364, + "narHash": "sha256-JhW46GBB1Nz2Dm1dn6ZX/fKYy8JDQUOUDLqabbQB06M=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7e61ee6d94536d30888c2fbeb1e9d53f4aa3f8b8", + "rev": "010ed547044c6926f746898d8876137515dd934e", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736864394, - "narHash": "sha256-QEbgudJG4M9kVmuhGDEG2EP397zAbPmnZ5DX2GFwZCI=", + "lastModified": 1737321080, + "narHash": "sha256-0L6YAx41Yn0dzEJ/rWk1Th1EF8MSLEdNDMyEi0SMVCg=", "owner": "neovim", "repo": "neovim", - "rev": "e8a6c1b02122852da83dc52184e78369598d8240", + "rev": "5f527f24f0ea89e9071e065530cbed449507df5c", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736652904, - "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=", + "lastModified": 1737257306, + "narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "271e5bd7c57e1f001693799518b10a02d1123b12", + "rev": "744d330659e207a1883d2da0141d35e520eb87bd", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736867362, - "narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=", + "lastModified": 1737299813, + "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc", + "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736848588, - "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", + "lastModified": 1737264083, + "narHash": "sha256-6QqSrHPN+ZD+7HuadVLuFNUaM8XnmZF3EO7QViM1b80=", "owner": "nixos", "repo": "nixpkgs", - "rev": "357cd3dfdb8993af11268d755d53357720675e66", + "rev": "aa6ae0afa6adeb5c202a168e51eda1d3da571117", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736848588, - "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", + "lastModified": 1737110817, + "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "357cd3dfdb8993af11268d755d53357720675e66", + "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1737062831, + "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", + "lastModified": 1737103437, + "narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", + "rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899", "type": "github" }, "original": { diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 783f875..bb23ece 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -14,6 +14,7 @@ pavucontrol plexamp signal-desktop + supersonic-wayland ]; xdg.desktopEntries = { From 04fea5639d917b8c788c657012f07e2710d4b15a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 10:29:47 +0100 Subject: [PATCH 119/182] ghostty: themes are supported in home-manager now --- home/common/ghostty.nix | 104 ++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a25f6e8..ba36fa3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -47,60 +47,60 @@ "super+enter=toggle_fullscreen" ]; }; + themes = { + PatagiaDark = { + background = if config.patagia.oled.enable then "#000000" else "#14151a"; + foreground = "#b7bec7"; + cursor-color = "#e7e7b7"; + selection-background = "#84979f"; + selection-foreground = "#000000"; + palette = [ + "#000000" + "#ff0035" + "#85ff00" + "#ffc900" + "#00a7ff" + "#cb01ff" + "#00e0ff" + "#b7bec7" + "#444444" + "#ff8c88" + "#baff94" + "#ffe090" + "#88ccff" + "#e38dff" + "#97eeff" + "#ffffff" + ]; + }; + PatagiaLight = { + background = "#fefeff"; + foreground = "#222222"; + cursor-color = "#aa0000"; + selection-background = "#ffe6a4"; + selection-foreground = "#483600"; + palette = [ + "#000000" + "#9e001d" + "#306300" + "#deae00" + "#00669e" + "#7d009e" + "#008a9e" + "#f7f7f7" + "#b0b0b0" + "#ff0035" + "#509e00" + "#ffc900" + "#00a7ff" + "#cb01ff" + "#00e0ff" + "#ffffff" + ]; + }; + }; }; - xdg.configFile."ghostty/themes/PatagiaDark".text = - let - background = if config.patagia.oled.enable then "#000000" else "#14151a"; - in - '' - background = "${background}" - foreground = #b7bec7 - cursor-color = #e7e7b7 - selection-background = #84979f - selection-foreground = #000000 - palette = 0=#000000 - palette = 1=#ff0035 - palette = 2=#85ff00 - palette = 3=#ffc900 - palette = 4=#00a7ff - palette = 5=#cb01ff - palette = 6=#00e0ff - palette = 7=#b7bec7 - palette = 8=#444444 - palette = 9=#ff8c88 - palette = 10=#baff94 - palette = 11=#ffe090 - palette = 12=#88ccff - palette = 13=#e38dff - palette = 14=#97eeff - palette = 15=#ffffff - ''; - - xdg.configFile."ghostty/themes/PatagiaLight".text = '' - background = #fefeff - foreground = #222222 - cursor-color = #aa0000 - selection-background = #ffe6a4 - selection-foreground = #483600 - palette = 0=#000000 - palette = 1=#9e001d - palette = 2=#306300 - palette = 3=#deae00 - palette = 4=#00669e - palette = 5=#7d009e - palette = 6=#008a9e - palette = 7=#f7f7f7 - palette = 8=#b0b0b0 - palette = 9=#ff0035 - palette = 10=#509e00 - palette = 11=#ffc900 - palette = 12=#00a7ff - palette = 13=#cb01ff - palette = 14=#00e0ff - palette = 15=#ffffff - ''; - xdg.desktopEntries = { ghostty-secondary = { categories = [ From c56bb1882742dcd47f4544927c2d1e1006d71393 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 10:29:47 +0100 Subject: [PATCH 120/182] nix update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index a6a4aa0..f1d99dd 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737085478, - "narHash": "sha256-EzdUQf1ljtGIWMmscVzoW3rUxxN3UKyNXOXbzUvz3BQ=", + "lastModified": 1737430029, + "narHash": "sha256-z55IQogW9z4HhVeT55LlCUFKbYD5O5aLMnU5cX1WTto=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "72d085525b22d66468c5969a4d507a0fa68d4a04", + "rev": "5cb2fa6f7594202b12a2603bf32094aa75b1bf0e", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737357364, - "narHash": "sha256-JhW46GBB1Nz2Dm1dn6ZX/fKYy8JDQUOUDLqabbQB06M=", + "lastModified": 1737444129, + "narHash": "sha256-RDwsCYHgjFf6iTi5JSfpOAnuQenDh8VFKU01XluVWM8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "010ed547044c6926f746898d8876137515dd934e", + "rev": "ac8238031094d5242da26947bfc7174369c12e33", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737321080, - "narHash": "sha256-0L6YAx41Yn0dzEJ/rWk1Th1EF8MSLEdNDMyEi0SMVCg=", + "lastModified": 1737414984, + "narHash": "sha256-A1ITJgtOOwhSC5wB/jfBV9ZuAftroeYRYFqA+aFKgac=", "owner": "neovim", "repo": "neovim", - "rev": "5f527f24f0ea89e9071e065530cbed449507df5c", + "rev": "855a2a75e6f7d08376c221a46e0179e5c76176ec", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1737264083, - "narHash": "sha256-6QqSrHPN+ZD+7HuadVLuFNUaM8XnmZF3EO7QViM1b80=", + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aa6ae0afa6adeb5c202a168e51eda1d3da571117", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737110817, - "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", "type": "github" }, "original": { From d8f97650e5c9af4607ed9ed72a7489b0220998c3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 121/182] ghostty: use ultracondensed berkeley mono for secondary term --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ba36fa3..9d44a86 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -108,7 +108,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; From d58bac33430c982d46f750edd7fd2952f1f066fd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 122/182] nix: cleanup --- flake.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 35ccf56..6388658 100644 --- a/flake.nix +++ b/flake.nix @@ -17,33 +17,32 @@ ghostty.url = "github:ghostty-org/ghostty"; jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; }; outputs = inputs@{ self, nix-index-database, - nixpkgs, + nixpkgs-unstable, home-manager, ... }: let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = nixpkgs-unstable.legacyPackages.${system}; mkHost = modules: - nixpkgs.lib.nixosSystem { + nixpkgs-unstable.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; From 8d7b072aaf4f777ebea3718565f9d3b14ffb2908 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 123/182] nix: update --- flake.lock | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index f1d99dd..d7a70d0 100644 --- a/flake.lock +++ b/flake.lock @@ -217,15 +217,15 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1737394973, - "narHash": "sha256-EW4oXMfnfA5sNM9Jqm+y98horWVvN66Gu7YIcEpFYZc=", + "lastModified": 1737478403, + "narHash": "sha256-e6PJI4Bd+QdpukHyd5F/fQY8fRUiNfCwvCRU8WXMSk8=", "owner": "nix-community", "repo": "home-manager", - "rev": "9786661d57c476021c8a0c3e53bf9fa2b4f3328b", + "rev": "96dee79b178d295b716052feca3ee46abc085abe", "type": "github" }, "original": { @@ -298,7 +298,7 @@ "nix-index-database": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { @@ -411,22 +411,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "ghostty": "ghostty", @@ -434,7 +418,6 @@ "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } From c747fa6757a04e64804a3d971cbe47ebff01e35d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 20:08:31 +0100 Subject: [PATCH 124/182] ghostty: fix palette --- home/common/ghostty.nix | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 9d44a86..1be3b9c 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -54,24 +54,6 @@ cursor-color = "#e7e7b7"; selection-background = "#84979f"; selection-foreground = "#000000"; - palette = [ - "#000000" - "#ff0035" - "#85ff00" - "#ffc900" - "#00a7ff" - "#cb01ff" - "#00e0ff" - "#b7bec7" - "#444444" - "#ff8c88" - "#baff94" - "#ffe090" - "#88ccff" - "#e38dff" - "#97eeff" - "#ffffff" - ]; }; PatagiaLight = { background = "#fefeff"; @@ -79,24 +61,6 @@ cursor-color = "#aa0000"; selection-background = "#ffe6a4"; selection-foreground = "#483600"; - palette = [ - "#000000" - "#9e001d" - "#306300" - "#deae00" - "#00669e" - "#7d009e" - "#008a9e" - "#f7f7f7" - "#b0b0b0" - "#ff0035" - "#509e00" - "#ffc900" - "#00a7ff" - "#cb01ff" - "#00e0ff" - "#ffffff" - ]; }; }; }; From 8ccaf3b9d71ce70066e3d1ee25b0db89f6c11784 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 20:51:57 +0100 Subject: [PATCH 125/182] nix: nixpkgs-unstable -> nixpkgs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit that was a bad idea 😆 --- flake.lock | 40 ++++++++++++++++++++-------------------- flake.nix | 12 ++++++------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index d7a70d0..04ea1e1 100644 --- a/flake.lock +++ b/flake.lock @@ -217,7 +217,7 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { @@ -298,7 +298,7 @@ "nix-index-database": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { @@ -379,22 +379,6 @@ "type": "github" } }, - "nixpkgs-unstable_2": { - "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1737370608, @@ -411,6 +395,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "ghostty": "ghostty", @@ -418,8 +418,8 @@ "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable_2" + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable_2" } }, "rust-overlay": { diff --git a/flake.nix b/flake.nix index 6388658..99e7a36 100644 --- a/flake.nix +++ b/flake.nix @@ -18,31 +18,31 @@ jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs-unstable"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nix-index-database, - nixpkgs-unstable, + nixpkgs, home-manager, ... }: let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs-unstable.legacyPackages.${system}; + pkgs = nixpkgs.legacyPackages.${system}; mkHost = modules: - nixpkgs-unstable.lib.nixosSystem { + nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; From dfde600c7a7f875a4e470aa8ea3fa72c972869d0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 126/182] nvim: blink-compat is now in nixpkgs --- home/common/nvim/default.nix | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 57e68e6..b681cdc 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -46,6 +46,7 @@ in ]; plugins = with pkgs.vimPlugins; [ + blink-compat friendly-snippets go-nvim targets-vim @@ -80,22 +81,6 @@ in config = lib.fileContents ./blink-cmp.lua; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "blink.compat"; - src = pkgs.fetchFromGitHub { - owner = "saghen"; - repo = "blink.compat"; - rev = "5ca8848c8cc32abdc980e5db4f0eb7bb8fbf84dc"; # Dec 25, 2024 - hash = "sha256-tFQeKyqdo3mvptYnWxKhTpI4ROFNQ6u3P8cLqtlsozw="; - }; - }; - type = "lua"; - config = '' - require('blink.compat').setup() - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "inlay-hints"; From df7f12c94c1cb08a9507c63876b52dca3d1df4af Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 127/182] nvim: allow blink completion menu to go downward if there is not enough space north --- home/common/nvim/blink-cmp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 8ae4f6c..a719718 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -29,7 +29,7 @@ require 'blink-cmp'.setup({ menu = { auto_show = true, border = 'rounded', - direction_priority = { 'n' }, + direction_priority = { 'n', 's' }, draw = { components = { kind_icon = { From fdb2fa86e4e004d879535f4eb8fc110760ace9be Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 128/182] =?UTF-8?q?nvim:=20add=20blink-emoji=20completion?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/common/nvim/blink-cmp.lua | 15 ++++++++++++--- home/common/nvim/default.nix | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index a719718..113fda6 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -61,9 +61,18 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp' }, + default = { + 'lsp', + 'emoji', + }, cmdline = {}, - providers = {}, + providers = { + emoji = { + module = "blink-emoji", + name = "Emoji", + score_offset = 1, + opts = { insert = true }, + } + }, }, - }) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index b681cdc..e5adcd9 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -47,6 +47,7 @@ in plugins = with pkgs.vimPlugins; [ blink-compat + blink-emoji-nvim friendly-snippets go-nvim targets-vim From 6a8c63cbd163ddfd75545a94608d95fbe99934bb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 129/182] ghostty: ditch the titlebar --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 1be3b9c..8635e63 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -30,7 +30,7 @@ shell-integration = "fish"; gtk-tabs-location = "hidden"; - gtk-titlebar = true; + gtk-titlebar = false; gtk-titlebar-hide-when-maximized = true; window-padding-balance = true; window-padding-color = "extend"; From e453256154599e59e3d04e3f04675c9e47d40489 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 130/182] home-manager: use nixpkgs-unstable channel instead of nixos-unstable We probably don't need to wait on nixos integration tests for user packages. --- flake.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 99e7a36..f72d553 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,8 @@ jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; @@ -32,6 +33,7 @@ self, nix-index-database, nixpkgs, + nixpkgs-unstable, home-manager, ... }: @@ -52,7 +54,7 @@ mkHome = modules: home-manager.lib.homeManagerConfiguration { - inherit pkgs; + pkgs = nixpkgs-unstable.legacyPackages.${system}; extraSpecialArgs = { inherit inputs outputs; }; From cd59d774c4c7a58704957ac78fb7234ae1b93545 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 131/182] ghostty: retitle desktop entries for easier completion --- home/common/ghostty.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 8635e63..76e4031 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -74,9 +74,9 @@ exec = '' ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; - genericName = "Ghostty Secondary"; + genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; - name = "Ghostty Secondary"; + name = "Secondary Ghostty"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -112,9 +112,9 @@ exec = '' ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; - genericName = "Ghostty Secondary (devel)"; + genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty Secondary (devel)"; + name = "Secondary Ghostty (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; From a622850e2d86196e8f19283d5a0add16f45ac715 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 132/182] nix: update --- flake.lock | 75 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 04ea1e1..e181f4c 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737430029, - "narHash": "sha256-z55IQogW9z4HhVeT55LlCUFKbYD5O5aLMnU5cX1WTto=", + "lastModified": 1737699693, + "narHash": "sha256-Rs8KNdInnmqs0YNWvvauYlf2XcnA4EIdmRggvQGjmUQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "5cb2fa6f7594202b12a2603bf32094aa75b1bf0e", + "rev": "fd8cacaa674c93fb86751e8030af2b202133939e", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1737301351, - "narHash": "sha256-2UNmLCKORvdBRhPGI8Vx0b6l7M8/QBey/nHLIxOl4jE=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "15a87cedeb67e3dbc8d2f7b9831990dffcf4e69f", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1737478403, - "narHash": "sha256-e6PJI4Bd+QdpukHyd5F/fQY8fRUiNfCwvCRU8WXMSk8=", + "lastModified": 1737704314, + "narHash": "sha256-zta8jvOQ2wRCZmiwFEnS5iCulWAh8e+fLUlQxrgOBjM=", "owner": "nix-community", "repo": "home-manager", - "rev": "96dee79b178d295b716052feca3ee46abc085abe", + "rev": "a0428685572b134f6594e7d7f5db5e1febbab2d7", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737444129, - "narHash": "sha256-RDwsCYHgjFf6iTi5JSfpOAnuQenDh8VFKU01XluVWM8=", + "lastModified": 1737701591, + "narHash": "sha256-S71nENrb8kBrEvihDD+1mzn5sRrRr1sAaNMkjWDx1h0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ac8238031094d5242da26947bfc7174369c12e33", + "rev": "c9248eec123e70ef1132bbedeae22e2af7011095", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737414984, - "narHash": "sha256-A1ITJgtOOwhSC5wB/jfBV9ZuAftroeYRYFqA+aFKgac=", + "lastModified": 1737675744, + "narHash": "sha256-2Q4SNciK6DHC5WknFSbk3aYjorayf9y4uz3tdtl/T1M=", "owner": "neovim", "repo": "neovim", - "rev": "855a2a75e6f7d08376c221a46e0179e5c76176ec", + "rev": "8bc28978b632362ae658f8d4a6327e07a8b371b2", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1737299813, - "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", "type": "github" }, "original": { @@ -379,13 +379,29 @@ "type": "github" } }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1737622296, + "narHash": "sha256-GWHH9ljsR0LR29IEruJnKVVk6veeQpo7kfolyDyCVGQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "055c50feaa548eadca66407630961b77f3ebb750", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "lastModified": 1737557748, + "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", "type": "github" }, "original": { @@ -397,16 +413,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -419,7 +435,8 @@ "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unstable": "nixpkgs-unstable_2" } }, "rust-overlay": { @@ -481,11 +498,11 @@ ] }, "locked": { - "lastModified": 1737103437, - "narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=", + "lastModified": 1737483750, + "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899", + "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", "type": "github" }, "original": { From cdbc6d6a9ec26ccf24437009e5f8593d329a6a5b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 24 Jan 2025 11:37:41 +0100 Subject: [PATCH 133/182] Remove unused package --- home/dln/desktop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index bb23ece..a168ac2 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { patagia = { desktop.enable = true; @@ -14,7 +14,6 @@ pavucontrol plexamp signal-desktop - supersonic-wayland ]; xdg.desktopEntries = { From 444539ac0844d4ba38db2b5ad65685cd918da85f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 24 Jan 2025 11:37:41 +0100 Subject: [PATCH 134/182] gnome: keep background unmanaged --- home/common/gnome.nix | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 75343f5..e534c2a 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -16,23 +16,6 @@ with lib.hm.gvariant; ]; dconf.settings = { - "org/gnome/desktop/background" = { - color-shading-type = "solid"; - picture-options = "zoom"; - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; - primary-color = "#77767B"; - secondary-color = "#000000"; - }; - - "org/gnome/desktop/screensaver" = { - color-shading-type = "solid"; - picture-options = "zoom"; - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - primary-color = "#77767B"; - secondary-color = "#000000"; - }; - "org/gnome/desktop/wm/keybindings" = { close = [ "<Super>q" ]; toggle-on-all-workspaces = [ "<Super>s" ]; From 666736f87f9618e95c0584406f531fa3d5f18557 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 26 Jan 2025 20:34:25 +0100 Subject: [PATCH 135/182] nvim: only list unique entries in mini.projects --- home/common/nvim/mini.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 947528f..339c471 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -58,7 +58,7 @@ end require('mini.pick').setup({ mappings = { move_down = '<tab>', - move_up = '<S-tab>', + move_up = '<S-tab>', toggle_info = '<C-k>', toggle_preview = '<C-p>', }, @@ -84,14 +84,18 @@ MiniPick.registry.projects = function(local_opts) local postprocess = function(paths) local result = {} + local seen = {} for _, path in ipairs(paths) do path = path:gsub("%/.jj/repo/store/type$", "") path = path:gsub("%/.git/HEAD$", "") - local item = { - path = path, - text = path:gsub("%" .. root .. "/", " "), - } - table.insert(result, item) + if not seen[path] then + local item = { + path = path, + text = path:gsub("%" .. root .. "/", " "), + } + table.insert(result, item) + seen[path] = true + end end return result end From 0c6e5eb86c2c017ad98fccbde161892e7c1014b4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 26 Jan 2025 20:34:25 +0100 Subject: [PATCH 136/182] new glasses who dis --- flake.lock | 66 +++++++++++++++++++++---------------------- home/common/gnome.nix | 2 +- home/dln/nemo.nix | 2 +- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/flake.lock b/flake.lock index e181f4c..2e7f2e6 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737699693, - "narHash": "sha256-Rs8KNdInnmqs0YNWvvauYlf2XcnA4EIdmRggvQGjmUQ=", + "lastModified": 1738275804, + "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "fd8cacaa674c93fb86751e8030af2b202133939e", + "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3", "type": "github" }, "original": { @@ -201,11 +201,11 @@ ] }, "locked": { - "lastModified": 1736917206, - "narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=", + "lastModified": 1738237977, + "narHash": "sha256-oJN/yvRL7G0WlR/hTkQIjFbPkzCV+sFnNB/38Tb9RL4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425", + "rev": "6d1b6d5d59758b4f5f05745f774fc13cdc59da43", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1737704314, - "narHash": "sha256-zta8jvOQ2wRCZmiwFEnS5iCulWAh8e+fLUlQxrgOBjM=", + "lastModified": 1738275749, + "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", "owner": "nix-community", "repo": "home-manager", - "rev": "a0428685572b134f6594e7d7f5db5e1febbab2d7", + "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737701591, - "narHash": "sha256-S71nENrb8kBrEvihDD+1mzn5sRrRr1sAaNMkjWDx1h0=", + "lastModified": 1738310515, + "narHash": "sha256-qQ4/XFreahIZI5wIwlRcqDASP2EMGAUA0+qvufALdhI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c9248eec123e70ef1132bbedeae22e2af7011095", + "rev": "c7b97f4eeda08870059b20ec8d92ee76efda53b4", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737675744, - "narHash": "sha256-2Q4SNciK6DHC5WknFSbk3aYjorayf9y4uz3tdtl/T1M=", + "lastModified": 1738241166, + "narHash": "sha256-bcVp2t49bUoca5Wro4Q9m+SHpPSLVB/jabUqWiGGz4s=", "owner": "neovim", "repo": "neovim", - "rev": "8bc28978b632362ae658f8d4a6327e07a8b371b2", + "rev": "e71d2c817d1a2475551f58a98e411f6b39a5be3f", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1737257306, - "narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=", + "lastModified": 1737861961, + "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "744d330659e207a1883d2da0141d35e520eb87bd", + "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1737569578, - "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", + "lastModified": 1738163270, + "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=", "owner": "nixos", "repo": "nixpkgs", - "rev": "47addd76727f42d351590c905d9d1905ca895b82", + "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1737622296, - "narHash": "sha256-GWHH9ljsR0LR29IEruJnKVVk6veeQpo7kfolyDyCVGQ=", + "lastModified": 1738297584, + "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "055c50feaa548eadca66407630961b77f3ebb750", + "rev": "9189ac18287c599860e878e905da550aa6dec1cd", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737557748, - "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1737483750, - "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", + "lastModified": 1738070913, + "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", + "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", "type": "github" }, "original": { diff --git a/home/common/gnome.nix b/home/common/gnome.nix index e534c2a..e651f8a 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -135,7 +135,7 @@ with lib.hm.gvariant; }; "org/gnome/mutter" = { - center-new-windows = true; + center-new-windows = false; edge-tiling = true; }; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 1c38f16..df79854 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -6,7 +6,7 @@ ]; programs.ghostty.settings = { - font-size = lib.mkForce 18; + font-size = lib.mkForce 16; }; programs.obs-studio = { From 41985491ef35853ab3fcc6c0414f6a59b16147ac Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 25 Jan 2025 20:25:00 +0100 Subject: [PATCH 137/182] ghostty: font adjustments --- home/common/ghostty.nix | 17 ++++++++++------- home/common/gnome.nix | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 76e4031..6cb81d3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -12,12 +12,13 @@ enableFishIntegration = true; package = inputs.ghostty.packages.${pkgs.system}.default; settings = { - font-size = 12.5; - font-family = "TX-02"; - font-family-bold-italic = "Monaspace Xenon"; + font-size = 11; + font-family = "Berkeley Mono"; + font-family-bold-italic = "Monaspace Radon Var"; + font-style = "Regular"; font-style-bold = "Bold"; - font-style-italic = "Light Oblique"; - font-style-bold-italic = "ExtraLight Italic"; + font-style-italic = "SemiLight Oblique"; + font-style-bold-italic = "Italic"; font-synthetic-style = false; adjust-cursor-thickness = 4; @@ -25,7 +26,9 @@ adjust-underline-thickness = -2; mouse-hide-while-typing = true; - unfocused-split-opacity = 1.0; + unfocused-split-opacity = 0.85; + unfocused-split-fill = "#14151a"; + shell-integration = "fish"; @@ -49,7 +52,7 @@ }; themes = { PatagiaDark = { - background = if config.patagia.oled.enable then "#000000" else "#14151a"; + background = "#14151a"; foreground = "#b7bec7"; cursor-color = "#e7e7b7"; selection-background = "#84979f"; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index e651f8a..83fe87f 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -8,6 +8,7 @@ with lib.hm.gvariant; { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ + gnome-shell-extensions gnome-tweaks gnome-pomodoro gnomeExtensions.desktop-clock From 814d7e0e4b067cd9a641cbd14d38c81d67fdd5cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 1 Feb 2025 15:10:32 +0100 Subject: [PATCH 138/182] nvim: red comments and blinky cursor --- home/common/nvim/dieter/lua/dieter/init.lua | 3 +-- home/common/nvim/init.lua | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 08d75af..2aa86d7 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -11,7 +11,7 @@ local colors = { dimmed_subtle = hsl(0, 0, 20), string = hsl(96, 50, 33), - comment = hsl(230, 66, 40), + comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), diagnostic_error = hsl(347, 80, 45), @@ -53,7 +53,6 @@ local colors = { dialog_fg = hsl(191, 15, 75), string = hsl(90, 30, 60), - -- comment = hsl(2, 69, 68), comment = hsl(216, 30, 55), comment_error = hsl(2, 85, 50), func = hsl(40, 57, 87), diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index ed4052d..8beaaaf 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -6,6 +6,7 @@ vim.g.maplocalleader = "," -- UI vim.opt.cursorline = true +vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false From 4df4b83d45b867e92ca313fd58096c53503d062f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 11:23:04 +0100 Subject: [PATCH 139/182] nemo: disabled onboard wifi in bios --- hosts/nemo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 3f0fa01..a20e460 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -117,7 +117,7 @@ systemd.network.enable = true; systemd.network.networks."10-wifi" = { - matchConfig.Name = "wlan1"; + matchConfig.Name = "wlan0"; address = [ "10.1.100.20/22" ]; gateway = [ "10.1.100.1" ]; linkConfig.RequiredForOnline = "routable"; From 6e81863ff6928a0b13fc32bd3dc0c82b1d20ff1e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 12:20:40 +0100 Subject: [PATCH 140/182] nvim: cursorline off by default, add ui toggle --- home/common/nvim/dieter/lua/dieter/init.lua | 22 ++++++++++++--------- home/common/nvim/init.lua | 6 ++++-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 2aa86d7..07a47f5 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -14,10 +14,12 @@ local colors = { comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), - diagnostic_error = hsl(347, 80, 45), - diagnostic_warning = hsl(30, 100, 50), - diagnostic_info = hsl(145, 80, 30), - diagnostic_hint = hsl(145, 80, 30), + suggestion = hsl(220, 95, 60), + + -- diagnostic_error = hsl(347, 80, 45), + -- diagnostic_warning = hsl(30, 100, 50), + -- diagnostic_info = hsl(145, 80, 30), + -- diagnostic_hint = hsl(145, 80, 30), popup_error_bg = hsl(0, 90, 99), popup_warning_bg = hsl(27, 90, 99), @@ -59,6 +61,8 @@ local colors = { member = hsl(213, 45, 75), punc = hsl(213, 45, 50), + suggestion = hsl(158, 66, 40), + diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), diagnostic_info = hsl(176, 80, 60), @@ -88,8 +92,6 @@ local colors = { doc_bg = hsl(220, 80, 10), doc_fg = hsl(200, 30, 60), - - suggestion = hsl(180, 55, 40), }, } @@ -118,8 +120,8 @@ local setupGroups = function(c) Search = { bg = c.search_bg, fg = c.search_fg }, CurSearch = { link = "Search" }, - Comment = { fg = c.comment, italic = true, bold = true }, - CommentError = { fg = c.comment_error, italic = true, bold = true }, + Comment = { fg = c.comment, italic = true }, + CommentError = { fg = c.comment_error, italic = true }, ["@comment.note"] = { link = "Comment" }, ["@comment.todo"] = { link = "CommentError" }, ["@comment.error"] = { link = "CommentError" }, @@ -207,7 +209,9 @@ local setupGroups = function(c) BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, - NeoCodeiumSuggestion = { fg = c.suggestion, bold = true, italic = true }, + BlinkCmpGhostText = { fg = c.suggestion, italic = true, bold = true }, + NeoCodeiumSuggestion = { link = 'BlinkCmpGhostText' }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, LspInlayHint = { fg = c.accent1, italic = true, bold = true }, } diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8beaaaf..67f0c25 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -5,8 +5,9 @@ vim.g.maplocalleader = "," -- UI -vim.opt.cursorline = true -vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" +vim.opt.cursorline = false +vim.opt.guicursor = +"n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false @@ -205,5 +206,6 @@ vim.keymap.set("n", "<Leader>uc", function() end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uf", "<cmd>ToggleAutoFormat<cr>", opts("Toggle autoformat on save")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>ul", "<cmd>set invcursorline<cr>", opts("Toggle cursor line")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 8fb4b727ba97a02c037296a07e509a873a020d04 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 12:20:40 +0100 Subject: [PATCH 141/182] nvim/ghostty: style suggestions and completions --- files/config/fish/config.fish | 2 +- flake.lock | 48 ++++++++++----------- home/common/nvim/dieter/lua/dieter/init.lua | 12 +++--- home/common/nvim/init.lua | 2 +- home/common/nvim/mini.lua | 2 +- 5 files changed, 34 insertions(+), 32 deletions(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index c3d902f..6572a0c 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -12,7 +12,7 @@ set fish_emoji_width 2 # Colors set fish_color_command --bold set fish_color_comment --italics --dim -set fish_color_autosuggestion --italics --bold --dim +set fish_color_autosuggestion 1f67f9 --italics --bold set fish_color_cancel set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/flake.lock b/flake.lock index 2e7f2e6..5b2ffda 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738275749, - "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", + "lastModified": 1738448366, + "narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", + "rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738310515, - "narHash": "sha256-qQ4/XFreahIZI5wIwlRcqDASP2EMGAUA0+qvufALdhI=", + "lastModified": 1738479528, + "narHash": "sha256-VmO/CQEQjIpfYot//PHDQuUm68r27zNuBiuANi6c5E4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c7b97f4eeda08870059b20ec8d92ee76efda53b4", + "rev": "1b82dbcbbcba812ad19f5c0601d1731731bf4ebe", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738241166, - "narHash": "sha256-bcVp2t49bUoca5Wro4Q9m+SHpPSLVB/jabUqWiGGz4s=", + "lastModified": 1738450845, + "narHash": "sha256-yK2ZOtTTT6BjNi98PZi0NpEbidY12JMjgkqqggjoyD8=", "owner": "neovim", "repo": "neovim", - "rev": "e71d2c817d1a2475551f58a98e411f6b39a5be3f", + "rev": "0985e784d8dce58748343207e176bf61303b7d68", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1737861961, - "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", + "lastModified": 1738466368, + "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", + "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738163270, - "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=", + "lastModified": 1738277201, + "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0", + "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738136902, - "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", + "lastModified": 1738297584, + "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", + "rev": "9189ac18287c599860e878e905da550aa6dec1cd", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1738410390, + "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", "type": "github" }, "original": { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 07a47f5..f9fdcc2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -14,12 +14,12 @@ local colors = { comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), - suggestion = hsl(220, 95, 60), + suggestion = hsl(220, 95, 55), - -- diagnostic_error = hsl(347, 80, 45), - -- diagnostic_warning = hsl(30, 100, 50), - -- diagnostic_info = hsl(145, 80, 30), - -- diagnostic_hint = hsl(145, 80, 30), + diagnostic_error = hsl(347, 80, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(145, 80, 30), + diagnostic_hint = hsl(145, 80, 30), popup_error_bg = hsl(0, 90, 99), popup_warning_bg = hsl(27, 90, 99), @@ -35,6 +35,7 @@ local colors = { dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), highlight_subtle = hsl(0, 0, 94), + highlight = hsl(0, 0, 90), highlight_intense = hsl(42, 100, 30), }, @@ -174,6 +175,7 @@ local setupGroups = function(c) InclineNormal = { bg = c.background }, InclineNormalNC = { bg = c.background }, + EndOfBuffer = { fg = c.dimmed }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, NormalFloat = { bg = c.background, fg = c.foreground }, FloatBorder = { fg = c.foreground }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 67f0c25..00228b9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -76,7 +76,7 @@ vim.opt.foldexpr = "nvim_treesitter#foldexpr()" vim.o.autochdir = true vim.o.cia = 'kind,abbr,menu' -vim.o.fillchars = "stl: ,stlnc: ,eob:░,vert:│" +vim.o.fillchars = "stl: ,stlnc: ,eob:🮘,vert:│" vim.o.icm = "split" vim.o.list = false vim.o.scrolloff = 7 diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 339c471..1c8f41e 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -35,7 +35,7 @@ indentscope.setup({ delay = 10, animation = indentscope.gen_animation.none(), }, - symbol = '│', + symbol = '┆', }) require('mini.jump2d').setup({ From a82ffe7012b48660cb7638a8b9b312196c89b701 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 13:42:19 +0100 Subject: [PATCH 142/182] nvim: disable indentscope by default. add ui toggle --- home/common/nvim/init.lua | 4 ++++ home/common/nvim/mini.lua | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 00228b9..3eb3cb9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -209,3 +209,7 @@ vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inla vim.keymap.set("n", "<Leader>ul", "<cmd>set invcursorline<cr>", opts("Toggle cursor line")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) + +vim.keymap.set("n", "<Leader>ui", function() + vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable +end, opts("Toggle indent scope")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 1c8f41e..3c7d129 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -35,8 +35,9 @@ indentscope.setup({ delay = 10, animation = indentscope.gen_animation.none(), }, - symbol = '┆', + symbol = '│', }) +vim.g.miniindentscope_disable = true require('mini.jump2d').setup({ mappings = { start_jumping = 'gw' } From 44bf38a4842e346a720533797b1eaf4e3a862700 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 11:59:56 +0100 Subject: [PATCH 143/182] ghostty: fonts fontelifonts --- home/common/ghostty.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6cb81d3..5e11086 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -14,16 +14,17 @@ settings = { font-size = 11; font-family = "Berkeley Mono"; - font-family-bold-italic = "Monaspace Radon Var"; + font-family-italic = "Monaspace Radon Var"; + font-family-bold-italic = "Monaspace Krypton Var"; font-style = "Regular"; font-style-bold = "Bold"; - font-style-italic = "SemiLight Oblique"; - font-style-bold-italic = "Italic"; + font-style-italic = "Italic"; + font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; adjust-cursor-thickness = 4; - adjust-underline-position = 5; - adjust-underline-thickness = -2; + adjust-underline-position = 3; + adjust-underline-thickness = -1; mouse-hide-while-typing = true; unfocused-split-opacity = 0.85; @@ -75,7 +76,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.7 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; @@ -113,7 +114,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" + ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.7 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From 52789b71e75baaa5ad939840e646cda2694de8eb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 144/182] jj: use upstream main w/git subprocess support --- flake.nix | 2 +- home/common/vcs.nix | 7 ++++++- home/dln/home.nix | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index f72d553..d4de165 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:dln/jj/openssh"; + jujutsu.url = "github:jj-vcs/jj/main"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 956612a..4e3d18a 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -1,4 +1,9 @@ -{ config, inputs, pkgs, ... }: +{ + config, + inputs, + pkgs, + ... +}: { home.packages = with pkgs; [ diff --git a/home/dln/home.nix b/home/dln/home.nix index 8288f2c..b78fe99 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -43,7 +43,6 @@ in programs.helix = { enable = true; - # extraPackages = []; }; programs.jujutsu = { @@ -62,6 +61,7 @@ in git = { push-bookmark-prefix = "dln/push-"; + subprocess = true; }; ui = { From ebd723f125e6c4a1a768c9f3106f5bc0b8ef6474 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 145/182] chore(eza): underline instead of italics for symlinks --- home/common/utils.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 1ae7cf9..91b6130 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -60,16 +60,16 @@ }; programs.eza = { - enable = true; - enableFishIntegration = true; + enable = true; + enableFishIntegration = true; }; - home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=4:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=4:or=4"; programs.zoxide = { enable = true; enableFishIntegration = true; options = [ "--cmd=cd" ]; }; - home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; + home.sessionVariables._ZO_FZF_OPTS = "--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; } From 51e2d9607f0ad7016d826fb79903952169174464 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 146/182] fish: normal style for strings --- files/config/fish/config.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index 6572a0c..4bb823b 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -36,7 +36,7 @@ set fish_color_redirection set fish_color_search_match -r set fish_color_selection -r set fish_color_status normal -set fish_color_string --italics +set fish_color_string normal set fish_color_user normal set fish_color_valid_path set fish_pager_color_background From 964afe8841e15360cc2df645bf409a28e8ebf2b9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 147/182] nix update --- flake.lock | 72 ++++++++++++++++++++--------------------- home/common/ghostty.nix | 1 - 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 5b2ffda..1f292d1 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738275804, - "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=", + "lastModified": 1738619868, + "narHash": "sha256-q4h4SY1kVkZG4t/59CmJvaKjlx+xjojhdU1HqxiQhrQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3", + "rev": "f0d276062b78658fc1f3857e9ea104788f1f4e58", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738448366, - "narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=", + "lastModified": 1738667255, + "narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=", "owner": "nix-community", "repo": "home-manager", - "rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93", + "rev": "7abcf59a365430b36f84eaa452a466b11e469e33", "type": "github" }, "original": { @@ -241,16 +241,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735928141, - "narHash": "sha256-KN5rfdDj3vB/GNVw4YZU4tJv2BnUQiQdOz1kEQyketI=", - "owner": "dln", + "lastModified": 1738692980, + "narHash": "sha256-Gngd9HFmROtjUE+LfN724gYbH5wgDH2fD9rHfR+MFKY=", + "owner": "jj-vcs", "repo": "jj", - "rev": "cb103fb4692c4e2b90c4663804b81a5ff1e49c06", + "rev": "227eccefdb220491bd25e9e51a316a85e6e6a0a1", "type": "github" }, "original": { - "owner": "dln", - "ref": "openssh", + "owner": "jj-vcs", + "ref": "main", "repo": "jj", "type": "github" } @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738479528, - "narHash": "sha256-VmO/CQEQjIpfYot//PHDQuUm68r27zNuBiuANi6c5E4=", + "lastModified": 1738652022, + "narHash": "sha256-gKPFP/hWRwR+rkpXMoDnXZDZMqKnUwIBDnYH8FpgNNU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1b82dbcbbcba812ad19f5c0601d1731731bf4ebe", + "rev": "9a95d2aa820df2b596af18f2a5ca37873a3d2695", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738450845, - "narHash": "sha256-yK2ZOtTTT6BjNi98PZi0NpEbidY12JMjgkqqggjoyD8=", + "lastModified": 1738626281, + "narHash": "sha256-aZUwhRP5jBEZ1AaafBQ7FjV8XicyAkWh6Vhx94j53Ik=", "owner": "neovim", "repo": "neovim", - "rev": "0985e784d8dce58748343207e176bf61303b7d68", + "rev": "5a7cf85c2c7e452563a4bce9195e9a3426ca3050", "type": "github" }, "original": { @@ -317,11 +317,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1737557748, + "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738277201, - "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=", + "lastModified": 1738574474, + "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554", + "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738297584, - "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", + "lastModified": 1738678663, + "narHash": "sha256-uPdqVr8gN3oYYcueL/Rh7wM4Y8/D6p9IvRmoBf+uQa8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9189ac18287c599860e878e905da550aa6dec1cd", + "rev": "00769b0532199db4e1bda59865f00f3a86232c75", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738297584, - "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", + "lastModified": 1738553537, + "narHash": "sha256-HrrsuYIOl14dreCDUsXQGrWxdiU8LPKxcIo759jUk6Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9189ac18287c599860e878e905da550aa6dec1cd", + "rev": "2d31b9476b7c6f5b029e595586b0b112a7ad130b", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738410390, - "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", + "lastModified": 1738546358, + "narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", + "rev": "c6e957d81b96751a3d5967a0fd73694f303cc914", "type": "github" }, "original": { @@ -447,11 +447,11 @@ ] }, "locked": { - "lastModified": 1732242723, - "narHash": "sha256-NWI8csIK0ujFlFuEXKnoc+7hWoCiEtINK9r48LUUMeU=", + "lastModified": 1737685583, + "narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a229311fcb45b88a95fdfa5cecd8349c809a272a", + "rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a", "type": "github" }, "original": { diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 5e11086..c4f8493 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -30,7 +30,6 @@ unfocused-split-opacity = 0.85; unfocused-split-fill = "#14151a"; - shell-integration = "fish"; gtk-tabs-location = "hidden"; From 23bd9c3f484b4da06918c0bc0935e7fe8e8036c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 8 Feb 2025 10:39:22 +0100 Subject: [PATCH 148/182] jj: pin to latest stable --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- flake.nix | 2 +- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 1f292d1..1c84d94 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738619868, - "narHash": "sha256-q4h4SY1kVkZG4t/59CmJvaKjlx+xjojhdU1HqxiQhrQ=", + "lastModified": 1738954179, + "narHash": "sha256-6AOfdZrbQxQRDvU36gsclQl2t5FLcfSWveIpyw+GoM4=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "f0d276062b78658fc1f3857e9ea104788f1f4e58", + "rev": "f95f636f1fff1cf449efa79f3f42dcb8d9bbfce5", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738667255, - "narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=", + "lastModified": 1739002622, + "narHash": "sha256-PtJV5OYQF7XO6XkDYypsYJS3+OsgYaYSmkO3I/A7lZo=", "owner": "nix-community", "repo": "home-manager", - "rev": "7abcf59a365430b36f84eaa452a466b11e469e33", + "rev": "947eef9e99c42346cf0aac2bebe1cd94924c173b", "type": "github" }, "original": { @@ -241,16 +241,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1738692980, - "narHash": "sha256-Gngd9HFmROtjUE+LfN724gYbH5wgDH2fD9rHfR+MFKY=", + "lastModified": 1738805560, + "narHash": "sha256-jGy+0VDxQrgNhj+eX06FRhPP31V8QZVAM4j4yBosAGE=", "owner": "jj-vcs", "repo": "jj", - "rev": "227eccefdb220491bd25e9e51a316a85e6e6a0a1", + "rev": "613742dfbbd89324b25672a75ef8ce9e671ae0d3", "type": "github" }, "original": { "owner": "jj-vcs", - "ref": "main", + "ref": "v0.26.0", "repo": "jj", "type": "github" } @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738652022, - "narHash": "sha256-gKPFP/hWRwR+rkpXMoDnXZDZMqKnUwIBDnYH8FpgNNU=", + "lastModified": 1738973121, + "narHash": "sha256-8Y58Pu9ijovxUFcyz+UIInWBPn12vAxXPyuDQKTO3y4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "9a95d2aa820df2b596af18f2a5ca37873a3d2695", + "rev": "80cd53ef3a60f1a4bf3c6a7cbc5a400816c8427a", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738626281, - "narHash": "sha256-aZUwhRP5jBEZ1AaafBQ7FjV8XicyAkWh6Vhx94j53Ik=", + "lastModified": 1738966259, + "narHash": "sha256-4TLVDIvtgPXkIDZbHKSBoICBTR8suhAOjSBsHZlXpsY=", "owner": "neovim", "repo": "neovim", - "rev": "5a7cf85c2c7e452563a4bce9195e9a3426ca3050", + "rev": "a9cdf76e3a142c78b2b5da58c428e15e31cb0a15", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738574474, - "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=", + "lastModified": 1738843498, + "narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c", + "rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738678663, - "narHash": "sha256-uPdqVr8gN3oYYcueL/Rh7wM4Y8/D6p9IvRmoBf+uQa8=", + "lastModified": 1738958807, + "narHash": "sha256-h0WKgHTLkjwjRNTkqByQquS7N/15SqIFMQ356Ww8uCA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00769b0532199db4e1bda59865f00f3a86232c75", + "rev": "e8d0b02af0958823c955aaab3c82b03f54411d91", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738553537, - "narHash": "sha256-HrrsuYIOl14dreCDUsXQGrWxdiU8LPKxcIo759jUk6Q=", + "lastModified": 1738797219, + "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2d31b9476b7c6f5b029e595586b0b112a7ad130b", + "rev": "1da52dd49a127ad74486b135898da2cef8c62665", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738546358, - "narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=", + "lastModified": 1738961098, + "narHash": "sha256-yWNBf6VDW38tl179FEuJ0qukthVfB02kv+mRsfUsWC0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c6e957d81b96751a3d5967a0fd73694f303cc914", + "rev": "a3eaf5e8eca7cab680b964138fb79073704aca75", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1738070913, - "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", + "lastModified": 1738953846, + "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", + "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d4de165..b1af46b 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:jj-vcs/jj/main"; + jujutsu.url = "github:jj-vcs/jj/v0.26.0"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; From 7a40103f75e276f571b4939d0ac79067a427938c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 4 Feb 2025 21:48:28 +0100 Subject: [PATCH 149/182] nix update --- flake.lock | 48 ++++++++++++++++++++--------------------- home/common/ghostty.nix | 4 ++-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index 1c84d94..635c99a 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738954179, - "narHash": "sha256-6AOfdZrbQxQRDvU36gsclQl2t5FLcfSWveIpyw+GoM4=", + "lastModified": 1739069316, + "narHash": "sha256-PscIOeOJwuBBbcaEGoyDrfnzxYI1UzZKIig/hJicKXo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "f95f636f1fff1cf449efa79f3f42dcb8d9bbfce5", + "rev": "2c06ce761b5daea6670ac78a2e2342d755705223", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1739002622, - "narHash": "sha256-PtJV5OYQF7XO6XkDYypsYJS3+OsgYaYSmkO3I/A7lZo=", + "lastModified": 1739051380, + "narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "947eef9e99c42346cf0aac2bebe1cd94924c173b", + "rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738973121, - "narHash": "sha256-8Y58Pu9ijovxUFcyz+UIInWBPn12vAxXPyuDQKTO3y4=", + "lastModified": 1739060572, + "narHash": "sha256-b66lHmfaZ4lKAG5VW8wC7fba2vUs6OMRlJumO4xMEfc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "80cd53ef3a60f1a4bf3c6a7cbc5a400816c8427a", + "rev": "4452574d52632a36458cd9c80f6303f556460221", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738966259, - "narHash": "sha256-4TLVDIvtgPXkIDZbHKSBoICBTR8suhAOjSBsHZlXpsY=", + "lastModified": 1739058097, + "narHash": "sha256-QNlqRh8BnmSgJ6e5CRII9og+Z7fBfMAUbL3g66O8ZXg=", "owner": "neovim", "repo": "neovim", - "rev": "a9cdf76e3a142c78b2b5da58c428e15e31cb0a15", + "rev": "59edd7c88a13d793501b88c55803da8a0ba7c739", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1738466368, - "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", + "lastModified": 1739071773, + "narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", + "rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738958807, - "narHash": "sha256-h0WKgHTLkjwjRNTkqByQquS7N/15SqIFMQ356Ww8uCA=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8d0b02af0958823c955aaab3c82b03f54411d91", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738797219, - "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1da52dd49a127ad74486b135898da2cef8c62665", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738961098, - "narHash": "sha256-yWNBf6VDW38tl179FEuJ0qukthVfB02kv+mRsfUsWC0=", + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a3eaf5e8eca7cab680b964138fb79073704aca75", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "type": "github" }, "original": { diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index c4f8493..a4e95bd 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -75,7 +75,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.7 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.8 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; @@ -113,7 +113,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.7 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" + ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.8 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From 8f1ef592cde4f94aa3f9df41ed278201cd8f4c9c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 14:08:55 +0100 Subject: [PATCH 150/182] nvim: Use new fancy built-in diagnostics --- home/common/nvim/default.nix | 23 ----------- home/common/nvim/dieter/lua/dieter/init.lua | 11 ++++-- home/common/nvim/init.lua | 42 ++++++++++++--------- 3 files changed, 32 insertions(+), 44 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index e5adcd9..f6deed1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -121,29 +121,6 @@ in ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "diagflow"; - src = pkgs.fetchFromGitHub { - owner = "dgagn"; - repo = "diagflow.nvim"; - rev = "fc09d55d2e60edc8ed8f9939ba97b7b7e6488c99"; - hash = "sha256-2WNuaIEXcAgUl2Kb/cCHEOrtehw9alaoM96qb4MLArw="; - }; - }; - type = "lua"; - config = '' - require('diagflow').setup { - scope = "line", - gap_size = 0, - max_width = 50, - max_height = 20, - show_borders = true, - toggle_event = { "InsertEnter", "InsertLeave" }, - } - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "dieter-nvim"; diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index f9fdcc2..61946a2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -149,14 +149,17 @@ local setupGroups = function(c) CursorLine = { bg = c.highlight_subtle }, DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticHint = { fg = c.diagnostic_hint, italic = true }, + DiagnosticInfo = { fg = c.diagnostic_info, italic = true }, + DiagnosticWarn = { fg = c.diagnostic_warn, italic = true }, DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, - DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, + DiagnosticUnderlineHint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, - DiagnosticUnderlinehint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, + DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, DiagnosticSignError = { fg = c.diagnostic_error }, DiagnosticSignHint = { fg = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 3eb3cb9..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -92,23 +92,31 @@ vim.o.updatetime = 250 vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -vim.fn.sign_define( - "DiagnosticSignError", - { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } -) -vim.fn.sign_define( - "DiagnosticSignWarn", - { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } -) -vim.fn.sign_define( - "DiagnosticSignInfo", - { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } -) -vim.fn.sign_define( - "DiagnosticSignHint", - { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } -) - +-- Diagnostics +vim.diagnostic.config { + severity_sort = true, + signs = { + linehl = { + [vim.diagnostic.severity.ERROR] = "DiagnosticSignErrorLine", + [vim.diagnostic.severity.WARN] = "DiagnosticSignWarnLine", + [vim.diagnostic.severity.INFO] = "DiagnosticSignInfoLine", + [vim.diagnostic.severity.HINT] = "DiagnostigSignHintLine", + }, + numhl = { + [vim.diagnostic.severity.ERROR] = "DiagnosticSignError", + [vim.diagnostic.severity.WARN] = "DiagnosticSignWarn", + [vim.diagnostic.severity.INFO] = "DiagnosticSignInfo", + [vim.diagnostic.severity.HINT] = "DiagnostigSignHint", + }, + text = { + [vim.diagnostic.severity.ERROR] = "", + [vim.diagnostic.severity.WARN] = "", + [vim.diagnostic.severity.INFO] = "", + [vim.diagnostic.severity.HINT] = "", + }, + }, + virtual_lines = true, +} -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() From 789704e91ffb52cb33407d41392566b33c7bfb73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 151/182] nvim: upgrade neocodium to main --- home/common/nvim/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f6deed1..850caf2 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -106,15 +106,19 @@ in src = pkgs.fetchFromGitHub { owner = "monkoose"; repo = "neocodeium"; - rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + rev = "a2b5257c736886ec3ccbd961766f8ab9c82b2a72"; # 2025-02-04 + hash = "sha256-mR2fzsdCVbh7nLcsSgQnhRivoKW6oFqJwuIYfz8OV0k="; }; doCheck = false; }; type = "lua"; config = '' local neocodeium =require('neocodeium') - neocodeium.setup() + neocodeium.setup({ + show_label = false, + debounce = true, + silent = false, + }) vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) From f66de79c47026400cc9694e88cc1d761b07bd44e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 152/182] nvim: try the new messageopts setting --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..a99fcad 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -10,6 +10,7 @@ vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false +vim.opt.messagesopt = "wait:1000,history:50" vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" From 679c863cf80d4c3d222c66ff9283966c691a7b51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 153/182] jj: use nixpkgs package --- flake.lock | 126 ++++++-------------------------------------- flake.nix | 1 - home/common/vcs.nix | 1 - 3 files changed, 17 insertions(+), 111 deletions(-) diff --git a/flake.lock b/flake.lock index 635c99a..443e291 100644 --- a/flake.lock +++ b/flake.lock @@ -108,24 +108,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -134,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1739069316, - "narHash": "sha256-PscIOeOJwuBBbcaEGoyDrfnzxYI1UzZKIig/hJicKXo=", + "lastModified": 1739143498, + "narHash": "sha256-85TvsfDdOBfthR44rRJV9KXpj415StJqVyq+BBlLCvM=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "2c06ce761b5daea6670ac78a2e2342d755705223", + "rev": "a3e462bbba724bcf312fcd5edd12bb5e0251c853", "type": "github" }, "original": { @@ -234,27 +216,6 @@ "type": "github" } }, - "jujutsu": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1738805560, - "narHash": "sha256-jGy+0VDxQrgNhj+eX06FRhPP31V8QZVAM4j4yBosAGE=", - "owner": "jj-vcs", - "repo": "jj", - "rev": "613742dfbbd89324b25672a75ef8ce9e671ae0d3", - "type": "github" - }, - "original": { - "owner": "jj-vcs", - "ref": "v0.26.0", - "repo": "jj", - "type": "github" - } - }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -262,15 +223,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739060572, - "narHash": "sha256-b66lHmfaZ4lKAG5VW8wC7fba2vUs6OMRlJumO4xMEfc=", + "lastModified": 1739145937, + "narHash": "sha256-1QL3KSEjc99+ISyzBHHaLGjRrPkLfsFiHZBc40kAiQ8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4452574d52632a36458cd9c80f6303f556460221", + "rev": "77482d0efef2807924c593947bdf16e303e79f42", "type": "github" }, "original": { @@ -282,11 +243,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739058097, - "narHash": "sha256-QNlqRh8BnmSgJ6e5CRII9og+Z7fBfMAUbL3g66O8ZXg=", + "lastModified": 1739136210, + "narHash": "sha256-lq/xXRuVSf2ohTRCEgstJJGQX50S5C12WbYL5qj3MBU=", "owner": "neovim", "repo": "neovim", - "rev": "59edd7c88a13d793501b88c55803da8a0ba7c739", + "rev": "59a171fd99a7452c8840eee55783fb6746994637", "type": "github" }, "original": { @@ -317,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737557748, - "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -349,11 +310,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738843498, - "narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", + "lastModified": 1739055578, + "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", + "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", "type": "github" }, "original": { @@ -396,22 +357,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1739020877, "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", @@ -431,35 +376,13 @@ "inputs": { "ghostty": "ghostty", "home-manager": "home-manager", - "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "jujutsu", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737685583, - "narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -475,21 +398,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index b1af46b..0eb9df5 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,6 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:jj-vcs/jj/v0.26.0"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 4e3d18a..bc74bb3 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -136,6 +136,5 @@ programs.jujutsu = { enable = true; - package = inputs.jujutsu.packages.${pkgs.system}.default; }; } From a48421ef4e011e83ae1becb74172d2ab2c9d2373 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 10 Feb 2025 12:21:51 +0100 Subject: [PATCH 154/182] gnome: font fixings --- common/desktop.nix | 3 +-- home/common/ghostty.nix | 2 ++ home/common/gnome.nix | 4 +--- home/dln/nemo.nix | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 263ab6e..2eaf91b 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -48,12 +48,12 @@ in allowBitmaps = false; antialias = true; defaultFonts = { + monospace = [ "Berkeley Mono" ]; serif = [ "Liberation Serif" ]; sansSerif = [ "Inter" ]; }; hinting.enable = true; hinting.style = "slight"; - subpixel.rgba = "rgb"; }; packages = with pkgs; [ inter @@ -63,7 +63,6 @@ in noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji - roboto ubuntu_font_family ]; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a4e95bd..50f8cd5 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -22,6 +22,8 @@ font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; + freetype-load-flags = "no-force-autohint"; + adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 83fe87f..b8e949e 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -66,11 +66,9 @@ with lib.hm.gvariant; enable-animations = false; enable-hot-corners = false; show-battery-percentage = true; - font-antialiasing = "grayscale"; - font-hinting = "slight"; font-name = "Inter Variable 11"; document-font-name = "Inter Variable 11"; - monospace-font-name = "BerkeleyMono Nerd Font 11"; + monospace-font-name = "Berkeley Mono 11"; toolkit-accessibility = false; }; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index df79854..988c04c 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -6,7 +6,7 @@ ]; programs.ghostty.settings = { - font-size = lib.mkForce 16; + font-size = lib.mkForce 15; }; programs.obs-studio = { From 57fb622f2d6b471633084316d52b18c8c5ada5bf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 10 Feb 2025 12:21:51 +0100 Subject: [PATCH 155/182] nvim: dieter light colors --- home/common/nvim/dieter/lua/dieter/init.lua | 21 +++++++++++++++++---- home/common/nvim/init.lua | 1 - 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 61946a2..2d6c96a 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -10,6 +10,12 @@ local colors = { dimmed = hsl(0, 0, 80), dimmed_subtle = hsl(0, 0, 20), + highlight_subtle = hsl(0, 0, 94), + highlight = hsl(0, 0, 90), + highlight_intense = hsl(42, 100, 30), + + dialog_fg = hsl(230, 13, 10), + string = hsl(96, 50, 33), comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), @@ -32,11 +38,18 @@ local colors = { change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), - highlight_subtle = hsl(0, 0, 94), - highlight = hsl(0, 0, 90), - highlight_intense = hsl(42, 100, 30), + + search_bg = hsl(43, 100, 8), + search_fg = hsl(43, 100, 85), + + cmp_bg = hsl(218, 30, 97), + cmp_fg = hsl(218, 30, 13), + cmp_selected_fg = hsl(218, 50, 8), + cmp_selected_bg = hsl(218, 30, 85), + + doc_bg = hsl(200, 30, 90), + doc_fg = hsl(220, 80, 10), }, dark = { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index a99fcad..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -10,7 +10,6 @@ vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false -vim.opt.messagesopt = "wait:1000,history:50" vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" From 21b902d693dd9c6f48abf09562372a841e95046d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Feb 2025 12:47:36 +0100 Subject: [PATCH 156/182] gnome: apps --- common/desktop.nix | 19 ++++---- flake.lock | 113 +++++++++++++++++++++++++++++---------------- home/dln/nemo.nix | 6 ++- 3 files changed, 86 insertions(+), 52 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 2eaf91b..cf16871 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -16,31 +16,30 @@ in environment.systemPackages = with pkgs; [ gnome-ssh-askpass4 ]; # Excluding some GNOME applications from the default install - environment.gnome.excludePackages = - (with pkgs; [ - gnome-connections - gnome-photos - gnome-tour - snapshot - ]) - ++ (with pkgs; [ + environment.gnome.excludePackages = ( + with pkgs; + [ atomix # puzzle game baobab # disk usage analyzer cheese # webcam tool epiphany # web browser geary # email reader gnome-clocks - gnome-contacts + gnome-connections gnome-disk-utility gnome-logs gnome-music + gnome-photos gnome-terminal + gnome-tour + snapshot hitori # sudoku game iagno # go game simple-scan tali # poker game yelp # help viewer - ]); + ] + ); fonts = { fontDir.enable = true; diff --git a/flake.lock b/flake.lock index 443e291..e562518 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -95,11 +95,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -111,16 +111,18 @@ "ghostty": { "inputs": { "flake-compat": "flake-compat", + "flake-utils": "flake-utils", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" + "zig": "zig", + "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739143498, - "narHash": "sha256-85TvsfDdOBfthR44rRJV9KXpj415StJqVyq+BBlLCvM=", + "lastModified": 1739322219, + "narHash": "sha256-nNnzAhNL3Oog0vm/C/XJvWhEJwACPfcJiQrLjBmtfZg=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a3e462bbba724bcf312fcd5edd12bb5e0251c853", + "rev": "338a07ecadabf26b94448d64ceb4731df60dd21b", "type": "github" }, "original": { @@ -203,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739051380, - "narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=", + "lastModified": 1739314552, + "narHash": "sha256-ggVf2BclyIW3jexc/uvgsgJH4e2cuG6Nyg54NeXgbFI=", "owner": "nix-community", "repo": "home-manager", - "rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491", + "rev": "83bd3a26ac0526ae04fa74df46738bb44b89dcdd", "type": "github" }, "original": { @@ -227,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739145937, - "narHash": "sha256-1QL3KSEjc99+ISyzBHHaLGjRrPkLfsFiHZBc40kAiQ8=", + "lastModified": 1739348326, + "narHash": "sha256-T+LpQgJA1mVRcCkMO2kiQwTV+MdM9Wh1XvFeYuvlxT0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "77482d0efef2807924c593947bdf16e303e79f42", + "rev": "db04408ca625de944a70ab0d69099e2f0af74f5e", "type": "github" }, "original": { @@ -243,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739136210, - "narHash": "sha256-lq/xXRuVSf2ohTRCEgstJJGQX50S5C12WbYL5qj3MBU=", + "lastModified": 1739317748, + "narHash": "sha256-WP2zIGrexV6P2Q1qR9q04GvLOO7jSAk/A/2v9vDI0S0=", "owner": "neovim", "repo": "neovim", - "rev": "59a171fd99a7452c8840eee55783fb6746994637", + "rev": "00d75a24cfb74e8f35d73ebb0e59a7b9248950c1", "type": "github" }, "original": { @@ -278,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", + "lastModified": 1739138025, + "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", + "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", "type": "github" }, "original": { @@ -294,11 +296,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "lastModified": 1738255539, + "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", + "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", "type": "github" }, "original": { @@ -310,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739055578, - "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", + "lastModified": 1739206421, + "narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", + "rev": "44534bc021b85c8d78e465021e21f33b856e2540", "type": "github" }, "original": { @@ -326,11 +328,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -342,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", + "lastModified": 1739138025, + "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", + "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", "type": "github" }, "original": { @@ -358,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1739214665, + "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", "type": "github" }, "original": { @@ -424,18 +426,21 @@ "flake-compat": [ "ghostty" ], - "flake-utils": "flake-utils", + "flake-utils": [ + "ghostty", + "flake-utils" + ], "nixpkgs": [ "ghostty", "nixpkgs-stable" ] }, "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "lastModified": 1738239110, + "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "rev": "1a8fb6f3a04724519436355564b95fce5e272504", "type": "github" }, "original": { @@ -443,6 +448,32 @@ "repo": "zig-overlay", "type": "github" } + }, + "zig2nix": { + "inputs": { + "flake-utils": [ + "ghostty", + "flake-utils" + ], + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1738263917, + "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "owner": "jcollie", + "repo": "zig2nix", + "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "type": "github" + }, + "original": { + "owner": "jcollie", + "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "repo": "zig2nix", + "type": "github" + } } }, "root": "root", diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 988c04c..504e5cd 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -24,7 +24,11 @@ }; }; - home.packages = with pkgs; [ stable.calibre ]; + home.packages = with pkgs; [ + endeavour + picard + stable.calibre + ]; programs.gpg.enable = true; From 969047ff0246c874febc0b7289ddae794f0bbc45 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 09:07:29 +0100 Subject: [PATCH 157/182] gnome: add gnome-contacts --- flake.lock | 24 ++++++++++++------------ home/common/gnome.nix | 1 + 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index e562518..1a709d8 100644 --- a/flake.lock +++ b/flake.lock @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739322219, - "narHash": "sha256-nNnzAhNL3Oog0vm/C/XJvWhEJwACPfcJiQrLjBmtfZg=", + "lastModified": 1739409050, + "narHash": "sha256-9h1lQs/PGh0AsqnwE++utrnzyb1H88nPqBpHWtly438=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "338a07ecadabf26b94448d64ceb4731df60dd21b", + "rev": "432beac3151d84c78dfe7ab860c1c3f7957f4775", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739314552, - "narHash": "sha256-ggVf2BclyIW3jexc/uvgsgJH4e2cuG6Nyg54NeXgbFI=", + "lastModified": 1739416022, + "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", "owner": "nix-community", "repo": "home-manager", - "rev": "83bd3a26ac0526ae04fa74df46738bb44b89dcdd", + "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739348326, - "narHash": "sha256-T+LpQgJA1mVRcCkMO2kiQwTV+MdM9Wh1XvFeYuvlxT0=", + "lastModified": 1739405231, + "narHash": "sha256-Cdd+pLWebuEld9BZ0kmbBjZ2HftudKcv2A6oK5htO1E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "db04408ca625de944a70ab0d69099e2f0af74f5e", + "rev": "c689a1c053b079dc95231ab4d800e7d3cf13c0ce", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739317748, - "narHash": "sha256-WP2zIGrexV6P2Q1qR9q04GvLOO7jSAk/A/2v9vDI0S0=", + "lastModified": 1739378622, + "narHash": "sha256-nJJYoMft/JxPwHvIW3mv/SVHlGBEsCeE7rnSJJsKBII=", "owner": "neovim", "repo": "neovim", - "rev": "00d75a24cfb74e8f35d73ebb0e59a7b9248950c1", + "rev": "8117db48ed5939dcb93e84f6e740c1b46317dd31", "type": "github" }, "original": { diff --git a/home/common/gnome.nix b/home/common/gnome.nix index b8e949e..0c07521 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -8,6 +8,7 @@ with lib.hm.gvariant; { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ + gnome-contacts gnome-shell-extensions gnome-tweaks gnome-pomodoro From 098a6bc4f1af49378c1130da4fea23cc5f5b5f89 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 09:07:29 +0100 Subject: [PATCH 158/182] nvim: Add <Leader>us to toggle spellcheck --- home/common/nvim/init.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..78d5db3 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -221,3 +221,14 @@ vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrap vim.keymap.set("n", "<Leader>ui", function() vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable end, opts("Toggle indent scope")) + +vim.keymap.set("n", "<Leader>us", function() + local filter = { name = "harper_ls" } --- @type vim.lsp.get_clients.Filter + local client = vim.lsp.get_clients(filter)[1] + local current_buffer = vim.api.nvim_get_current_buf() + if client.attached_buffers[current_buffer] then + vim.lsp.buf_detach_client(current_buffer, client.id) + else + vim.lsp.buf_attach_client(current_buffer, client.id) + end +end, opts("Toggle Harper spellcheck")) From 2ce298d9b37217da24b3610025cd290ccf4d5f51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 20:44:26 +0100 Subject: [PATCH 159/182] nvim: Remove harperls --- flake.lock | 24 ++++++++++++------------ home/common/nvim/default.nix | 1 - home/common/nvim/init.lua | 11 ----------- home/common/nvim/lsp.lua | 7 ------- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 1a709d8..f3bd724 100644 --- a/flake.lock +++ b/flake.lock @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739409050, - "narHash": "sha256-9h1lQs/PGh0AsqnwE++utrnzyb1H88nPqBpHWtly438=", + "lastModified": 1739473144, + "narHash": "sha256-9+8b8DNzClO8A6mxY4wu9xsBLoXGOM+5JIXfusb+QrY=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "432beac3151d84c78dfe7ab860c1c3f7957f4775", + "rev": "c481bdf70461a8a4660678a819a69ac4f4934ac2", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739416022, - "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", + "lastModified": 1739470101, + "narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=", "owner": "nix-community", "repo": "home-manager", - "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", + "rev": "5031c6d2978109336637977c165f82aa49fa16a7", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739206421, - "narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=", + "lastModified": 1739357830, + "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44534bc021b85c8d78e465021e21f33b856e2540", + "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739138025, - "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", + "lastModified": 1739419412, + "narHash": "sha256-NCWZQg4DbYVFWg+MOFrxWRaVsLA7yvRWAf6o0xPR1hI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", + "rev": "2d55b4c1531187926c2a423f6940b3b1301399b5", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 850caf2..94a6c4a 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -37,7 +37,6 @@ in extraPackages = with pkgs; [ codeium - harper lua-language-server nixd shellcheck diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 78d5db3..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -221,14 +221,3 @@ vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrap vim.keymap.set("n", "<Leader>ui", function() vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable end, opts("Toggle indent scope")) - -vim.keymap.set("n", "<Leader>us", function() - local filter = { name = "harper_ls" } --- @type vim.lsp.get_clients.Filter - local client = vim.lsp.get_clients(filter)[1] - local current_buffer = vim.api.nvim_get_current_buf() - if client.attached_buffers[current_buffer] then - vim.lsp.buf_detach_client(current_buffer, client.id) - else - vim.lsp.buf_attach_client(current_buffer, client.id) - end -end, opts("Toggle Harper spellcheck")) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 1cd6e50..f36bd30 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -23,13 +23,6 @@ local servers = { }, }, - harper_ls = { - filetypes = { - "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", - "nix", "python", "ruby", "rust", "text", "toml", "typescript", "zig", - } - }, - lua_ls = { settings = { Lua = { From 46ecffdb0b1596bb1f895bbc14bfe7b6ac5dea04 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 21:07:18 +0100 Subject: [PATCH 160/182] jj: remove difft deprecated arg --- home/dln/home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index b78fe99..f0d23e4 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -72,7 +72,6 @@ in "merge-tools" = { difft."diff-args" = [ "--color=always" - "--missing-as-empty" "$left" "$right" ]; @@ -81,7 +80,6 @@ in "diff-args" = [ "--color=always" "--display=inline" - "--missing-as-empty" "$left" "$right" ]; From d6623cb2764e3448a4e711c374aab24e4afb0523 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 20 Feb 2025 08:37:18 +0100 Subject: [PATCH 161/182] update --- flake.lock | 72 +++++++++++++++++----------------- home/common/nvim/blink-cmp.lua | 5 ++- home/dln/desktop.nix | 1 + 3 files changed, 41 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index f3bd724..2eaef20 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739473144, - "narHash": "sha256-9+8b8DNzClO8A6mxY4wu9xsBLoXGOM+5JIXfusb+QrY=", + "lastModified": 1739918167, + "narHash": "sha256-6zdYjNKqMTKfHKlaz0kKqqSmoSCqEjv1vyIygqi3wCo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c481bdf70461a8a4660678a819a69ac4f4934ac2", + "rev": "38908e01268298ced33b7b6835e49b8c6d437e12", "type": "github" }, "original": { @@ -185,11 +185,11 @@ ] }, "locked": { - "lastModified": 1738237977, - "narHash": "sha256-oJN/yvRL7G0WlR/hTkQIjFbPkzCV+sFnNB/38Tb9RL4=", + "lastModified": 1739595404, + "narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "6d1b6d5d59758b4f5f05745f774fc13cdc59da43", + "rev": "06519cec8fb32d219006da6eacd255504a9996af", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739470101, - "narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=", + "lastModified": 1739992710, + "narHash": "sha256-9kEscmGnXHjSgcqyJR4TzzHhska4yz1inSQs6HuO9qU=", "owner": "nix-community", "repo": "home-manager", - "rev": "5031c6d2978109336637977c165f82aa49fa16a7", + "rev": "1c189f011447810af939a886ba7bee33532bb1f9", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739405231, - "narHash": "sha256-Cdd+pLWebuEld9BZ0kmbBjZ2HftudKcv2A6oK5htO1E=", + "lastModified": 1740034565, + "narHash": "sha256-fuTCAi//E0WVGNjLk+9juJMfVmCMZXy66hOpXAbZX90=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c689a1c053b079dc95231ab4d800e7d3cf13c0ce", + "rev": "a56e9f2bfce06729a418081fda1dfa1c0dd18f81", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739378622, - "narHash": "sha256-nJJYoMft/JxPwHvIW3mv/SVHlGBEsCeE7rnSJJsKBII=", + "lastModified": 1739988796, + "narHash": "sha256-oldU5hcEGlMLknn/q0NFFnAUWfPYeJHRTlJtrLjpQQg=", "owner": "neovim", "repo": "neovim", - "rev": "8117db48ed5939dcb93e84f6e740c1b46317dd31", + "rev": "b0bbe25c4808158e8c806959e4d185244073647a", "type": "github" }, "original": { @@ -265,11 +265,11 @@ ] }, "locked": { - "lastModified": 1739071773, - "narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=", + "lastModified": 1739676768, + "narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea", + "rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739138025, - "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", + "lastModified": 1739863612, + "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", + "rev": "632f04521e847173c54fa72973ec6c39a371211c", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739357830, - "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", + "lastModified": 1739923778, + "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", + "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739419412, - "narHash": "sha256-NCWZQg4DbYVFWg+MOFrxWRaVsLA7yvRWAf6o0xPR1hI=", + "lastModified": 1739863612, + "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2d55b4c1531187926c2a423f6940b3b1301399b5", + "rev": "632f04521e847173c54fa72973ec6c39a371211c", "type": "github" }, "original": { @@ -360,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739214665, - "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "type": "github" }, "original": { @@ -408,11 +408,11 @@ ] }, "locked": { - "lastModified": 1738953846, - "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", + "lastModified": 1739829690, + "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", + "rev": "3d0579f5cc93436052d94b73925b48973a104204", "type": "github" }, "original": { diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 113fda6..ea0124d 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -60,12 +60,15 @@ require 'blink-cmp'.setup({ window = { border = 'rounded', }, }, + cmdline = { + sources = {}, + }, + sources = { default = { 'lsp', 'emoji', }, - cmdline = {}, providers = { emoji = { module = "blink-emoji", diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index a168ac2..80ac9ac 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -8,6 +8,7 @@ cameractrls-gtk4 dynamic-wallpaper gimp + gimpPlugins.bimp inkscape moonlight-qt obsidian From 0441301e12b9b84d53fd38bc6e613e6da2415e6d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 24 Feb 2025 10:09:12 +0100 Subject: [PATCH 162/182] Add wezterm --- flake.lock | 74 ++++++++++++++++++++--------------------- home/common/default.nix | 1 + home/common/wezterm.nix | 72 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 37 deletions(-) create mode 100644 home/common/wezterm.nix diff --git a/flake.lock b/flake.lock index 2eaef20..ea297bf 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1740872218, + "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "3876f6b87db82f33775b1ef5ea343986105db764", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739918167, - "narHash": "sha256-6zdYjNKqMTKfHKlaz0kKqqSmoSCqEjv1vyIygqi3wCo=", + "lastModified": 1741376783, + "narHash": "sha256-vXlLil+0Cz6hznEX2GpwDlb8TM+Q8Cz0gLTebUhPtvE=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "38908e01268298ced33b7b6835e49b8c6d437e12", + "rev": "4a215a9518c277780babe5d00e24784f456c80dd", "type": "github" }, "original": { @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1740915799, + "narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739992710, - "narHash": "sha256-9kEscmGnXHjSgcqyJR4TzzHhska4yz1inSQs6HuO9qU=", + "lastModified": 1741378606, + "narHash": "sha256-ytDmwV93lZ1f6jswJkxEQz5cBlwje/2rH/yUZDADZNs=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c189f011447810af939a886ba7bee33532bb1f9", + "rev": "95711f926676018d279ba09fe7530d03b5d5b3e2", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740034565, - "narHash": "sha256-fuTCAi//E0WVGNjLk+9juJMfVmCMZXy66hOpXAbZX90=", + "lastModified": 1741306000, + "narHash": "sha256-qaDw0TyUceZBLntPBOdd1642T/mBGMNtK5NBuv2gWiY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a56e9f2bfce06729a418081fda1dfa1c0dd18f81", + "rev": "c1855b306b8eeb70118b3ba70471188a65e694e7", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739988796, - "narHash": "sha256-oldU5hcEGlMLknn/q0NFFnAUWfPYeJHRTlJtrLjpQQg=", + "lastModified": 1741302428, + "narHash": "sha256-zcgucpL/rgEC/IIii6R4NvmtJsYT+/F0ub1FQOWVv0Q=", "owner": "neovim", "repo": "neovim", - "rev": "b0bbe25c4808158e8c806959e4d185244073647a", + "rev": "e46f07b1d2942c7b5c08fca9a4cac735ee2c0c71", "type": "github" }, "original": { @@ -265,11 +265,11 @@ ] }, "locked": { - "lastModified": 1739676768, - "narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=", + "lastModified": 1740886574, + "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63", + "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739863612, - "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", + "lastModified": 1741037377, + "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "632f04521e847173c54fa72973ec6c39a371211c", + "rev": "02032da4af073d0f6110540c8677f16d4be0117f", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739923778, - "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", + "lastModified": 1741332913, + "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", + "rev": "20755fa05115c84be00b04690630cb38f0a203ad", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739863612, - "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", + "lastModified": 1741310760, + "narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "632f04521e847173c54fa72973ec6c39a371211c", + "rev": "de0fe301211c267807afd11b12613f5511ff7433", "type": "github" }, "original": { @@ -360,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", "type": "github" }, "original": { @@ -461,16 +461,16 @@ ] }, "locked": { - "lastModified": 1738263917, - "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "lastModified": 1741368279, + "narHash": "sha256-WTaC8HmnIq6O71iK0g9as404BbmS+YyEP5qS85m2JBY=", "owner": "jcollie", "repo": "zig2nix", - "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "rev": "672971b5b6911de21446ad4fc76dee677922eda0", "type": "github" }, "original": { "owner": "jcollie", - "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "ref": "672971b5b6911de21446ad4fc76dee677922eda0", "repo": "zig2nix", "type": "github" } diff --git a/home/common/default.nix b/home/common/default.nix index 26df1d8..c5112bd 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -16,6 +16,7 @@ ./utils.nix ./vcs.nix ./web.nix + ./wezterm.nix ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; diff --git a/home/common/wezterm.nix b/home/common/wezterm.nix new file mode 100644 index 0000000..121b8ca --- /dev/null +++ b/home/common/wezterm.nix @@ -0,0 +1,72 @@ +{ + config, + lib, + ... +}: +{ + config = lib.mkIf config.patagia.desktop.enable { + programs.wezterm = { + enable = true; + colorSchemes = { + patagiaLight = { + ansi = [ + "#222222" + "#D14949" + "#48874F" + "#AFA75A" + "#599797" + "#8F6089" + "#5C9FA8" + "#8C8C8C" + ]; + brights = [ + "#444444" + "#FF6D6D" + "#89FF95" + "#FFF484" + "#97DDFF" + "#FDAAF2" + "#85F5DA" + "#E9E9E9" + ]; + background = "#fefeff"; + foreground = "#222222"; + cursor_bg = "#aa0000"; + cursor_border = "#aa0000"; + cursor_fg = "#1B1B1B"; + selection_bg = "#ffe6a4"; + selection_fg = "#483600"; + }; + }; + + extraConfig = '' + return { + font = wezterm.font("Berkeley Mono", { weight = "Regular", stretch = "Normal" }), + font_size = 16, + -- freetype_load_target = "HorizontalLcd", + freetype_load_target = "Light", + -- font_size = 11, + -- font_size = 11, + -- freetype_load_target = "Normal", + freetype_load_flags = "NO_AUTOHINT", + color_scheme = "patagiaLight", + check_for_updates = false, + custom_block_glyphs = false, + warn_about_missing_glyphs = false, + bold_brightens_ansi_colors = false, + unicode_version = 14, + allow_square_glyphs_to_overflow_width = "Always", + xcursor_theme = "Adwaita", + hide_mouse_cursor_when_typing = false, + tab_bar_at_bottom = true, + use_fancy_tab_bar = false, + show_tab_index_in_tab_bar = true, + underline_position = -4, + underline_thickness = 2, + --line_height = 0.95, + } + ''; + + }; + }; +} From fcf9b318c44fa0bdd7292b4060f0a48f2ef454b1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 163/182] ghostty: use package from nixpkgs --- flake.nix | 1 - home/common/ghostty.nix | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 0eb9df5..0918288 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,6 @@ }; inputs = { - ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 50f8cd5..e41df52 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -1,8 +1,6 @@ { config, - inputs, lib, - pkgs, ... }: { @@ -10,7 +8,7 @@ programs.ghostty = { enable = true; enableFishIntegration = true; - package = inputs.ghostty.packages.${pkgs.system}.default; + # package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 11; font-family = "Berkeley Mono"; From c1eb392528565e145457c932091c28e0ead7de90 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 164/182] jj: signing config --- home/dln/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index f0d23e4..ae8681e 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -53,7 +53,7 @@ in }; signing = { - sign-all = true; + behavior = "own"; backend = "ssh"; backends.ssh.allowed-signers = "/home/dln/.ssh/authorized_keys"; key = "/home/dln/.ssh/git_signing_key.pub"; From 6b334b05e869b6cdd3aec159b253be92dc2d4e6f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 165/182] just: Remove boot recipe since it might break the system if not rebooted --- justfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/justfile b/justfile index 75763bf..ccf14df 100644 --- a/justfile +++ b/justfile @@ -4,9 +4,6 @@ set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"] default: @just --list -boot: - nh os boot . - build: nh os build . From d0240503710bf640c244fad584187bd4d8669d12 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 166/182] ghostty: tweaks --- flake.lock | 227 ++++++---------------------------------- home/common/ghostty.nix | 4 +- home/common/gnome.nix | 1 + 3 files changed, 38 insertions(+), 194 deletions(-) diff --git a/flake.lock b/flake.lock index ea297bf..f1e65c9 100644 --- a/flake.lock +++ b/flake.lock @@ -17,22 +17,6 @@ } }, "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -56,11 +40,11 @@ ] }, "locked": { - "lastModified": 1740872218, - "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3876f6b87db82f33775b1ef5ea343986105db764", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -90,50 +74,9 @@ "type": "indirect" } }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "ghostty": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig", - "zig2nix": "zig2nix" - }, - "locked": { - "lastModified": 1741376783, - "narHash": "sha256-vXlLil+0Cz6hznEX2GpwDlb8TM+Q8Cz0gLTebUhPtvE=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4a215a9518c277780babe5d00e24784f456c80dd", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -141,11 +84,11 @@ ] }, "locked": { - "lastModified": 1740915799, - "narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", "type": "github" }, "original": { @@ -205,11 +148,11 @@ ] }, "locked": { - "lastModified": 1741378606, - "narHash": "sha256-ytDmwV93lZ1f6jswJkxEQz5cBlwje/2rH/yUZDADZNs=", + "lastModified": 1741579508, + "narHash": "sha256-skRbH+UF2ES+msEa+KWi7AQFX73S+QsGlPsyCU6XyE0=", "owner": "nix-community", "repo": "home-manager", - "rev": "95711f926676018d279ba09fe7530d03b5d5b3e2", + "rev": "744f749dd6fbc1489591ea370b95156858629cb9", "type": "github" }, "original": { @@ -220,7 +163,7 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -229,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741306000, - "narHash": "sha256-qaDw0TyUceZBLntPBOdd1642T/mBGMNtK5NBuv2gWiY=", + "lastModified": 1741565384, + "narHash": "sha256-J6i/A2XM0cctEUJH3p0jeDUg1jhzKriPjfkhvEc/THw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c1855b306b8eeb70118b3ba70471188a65e694e7", + "rev": "7ecc342f01679cf4b275d8353bdcd192dfde4333", "type": "github" }, "original": { @@ -245,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1741302428, - "narHash": "sha256-zcgucpL/rgEC/IIii6R4NvmtJsYT+/F0ub1FQOWVv0Q=", + "lastModified": 1741563807, + "narHash": "sha256-KfhHApWCRoqzR3X529be2qeBRa7KY8gXh8C2204J1rE=", "owner": "neovim", "repo": "neovim", - "rev": "e46f07b1d2942c7b5c08fca9a4cac735ee2c0c71", + "rev": "b90f649ca2e240c1bfb22fe91247bc90314af1e1", "type": "github" }, "original": { @@ -265,11 +208,11 @@ ] }, "locked": { - "lastModified": 1740886574, - "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", + "lastModified": 1741490098, + "narHash": "sha256-/tjVMbMzxJXrJaEk9N5esnbLebIZrkS1fbDJce/RiQg=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", + "rev": "296a2c992a28b37427d062ade6e20d467e479e3f", "type": "github" }, "original": { @@ -280,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741037377, - "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", + "lastModified": 1741402956, + "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "02032da4af073d0f6110540c8677f16d4be0117f", + "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", "type": "github" }, "original": { @@ -296,27 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1738255539, - "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", + "lastModified": 1741445498, + "narHash": "sha256-F5Em0iv/CxkN5mZ9hRn3vPknpoWdcdCyR0e4WklHwiE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1741332913, - "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "20755fa05115c84be00b04690630cb38f0a203ad", + "rev": "52e3095f6d812b91b22fb7ad0bfc1ab416453634", "type": "github" }, "original": { @@ -328,27 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1738136902, - "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", + "lastModified": 1741402956, + "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable_2": { - "locked": { - "lastModified": 1741310760, - "narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "de0fe301211c267807afd11b12613f5511ff7433", + "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", "type": "github" }, "original": { @@ -360,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741246872, - "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", "type": "github" }, "original": { @@ -376,28 +287,12 @@ }, "root": { "inputs": { - "ghostty": "ghostty", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable_2" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "treefmt-nix": { @@ -420,60 +315,6 @@ "repo": "treefmt-nix", "type": "github" } - }, - "zig": { - "inputs": { - "flake-compat": [ - "ghostty" - ], - "flake-utils": [ - "ghostty", - "flake-utils" - ], - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1738239110, - "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "1a8fb6f3a04724519436355564b95fce5e272504", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "zig2nix": { - "inputs": { - "flake-utils": [ - "ghostty", - "flake-utils" - ], - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1741368279, - "narHash": "sha256-WTaC8HmnIq6O71iK0g9as404BbmS+YyEP5qS85m2JBY=", - "owner": "jcollie", - "repo": "zig2nix", - "rev": "672971b5b6911de21446ad4fc76dee677922eda0", - "type": "github" - }, - "original": { - "owner": "jcollie", - "ref": "672971b5b6911de21446ad4fc76dee677922eda0", - "repo": "zig2nix", - "type": "github" - } } }, "root": "root", diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index e41df52..25765b6 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -8,7 +8,6 @@ programs.ghostty = { enable = true; enableFishIntegration = true; - # package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 11; font-family = "Berkeley Mono"; @@ -35,6 +34,8 @@ gtk-tabs-location = "hidden"; gtk-titlebar = false; gtk-titlebar-hide-when-maximized = true; + window-height = 60; + window-width = 160; window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; @@ -46,6 +47,7 @@ "ctrl+i=text:\\x09" "ctrl+m=text:\\x0D" "ctrl+tab=goto_split:previous" + "alt+`=goto_split:previous" "ctrl+[=text:\\x1B" "super+enter=toggle_fullscreen" ]; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 0c07521..d92b7ac 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -26,6 +26,7 @@ with lib.hm.gvariant; minimize = [ "<Super>comma" ]; move-to-center = [ "<Super>c" ]; switch-applications = [ "<Super>Tab" ]; + switch-group = [ "<Super>Above_Tab" ]; switch-windows = [ "<Alt>Tab" ]; move-to-workspace-1 = [ "<Shift>F1" ]; move-to-workspace-2 = [ "<Shift>F2" ]; From 45054efd167da476a294b84a025dad70cd57f81f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 14:41:25 +0100 Subject: [PATCH 167/182] nvim: statusline --- home/common/nvim/dieter/lua/dieter/init.lua | 1 + home/common/nvim/init.lua | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 2d6c96a..0f69917 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -126,6 +126,7 @@ local setupGroups = function(c) Type = { link = "NormalNC" }, MsgArea = { fg = c.dimmed_subtle }, + StatusLine = { fg = c.dimmed, bg = c.dimmed_subtle }, String = { fg = c.string }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..3d80450 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,7 +8,6 @@ vim.g.maplocalleader = "," vim.opt.cursorline = false vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" -vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false vim.opt.ruler = true @@ -44,7 +43,7 @@ function CondensedPath() return vim.fn.pathshorten(early_path) .. '/' .. late_path end -vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#MsgArea#%{%v:lua.CondensedPath()%}%)%7(%l:%c%)" +vim.opt.statusline = "%{%v:lua.CondensedPath()%}%=%{%v:lua.GetIndicators()%}%7(%l:%c%)" -- Search vim.opt.ignorecase = true From d0e5de27953bea580e2d920376d457844020e778 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 168/182] gnome: Add night-light-slider extension --- home/common/gnome.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index d92b7ac..c2e64a7 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -15,6 +15,7 @@ with lib.hm.gvariant; gnomeExtensions.desktop-clock gnomeExtensions.emoji-copy gnomeExtensions.just-perfection + gnomeExtensions.night-light-slider ]; dconf.settings = { From e65cdf5e23d46f10cf31aa3400699df1867cd8e6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 169/182] ghostty: color --- home/common/ghostty.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 25765b6..f9f52d7 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -26,8 +26,8 @@ adjust-underline-thickness = -1; mouse-hide-while-typing = true; - unfocused-split-opacity = 0.85; - unfocused-split-fill = "#14151a"; + unfocused-split-opacity = 0.8; + unfocused-split-fill = "#056157"; shell-integration = "fish"; From 996edfcce45397fae89bf0982371e8338d9cd1d8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 170/182] nemo: enable cups --- hosts/nemo/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index a20e460..7f7c70c 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -235,5 +235,8 @@ "nixremote" ]; + services.printing.enable = lib.mkForce true; + services.printing.drivers = [ pkgs.brlaser ]; + system.stateVersion = "24.11"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion } From c2d855850aed8110167d2e7618d3fa0767f9dffe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 171/182] desktop: add libreoffice --- home/dln/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 80ac9ac..78177b4 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -10,6 +10,7 @@ gimp gimpPlugins.bimp inkscape + libreoffice moonlight-qt obsidian pavucontrol From 58ea91fac9a9f9b4a70a944585ec24773d2eaaa8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 172/182] nvim: add <Space>ud to toggle virtual diagnostic lines --- flake.lock | 72 +++++++++++++++++++-------------------- home/common/nvim/init.lua | 10 +++++- 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index f1e65c9..2f375d2 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1741379162, - "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1739595404, - "narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=", + "lastModified": 1742014779, + "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "06519cec8fb32d219006da6eacd255504a9996af", + "rev": "524637ef84c177661690b924bf64a1ce18072a2c", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1741579508, - "narHash": "sha256-skRbH+UF2ES+msEa+KWi7AQFX73S+QsGlPsyCU6XyE0=", + "lastModified": 1743360001, + "narHash": "sha256-HtpS/ZdgWXw0y+aFdORcX5RuBGTyz3WskThspNR70SM=", "owner": "nix-community", "repo": "home-manager", - "rev": "744f749dd6fbc1489591ea370b95156858629cb9", + "rev": "b6fd653ef8fbeccfd4958650757e91767a65506d", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741565384, - "narHash": "sha256-J6i/A2XM0cctEUJH3p0jeDUg1jhzKriPjfkhvEc/THw=", + "lastModified": 1743398899, + "narHash": "sha256-gJeoWpWv14MnLoiERpVhHWSDzujvg9UM2BvR7BZe6AI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7ecc342f01679cf4b275d8353bdcd192dfde4333", + "rev": "4be99133c03920579de8c3fe7c05ff1de60a7fbe", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1741563807, - "narHash": "sha256-KfhHApWCRoqzR3X529be2qeBRa7KY8gXh8C2204J1rE=", + "lastModified": 1743368881, + "narHash": "sha256-CRORP8EaJ/Ajdx6WbUSjt9X4zNToyDLkzWz6VIthsaA=", "owner": "neovim", "repo": "neovim", - "rev": "b90f649ca2e240c1bfb22fe91247bc90314af1e1", + "rev": "ee143aaf65a0e662c42c636aa4a959682858b3e7", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1741490098, - "narHash": "sha256-/tjVMbMzxJXrJaEk9N5esnbLebIZrkS1fbDJce/RiQg=", + "lastModified": 1743306489, + "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "296a2c992a28b37427d062ade6e20d467e479e3f", + "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1743259260, + "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1741445498, - "narHash": "sha256-F5Em0iv/CxkN5mZ9hRn3vPknpoWdcdCyR0e4WklHwiE=", + "lastModified": 1743231893, + "narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52e3095f6d812b91b22fb7ad0bfc1ab416453634", + "rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1743259260, + "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741379970, - "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1739829690, - "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", + "lastModified": 1743081648, + "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3d0579f5cc93436052d94b73925b48973a104204", + "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", "type": "github" }, "original": { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 3d80450..cae84e0 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -114,8 +114,16 @@ vim.diagnostic.config { [vim.diagnostic.severity.HINT] = "", }, }, - virtual_lines = true, + virtual_lines = { current_line = true }, } +vim.keymap.set('n', '<Space>ud', function() + if vim.diagnostic.config().virtual_lines == true then + vim.diagnostic.config({ virtual_lines = { current_line = true } }) + else + vim.diagnostic.config({ virtual_lines = true }) + end +end, { desc = 'Toggle diagnostic virtual_lines' }) + -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() From 87a97f822add4ef67c032b863dab3bd5958760a6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 1 Apr 2025 11:34:54 +0200 Subject: [PATCH 173/182] nix: update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 2f375d2..85c2258 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1743360001, - "narHash": "sha256-HtpS/ZdgWXw0y+aFdORcX5RuBGTyz3WskThspNR70SM=", + "lastModified": 1744008831, + "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", "owner": "nix-community", "repo": "home-manager", - "rev": "b6fd653ef8fbeccfd4958650757e91767a65506d", + "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743398899, - "narHash": "sha256-gJeoWpWv14MnLoiERpVhHWSDzujvg9UM2BvR7BZe6AI=", + "lastModified": 1744003175, + "narHash": "sha256-b0b/qxiqf2G2/UrmcyP9aYr0Ni5NpdCY6GEF8KgnmCU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4be99133c03920579de8c3fe7c05ff1de60a7fbe", + "rev": "f7f5a474c38e3e41827b067f741e12ecbbe5cf18", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1743368881, - "narHash": "sha256-CRORP8EaJ/Ajdx6WbUSjt9X4zNToyDLkzWz6VIthsaA=", + "lastModified": 1743931206, + "narHash": "sha256-Dl6kHmsN6AZBWEgEbQGpKYy+qvg+oPbBrK/CFQsWmZM=", "owner": "neovim", "repo": "neovim", - "rev": "ee143aaf65a0e662c42c636aa4a959682858b3e7", + "rev": "2d11b981bfbb7816d88a69b43b758f3a3f515b96", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1743306489, - "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", + "lastModified": 1743911143, + "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", + "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743259260, - "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", + "lastModified": 1743814133, + "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", + "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1743231893, - "narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=", + "lastModified": 1743813633, + "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6", + "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743259260, - "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", + "lastModified": 1743938762, + "narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", + "rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743315132, - "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52faf482a3889b7619003c0daec593a1912fddc1", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1743081648, - "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", "type": "github" }, "original": { From 98006874b86dca3e69e167de58d7474add82e685 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 7 Apr 2025 16:05:06 +0200 Subject: [PATCH 174/182] nvim: Nicer diagnostics --- flake.lock | 42 +++++++++++++++++++-------------------- home/common/nvim/init.lua | 15 ++++++++++---- home/dln/desktop.nix | 1 + 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 85c2258..b07d989 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744008831, - "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", + "lastModified": 1744400600, + "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", "owner": "nix-community", "repo": "home-manager", - "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", + "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744003175, - "narHash": "sha256-b0b/qxiqf2G2/UrmcyP9aYr0Ni5NpdCY6GEF8KgnmCU=", + "lastModified": 1744447706, + "narHash": "sha256-8bkAMTy5A6IEEBrr8fGyBrpRNvHMBttsjmTS3IHO/3w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f7f5a474c38e3e41827b067f741e12ecbbe5cf18", + "rev": "8479d0e1c0b9274c25001432169c0056633bf63a", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1743931206, - "narHash": "sha256-Dl6kHmsN6AZBWEgEbQGpKYy+qvg+oPbBrK/CFQsWmZM=", + "lastModified": 1744372015, + "narHash": "sha256-Aith8tgE4jRYDpFa9JqPsA4beTimLmqgwl6PLNlJHyU=", "owner": "neovim", "repo": "neovim", - "rev": "2d11b981bfbb7816d88a69b43b758f3a3f515b96", + "rev": "4a706a70928231643e1a3f3fcf785de7aa930f8b", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743814133, - "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", + "lastModified": 1744316434, + "narHash": "sha256-lzFCg/1C39pyY2hMB2gcuHV79ozpOz/Vu15hdjiFOfI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", + "rev": "d19cf9dfc633816a437204555afeb9e722386b76", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1743813633, - "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", + "lastModified": 1744309437, + "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", + "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743938762, - "narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=", + "lastModified": 1744347518, + "narHash": "sha256-4Y0ByuP4NEz2Zyso9Ozob8yR6kKuaunJ5OARv+tFLPI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059", + "rev": "642c54c23609fefb5708b0e2be261446c59138f6", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743827369, - "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "lastModified": 1744232761, + "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "42a1c966be226125b48c384171c44c651c236c22", + "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", "type": "github" }, "original": { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index cae84e0..2e21cbf 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -93,6 +93,7 @@ vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -- Diagnostics vim.diagnostic.config { + float = { border = "rounded" }, severity_sort = true, signs = { linehl = { @@ -114,11 +115,12 @@ vim.diagnostic.config { [vim.diagnostic.severity.HINT] = "", }, }, - virtual_lines = { current_line = true }, + virtual_lines = false, } vim.keymap.set('n', '<Space>ud', function() if vim.diagnostic.config().virtual_lines == true then - vim.diagnostic.config({ virtual_lines = { current_line = true } }) + -- vim.diagnostic.config({ virtual_lines = { current_line = true } }) + vim.diagnostic.config({ virtual_lines = false }) else vim.diagnostic.config({ virtual_lines = true }) end @@ -176,8 +178,13 @@ end, opts("Format Buffer")) vim.keymap.set('n', '<Leader><Leader>', "<cmd>Pick visit_paths cwd=''<cr>", opts("Visits")) vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) -vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) -vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostics to location list" }) +vim.keymap.set('n', '<Leader>d', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<m-d>', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<Leader>D', function() + local width = vim.o.columns - 8 + MiniExtra.pickers.diagnostic({ scope = "current" }, { window = { config = { width = width } } }) +end, opts("Open diagnostics picker")) + vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 78177b4..e6f9326 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -16,6 +16,7 @@ pavucontrol plexamp signal-desktop + spotify ]; xdg.desktopEntries = { From 1daf5bc799e23fe0b28e8a8df523469744625191 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 14 Apr 2025 11:23:29 +0200 Subject: [PATCH 175/182] direnv: set log format --- flake.lock | 66 +++++++++++++++++++++---------------------- home/common/utils.nix | 2 ++ 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index b07d989..7674623 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1742014779, - "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", + "lastModified": 1744693102, + "narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "524637ef84c177661690b924bf64a1ce18072a2c", + "rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744400600, - "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", + "lastModified": 1745810134, + "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", "owner": "nix-community", "repo": "home-manager", - "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", + "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744447706, - "narHash": "sha256-8bkAMTy5A6IEEBrr8fGyBrpRNvHMBttsjmTS3IHO/3w=", + "lastModified": 1745798752, + "narHash": "sha256-0jiImtQNvlDqf0eWqWFGugNjhazNmaXMi2fM7/B/cd8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8479d0e1c0b9274c25001432169c0056633bf63a", + "rev": "31a7206bdf9e0c01db2165e20a6082690c60b9c9", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1744372015, - "narHash": "sha256-Aith8tgE4jRYDpFa9JqPsA4beTimLmqgwl6PLNlJHyU=", + "lastModified": 1745795730, + "narHash": "sha256-7sPk1jScMqsTwXYYFKYILrE9xLk7CK+yCBqcK46HTv8=", "owner": "neovim", "repo": "neovim", - "rev": "4a706a70928231643e1a3f3fcf785de7aa930f8b", + "rev": "ce097c5091eab3550e1534fd111752577b5813ea", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1743911143, - "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", + "lastModified": 1745725746, + "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", + "rev": "187524713d0d9b2d2c6f688b81835114d4c2a7c6", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744316434, - "narHash": "sha256-lzFCg/1C39pyY2hMB2gcuHV79ozpOz/Vu15hdjiFOfI=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d19cf9dfc633816a437204555afeb9e722386b76", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1744309437, - "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", + "lastModified": 1745742390, + "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", + "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1744347518, - "narHash": "sha256-4Y0ByuP4NEz2Zyso9Ozob8yR6kKuaunJ5OARv+tFLPI=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "642c54c23609fefb5708b0e2be261446c59138f6", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744232761, - "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1743748085, - "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", + "lastModified": 1745780832, + "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", + "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", "type": "github" }, "original": { diff --git a/home/common/utils.nix b/home/common/utils.nix index 91b6130..ff902b9 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -7,6 +7,8 @@ viddy ]; + home.sessionVariables.DIRENV_LOG_FORMAT = ''$(printf "\033[2mdirenv: %%s\033[0m")''; + programs = { bat = { enable = true; From 1e1285d62bf1e7040e7f804d1d8fa5825749117f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 8 Mar 2025 16:29:34 +0100 Subject: [PATCH 176/182] ghostty: use defaults for hinting --- home/common/ghostty.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index f9f52d7..f2283cb 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -19,8 +19,6 @@ font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; - freetype-load-flags = "no-force-autohint"; - adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; From b7f67c62234748e6575c9714e5eff5e5dadd9f3f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 May 2025 11:54:52 +0200 Subject: [PATCH 177/182] neovim: float colors --- flake.lock | 52 ++++++++++----------- home/common/nvim/dieter/lua/dieter/init.lua | 30 ++++++------ home/common/nvim/init.lua | 6 ++- 3 files changed, 47 insertions(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index 7674623..d48527d 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1745810134, - "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", + "lastModified": 1746169624, + "narHash": "sha256-oIAZDng5FYQXnmGJrK4WZX2tsQ1nmxHd9OrcySm/Jf4=", "owner": "nix-community", "repo": "home-manager", - "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", + "rev": "1298a3418be1a875e9ae6643770b0939814cd441", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745798752, - "narHash": "sha256-0jiImtQNvlDqf0eWqWFGugNjhazNmaXMi2fM7/B/cd8=", + "lastModified": 1746168726, + "narHash": "sha256-ZkgW3U37lTwzqUo2rfko+utld5ChnYWDunJ2hAcJOQo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "31a7206bdf9e0c01db2165e20a6082690c60b9c9", + "rev": "d4e6959d82e9e9dc609dcbf7a29fd293fad9c912", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1745795730, - "narHash": "sha256-7sPk1jScMqsTwXYYFKYILrE9xLk7CK+yCBqcK46HTv8=", + "lastModified": 1746141998, + "narHash": "sha256-CYxer9cRvlMySr76epuh5Ub3ryyDV94yVwDC1M/MPvw=", "owner": "neovim", "repo": "neovim", - "rev": "ce097c5091eab3550e1534fd111752577b5813ea", + "rev": "ce8b755a86c10496a81675c49b3bc9a42c79d80f", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1745725746, + "lastModified": 1746054057, "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "187524713d0d9b2d2c6f688b81835114d4c2a7c6", + "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746061036, + "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745742390, - "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", + "lastModified": 1746055187, + "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", + "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746123514, + "narHash": "sha256-UNO+MbVHLl4AkVWYqekk72/gqFNSLYNkBgto7h+7P3U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "b5dd9efc912ecabeafa4f082d31e19cb1c74266c", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746141548, + "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1745780832, - "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", + "lastModified": 1745929750, + "narHash": "sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", + "rev": "82bf32e541b30080d94e46af13d46da0708609ea", "type": "github" }, "original": { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 0f69917..6c5eebb 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -15,6 +15,8 @@ local colors = { highlight_intense = hsl(42, 100, 30), dialog_fg = hsl(230, 13, 10), + dialog_bg = hsl(50, 15, 95), + dialog_border = hsl(50, 25, 75), string = hsl(96, 50, 33), comment = hsl(360, 66, 40), @@ -38,7 +40,7 @@ local colors = { change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - selection = hsl(270, 75, 92), + selection = hsl(270, 45, 92), search_bg = hsl(43, 100, 8), search_fg = hsl(43, 100, 85), @@ -67,6 +69,7 @@ local colors = { highlight_intense = hsl(58, 100, 60), dialog_fg = hsl(191, 15, 75), + dialog_bg = "NONE", string = hsl(90, 30, 60), comment = hsl(216, 30, 55), @@ -111,7 +114,6 @@ local colors = { } local setupGroups = function(c) - c.dialog_bg = c.background return { Normal = { fg = c.foreground, bg = c.background }, @@ -166,10 +168,10 @@ local setupGroups = function(c) DiagnosticHint = { fg = c.diagnostic_hint, italic = true }, DiagnosticInfo = { fg = c.diagnostic_info, italic = true }, DiagnosticWarn = { fg = c.diagnostic_warn, italic = true }, - DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.dialog_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.dialog_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.dialog_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.dialog_bg }, DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, DiagnosticUnderlineHint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, @@ -194,22 +196,22 @@ local setupGroups = function(c) EndOfBuffer = { fg = c.dimmed }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.background, fg = c.foreground }, - FloatBorder = { fg = c.foreground }, - FloatTitle = { fg = c.doc_fg, bold = true }, + NormalFloat = { bg = c.dialog_bg, fg = c.foreground }, + FloatBorder = { bg = c.dialog_bg, fg = c.dialog_border }, + FloatTitle = { bg = c.dialog_bg, fg = c.dialog_border, bold = true }, Title = { fg = c.foreground, bold = true }, MiniPickNormal = { bg = c.dialog_bg, fg = c.dialog_fg }, - MiniPickBorder = { link = "MiniPickNormal" }, + MiniPickBorder = { bg = c.dialog_bg, fg = c.dialog_border }, MiniPickBorderText = { link = "MiniPickBorder" }, MiniPickMatchCurrent = { bg = c.dialog_bg, fg = c.dialog_fg, reverse = true }, - MiniClueBorder = { link = "MiniPicBorder" }, - MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, + MiniClueBorder = { link = "MiniPickBorder" }, + MiniClueTitle = { bg = c.dialog_bg, fg = c.dialog_border, bold = true }, MiniClueNextKey = { link = "MiniClueTitle" }, - MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueDescSingle = { bg = c.background, fg = c.foreground }, + MiniClueDescGroup = { bg = c.dialog_bg, fg = c.foreground, italic = true }, + MiniClueDescSingle = { bg = c.dialog_bg, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 2e21cbf..cd34947 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -93,7 +93,11 @@ vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -- Diagnostics vim.diagnostic.config { - float = { border = "rounded" }, + float = { + border = "rounded", + header = "", + source = "if_many", + }, severity_sort = true, signs = { linehl = { From db13d109f931026758ad917a9dbf9d4f5509fdaa Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 19:31:33 +0200 Subject: [PATCH 178/182] update --- common/desktop.nix | 1 + flake.lock | 74 ++++++++++++++++++++--------------------- flake.nix | 2 +- home/dln/dinky.nix | 8 +---- home/dln/home.nix | 3 +- home/dln/nemo.nix | 2 +- hosts/dinky/default.nix | 2 +- overlays/default.nix | 4 ++- 8 files changed, 46 insertions(+), 50 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index cf16871..b8a467e 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -66,6 +66,7 @@ in ]; }; + programs.ssh.enableAskPassword = true; programs.ssh.askPassword = "${pkgs.gnome-ssh-askpass4}/bin/gnome-ssh-askpass4"; programs.ssh.startAgent = true; diff --git a/flake.lock b/flake.lock index d48527d..30757ec 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1744693102, - "narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=", + "lastModified": 1748000383, + "narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e", + "rev": "231726642197817d20310b9d39dd4afb9e899489", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1746169624, - "narHash": "sha256-oIAZDng5FYQXnmGJrK4WZX2tsQ1nmxHd9OrcySm/Jf4=", + "lastModified": 1748134483, + "narHash": "sha256-5PBK1nV8X39K3qUj8B477Aa2RdbLq3m7wRxUKRtggX4=", "owner": "nix-community", "repo": "home-manager", - "rev": "1298a3418be1a875e9ae6643770b0939814cd441", + "rev": "c1e671036224089937e111e32ea899f59181c383", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746168726, - "narHash": "sha256-ZkgW3U37lTwzqUo2rfko+utld5ChnYWDunJ2hAcJOQo=", + "lastModified": 1748070814, + "narHash": "sha256-UENoloiY25w0GmPsni8aswhks13qD1sT7XPQgmBd4tU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d4e6959d82e9e9dc609dcbf7a29fd293fad9c912", + "rev": "1654f815b79267a32c0eb9feb5962089d855d287", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1746141998, - "narHash": "sha256-CYxer9cRvlMySr76epuh5Ub3ryyDV94yVwDC1M/MPvw=", + "lastModified": 1748041342, + "narHash": "sha256-gYkZbws7QEZ6o5Kh8IPotFAk1thbzzm3C8+vs/M32E4=", "owner": "neovim", "repo": "neovim", - "rev": "ce8b755a86c10496a81675c49b3bc9a42c79d80f", + "rev": "9784bc134624ff6dcf2e59e3c3998e206d2adad7", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1746054057, - "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", + "lastModified": 1748145500, + "narHash": "sha256-t9fx0l61WOxtWxXCqlXPWSuG/0XMF9DtE2T7KXgMqJw=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", + "rev": "a98adbf54d663395df0b9929f6481d4d80fc8927", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746061036, - "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", + "lastModified": 1747958103, + "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", + "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", "type": "github" }, "original": { @@ -239,27 +239,27 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746055187, - "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", + "lastModified": 1748162331, + "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", + "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1746123514, - "narHash": "sha256-UNO+MbVHLl4AkVWYqekk72/gqFNSLYNkBgto7h+7P3U=", + "lastModified": 1747958103, + "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b5dd9efc912ecabeafa4f082d31e19cb1c74266c", + "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1745929750, - "narHash": "sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko=", + "lastModified": 1747912973, + "narHash": "sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "82bf32e541b30080d94e46af13d46da0708609ea", + "rev": "020cb423808365fa3f10ff4cb8c0a25df35065a3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0918288..7ae9e86 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index 9b9e955..b0b76b0 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -10,17 +10,11 @@ oled.enable = true; }; - dconf.settings = { - "org/gnome/shell" = { - enabled-extensions = [ "Battery-Health-Charging@maniacx.github.com" ]; - }; - }; - home.packages = with pkgs; [ ]; programs.gpg.enable = true; services.gpg-agent = { enable = true; - pinentryPackage = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-curses; }; } diff --git a/home/dln/home.nix b/home/dln/home.nix index ae8681e..26216e7 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -14,8 +14,8 @@ in homeDirectory = "/home/dln"; packages = with pkgs; [ asciinema - openconnect ouch + toolbox ]; }; @@ -61,7 +61,6 @@ in git = { push-bookmark-prefix = "dln/push-"; - subprocess = true; }; ui = { diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 504e5cd..cffb9ca 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -35,6 +35,6 @@ services.gpg-agent = { enable = true; enableScDaemon = false; - pinentryPackage = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-curses; }; } diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 5a5806a..058294d 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -141,5 +141,5 @@ "ssh-ng://nemo.aarn.patagia.net" ]; - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "25.05"; # Did you read the comment? } diff --git a/overlays/default.nix b/overlays/default.nix index 9dd6924..61457f5 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,7 +7,9 @@ # https://discourse.nixos.org/t/disable-ssh-agent-from-gnome-keyring-on-gnome/28176/5 gnome-keyring = prev.gnome-keyring.overrideAttrs (oldAttrs: { - configureFlags = oldAttrs.configureFlags or [ ] ++ [ "--disable-ssh-agent" ]; + mesonFlags = (builtins.filter (flag: flag != "-Dssh-agent=true") oldAttrs.mesonFlags) ++ [ + "-Dssh-agent=false" + ]; }); }; From 0a42495374eda6255b311370cc3105733984a752 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 May 2025 14:09:12 +0200 Subject: [PATCH 179/182] ghostty: use semicondensed font --- home/common/ghostty.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index f2283cb..b810daa 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -13,18 +13,20 @@ font-family = "Berkeley Mono"; font-family-italic = "Monaspace Radon Var"; font-family-bold-italic = "Monaspace Krypton Var"; - font-style = "Regular"; - font-style-bold = "Bold"; - font-style-italic = "Italic"; + font-style = "SemiCondensed"; + font-style-bold = "Bold SemiCondensed"; + font-style-italic = "ExtraLight Italic"; font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; + adjust-cell-height = 2; + adjust-font-baseline = 1; adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; mouse-hide-while-typing = true; - unfocused-split-opacity = 0.8; + unfocused-split-opacity = 0.9; unfocused-split-fill = "#056157"; shell-integration = "fish"; From 238cd231be606058d1a89e5e54ebfc03f40a95a8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 20:28:50 +0200 Subject: [PATCH 180/182] install thunderbird --- home/dln/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index e6f9326..0ef0500 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -17,6 +17,7 @@ plexamp signal-desktop spotify + thunderbird ]; xdg.desktopEntries = { From ff4c0d1842c4707c1e0d7b4a9ba176a9cf121d51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 May 2025 14:09:12 +0200 Subject: [PATCH 181/182] ghostty: bolder bold --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index b810daa..8946ddd 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -14,7 +14,7 @@ font-family-italic = "Monaspace Radon Var"; font-family-bold-italic = "Monaspace Krypton Var"; font-style = "SemiCondensed"; - font-style-bold = "Bold SemiCondensed"; + font-style-bold = "ExtraBold SemiCondensed"; font-style-italic = "ExtraLight Italic"; font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; From c4c8fb322f9ceb3c95c2fe082aed005c3b72cc85 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 20:28:50 +0200 Subject: [PATCH 182/182] Add openssl --- flake.lock | 48 +++++++++++++++++++++---------------------- flake.nix | 1 + home/common/devel.nix | 1 + 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 30757ec..3157c71 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1748134483, - "narHash": "sha256-5PBK1nV8X39K3qUj8B477Aa2RdbLq3m7wRxUKRtggX4=", + "lastModified": 1748570847, + "narHash": "sha256-XU1a6wFctd+s3ZvBIFB6s4GhPJ+Oc6pkeOrEsbA2fMo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c1e671036224089937e111e32ea899f59181c383", + "rev": "4e9efaa68b0be7e19127dad4f0506a9b89e28ef4", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748070814, - "narHash": "sha256-UENoloiY25w0GmPsni8aswhks13qD1sT7XPQgmBd4tU=", + "lastModified": 1748588826, + "narHash": "sha256-lfSvGRDpep7LVD4L/97Xjn3bglB247S4bgpfpMbqGP4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1654f815b79267a32c0eb9feb5962089d855d287", + "rev": "2e9ad466d7b54245229087c980da0615f54e4b2f", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1748041342, - "narHash": "sha256-gYkZbws7QEZ6o5Kh8IPotFAk1thbzzm3C8+vs/M32E4=", + "lastModified": 1748543356, + "narHash": "sha256-Xo3LBLzEMIdmT0s8UWfNUJvTBHxB5PSYKJyFPBcGx8w=", "owner": "neovim", "repo": "neovim", - "rev": "9784bc134624ff6dcf2e59e3c3998e206d2adad7", + "rev": "b28bbee539625f9bcbf128e8da400d1d55b499ff", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1748475218, + "narHash": "sha256-zDYqMBDbQR4SU9vHFrvHRbI0qxv0RGAoog5idGLiOWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "e80506de785dc48dcfbb636c443c5e2b0b5b2d7d", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1748162331, - "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", + "lastModified": 1748437600, + "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1748506378, + "narHash": "sha256-oS0Gxh63Df8b8r04lqEYDDLKhHIrVr9/JLOn2bn8JaI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "3866ad91cfc172f08a6839def503d8fc2923c603", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1747912973, - "narHash": "sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0=", + "lastModified": 1748243702, + "narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "020cb423808365fa3f10ff4cb8c0a25df35065a3", + "rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7ae9e86..fd4ba17 100644 --- a/flake.nix +++ b/flake.nix @@ -68,6 +68,7 @@ devShell.${system} = pkgs.mkShell { packages = with pkgs; [ just + lua-language-server nh nil nixd diff --git a/home/common/devel.nix b/home/common/devel.nix index 910900e..70c3bcc 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -7,6 +7,7 @@ file just nix-output-monitor + openssl passage rage ];