mirror of
https://github.com/srid/nixos-config.git
synced 2026-07-16 22:01:33 +08:00
* ralph(eval): baseline + benchmark harness pureintent cpuTime 23.17s, zest cpuTime 14.93s (median of 5). Methodology: NIX_SHOW_STATS cpuTime, eval-cache off, warm fetcher cache. * ralph(eval) cycle 1: disable NixOS options manual on pureintent documentation.nixos.enable = false. Generating the NixOS manual evaluates every option's doc string. nrThunks 20,400,114 -> 19,201,996 (-5.9%), nrFunctionCalls -6.2%, nrPrimOpCalls -7.5%. Package man pages unaffected. Metric pivoted to deterministic NIX_SHOW_STATS counters: cpuTime is unusable on this thermally-throttling machine (same eval = 11s..21s). * ralph(eval): switch home target zest -> sincereintent (per request) sincereintent home config baseline: nrThunks 5,323,428 / calls 3,227,404 / primops 1,565,120 (deterministic). * ralph(eval) cycle 2: disable home-manager options manpage manual.manpages.enable = false in shared modules/home/default.nix. HM builds home-configuration.nix(5) by default, evaluating every HM option's doc string. sincereintent nrThunks 5,323,428 -> 3,551,679 (-33.3%), calls -35%, primops -39%. * ralph(eval): record cycle-2 pureintent gain (shared HM module) pureintent nrThunks 19,201,996 -> 17,431,437 (-9.2%); cycle-2's manual.manpages.enable=false also feeds pureintent's embedded home-manager via modules/nixos/default.nix. Total pureintent -14.6% from baseline. * ralph(eval) cycle 3: profiling + dead-ends (no behaviour-preserving win) Confirmed: nixpkgs single-instantiation (no 2x trap), unused inputs are lazy (no counter impact), escapeShellArg hotspot is HM file-linking + /etc (not patchable here). Remaining eval cost is feature-bound (embedded HM, vira/kolu, google-cloud-sdk/pandoc/omnix). * ralph(eval) cycle 4: drop heavy home.packages (yt-dlp/lima/omnix/pandoc/gcloud) User-approved behaviour change. Removed from shared modules/home/cli/terminal.nix (kept hledger). pureintent nrThunks 17,431,437 -> 16,989,720 (-2.5%), sincereintent 3,551,679 -> 2,757,201 (-22.4%). Totals from baseline: pureintent -16.7%, sincereintent -48.2%. * ralph(eval): finalize report (final measurement, key findings, cost breakdown)
82 lines
1.3 KiB
Nix
82 lines
1.3 KiB
Nix
# Platform-independent terminal setup
|
|
{ flake, pkgs, ... }:
|
|
|
|
let
|
|
inherit (flake) inputs;
|
|
in
|
|
{
|
|
imports = [
|
|
inputs.nix-index-database.homeModules.nix-index
|
|
];
|
|
home.packages = with pkgs; [
|
|
# Unixy tools
|
|
ripgrep
|
|
fd
|
|
wget
|
|
moreutils # ts, etc.
|
|
gnumake
|
|
killall
|
|
television
|
|
gh
|
|
# Broken, https://github.com/NixOS/nixpkgs/issues/299680
|
|
# ncdu
|
|
|
|
# Useful for Nix development
|
|
ci
|
|
nixpkgs-fmt
|
|
just
|
|
watchexec
|
|
fswatch
|
|
|
|
eternal-terminal
|
|
|
|
# Publishing
|
|
asciinema
|
|
ispell
|
|
|
|
# Dev
|
|
fuckport
|
|
sshuttle-via
|
|
entr
|
|
hackage-publish
|
|
zellij-one
|
|
|
|
# Fonts
|
|
cascadia-code
|
|
monaspace
|
|
|
|
# Txns
|
|
hledger
|
|
|
|
gnupg
|
|
# Temporarily disabled: pulls in ffmpeg-full which fails to build (kvazaar test failures)
|
|
# compress-video
|
|
];
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
home.shellAliases = {
|
|
g = "git";
|
|
lg = "lazygit";
|
|
l = "ls";
|
|
beep = "say 'beep'";
|
|
};
|
|
|
|
programs = {
|
|
nix-index = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
nix-index-database.comma.enable = true;
|
|
bat.enable = true;
|
|
autojump.enable = false;
|
|
zoxide.enable = true;
|
|
fzf = {
|
|
enable = true;
|
|
defaultCommand = "fd --type f";
|
|
enableBashIntegration = true;
|
|
};
|
|
jq.enable = true;
|
|
btop.enable = true;
|
|
};
|
|
}
|