From 5e52503c71cb43da24cd379f8cf28a19028ab7d3 Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 13:41:58 +0000 Subject: [PATCH 1/7] Update nix --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- flake.nix | 3 +-- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/flake.lock b/flake.lock index 8c98f54..c309aae 100644 --- a/flake.lock +++ b/flake.lock @@ -139,11 +139,11 @@ ] }, "locked": { - "lastModified": 1760948891, - "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -233,11 +233,11 @@ ] }, "locked": { - "lastModified": 1771188132, - "narHash": "sha256-qLXxN/tPrZtnekaLBQuVtxQfvqqs5cT5WbyH4zZaTGI=", + "lastModified": 1772516620, + "narHash": "sha256-2r4cKdqCVlQkvcTcLUMxmsmAYZZxCMd//w/PnDnukTE=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae8003d8b61d0d373e7ca3da1a48f9c870d15df9", + "rev": "2b9504d5a0169d4940a312abe2df2c5658db8de9", "type": "github" }, "original": { @@ -275,11 +275,11 @@ ] }, "locked": { - "lastModified": 1771102945, - "narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=", + "lastModified": 1772330611, + "narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=", "owner": "nix-community", "repo": "home-manager", - "rev": "ff5e5d882c51f9a032479595cbab40fd04f56399", + "rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "mnw": { "locked": { - "lastModified": 1758834834, - "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", + "lastModified": 1770419553, + "narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", + "rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957", "type": "github" }, "original": { @@ -330,15 +330,16 @@ ] }, "locked": { - "lastModified": 1765720983, - "narHash": "sha256-tWtukpABmux6EC/FuCJEgA1kmRjcRPtED44N+GGPq+4=", + "lastModified": 1768214250, + "narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=", "owner": "feel-co", "repo": "ndg", - "rev": "f399ace8bb8e1f705dd8942b24d207aa4d75c936", + "rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8", "type": "github" }, "original": { "owner": "feel-co", + "ref": "refs/tags/v2.6.0", "repo": "ndg", "type": "github" } @@ -470,11 +471,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1771008912, - "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", + "lastModified": 1772433332, + "narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a82ccc39b39b621151d6732718e3e250109076fa", + "rev": "cf59864ef8aa2e178cccedbe2c178185b0365705", "type": "github" }, "original": { @@ -537,16 +538,15 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1767628834, - "narHash": "sha256-qiPFYDicHq4/ji0/9QxVM8hhjspsJrYcMR/S3zKlfjQ=", - "owner": "thamenato", + "lastModified": 1772483693, + "narHash": "sha256-sOq/GUSR0uw1eQla0Wc5BKztPqBJBj3khd/GhaVg4xU=", + "owner": "NotAShelf", "repo": "nvf", - "rev": "7161c8d857cf7c641433cc750a1a3666f82a3ff0", + "rev": "750dbfaf6eb62db8e67afc03a3ae3078bfd8f098", "type": "github" }, "original": { - "owner": "thamenato", - "ref": "fix-nvim-treesitter", + "owner": "NotAShelf", "repo": "nvf", "type": "github" } @@ -573,11 +573,11 @@ ] }, "locked": { - "lastModified": 1771166946, - "narHash": "sha256-UFc4lfGBr+wJmwgDGJDn1cVD6DTr0/8TdronNUiyXlU=", + "lastModified": 1772495394, + "narHash": "sha256-hmIvE/slLKEFKNEJz27IZ8BKlAaZDcjIHmkZ7GCEjfw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2d0cf89b4404529778bc82de7e42b5754e0fe4fa", + "rev": "1d9b98a29a45abe9c4d3174bd36de9f28755e3ff", "type": "github" }, "original": { @@ -626,11 +626,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1770914701, - "narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=", + "lastModified": 1772296853, + "narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=", "owner": "danth", "repo": "stylix", - "rev": "db03fed72e5ca02be34e1d24789345a943329738", + "rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf", "type": "github" }, "original": { @@ -794,11 +794,11 @@ ] }, "locked": { - "lastModified": 1771222275, - "narHash": "sha256-df+Un2QnDj95MQxmsnopCtSy/meWO2RDHuMGAqq3nlc=", + "lastModified": 1772517053, + "narHash": "sha256-aBuL2TFnyBLR+t6iBlKnTWWzprXYKQQIaV0IuCSPPeE=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "a20f5d0c6454b5b24a497afb280427c9af33a0be", + "rev": "32e9673aee2ae994ced561247918952398a3e933", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ff6de6a..4838c59 100644 --- a/flake.nix +++ b/flake.nix @@ -14,8 +14,7 @@ nix-alien.url = "github:thiagokokada/nix-alien"; nvf = { - # url = "github:NotAShelf/nvf"; - url = "github:thamenato/nvf/fix-nvim-treesitter"; + url = "github:NotAShelf/nvf"; inputs.nixpkgs.follows = "nixpkgs"; }; From 31514a0b0c649d08fe44cdc13538d7bbb2ff8489 Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 15:16:52 +0000 Subject: [PATCH 2/7] Add octo --- hosts/murk/home.nix | 1 + hosts/musk/home.nix | 1 + modules/home/terminal/nvim/default.nix | 1 + modules/home/terminal/nvim/octo.nix | 54 ++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 modules/home/terminal/nvim/octo.nix diff --git a/hosts/murk/home.nix b/hosts/murk/home.nix index 706f35d..3abcd95 100644 --- a/hosts/murk/home.nix +++ b/hosts/murk/home.nix @@ -24,6 +24,7 @@ in { mods.desktop.productivity.enable = false; mods.zen.enable = true; mods.obsidian.enable = true; + mods.octo.enable = true; mods.theme.slideshow = true; home.packages = with pkgs; diff --git a/hosts/musk/home.nix b/hosts/musk/home.nix index d9b4d22..133dffa 100644 --- a/hosts/musk/home.nix +++ b/hosts/musk/home.nix @@ -21,6 +21,7 @@ in { mods.desktop.development.enable = true; mods.desktop.productivity.enable = false; mods.zen.enable = true; + mods.octo.enable = true; home.packages = with pkgs; [ diff --git a/modules/home/terminal/nvim/default.nix b/modules/home/terminal/nvim/default.nix index abbb69f..427c78f 100644 --- a/modules/home/terminal/nvim/default.nix +++ b/modules/home/terminal/nvim/default.nix @@ -23,6 +23,7 @@ in { imports = [ inputs.nvf.homeManagerModules.default ./obsidian.nix + ./octo.nix ]; config = lib.mkIf config.mods.nvim.enable { diff --git a/modules/home/terminal/nvim/octo.nix b/modules/home/terminal/nvim/octo.nix new file mode 100644 index 0000000..98db5ba --- /dev/null +++ b/modules/home/terminal/nvim/octo.nix @@ -0,0 +1,54 @@ +{ + pkgs, + lib, + config, + ... +}: { + options.mods.octo.enable = + lib.mkEnableOption "enables octo"; + + config = lib.mkIf config.mods.octo.enable { + programs.nvf.settings.vim.lazy.plugins."octo.nvim" = { + package = pkgs.vimPlugins.octo-nvim; + setupModule = "octo"; + setupOpts = { + picker = "telescope"; + enable_builtin = true; + }; + cmd = ["Octo"]; + keys = [ + { + key = "oi"; + mode = "n"; + action = "Octo issue list"; + desc = "List GitHub Issues"; + } + { + key = "op"; + mode = "n"; + action = "Octo pr list"; + desc = "List GitHub PullRequests"; + } + { + key = "od"; + mode = "n"; + action = "Octo discussion list"; + desc = "List GitHub Discussions"; + } + { + key = "on"; + mode = "n"; + action = "Octo notification list"; + desc = "List GitHub Notifications"; + } + { + key = "os"; + mode = "n"; + action = "function() require('octo.utils').create_base_search_command { include_current_repo = true } end"; + lua = true; + desc = "Search GitHub"; + } + ]; + }; + }; +} From e4f6a5b2676761c756410a8af5c4b99eab4e338d Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 15:42:41 +0000 Subject: [PATCH 3/7] Add octo --- hosts/murk/home.nix | 2 +- hosts/musk/home.nix | 2 +- modules/home/terminal/default.nix | 1 + modules/home/terminal/gh.nix | 67 +++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 modules/home/terminal/gh.nix diff --git a/hosts/murk/home.nix b/hosts/murk/home.nix index 3abcd95..fc55663 100644 --- a/hosts/murk/home.nix +++ b/hosts/murk/home.nix @@ -19,6 +19,7 @@ in { mods.terminal.emulator.enable = true; mods.terminal.development.enable = true; mods.terminal.tools.enable = true; + mods.terminal.gh.enable = true; mods.terminal.hr.enable = true; mods.desktop.development.enable = true; mods.desktop.productivity.enable = false; @@ -45,7 +46,6 @@ in { go rainfrog tealdeer - gh (callPackage ./packages/mender-cli.nix {}) ] # Non-free " + exit 1 + fi + + ORIGINAL_BRANCH=$(git branch --show-current) + HAS_CHANGES=$(git status --porcelain) + STASH_NAME="gh-pr-review-auto-stash-$(date +%s)" + + if [ -n "$HAS_CHANGES" ]; then + echo "Stashing local changes..." + git stash push -m "$STASH_NAME" + fi + + echo "Checking out PR #$PR_NUMBER..." + if gh pr checkout "$PR_NUMBER"; then + nvim -c "Octo review" + else + echo "Failed to checkout PR #$PR_NUMBER" + fi + + echo "Restoring original branch: $ORIGINAL_BRANCH" + git checkout "$ORIGINAL_BRANCH" + + if [ -n "$HAS_CHANGES" ]; then + # Find the stash index by message to be safe + STASH_INDEX=$(git stash list | grep "$STASH_NAME" | cut -d: -f1 | head -n1) + if [ -n "$STASH_INDEX" ]; then + echo "Restoring stashed changes..." + git stash pop "$STASH_INDEX" + fi + fi + ''; +in { + options.mods.terminal.gh.enable = lib.mkEnableOption "enables gh and gh-dash"; + + config = lib.mkIf config.mods.terminal.gh.enable { + home.packages = [gh-pr-review]; + + programs.gh = { + enable = true; + extensions = [pkgs.gh-dash]; + }; + + programs.gh-dash = { + enable = true; + settings = { + keybindings = { + prs = [ + { + key = "d"; + command = "gh-pr-review {{.PrNumber}}"; + } + ]; + }; + }; + }; + }; +} From 39b3b25396eadb733f92a2a3a992a6a158faea4d Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 15:49:22 +0000 Subject: [PATCH 4/7] Remove program --- modules/home/terminal/gh.nix | 42 ++---------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/modules/home/terminal/gh.nix b/modules/home/terminal/gh.nix index b1045a2..ce6ddf5 100644 --- a/modules/home/terminal/gh.nix +++ b/modules/home/terminal/gh.nix @@ -3,48 +3,10 @@ lib, config, ... -}: let - gh-pr-review = pkgs.writeShellScriptBin "gh-pr-review" '' - PR_NUMBER=$1 - if [ -z "$PR_NUMBER" ]; then - echo "Usage: gh-pr-review " - exit 1 - fi - - ORIGINAL_BRANCH=$(git branch --show-current) - HAS_CHANGES=$(git status --porcelain) - STASH_NAME="gh-pr-review-auto-stash-$(date +%s)" - - if [ -n "$HAS_CHANGES" ]; then - echo "Stashing local changes..." - git stash push -m "$STASH_NAME" - fi - - echo "Checking out PR #$PR_NUMBER..." - if gh pr checkout "$PR_NUMBER"; then - nvim -c "Octo review" - else - echo "Failed to checkout PR #$PR_NUMBER" - fi - - echo "Restoring original branch: $ORIGINAL_BRANCH" - git checkout "$ORIGINAL_BRANCH" - - if [ -n "$HAS_CHANGES" ]; then - # Find the stash index by message to be safe - STASH_INDEX=$(git stash list | grep "$STASH_NAME" | cut -d: -f1 | head -n1) - if [ -n "$STASH_INDEX" ]; then - echo "Restoring stashed changes..." - git stash pop "$STASH_INDEX" - fi - fi - ''; -in { +}: { options.mods.terminal.gh.enable = lib.mkEnableOption "enables gh and gh-dash"; config = lib.mkIf config.mods.terminal.gh.enable { - home.packages = [gh-pr-review]; - programs.gh = { enable = true; extensions = [pkgs.gh-dash]; @@ -57,7 +19,7 @@ in { prs = [ { key = "d"; - command = "gh-pr-review {{.PrNumber}}"; + command = "nvim -c 'Octo review {{.PrNumber}}'"; } ]; }; From 14ac2ec50c3d35827a765e4b7c321d992cea0cea Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 16:53:16 +0000 Subject: [PATCH 5/7] Fix octo dash --- modules/home/terminal/gh.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/home/terminal/gh.nix b/modules/home/terminal/gh.nix index ce6ddf5..f8b5649 100644 --- a/modules/home/terminal/gh.nix +++ b/modules/home/terminal/gh.nix @@ -18,8 +18,9 @@ keybindings = { prs = [ { - key = "d"; - command = "nvim -c 'Octo review {{.PrNumber}}'"; + key = "C"; + command = "nvim -c 'Octo pr edit {{.PrNumber}}'"; + description = "Open PR in Octo.nvim"; } ]; }; From 237ecb6911319f443258d81ae20a2536fd5df82e Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 16:53:53 +0000 Subject: [PATCH 6/7] Add fzf-lua --- modules/home/terminal/nvim/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/terminal/nvim/default.nix b/modules/home/terminal/nvim/default.nix index 427c78f..e4d2df9 100644 --- a/modules/home/terminal/nvim/default.nix +++ b/modules/home/terminal/nvim/default.nix @@ -94,6 +94,7 @@ in { statusline.lualine.enable = true; telescope.enable = true; + fzf-lua.enable = true; autocomplete.nvim-cmp.enable = true; autopairs.nvim-autopairs.enable = true; tabline.nvimBufferline.enable = true; From fa308b408daa054011b5194e0365c983c2352258 Mon Sep 17 00:00:00 2001 From: Sage Date: Tue, 3 Mar 2026 17:02:42 +0000 Subject: [PATCH 7/7] Add to nvim --- modules/home/terminal/nvim/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home/terminal/nvim/default.nix b/modules/home/terminal/nvim/default.nix index e4d2df9..469f656 100644 --- a/modules/home/terminal/nvim/default.nix +++ b/modules/home/terminal/nvim/default.nix @@ -61,6 +61,13 @@ in { action = "lua vim.lsp.buf.definition()"; desc = "Go to Definition"; } + { + key = ""; + mode = ["n"]; + action = "FzfLua combine pickers=keymaps;commands"; + silent = true; + desc = "FzfLua keymaps and commands"; + } ]; languages = {