mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-15 22:03:47 +00:00
config
This commit is contained in:
parent
f74819de9d
commit
02c996d21a
11 changed files with 592 additions and 99 deletions
231
docs/homebrew-nixpkgs-validation.md
Normal file
231
docs/homebrew-nixpkgs-validation.md
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
# Homebrew to nixpkgs Validation
|
||||
|
||||
Generated by `scripts/validate-homebrew-against-nixpkgs.py`.
|
||||
|
||||
Validation method:
|
||||
|
||||
- official source: `search.nixos.org` backend
|
||||
- channel: `nixos-unstable`
|
||||
- brew source: `inventory/current/brew-bundle.txt`
|
||||
- cask source: `inventory/current/brew-casks.txt`
|
||||
- exact verification: Elasticsearch `_count` on `package_attr_name` with `package_platforms = aarch64-darwin`
|
||||
- search URLs are included for human follow-up, but the exact-count result is the real gate
|
||||
|
||||
- backend alias used: `latest-44-nixos-unstable`
|
||||
- brews moved to Nix: `71`
|
||||
- brews kept in Homebrew: `9`
|
||||
- casks moved to Nix: `10`
|
||||
- casks kept in Homebrew: `10`
|
||||
|
||||
## Brews
|
||||
|
||||
| Homebrew item | nixpkgs attr | Exact verified | In flake | Action | Reason |
|
||||
|---|---|---|---|---|---|
|
||||
| `python@3.13` | `-` | no | yes | `keep-homebrew` | exact standalone nixpkgs attr not confirmed via official search backend |
|
||||
| `apache-arrow` | `arrow-cpp` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `binwalk` | `binwalk` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `cloc` | `cloc` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `cloudflared` | `cloudflared` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `cmake` | `cmakeCurses` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `coreutils` | `coreutils-prefixed` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `criterion` | `criterion` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `diff-so-fancy` | `diff-so-fancy` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `e2fsprogs` | `e2fsprogs` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `fd` | `fd` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `ffmpeg` | `ffmpeg_7` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `flyctl` | `flyctl` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `fzf` | `fzf` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `gh` | `gh` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `git-delta` | `delta` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `git-filter-repo` | `git-filter-repo` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `git-lfs` | `git-lfs` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `gitleaks` | `gitleaks` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `gnu-time` | `time` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `go` | `go_1_26` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `helm` | `kubernetes-helm-wrapped` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `imagemagick` | `imagemagickBig` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `jq` | `jq` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `k9s` | `k9s` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `kind` | `kind` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `lazygit` | `lazygit` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `libpq` | `libpq` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `librsvg` | `librsvg` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `livekit` | `livekit` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `livekit-cli` | `livekit-cli` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `llmfit` | `llmfit` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `mactop` | `mactop` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `minikube` | `minikube` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `mint` | `mint` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `mise` | `mise` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `neovim` | `neovim` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `node` | `nodejs_22` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `openjdk` | `javaPackages.compiler.openjdk25` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `pandoc` | `pandoc` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `pipx` | `pipx` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `poppler` | `poppler` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `portaudio` | `portaudio` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `postgresql@14` | `postgresql_14` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `postgresql@16` | `postgresql_16` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `postgresql@17` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `potrace` | `potrace` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `redis` | `redis` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `resvg` | `resvg` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `ripgrep` | `ripgrep` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `semgrep` | `semgrep` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `sevenzip` | `p7zip` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `sox` | `sox` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `stow` | `stow` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `swiftformat` | `swiftformat` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `swiftlint` | `swiftlint` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `tailscale` | `tailscale` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `tmux` | `tmux` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `tree` | `tree` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `trivy` | `trivy` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `universal-ctags` | `universal-ctags` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `websocat` | `websocat` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `wget` | `wget` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `worktrunk` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `yazi` | `yazi-unwrapped` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `yq` | `yq` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `yt-dlp` | `yt-dlp` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `zoxide` | `zoxide` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `zsh-autosuggestions` | `zsh-autosuggestions` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `zsh-syntax-highlighting` | `zsh-syntax-highlighting` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `daytonaio/tap/daytona` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `hashicorp/tap/terraform` | `terraform` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `jnsahaj/lumen/lumen` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `nicosuave/tap/memex` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `steipete/tap/bird` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `steipete/tap/gogcli` | `gogcli` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `steipete/tap/summarize` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `stripe/stripe-cli/stripe` | `stripe-cli` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `supabase/tap/supabase` | `supabase-cli` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `withgraphite/tap/graphite` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
|
||||
## Casks
|
||||
|
||||
| Homebrew item | nixpkgs attr | Exact verified | In flake | Action | Reason |
|
||||
|---|---|---|---|---|---|
|
||||
| `aerospace` | `aerospace` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `anaconda` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `codelayer` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `codex` | `codex` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `codexbar` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `companion` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `emacs-app` | `emacs` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `font-jetbrains-mono` | `jetbrains-mono` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `font-symbols-only-nerd-font` | `nerd-fonts.symbols-only` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `gcloud-cli` | `google-cloud-sdk` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `ghostty@tip` | `ghostty-bin` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `ngrok` | `ngrok` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `opencode-desktop` | `opencode-desktop` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
| `osaurus` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `pants` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `riptide-beta` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `riptide-dev` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `riptide-experimental` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `virtualbox` | `-` | no | yes | `keep-homebrew` | no exact nixpkgs attr on aarch64-darwin |
|
||||
| `warp` | `warp-terminal` | yes | yes | `move-to-nix` | validated exact attr on nixos-unstable |
|
||||
|
||||
## Human Search Links
|
||||
|
||||
- `python@3.13`: https://search.nixos.org/packages?channel=unstable&query=python%403.13
|
||||
- `apache-arrow`: https://search.nixos.org/packages?channel=unstable&query=arrow-cpp
|
||||
- `binwalk`: https://search.nixos.org/packages?channel=unstable&query=binwalk
|
||||
- `cloc`: https://search.nixos.org/packages?channel=unstable&query=cloc
|
||||
- `cloudflared`: https://search.nixos.org/packages?channel=unstable&query=cloudflared
|
||||
- `cmake`: https://search.nixos.org/packages?channel=unstable&query=cmakeCurses
|
||||
- `coreutils`: https://search.nixos.org/packages?channel=unstable&query=coreutils-prefixed
|
||||
- `criterion`: https://search.nixos.org/packages?channel=unstable&query=criterion
|
||||
- `diff-so-fancy`: https://search.nixos.org/packages?channel=unstable&query=diff-so-fancy
|
||||
- `e2fsprogs`: https://search.nixos.org/packages?channel=unstable&query=e2fsprogs
|
||||
- `fd`: https://search.nixos.org/packages?channel=unstable&query=fd
|
||||
- `ffmpeg`: https://search.nixos.org/packages?channel=unstable&query=ffmpeg_7
|
||||
- `flyctl`: https://search.nixos.org/packages?channel=unstable&query=flyctl
|
||||
- `fzf`: https://search.nixos.org/packages?channel=unstable&query=fzf
|
||||
- `gh`: https://search.nixos.org/packages?channel=unstable&query=gh
|
||||
- `git-delta`: https://search.nixos.org/packages?channel=unstable&query=delta
|
||||
- `git-filter-repo`: https://search.nixos.org/packages?channel=unstable&query=git-filter-repo
|
||||
- `git-lfs`: https://search.nixos.org/packages?channel=unstable&query=git-lfs
|
||||
- `gitleaks`: https://search.nixos.org/packages?channel=unstable&query=gitleaks
|
||||
- `gnu-time`: https://search.nixos.org/packages?channel=unstable&query=time
|
||||
- `go`: https://search.nixos.org/packages?channel=unstable&query=go_1_26
|
||||
- `helm`: https://search.nixos.org/packages?channel=unstable&query=kubernetes-helm-wrapped
|
||||
- `imagemagick`: https://search.nixos.org/packages?channel=unstable&query=imagemagickBig
|
||||
- `jq`: https://search.nixos.org/packages?channel=unstable&query=jq
|
||||
- `k9s`: https://search.nixos.org/packages?channel=unstable&query=k9s
|
||||
- `kind`: https://search.nixos.org/packages?channel=unstable&query=kind
|
||||
- `lazygit`: https://search.nixos.org/packages?channel=unstable&query=lazygit
|
||||
- `libpq`: https://search.nixos.org/packages?channel=unstable&query=libpq
|
||||
- `librsvg`: https://search.nixos.org/packages?channel=unstable&query=librsvg
|
||||
- `livekit`: https://search.nixos.org/packages?channel=unstable&query=livekit
|
||||
- `livekit-cli`: https://search.nixos.org/packages?channel=unstable&query=livekit-cli
|
||||
- `llmfit`: https://search.nixos.org/packages?channel=unstable&query=llmfit
|
||||
- `mactop`: https://search.nixos.org/packages?channel=unstable&query=mactop
|
||||
- `minikube`: https://search.nixos.org/packages?channel=unstable&query=minikube
|
||||
- `mint`: https://search.nixos.org/packages?channel=unstable&query=mint
|
||||
- `mise`: https://search.nixos.org/packages?channel=unstable&query=mise
|
||||
- `neovim`: https://search.nixos.org/packages?channel=unstable&query=neovim
|
||||
- `node`: https://search.nixos.org/packages?channel=unstable&query=nodejs_22
|
||||
- `openjdk`: https://search.nixos.org/packages?channel=unstable&query=javaPackages.compiler.openjdk25
|
||||
- `pandoc`: https://search.nixos.org/packages?channel=unstable&query=pandoc
|
||||
- `pipx`: https://search.nixos.org/packages?channel=unstable&query=pipx
|
||||
- `poppler`: https://search.nixos.org/packages?channel=unstable&query=poppler
|
||||
- `portaudio`: https://search.nixos.org/packages?channel=unstable&query=portaudio
|
||||
- `postgresql@14`: https://search.nixos.org/packages?channel=unstable&query=postgresql_14
|
||||
- `postgresql@16`: https://search.nixos.org/packages?channel=unstable&query=postgresql_16
|
||||
- `postgresql@17`: https://search.nixos.org/packages?channel=unstable&query=postgresql%4017
|
||||
- `potrace`: https://search.nixos.org/packages?channel=unstable&query=potrace
|
||||
- `redis`: https://search.nixos.org/packages?channel=unstable&query=redis
|
||||
- `resvg`: https://search.nixos.org/packages?channel=unstable&query=resvg
|
||||
- `ripgrep`: https://search.nixos.org/packages?channel=unstable&query=ripgrep
|
||||
- `semgrep`: https://search.nixos.org/packages?channel=unstable&query=semgrep
|
||||
- `sevenzip`: https://search.nixos.org/packages?channel=unstable&query=p7zip
|
||||
- `sox`: https://search.nixos.org/packages?channel=unstable&query=sox
|
||||
- `stow`: https://search.nixos.org/packages?channel=unstable&query=stow
|
||||
- `swiftformat`: https://search.nixos.org/packages?channel=unstable&query=swiftformat
|
||||
- `swiftlint`: https://search.nixos.org/packages?channel=unstable&query=swiftlint
|
||||
- `tailscale`: https://search.nixos.org/packages?channel=unstable&query=tailscale
|
||||
- `tmux`: https://search.nixos.org/packages?channel=unstable&query=tmux
|
||||
- `tree`: https://search.nixos.org/packages?channel=unstable&query=tree
|
||||
- `trivy`: https://search.nixos.org/packages?channel=unstable&query=trivy
|
||||
- `universal-ctags`: https://search.nixos.org/packages?channel=unstable&query=universal-ctags
|
||||
- `websocat`: https://search.nixos.org/packages?channel=unstable&query=websocat
|
||||
- `wget`: https://search.nixos.org/packages?channel=unstable&query=wget
|
||||
- `worktrunk`: https://search.nixos.org/packages?channel=unstable&query=worktrunk
|
||||
- `yazi`: https://search.nixos.org/packages?channel=unstable&query=yazi-unwrapped
|
||||
- `yq`: https://search.nixos.org/packages?channel=unstable&query=yq
|
||||
- `yt-dlp`: https://search.nixos.org/packages?channel=unstable&query=yt-dlp
|
||||
- `zoxide`: https://search.nixos.org/packages?channel=unstable&query=zoxide
|
||||
- `zsh-autosuggestions`: https://search.nixos.org/packages?channel=unstable&query=zsh-autosuggestions
|
||||
- `zsh-syntax-highlighting`: https://search.nixos.org/packages?channel=unstable&query=zsh-syntax-highlighting
|
||||
- `daytonaio/tap/daytona`: https://search.nixos.org/packages?channel=unstable&query=daytona
|
||||
- `hashicorp/tap/terraform`: https://search.nixos.org/packages?channel=unstable&query=terraform
|
||||
- `jnsahaj/lumen/lumen`: https://search.nixos.org/packages?channel=unstable&query=lumen
|
||||
- `nicosuave/tap/memex`: https://search.nixos.org/packages?channel=unstable&query=memex
|
||||
- `steipete/tap/bird`: https://search.nixos.org/packages?channel=unstable&query=bird
|
||||
- `steipete/tap/gogcli`: https://search.nixos.org/packages?channel=unstable&query=gogcli
|
||||
- `steipete/tap/summarize`: https://search.nixos.org/packages?channel=unstable&query=summarize
|
||||
- `stripe/stripe-cli/stripe`: https://search.nixos.org/packages?channel=unstable&query=stripe-cli
|
||||
- `supabase/tap/supabase`: https://search.nixos.org/packages?channel=unstable&query=supabase-cli
|
||||
- `withgraphite/tap/graphite`: https://search.nixos.org/packages?channel=unstable&query=graphite
|
||||
- `aerospace`: https://search.nixos.org/packages?channel=unstable&query=aerospace
|
||||
- `anaconda`: https://search.nixos.org/packages?channel=unstable&query=anaconda
|
||||
- `codelayer`: https://search.nixos.org/packages?channel=unstable&query=codelayer
|
||||
- `codex`: https://search.nixos.org/packages?channel=unstable&query=codex
|
||||
- `codexbar`: https://search.nixos.org/packages?channel=unstable&query=codexbar
|
||||
- `companion`: https://search.nixos.org/packages?channel=unstable&query=companion
|
||||
- `emacs-app`: https://search.nixos.org/packages?channel=unstable&query=emacs
|
||||
- `font-jetbrains-mono`: https://search.nixos.org/packages?channel=unstable&query=jetbrains-mono
|
||||
- `font-symbols-only-nerd-font`: https://search.nixos.org/packages?channel=unstable&query=nerd-fonts.symbols-only
|
||||
- `gcloud-cli`: https://search.nixos.org/packages?channel=unstable&query=google-cloud-sdk
|
||||
- `ghostty@tip`: https://search.nixos.org/packages?channel=unstable&query=ghostty-bin
|
||||
- `ngrok`: https://search.nixos.org/packages?channel=unstable&query=ngrok
|
||||
- `opencode-desktop`: https://search.nixos.org/packages?channel=unstable&query=opencode-desktop
|
||||
- `osaurus`: https://search.nixos.org/packages?channel=unstable&query=osaurus
|
||||
- `pants`: https://search.nixos.org/packages?channel=unstable&query=pants
|
||||
- `riptide-beta`: https://search.nixos.org/packages?channel=unstable&query=riptide-beta
|
||||
- `riptide-dev`: https://search.nixos.org/packages?channel=unstable&query=riptide-dev
|
||||
- `riptide-experimental`: https://search.nixos.org/packages?channel=unstable&query=riptide-experimental
|
||||
- `virtualbox`: https://search.nixos.org/packages?channel=unstable&query=virtualbox
|
||||
- `warp`: https://search.nixos.org/packages?channel=unstable&query=warp-terminal
|
||||
9
home/bat.nix
Normal file
9
home/bat.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{...}: {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
|
||||
config = {
|
||||
theme = "gruvbox-dark";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./bat.nix
|
||||
./dotfiles.nix
|
||||
./ghostty.nix
|
||||
./git.nix
|
||||
./tmux.nix
|
||||
];
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
|
|
|
|||
|
|
@ -15,16 +15,11 @@ in {
|
|||
|
||||
home.file.".aerospace.toml".source = link "aerospace/.aerospace.toml";
|
||||
|
||||
home.file.".gitconfig".source = link "git/.gitconfig";
|
||||
|
||||
home.file.".zshenv".source = link "zsh/.zshenv";
|
||||
home.file.".zshrc".source = link "zsh/.zshrc";
|
||||
|
||||
home.file.".config/nvim".source = link "nvim/.config/nvim";
|
||||
|
||||
home.file.".config/tmux/tmux.conf".source = link "tmux/.config/tmux/tmux.conf";
|
||||
home.file.".config/tmux/session-list.sh".source = link "tmux/.config/tmux/session-list.sh";
|
||||
|
||||
home.file.".config/karabiner/karabiner.json".source =
|
||||
link "karabiner/.config/karabiner/karabiner.json";
|
||||
|
||||
|
|
@ -36,9 +31,6 @@ in {
|
|||
home.file.".codex/AGENTS.md".source = link "codex/.codex/AGENTS.md";
|
||||
home.file.".codex/config.toml".source = link "codex/.codex/config.toml";
|
||||
|
||||
home.file."Library/Application Support/com.mitchellh.ghostty/config".source =
|
||||
link "ghostty/Library/Application Support/com.mitchellh.ghostty/config.ghostty";
|
||||
|
||||
home.file."Library/Application Support/lazygit/config.yml".source =
|
||||
link "lazygit/Library/Application Support/lazygit/config.yml";
|
||||
}
|
||||
|
|
|
|||
55
home/ghostty.nix
Normal file
55
home/ghostty.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{pkgs, ...}: {
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
package = pkgs.ghostty-bin;
|
||||
installBatSyntax = true;
|
||||
|
||||
settings = {
|
||||
theme = "Gruvbox Material Dark";
|
||||
"font-family" = "Berkeley Mono";
|
||||
"font-codepoint-map" = "U+f101-U+f25c=nonicons";
|
||||
"background-opacity" = 1;
|
||||
"font-size" = 17;
|
||||
"window-padding-y" = 0;
|
||||
"window-padding-x" = 0;
|
||||
"window-padding-color" = "extend";
|
||||
"mouse-scroll-multiplier" = 1;
|
||||
keybind = [
|
||||
"global:alt+space=toggle_visibility"
|
||||
"shift+enter=text:\\n"
|
||||
"alt+v=activate_key_table:vim"
|
||||
"vim/"
|
||||
"vim/j=scroll_page_lines:1"
|
||||
"vim/k=scroll_page_lines:-1"
|
||||
"vim/ctrl+d=scroll_page_down"
|
||||
"vim/ctrl+u=scroll_page_up"
|
||||
"vim/ctrl+f=scroll_page_down"
|
||||
"vim/ctrl+b=scroll_page_up"
|
||||
"vim/shift+j=scroll_page_down"
|
||||
"vim/shift+k=scroll_page_up"
|
||||
"vim/g>g=scroll_to_top"
|
||||
"vim/shift+g=scroll_to_bottom"
|
||||
"vim/slash=start_search"
|
||||
"vim/n=navigate_search:next"
|
||||
"vim/v=copy_to_clipboard"
|
||||
"vim/y=copy_to_clipboard"
|
||||
"vim/shift+semicolon=toggle_command_palette"
|
||||
"vim/escape=deactivate_key_table"
|
||||
"vim/q=deactivate_key_table"
|
||||
"vim/i=deactivate_key_table"
|
||||
"vim/catch_all=ignore"
|
||||
];
|
||||
"mouse-hide-while-typing" = true;
|
||||
"macos-titlebar-style" = "hidden";
|
||||
"macos-option-as-alt" = true;
|
||||
"confirm-close-surface" = true;
|
||||
"window-title-font-family" = "VictorMono NFM Italic";
|
||||
"window-padding-balance" = true;
|
||||
"window-save-state" = "always";
|
||||
"shell-integration-features" = true;
|
||||
"copy-on-select" = "clipboard";
|
||||
"focus-follows-mouse" = true;
|
||||
"link-url" = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
58
home/git.nix
Normal file
58
home/git.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
||||
settings = {
|
||||
user = {
|
||||
name = "Harivansh Rathi";
|
||||
email = "rathiharivansh@gmail.com";
|
||||
};
|
||||
|
||||
advice.detachedHead = false;
|
||||
|
||||
core = {
|
||||
pager = "diff-so-fancy | less --tabs=4 -RFX";
|
||||
editor = "nvim";
|
||||
};
|
||||
|
||||
interactive.diffFilter = "diff-so-fancy --patch";
|
||||
|
||||
color = {
|
||||
ui = true;
|
||||
"diff-highlight" = {
|
||||
oldNormal = "red bold";
|
||||
oldHighlight = "red bold 52";
|
||||
newNormal = "green bold";
|
||||
newHighlight = "green bold 22";
|
||||
};
|
||||
diff = {
|
||||
meta = 11;
|
||||
frag = "magenta bold";
|
||||
func = "146 bold";
|
||||
commit = "yellow bold";
|
||||
old = "red bold";
|
||||
new = "green bold";
|
||||
whitespace = "red reverse";
|
||||
};
|
||||
};
|
||||
|
||||
delta = {
|
||||
"syntax-theme" = "gruvbox-dark";
|
||||
"hunk-header-style" = "omit";
|
||||
"minus-style" = ''syntax "#3c1f1e"'';
|
||||
"minus-emph-style" = ''syntax "#72261d"'';
|
||||
"plus-style" = ''syntax "#1d2c1d"'';
|
||||
"plus-emph-style" = ''syntax "#2b4a2b"'';
|
||||
};
|
||||
|
||||
push.autoSetupRemote = true;
|
||||
|
||||
"diff-so-fancy" = {
|
||||
markEmptyLines = true;
|
||||
stripLeadingSymbols = true;
|
||||
useUnicodeRuler = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
139
home/tmux.nix
Normal file
139
home/tmux.nix
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
{...}: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
# custom
|
||||
|
||||
# Set prefix to C-b (default)
|
||||
set -g prefix C-b
|
||||
bind C-b send-prefix
|
||||
|
||||
set -g mouse on
|
||||
|
||||
# Enable extended keys so Shift+Enter and other modified keys work
|
||||
set -s extended-keys on
|
||||
set -as terminal-features 'xterm*:extkeys'
|
||||
|
||||
# Use Vim-style pane navigation (prefix + h/j/k/l)
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Switch sessions with prefix + H/J/K/L (capital)
|
||||
bind H switch-client -p
|
||||
bind J switch-client -n
|
||||
bind K switch-client -p
|
||||
bind L switch-client -n
|
||||
|
||||
# Switch sessions with prefix + H/J/K/L (capital)
|
||||
bind J switch-client -n
|
||||
bind K switch-client -p
|
||||
bind H switch-client -p
|
||||
bind L switch-client -n
|
||||
|
||||
# fzf pane switcher
|
||||
bind f display-popup -w 80% -h 80% -E "\
|
||||
tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{session_name}/#{window_name} [#{pane_current_command}] #{pane_current_path}' \
|
||||
| fzf --reverse \
|
||||
--preview 'tmux capture-pane -ep -t {1}' \
|
||||
--preview-window right:60% \
|
||||
| awk '{print \$1}' \
|
||||
| xargs tmux switch-client -t"
|
||||
|
||||
# Auto-rename windows to the current running command
|
||||
set -g automatic-rename on
|
||||
set -g automatic-rename-format '#{pane_current_command}'
|
||||
|
||||
# Start all numbering at 1 instead of 0 for better key reachability
|
||||
set-option -g base-index 1
|
||||
set-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
# Increase history limit, as we want an "almost" unlimited buffer.
|
||||
set-option -g history-limit 100000
|
||||
|
||||
# Fix Terminal Title display, to not contain tmux specific information
|
||||
set-option -g set-titles on
|
||||
set-option -g set-titles-string "#{pane_title}"
|
||||
|
||||
# Open new windows and panes in the current working directory of the active pane.
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
bind - split-window -c "#{pane_current_path}"
|
||||
bind "'" split-window -h -c "#{pane_current_path}"
|
||||
|
||||
# Enable support for terminal focus and extended keys.
|
||||
set-option -s focus-events on
|
||||
set-option -s extended-keys on
|
||||
|
||||
# Disable waiting time when pressing escape, for smoother Neovim usage.
|
||||
set-option -s escape-time 0
|
||||
|
||||
# Styling
|
||||
RED="#ea6962"
|
||||
GREEN="#a9b665"
|
||||
YELLOW="#d8a657"
|
||||
BLUE="#7daea3"
|
||||
MAGENTA="#d3869b"
|
||||
CYAN="#89b482"
|
||||
BLACK="#1d2021"
|
||||
DARK_GRAY="#32302F"
|
||||
LIGHT_GRAY="#4F4946"
|
||||
BG="#32302F"
|
||||
FG="#d4be98"
|
||||
|
||||
HALF_ROUND_OPEN="#(printf '\uE0B2')"
|
||||
HALF_ROUND_CLOSE="#(printf '\uE0B0')"
|
||||
TRIANGLE_OPEN="#(printf '\uE0B2')"
|
||||
TRIANGLE_CLOSE="#(printf '\uE0B0')"
|
||||
|
||||
set-option -g status-position top
|
||||
set-option -g status-style bg=''${BG},fg=''${FG}
|
||||
set-option -g status-justify left
|
||||
set-option -g status-left ""
|
||||
set-option -g status-right "#(~/.config/tmux/session-list.sh)"
|
||||
set-option -g status-left-length 100
|
||||
set-option -g status-right-length 100
|
||||
|
||||
set-option -g window-status-format "\
|
||||
\
|
||||
#I\
|
||||
#[fg=''${MAGENTA}]:\
|
||||
#[fg=default]#W\
|
||||
\
|
||||
"
|
||||
|
||||
set-option -g window-status-current-format "\
|
||||
#[bg=''${LIGHT_GRAY},fg=default] #I\
|
||||
#[fg=''${RED}]:\
|
||||
#[fg=default]#W \
|
||||
#[bg=default]\
|
||||
"
|
||||
|
||||
set-option -g window-status-separator ""
|
||||
|
||||
# Plugins (TPM)
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||
|
||||
set -g @continuum-save-interval '10'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
'';
|
||||
};
|
||||
|
||||
home.file.".config/tmux/session-list.sh" = {
|
||||
executable = true;
|
||||
text = ''
|
||||
#!/bin/sh
|
||||
current=$(tmux display-message -p '#S')
|
||||
tmux list-sessions -F '#S' | while IFS= read -r s; do
|
||||
if [ "$s" = "$current" ]; then
|
||||
printf '#[bg=#4F4946,fg=#d8a657] %s #[bg=default,fg=default]' "$s"
|
||||
else
|
||||
printf ' %s ' "$s"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
imports = [
|
||||
../../modules/base.nix
|
||||
../../modules/macos.nix
|
||||
../../modules/packages.nix
|
||||
../../modules/homebrew.nix
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -32,13 +32,12 @@
|
|||
environment.shells = [pkgs.zsh];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bat
|
||||
curl
|
||||
fd
|
||||
fzf
|
||||
git
|
||||
gnupg
|
||||
go
|
||||
go_1_26
|
||||
jq
|
||||
just
|
||||
neovim
|
||||
|
|
|
|||
|
|
@ -11,125 +11,37 @@
|
|||
taps = [
|
||||
"daytonaio/tap"
|
||||
"getcompanion-ai/tap"
|
||||
"hashicorp/tap"
|
||||
"homebrew/services"
|
||||
"humanlayer/humanlayer"
|
||||
"jnsahaj/lumen"
|
||||
"nicosuave/tap"
|
||||
"nikitabobko/tap"
|
||||
"opencode-ai/tap"
|
||||
"pantsbuild/tap"
|
||||
"pipedreamhq/pd-cli"
|
||||
"steipete/tap"
|
||||
"stripe/stripe-cli"
|
||||
"supabase/tap"
|
||||
"tallesborges/zdx"
|
||||
"withgraphite/tap"
|
||||
];
|
||||
|
||||
brews = [
|
||||
"apache-arrow"
|
||||
"binwalk"
|
||||
"cloc"
|
||||
"cloudflared"
|
||||
"cmake"
|
||||
"coreutils"
|
||||
"criterion"
|
||||
"daytonaio/tap/daytona"
|
||||
"diff-so-fancy"
|
||||
"e2fsprogs"
|
||||
"fd"
|
||||
"ffmpeg"
|
||||
"flyctl"
|
||||
"fzf"
|
||||
"gh"
|
||||
"git-delta"
|
||||
"git-filter-repo"
|
||||
"git-lfs"
|
||||
"gitleaks"
|
||||
"gnu-time"
|
||||
"go"
|
||||
"hashicorp/tap/terraform"
|
||||
"helm"
|
||||
"imagemagick"
|
||||
"jnsahaj/lumen/lumen"
|
||||
"jq"
|
||||
"k9s"
|
||||
"kind"
|
||||
"lazygit"
|
||||
"libpq"
|
||||
"librsvg"
|
||||
"livekit"
|
||||
"livekit-cli"
|
||||
"llmfit"
|
||||
"mactop"
|
||||
"minikube"
|
||||
"mint"
|
||||
"mise"
|
||||
"neovim"
|
||||
"nicosuave/tap/memex"
|
||||
"node"
|
||||
"openjdk"
|
||||
"pandoc"
|
||||
"pipx"
|
||||
"poppler"
|
||||
"portaudio"
|
||||
"postgresql@14"
|
||||
"postgresql@16"
|
||||
"postgresql@17"
|
||||
"potrace"
|
||||
"redis"
|
||||
"resvg"
|
||||
"ripgrep"
|
||||
"semgrep"
|
||||
"sevenzip"
|
||||
"sox"
|
||||
"python@3.13"
|
||||
"steipete/tap/bird"
|
||||
"steipete/tap/gogcli"
|
||||
"steipete/tap/summarize"
|
||||
"stow"
|
||||
"stripe/stripe-cli/stripe"
|
||||
"supabase/tap/supabase"
|
||||
"swiftformat"
|
||||
"swiftlint"
|
||||
"tailscale"
|
||||
"tmux"
|
||||
"tree"
|
||||
"trivy"
|
||||
"universal-ctags"
|
||||
"websocat"
|
||||
"wget"
|
||||
"withgraphite/tap/graphite"
|
||||
"worktrunk"
|
||||
"yazi"
|
||||
"yq"
|
||||
"yt-dlp"
|
||||
"zoxide"
|
||||
"zsh-autosuggestions"
|
||||
"zsh-syntax-highlighting"
|
||||
];
|
||||
|
||||
casks = [
|
||||
"aerospace"
|
||||
"anaconda"
|
||||
"codelayer"
|
||||
"codex"
|
||||
"codexbar"
|
||||
"companion"
|
||||
"emacs-app"
|
||||
"font-jetbrains-mono"
|
||||
"font-symbols-only-nerd-font"
|
||||
"gcloud-cli"
|
||||
"ghostty@tip"
|
||||
"ngrok"
|
||||
"opencode-desktop"
|
||||
"osaurus"
|
||||
"pants"
|
||||
"riptide-beta"
|
||||
"riptide-dev"
|
||||
"riptide-experimental"
|
||||
"virtualbox"
|
||||
"warp"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
93
modules/packages.nix
Normal file
93
modules/packages.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
berkeleyMono = pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "berkeley-mono";
|
||||
version = "local";
|
||||
src = /. + "/Users/${username}/Library/Fonts/BerkeleyMono-Regular.otf";
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
install -Dm644 "$src" "$out/share/fonts/opentype/BerkeleyMono-Regular.otf"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
environment.systemPackages = with pkgs; [
|
||||
aerospace
|
||||
arrow-cpp
|
||||
binwalk
|
||||
cloc
|
||||
cloudflared
|
||||
cmakeCurses
|
||||
codex
|
||||
coreutils-prefixed
|
||||
criterion
|
||||
delta
|
||||
diff-so-fancy
|
||||
e2fsprogs
|
||||
emacs
|
||||
ffmpeg_7
|
||||
flyctl
|
||||
gh
|
||||
ghostty-bin
|
||||
git-filter-repo
|
||||
git-lfs
|
||||
gitleaks
|
||||
gogcli
|
||||
google-cloud-sdk
|
||||
imagemagickBig
|
||||
k9s
|
||||
kind
|
||||
kubernetes-helm-wrapped
|
||||
lazygit
|
||||
libpq
|
||||
librsvg
|
||||
livekit
|
||||
livekit-cli
|
||||
llmfit
|
||||
mactop
|
||||
minikube
|
||||
mint
|
||||
mise
|
||||
ngrok
|
||||
opencode-desktop
|
||||
javaPackages.compiler.openjdk25
|
||||
p7zip
|
||||
pandoc
|
||||
pipx
|
||||
poppler
|
||||
portaudio
|
||||
postgresql_14
|
||||
postgresql_16
|
||||
potrace
|
||||
redis
|
||||
resvg
|
||||
semgrep
|
||||
sox
|
||||
stow
|
||||
stripe-cli
|
||||
supabase-cli
|
||||
swiftformat
|
||||
swiftlint
|
||||
tailscale
|
||||
terraform
|
||||
time
|
||||
tmux
|
||||
trivy
|
||||
universal-ctags
|
||||
warp-terminal
|
||||
websocat
|
||||
yazi-unwrapped
|
||||
yq
|
||||
yt-dlp
|
||||
zsh-autosuggestions
|
||||
zsh-syntax-highlighting
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
berkeleyMono
|
||||
jetbrains-mono
|
||||
nerd-fonts.symbols-only
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue