17 Commits

Author SHA1 Message Date
Noah Masur
a2a429d286 update nixpkgs and add pi 2026-04-08 10:58:51 -04:00
Noah Masur
7f5b5eb809 fix session switching (using cli actions) 2026-04-04 10:50:07 -04:00
Noah Masur
f5f3a8336e switch font to maple mono 2026-04-04 10:50:07 -04:00
Noah Masur
4444a479d4 add actionlint 2026-04-04 10:50:07 -04:00
github-actions[bot]
395c4b4348 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/da529ac9e46f25ed5616fd634079a5f3c579135f' (2026-03-08)
  → 'github:lnl7/nix-darwin/06648f4902343228ce2de79f291dd5a58ee12146' (2026-04-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/02371c05a04a2876cf92e2d67a259e8f87399068' (2026-03-27)
  → 'github:nix-community/home-manager/9dc93220c1c9a410ef6277d6dc55c571d9e592d0' (2026-04-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9' (2026-03-24)
  → 'github:nixos/nixpkgs/6201e203d09599479a3b3450ed24fa81537ebc4e' (2026-04-01)
• Updated input 'nur':
    'github:nix-community/nur/6298c3410e4000a9e91c344ac5f163b043534e03' (2026-03-28)
  → 'github:nix-community/nur/274b289253048dec21259c12a16508fb1e30e0f6' (2026-04-04)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/98caaa8cd1fbcc45913d1bb2b7fbabcf3e8d967a' (2026-03-28)
  → 'github:oxalica/rust-overlay/740fb0203b2852917b909a72b948d34d0b171ec0' (2026-04-04)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/fd0eae98d1ecee31024271f8d64676250a386ee7' (2026-03-19)
  → 'github:nix-community/NixOS-WSL/d97e078f4788cddb8d11c3c99f72a4bb9ddec221' (2026-03-31)
2026-04-04 05:14:31 +00:00
github-actions[bot]
8dbec5f6ab flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/9670de2921812bc4e0452f6e3efd8c859696c183' (2026-03-20)
  → 'github:nix-community/home-manager/02371c05a04a2876cf92e2d67a259e8f87399068' (2026-03-27)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b40629efe5d6ec48dd1efba650c797ddbd39ace0' (2026-03-18)
  → 'github:nixos/nixpkgs/46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9' (2026-03-24)
• Updated input 'nur':
    'github:nix-community/nur/08e7d1fc8fc15731a4d6a664207e18828fe028cb' (2026-03-21)
  → 'github:nix-community/nur/6298c3410e4000a9e91c344ac5f163b043534e03' (2026-03-28)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/c807e83cc2e32adc35f51138b3bdef722c0812ab' (2026-03-21)
  → 'github:oxalica/rust-overlay/98caaa8cd1fbcc45913d1bb2b7fbabcf3e8d967a' (2026-03-28)
2026-03-28 05:14:58 +00:00
Noah Masur
f8d79cdf3a add claude code 2026-03-23 10:16:19 -04:00
Noah Masur
280082acfe zoom window hiding functionality
fix hammerspoon
2026-03-23 10:16:19 -04:00
github-actions[bot]
1edf9da155 flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/7b9f7f88ab3b339f8142dc246445abb3c370d3d3' (2026-03-09)
  → 'github:nix-community/disko/5ad85c82cc52264f4beddc934ba57f3789f28347' (2026-03-19)
• Updated input 'home-manager':
    'github:nix-community/home-manager/ef12a9a2b0f77c8fa3dda1e7e494fca668909056' (2026-03-13)
  → 'github:nix-community/home-manager/9670de2921812bc4e0452f6e3efd8c859696c183' (2026-03-20)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/fe416aaedd397cacb33a610b33d60ff2b431b127' (2026-03-12)
  → 'github:nixos/nixpkgs/b40629efe5d6ec48dd1efba650c797ddbd39ace0' (2026-03-18)
• Updated input 'nur':
    'github:nix-community/nur/a8b4f501a52ac4a789acb4ae022ce27bb2cf3c99' (2026-03-14)
  → 'github:nix-community/nur/08e7d1fc8fc15731a4d6a664207e18828fe028cb' (2026-03-21)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/055977c30249484010750e03074c744dcdaa0d23' (2026-03-14)
  → 'github:oxalica/rust-overlay/c807e83cc2e32adc35f51138b3bdef722c0812ab' (2026-03-21)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/d2fd7da4565797cf7e18b9b0a8b1044fbada8ff8' (2026-03-13)
  → 'github:nix-community/NixOS-WSL/fd0eae98d1ecee31024271f8d64676250a386ee7' (2026-03-19)
2026-03-21 04:57:33 +00:00
github-actions[bot]
8d970103e1 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/6a7fdcd5839ec8b135821179eea3b58092171bcf' (2026-02-19)
  → 'github:lnl7/nix-darwin/da529ac9e46f25ed5616fd634079a5f3c579135f' (2026-03-08)
• Updated input 'disko':
    'github:nix-community/disko/4707eec8d1d2db5182ea06ed48c820a86a42dc13' (2026-02-19)
  → 'github:nix-community/disko/7b9f7f88ab3b339f8142dc246445abb3c370d3d3' (2026-03-09)
• Updated input 'home-manager':
    'github:nix-community/home-manager/436b27742c996b75e2baf8e835e3b3eae0c9fbd4' (2026-02-21)
  → 'github:nix-community/home-manager/ef12a9a2b0f77c8fa3dda1e7e494fca668909056' (2026-03-13)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/78467c8de07719f92397179844bf75cdf2e58b83' (2025-08-16)
  → 'github:gytis-ivaskevicius/nix2vim/71acbf5f97545b01778df03a8f2194e918103eba' (2026-03-07)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0182a361324364ae3f436a63005877674cf45efb' (2026-02-17)
  → 'github:nixos/nixpkgs/fe416aaedd397cacb33a610b33d60ff2b431b127' (2026-03-12)
• Updated input 'nur':
    'github:nix-community/nur/1bedc7cb7cfbb0c29970ce26f61718c9b2dac4c3' (2026-02-21)
  → 'github:nix-community/nur/a8b4f501a52ac4a789acb4ae022ce27bb2cf3c99' (2026-03-14)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/85078369717bdbe1f266c9eaad5e66956fb6feea' (2026-02-21)
  → 'github:oxalica/rust-overlay/055977c30249484010750e03074c744dcdaa0d23' (2026-03-14)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/379d20c55f552e91fb9f3f0382e4a97d3f452943' (2026-02-20)
  → 'github:nix-community/NixOS-WSL/d2fd7da4565797cf7e18b9b0a8b1044fbada8ff8' (2026-03-13)
2026-03-14 05:02:26 +00:00
Noah Masur
d9137ad738 add jj to gitignore 2026-03-12 20:29:24 -04:00
Noah Masur
4eacca970e add required secret key for grafana 2026-03-07 12:33:21 -05:00
Noah Masur
d09ee3337b update jj starship to remove git prompt 2026-03-06 20:18:20 -05:00
Noah Masur
22e1c9b8eb keep uv installed as an available program 2026-03-06 20:18:00 -05:00
Noah Masur
acd71623e4 remove my own extension from ff because it's not signed 2026-03-06 20:17:29 -05:00
Noah Masur
9a97d94ffa add jj-starship and fix zellij lockout 2026-02-28 09:49:11 -05:00
Noah Masur
84bffd13e8 remove deprecated brew line 2026-02-26 09:46:25 -05:00
18 changed files with 221 additions and 51 deletions

View File

@@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)"
]
}
}

121
flake.lock generated
View File

@@ -4,7 +4,7 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"systems": "systems", "systems": "systems_2",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771520882, "lastModified": 1775037210,
"narHash": "sha256-9SeTZ4Pwr730YfT7V8Azb8GFbwk1ZwiQDAwft3qAD+o=", "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "6a7fdcd5839ec8b135821179eea3b58092171bcf", "rev": "06648f4902343228ce2de79f291dd5a58ee12146",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -49,11 +49,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771469470, "lastModified": 1773889306,
"narHash": "sha256-GnqdqhrguKNN3HtVfl6z+zbV9R9jhHFm3Z8nu7R6ml0=", "narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "4707eec8d1d2db5182ea06ed48c820a86a42dc13", "rev": "5ad85c82cc52264f4beddc934ba57f3789f28347",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -135,6 +135,24 @@
} }
}, },
"flake-utils": { "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"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": [ "systems": [
"mac-app-util", "mac-app-util",
@@ -154,9 +172,9 @@
"type": "indirect" "type": "indirect"
} }
}, },
"flake-utils_2": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -179,11 +197,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771647911, "lastModified": 1775622785,
"narHash": "sha256-18liNHHwOmcaKCpOptE3wLW97fm5v7RTLiZBecX7km0=", "narHash": "sha256-/yFxO+7oS1SymDfJ2iVO7K5vJKcYfe9XGIJ+quLqz0Q=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "436b27742c996b75e2baf8e835e3b3eae0c9fbd4", "rev": "527e47b78fe67213072f706bf933a9705a8c4974",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -193,13 +211,34 @@
"type": "github" "type": "github"
} }
}, },
"jj-starship": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769370163,
"narHash": "sha256-YfcFlJsPCRfqhN+3JUWE77c+eHIp5RAu2rq/JhSxCec=",
"owner": "dmmulroy",
"repo": "jj-starship",
"rev": "76cf00619b0cce5bd08a1b9a49b310ed928794d5",
"type": "github"
},
"original": {
"owner": "dmmulroy",
"repo": "jj-starship",
"type": "github"
}
},
"mac-app-util": { "mac-app-util": {
"inputs": { "inputs": {
"cl-nix-lite": "cl-nix-lite", "cl-nix-lite": "cl-nix-lite",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"systems": "systems_2", "systems": "systems_3",
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
@@ -218,17 +257,17 @@
}, },
"nix2vim": { "nix2vim": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1755344765, "lastModified": 1772905551,
"narHash": "sha256-k/Cvh/mzb5lSvilKdgwNBCyAyYmD8YPr1nc0sTSgwxI=", "narHash": "sha256-TZaHyWUJRhmVY9sRe4p2/wlC+p+O02LLeutjTwlZdLU=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "nix2vim", "repo": "nix2vim",
"rev": "78467c8de07719f92397179844bf75cdf2e58b83", "rev": "71acbf5f97545b01778df03a8f2194e918103eba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -370,11 +409,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1771369470, "lastModified": 1775423009,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -408,11 +447,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771648529, "lastModified": 1775654726,
"narHash": "sha256-hXZsRqfiO2Q/xVpjb/ETUhiPssYdPpC/ZIT2PWMbSn0=", "narHash": "sha256-4R6Bc5EIQ+HxVte1Mo1B3OkyYFVmehywOPiH3Z9CAIU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "1bedc7cb7cfbb0c29970ce26f61718c9b2dac4c3", "rev": "c73a8885bd1bb5d329e16a4512e2c2708c5981a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -426,6 +465,7 @@
"darwin": "darwin", "darwin": "darwin",
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"jj-starship": "jj-starship",
"mac-app-util": "mac-app-util", "mac-app-util": "mac-app-util",
"nix2vim": "nix2vim", "nix2vim": "nix2vim",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
@@ -443,11 +483,11 @@
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1771642886, "lastModified": 1775617983,
"narHash": "sha256-4zOvSi0WkS2WAaoJtM28wECtS9S+L38CPYbhF+wINDA=", "narHash": "sha256-2NWGA/I4j/qlx6qbg86QvJiK1/GyH9gnf0hFiARWVwE=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "85078369717bdbe1f266c9eaad5e66956fb6feea", "rev": "d98b91b1feae7ef07fa2ccb3aa3f83f11abfae54",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -472,6 +512,21 @@
} }
}, },
"systems_2": { "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"
}
},
"systems_3": {
"locked": { "locked": {
"lastModified": 1689347925, "lastModified": 1689347925,
"narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=", "narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=",
@@ -486,7 +541,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": { "systems_4": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -501,7 +556,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": { "systems_5": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -560,11 +615,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771563879, "lastModified": 1774972752,
"narHash": "sha256-vA5hocvdGhr+jfBN7A7ogeZqIz2qx01EixXwdVsQcnE=", "narHash": "sha256-DnLIpFxznohpLkIFs390uZ0gxwkVyhtknhKNu+lQJK8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "379d20c55f552e91fb9f3f0382e4a97d3f452943", "rev": "d97e078f4788cddb8d11c3c99f72a4bb9ddec221",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -581,7 +636,7 @@
"rust-overlay": [ "rust-overlay": [
"rust-overlay" "rust-overlay"
], ],
"systems": "systems_4" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1742588229, "lastModified": 1742588229,

View File

@@ -75,6 +75,11 @@
inputs.rust-overlay.follows = "rust-overlay"; inputs.rust-overlay.follows = "rust-overlay";
}; };
jj-starship = {
url = "github:dmmulroy/jj-starship";
inputs.nixpkgs.follows = "nixpkgs";
};
# # Text editor # # Text editor
# helix = { # helix = {
# url = "github:helix-editor/helix"; # url = "github:helix-editor/helix";

View File

@@ -67,6 +67,7 @@ lib
inputs.nur.overlays.default inputs.nur.overlays.default
inputs.nix2vim.overlay inputs.nix2vim.overlay
inputs.zellij-switch.overlays.default inputs.zellij-switch.overlays.default
inputs.jj-starship.overlays.default
# inputs.helix.overlays.default # inputs.helix.overlays.default
] ]
++ (importOverlays ../overlays); ++ (importOverlays ../overlays);

View File

@@ -34,7 +34,6 @@
}; };
global = { global = {
brewfile = true; # Run brew bundle from anywhere brewfile = true; # Run brew bundle from anywhere
lockfiles = false; # Don't save lockfile (since running from anywhere)
}; };
brews = [ brews = [
"trash" # Delete files and folders to trash instead of rm "trash" # Delete files and folders to trash instead of rm

View File

@@ -17,23 +17,27 @@ in
home.packages = [ home.packages = [
pkgs.nerd-fonts.victor-mono # Used for Vim and Terminal pkgs.nerd-fonts.victor-mono # Used for Vim and Terminal
pkgs.nerd-fonts.hack # For Polybar, Rofi pkgs.nerd-fonts.hack # For Polybar, Rofi
# Maple Mono NF (Ligature unhinted)
pkgs.maple-mono.NF-unhinted
]; ];
fonts.fontconfig = { fonts.fontconfig = {
enable = true; enable = true;
defaultFonts.monospace = [ "Victor Mono" ]; defaultFonts.monospace = [ "Maple Mono NF" ];
}; };
xsession.windowManager.i3.config.fonts = { xsession.windowManager.i3.config.fonts = {
names = [ "pango:Victor Mono" ]; # names = [ "pango:Victor Mono" ];
names = [ "pango:Maple Mono" ];
# style = "Regular"; # style = "Regular";
# size = 11.0; # size = 11.0;
}; };
services.polybar.config."bar/main".font-0 = "Hack Nerd Font:size=10;2"; services.polybar.config."bar/main".font-0 = "Hack Nerd Font:size=10;2";
programs.rofi.font = "Hack Nerd Font 14"; programs.rofi.font = "Hack Nerd Font 14";
programs.alacritty.settings.font.normal.family = "VictorMono"; programs.alacritty.settings.font.normal.family = "Maple Mono NF";
programs.kitty.font.name = "VictorMono Nerd Font Mono"; programs.kitty.font.name = "Maple Mono NF";
nmasur.presets.programs.wezterm.font = "VictorMono Nerd Font Mono"; nmasur.presets.programs.wezterm.font = "Maple Mono NF";
programs.ghostty.settings.font-family = "VictorMono Nerd Font Mono"; programs.ghostty.settings.font-family = "Maple Mono NF";
services.dunst.settings.global.font = "Hack Nerd Font 14"; services.dunst.settings.global.font = "Hack Nerd Font 14";
}; };
} }

View File

@@ -46,7 +46,7 @@ in
ublacklist ublacklist
vimium vimium
wappalyzer # TODO: only for work profile wappalyzer # TODO: only for work profile
pkgs.nmasur.firefox-history-exporter # pkgs.nmasur.firefox-history-exporter
# copy-as-markdown # copy-as-markdown
# saml-tracer # saml-tracer
# text-fragment # text-fragment

View File

@@ -24,6 +24,7 @@ in
.terraform/ .terraform/
.target/ .target/
/Library/ /Library/
.jj/
''; '';
}; };
}; };

View File

@@ -15,6 +15,8 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ pkgs.jj-starship ];
programs.starship = { programs.starship = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
@@ -27,6 +29,7 @@ in
"$git_branch" "$git_branch"
"$git_commit" "$git_commit"
"$git_status" "$git_status"
"\${custom.jj}"
"$hostname" "$hostname"
"$cmd_duration" "$cmd_duration"
"$character" "$character"
@@ -38,23 +41,37 @@ in
vicmd_symbol = "[](bold green)"; vicmd_symbol = "[](bold green)";
}; };
cmd_duration = { cmd_duration = {
min_time = 5000; min_time = 5001;
show_notifications = if pkgs.stdenv.isLinux then false else true; show_notifications = if pkgs.stdenv.isLinux then false else true;
min_time_to_notify = 30000; min_time_to_notify = 30000;
format = "[$duration]($style) "; format = "[$duration]($style) ";
}; };
custom = {
jj = {
when = "jj-starship detect";
shell = [
"jj-starship"
"--no-jj-prefix"
"--no-git-prefix"
];
format = "$output ";
};
};
directory = { directory = {
truncate_to_repo = true; truncate_to_repo = true;
truncation_length = 100; truncation_length = 100;
}; };
git_branch = { git_branch = {
disabled = true;
format = "[$symbol$branch]($style)"; format = "[$symbol$branch]($style)";
}; };
git_commit = { git_commit = {
disabled = true;
format = "( @ [$hash]($style) )"; format = "( @ [$hash]($style) )";
only_detached = false; only_detached = false;
}; };
git_status = { git_status = {
disabled = true;
format = "([$all_status$ahead_behind]($style) )"; format = "([$all_status$ahead_behind]($style) )";
conflicted = "="; conflicted = "=";
ahead = ""; ahead = "";

View File

@@ -15,7 +15,7 @@ let
return 1 return 1
fi fi
echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session
zellij pipe --plugin file:$(which zellij-switch.wasm) -- "--session $TARGET_SESSION" ${lib.getExe pkgs.zellij} action switch-session $TARGET_SESSION
''; '';
in in
@@ -42,13 +42,13 @@ in
return 1 return 1
end end
echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session
zellij pipe --plugin file:$(which zellij-switch.wasm) -- "--cwd $TARGET_DIR --layout default --session $(basename $TARGET_DIR)" ${lib.getExe pkgs.zellij} action switch-session $(basename $TARGET_DIR) --cwd $TARGET_DIR --layout default
''; '';
}; };
gh-run = { gh-run = {
body = # fish body = # fish
'' ''
zellij action new-pane --start-suspended -- gh run watch ${lib.getExe pkgs.zellij} action new-pane --start-suspended -- gh run watch
''; '';
}; };
}; };
@@ -101,7 +101,7 @@ in
show_startup_tips = false; show_startup_tips = false;
keybinds = { keybinds = {
locked = { locked = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
# For servers that I SSH into, use c-a-G to unlock # For servers that I SSH into, use c-a-G to unlock
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) { "bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
SwitchToMode = { SwitchToMode = {
@@ -109,7 +109,7 @@ in
}; };
}; };
}; };
normal = { normal = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
# For servers that I SSH into, use c-a-G to lock # For servers that I SSH into, use c-a-G to lock
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) { "bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
SwitchToMode = { SwitchToMode = {
@@ -143,8 +143,8 @@ in
_args = _args =
if pkgs.stdenv.isDarwin then if pkgs.stdenv.isDarwin then
[ [
"env" # "env"
"PATH=/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin" # "PATH=/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin"
(lib.getExe zellij-switch-to-last) (lib.getExe zellij-switch-to-last)
] ]
else else

View File

@@ -0,0 +1,45 @@
--- === Hide Zoom Window ===
-- Credit: https://news.ycombinator.com/item?id=47369091
local obj = {}
obj.__index = obj
-- Metadata
obj.name = "HideZoomWindow"
obj.version = "0.1"
function obj:init()
-- Hide Zoom's "share" windows so it doesn't come back on ESC keypress
local zoomWindow = nil
local originalFrame = nil
hs.hotkey.bind({"cmd", "ctrl", "alt"}, "H", function()
print("> trying to hide zoom")
if not zoomWindow then
print("> looking for window")
zoomWindow = hs.window.find("zoom share statusbar window")
end
if zoomWindow then
print("> found window")
if originalFrame then
print("> restoring")
zoomWindow:setFrame(originalFrame)
originalFrame = nil
zoomWindow = nil
else
print("> hiding")
originalFrame = zoomWindow:frame()
local screen = zoomWindow:screen()
local frame = zoomWindow:frame()
frame.x = screen:frame().w + 99000
frame.y = screen:frame().h + 99000
zoomWindow:setFrame(frame)
end
else
print("> window not found")
end
end)
end
return obj

View File

@@ -29,6 +29,7 @@ in
zed = "${config.programs.zed-editor.package}/Applications/Zed.app"; zed = "${config.programs.zed-editor.package}/Applications/Zed.app";
}; };
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source = ./Spoons/MoveWindow.spoon; xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source = ./Spoons/MoveWindow.spoon;
xdg.configFile."hammerspoon/Spoons/HideZoomWindow.spoon".source = ./Spoons/HideZoomWindow.spoon;
home.activation.reloadHammerspoon = config.lib.dag.entryAfter [ "writeBoundary" ] '' home.activation.reloadHammerspoon = config.lib.dag.entryAfter [ "writeBoundary" ] ''
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()" $DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()"

View File

@@ -3,3 +3,4 @@ hs.loadSpoon("ControlEscape"):start() -- Load Hammerspoon bits from https://gith
hs.loadSpoon("Launcher"):init() hs.loadSpoon("Launcher"):init()
hs.loadSpoon("DismissAlerts"):init() hs.loadSpoon("DismissAlerts"):init()
hs.loadSpoon("MoveWindow"):init() hs.loadSpoon("MoveWindow"):init()
hs.loadSpoon("HideZoomWindow"):init()

View File

@@ -31,8 +31,9 @@ in
pkgs.comma # Nix-index auto-launch pkgs.comma # Nix-index auto-launch
pkgs.nix-inspect # TUI for browsing Nix configs pkgs.nix-inspect # TUI for browsing Nix configs
pkgs.crush # AI LLM Agent # pkgs.crush # AI LLM Agent
pkgs.gemini-cli # AI LLM Agent pkgs.gemini-cli # AI LLM Agent
pkgs.pi-coding-agent # AI LLM Agent
]; ];

View File

@@ -21,6 +21,8 @@ in
]; ];
home.packages = [ home.packages = [
pkgs.actionlint # Lint for GitHub Actions Workflows
pkgs.claude-code # AI LLM Agent
pkgs.stable.visidata # CSV inspector pkgs.stable.visidata # CSV inspector
pkgs.dos2unix # Convert Windows text files pkgs.dos2unix # Convert Windows text files
pkgs.inetutils # Includes telnet pkgs.inetutils # Includes telnet
@@ -38,6 +40,7 @@ in
pkgs.nmasur.ocr # Converts images to text pkgs.nmasur.ocr # Converts images to text
pkgs.nmasur.aws-ec2 # Browse EC2 instances pkgs.nmasur.aws-ec2 # Browse EC2 instances
pkgs.nmasur.terraform-init # Quick shortcut for initializing Terraform backend pkgs.nmasur.terraform-init # Quick shortcut for initializing Terraform backend
pkgs.uv # Python packaging
]; ];
programs.fish.shellAliases.ec2 = "aws-ec2"; programs.fish.shellAliases.ec2 = "aws-ec2";

View File

@@ -33,7 +33,6 @@ in
}; };
global = { global = {
brewfile = true; # Run brew bundle from anywhere brewfile = true; # Run brew bundle from anywhere
lockfiles = false; # Don't save lockfile (since running from anywhere)
}; };
}; };

View File

@@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBxUDhh
SkpvdDNNS04yNk0yNGtqRlRXT2V2QVVScUpVd3RrMWUvYnVyRlJFCktoZUw1VnJI
SnJ4dDBZK1ROUDRhWm1EaExKZUJmM1NrcUZ0elRtZXZFSTQKLT4gc3NoLWVkMjU1
MTkgWXlTVU1RICtHZGEyUm1lelBEWVFIaCsxSmx0S2V3Yk5qREVRaDdtSkp6ckcz
UDB5aWcKUFNoeU1YQjhaTG1zTEZBZElkUUpUcXVXdzgrUENUajNqRytMMFZVTzNm
NAotPiBzc2gtZWQyNTUxOSBuanZYNUEgNjNoM0U0ZnE5dzNCenRWZmVkRVdXOGFa
cmFjSWtFOUVXSUdzTFNlWGhUSQpvNnk3NXdGZkhtaGRJRmd3czFNUHh3OUlTSGpG
YUJjT1Baa3dRdzF4V2EwCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBXcnNQcnY5MnJ3
b3hLM01PYXNwa2tPTFVRMC96QmZZTkdDNktWZFRHOVE4Ck1PZUlLcXN6Rnh3UnlS
dVkwODJ2QjBXWUZOUTdBU01DYjFSemJxY1haVVUKLT4gc3NoLWVkMjU1MTkgejFP
Y1p3IEQwZTA3WFkwMWJjbXhMRDlFaEJjMVhuZFpTVTFsaktqWHFXN0J1ajJHMmMK
bXRTdTI2N1o4ZXhYcG9kWCtMNjJCMG0zeUpqMS95SC9VdTRNdUY3ZFVVSQotLS0g
OXJFMUkvOXkvdStrU1dBSEhhNnE0NU56SHE0UkUvbXhwcWRCdkdxdXN3SQpXUnGQ
XJT+KXvM80eW2z/je+0kq9Yh+DkgcWtUpq2k2WyzIue9AifKco9CQ4AsBtKKoxO9
SxjY/7b0HRwoXS578gwTxJD0j9sBRsz4s64IeiepKn01KcMTgo1TxYzB7JgM
-----END AGE ENCRYPTED FILE-----

View File

@@ -28,9 +28,22 @@ in
before = [ "grafana.service" ]; before = [ "grafana.service" ];
}; };
secrets.grafana-secret-key = {
source = ./grafana-secret-key.age;
dest = "${config.secretsDirectory}/grafana-secret-key";
owner = "grafana";
group = "grafana";
permissions = "0440";
};
systemd.services.grafana-secret-key = {
requiredBy = [ "grafana.service" ];
before = [ "grafana.service" ];
};
services.grafana = { services.grafana = {
enable = true; enable = true;
settings = { settings = {
security.secret_key = "$__file{${config.secrets.grafana-secret-key.dest}}";
server = { server = {
domain = hostnames.metrics; domain = hostnames.metrics;
http_addr = "127.0.0.1"; http_addr = "127.0.0.1";