this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'main' of git.sealight.xyz:aynish/helm

+1652 -253
-8
.direnv/bin/nix-direnv-reload
··· 1 - #!/usr/bin/env bash 2 - dir="$(realpath $(dirname ${BASH_SOURCE[0]})/../..)" 3 - _nix_direnv_force_reload=1 direnv exec "$dir" true 4 - direnv reload 5 - # direnv reload updates the mtime of .envrc. Also update the timestamp of the 6 - # profile_rc file to keep track that we actually are up to date. 7 - touch $dir/.direnv/{nix,flake}-profile-*.rc 8 -
+385 -157
.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc
··· 7 7 export AR 8 8 AS='as' 9 9 export AS 10 - BASH='/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin/bash' 10 + BASH='/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash' 11 11 CC='gcc' 12 12 export CC 13 - CONFIG_SHELL='/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin/bash' 13 + CONFIG_SHELL='/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash' 14 14 export CONFIG_SHELL 15 15 CXX='g++' 16 16 export CXX 17 17 HOSTTYPE='x86_64' 18 - HOST_PATH='/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin:/nix/store/01znf87kiw5xx1dj0f7djrnrbg84ij28-findutils-4.9.0/bin:/nix/store/vq4vmndw555m7ld2bi6pq8kr348qvb6a-diffutils-3.10/bin:/nix/store/rwa7qyds01qzxvq7zq3kgnkrzzpw4s66-gnused-4.9/bin:/nix/store/n062zcsmfl9gfp6vfkcg0asb8jjwmy5i-gnugrep-3.11/bin:/nix/store/4v7m4yx07b3anmbznfhihjc8xiizyna9-gawk-5.2.2/bin:/nix/store/mi3pm67ps7c7k11aqki9182ygzg8j503-gnutar-1.35/bin:/nix/store/5c0ancqnpi0cf1h49mv13w68a950s9z0-gzip-1.13/bin:/nix/store/q5cv7r1sh3s4niyq7vm6h1j74394naxs-bzip2-1.0.8-bin/bin:/nix/store/bh7sbl99ygfvw9w96936nrhw46jmcmqq-gnumake-4.4.1/bin:/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin:/nix/store/mbh9gx43gsc5av019vsdkazbyiic3f0f-patch-2.7.6/bin:/nix/store/3q6fnwcm677l1q60vkhcf9m1gxhv83jm-xz-5.4.4-bin/bin:/nix/store/a5s2dmba16pw8l52f496gw0b7nli7mbn-file-5.45/bin' 18 + HOST_PATH='/nix/store/rry6qingvsrqmc7ll7jgaqpybcbdgf5v-coreutils-9.7/bin:/nix/store/392hs9nhm6wfw4imjllbvb1wil1n39qx-findutils-4.10.0/bin:/nix/store/xw0mf3shymq3k7zlncf09rm8917sdi4h-diffutils-3.12/bin:/nix/store/4rpiqv9yr2pw5094v4wc33ijkqjpm9sa-gnused-4.9/bin:/nix/store/l2wvwyg680h0v2la18hz3yiznxy2naqw-gnugrep-3.11/bin:/nix/store/c1z5j28ndxljf1ihqzag57bwpfpzms0g-gawk-5.3.2/bin:/nix/store/w60s4xh1pjg6dwbw7j0b4xzlpp88q5qg-gnutar-1.35/bin:/nix/store/xd9m9jkvrs8pbxvmkzkwviql33rd090j-gzip-1.14/bin:/nix/store/w1pxx760yidi7n9vbi5bhpii9xxl5vdj-bzip2-1.0.8-bin/bin:/nix/store/xk0d14zpm0njxzdm182dd722aqhav2cc-gnumake-4.4.1/bin:/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin:/nix/store/gj54zvf7vxll1mzzmqhqi1p4jiws3mfb-patch-2.7.6/bin:/nix/store/22rpb6790f346c55iqi6s9drr5qgmyjf-xz-5.8.1-bin/bin:/nix/store/xlmpcglsq8l09qh03rf0virz0331pjdc-file-5.45/bin' 19 19 export HOST_PATH 20 20 IFS=' 21 21 ' ··· 25 25 export LD 26 26 LINENO='76' 27 27 MACHTYPE='x86_64-pc-linux-gnu' 28 - NIX_BINTOOLS='/nix/store/qcg3rpl1l103zb1xfsw40wm9j5hzrp7y-binutils-wrapper-2.40' 28 + NIX_BINTOOLS='/nix/store/87zpmcmwvn48z4lbrfba74b312h22s6c-binutils-wrapper-2.44' 29 29 export NIX_BINTOOLS 30 30 NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' 31 31 export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu 32 32 NIX_BUILD_CORES='4' 33 33 export NIX_BUILD_CORES 34 - NIX_CC='/nix/store/vylmp73qymnv4siaqn1kl2hghj07hrj8-gcc-wrapper-12.3.0' 34 + NIX_CC='/nix/store/kaj8d1zcn149m40s9h0xi0khakibiphz-gcc-wrapper-14.3.0' 35 35 export NIX_CC 36 36 NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' 37 37 export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu 38 - NIX_CFLAGS_COMPILE=' -frandom-seed=q6hnwi6rdy -isystem /nix/store/hsv5438lvzq106llix5xi0f7cdvqk95q-nix-2.18.1-dev/include -isystem /nix/store/gdz3j02p6mfzmxs9zsssszwpppigb70g-boehm-gc-8.2.2-dev/include -isystem /nix/store/d7jspi1ws93ya34zriyrdxz5v5z6lijj-nlohmann_json-3.11.2/include -isystem /nix/store/hsv5438lvzq106llix5xi0f7cdvqk95q-nix-2.18.1-dev/include -isystem /nix/store/gdz3j02p6mfzmxs9zsssszwpppigb70g-boehm-gc-8.2.2-dev/include -isystem /nix/store/d7jspi1ws93ya34zriyrdxz5v5z6lijj-nlohmann_json-3.11.2/include' 38 + NIX_CFLAGS_COMPILE=' -frandom-seed=5s10b8rs3j -isystem /nix/store/8znh07lsz9q2fdp6fgcdwwv035xxfrl1-nix-2.28.4-dev/include -isystem /nix/store/qwnz3z0hf5pdhwsn92dc9lhlq4a3lsqk-boehm-gc-8.2.8-dev/include -isystem /nix/store/235hvgzcbl06fxy53515q8sr6lljvf68-nlohmann_json-3.11.3/include -isystem /nix/store/a5b9czim7vrihag71f8dy1c467qh3mph-libarchive-3.8.0-dev/include -isystem /nix/store/0vy272ral6dwzx96wkvd90l37v0gdrk7-attr-2.5.2-dev/include -isystem /nix/store/ra69jxg2pnnjymvkn83mfr7cnhllmwnj-acl-2.3.2-dev/include -isystem /nix/store/8znh07lsz9q2fdp6fgcdwwv035xxfrl1-nix-2.28.4-dev/include -isystem /nix/store/qwnz3z0hf5pdhwsn92dc9lhlq4a3lsqk-boehm-gc-8.2.8-dev/include -isystem /nix/store/235hvgzcbl06fxy53515q8sr6lljvf68-nlohmann_json-3.11.3/include -isystem /nix/store/a5b9czim7vrihag71f8dy1c467qh3mph-libarchive-3.8.0-dev/include -isystem /nix/store/0vy272ral6dwzx96wkvd90l37v0gdrk7-attr-2.5.2-dev/include -isystem /nix/store/ra69jxg2pnnjymvkn83mfr7cnhllmwnj-acl-2.3.2-dev/include' 39 39 export NIX_CFLAGS_COMPILE 40 40 NIX_CONFIG='experimental-features = nix-command flakes' 41 41 export NIX_CONFIG 42 42 NIX_ENFORCE_NO_NATIVE='1' 43 43 export NIX_ENFORCE_NO_NATIVE 44 - NIX_HARDENING_ENABLE='fortify fortify3 stackprotector pic strictoverflow format relro bindnow' 44 + NIX_HARDENING_ENABLE='bindnow format fortify fortify3 pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs' 45 45 export NIX_HARDENING_ENABLE 46 - NIX_LDFLAGS='-rpath /home/anish/usr/helm/outputs/out/lib -L/nix/store/gfmmah5rc4vl8mhli495lh5savq842p0-boehm-gc-8.2.2/lib -L/nix/store/j7nl2pj606d8ld5818hw3z3fbz00sdc5-nix-2.18.1/lib -L/nix/store/gfmmah5rc4vl8mhli495lh5savq842p0-boehm-gc-8.2.2/lib -L/nix/store/j7nl2pj606d8ld5818hw3z3fbz00sdc5-nix-2.18.1/lib' 46 + NIX_LDFLAGS='-rpath /home/anish/usr/helm/outputs/out/lib -L/nix/store/mrbslgynzhg5jfc05x2rlnsykzcxp2v0-boehm-gc-8.2.8/lib -L/nix/store/ik62z14lxr205b5gzfh4cjcla6gh9l6z-attr-2.5.2/lib -L/nix/store/8smmj5gbhnnqaf28qxak4xv57ccgm96p-acl-2.3.2/lib -L/nix/store/y130gnbp2qkfq6svqdv0s61b3m4043yp-libarchive-3.8.0-lib/lib -L/nix/store/7q9ll9pjrdfdb3qyfza2bzrk829izk9s-nix-2.28.4/lib -L/nix/store/mrbslgynzhg5jfc05x2rlnsykzcxp2v0-boehm-gc-8.2.8/lib -L/nix/store/ik62z14lxr205b5gzfh4cjcla6gh9l6z-attr-2.5.2/lib -L/nix/store/8smmj5gbhnnqaf28qxak4xv57ccgm96p-acl-2.3.2/lib -L/nix/store/y130gnbp2qkfq6svqdv0s61b3m4043yp-libarchive-3.8.0-lib/lib -L/nix/store/7q9ll9pjrdfdb3qyfza2bzrk829izk9s-nix-2.28.4/lib' 47 47 export NIX_LDFLAGS 48 48 NIX_NO_SELF_RPATH='1' 49 49 NIX_STORE='/nix/store' ··· 58 58 export OLDPWD 59 59 OPTERR='1' 60 60 OSTYPE='linux-gnu' 61 - PATH='/nix/store/j7nl2pj606d8ld5818hw3z3fbz00sdc5-nix-2.18.1/bin:/nix/store/p3s38kgwd16d2dimspckp5f1rri43mnq-home-manager-unstable-2023-12-31/bin:/nix/store/pz4jng8kb4iv9x67r730las2mdkv8s8q-git-2.42.0/bin:/nix/store/p8p72q6anyf0whaf9i75jynzk2z4ml36-agenix-0.13.0/bin:/nix/store/lfx4in7iqbbx5b6b85cndw268ria5512-deploy-rs-unstable-2023-12-20/bin:/nix/store/8nwmr2kmkrl1mnggka7fjibcglk68rc0-dnscontrol-4.6.0/bin:/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0/bin:/nix/store/vylmp73qymnv4siaqn1kl2hghj07hrj8-gcc-wrapper-12.3.0/bin:/nix/store/f94yr35af3xdiscbj6cp6kafvmn55gv9-gcc-12.3.0/bin:/nix/store/vksrk76p5cfbjxb0n95vdkxy7fl2cbcm-glibc-2.38-27-bin/bin:/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin:/nix/store/qcg3rpl1l103zb1xfsw40wm9j5hzrp7y-binutils-wrapper-2.40/bin:/nix/store/idiaraknw071d20nlqp49s18gbvw4wa0-binutils-2.40/bin:/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin:/nix/store/01znf87kiw5xx1dj0f7djrnrbg84ij28-findutils-4.9.0/bin:/nix/store/vq4vmndw555m7ld2bi6pq8kr348qvb6a-diffutils-3.10/bin:/nix/store/rwa7qyds01qzxvq7zq3kgnkrzzpw4s66-gnused-4.9/bin:/nix/store/n062zcsmfl9gfp6vfkcg0asb8jjwmy5i-gnugrep-3.11/bin:/nix/store/4v7m4yx07b3anmbznfhihjc8xiizyna9-gawk-5.2.2/bin:/nix/store/mi3pm67ps7c7k11aqki9182ygzg8j503-gnutar-1.35/bin:/nix/store/5c0ancqnpi0cf1h49mv13w68a950s9z0-gzip-1.13/bin:/nix/store/q5cv7r1sh3s4niyq7vm6h1j74394naxs-bzip2-1.0.8-bin/bin:/nix/store/bh7sbl99ygfvw9w96936nrhw46jmcmqq-gnumake-4.4.1/bin:/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin:/nix/store/mbh9gx43gsc5av019vsdkazbyiic3f0f-patch-2.7.6/bin:/nix/store/3q6fnwcm677l1q60vkhcf9m1gxhv83jm-xz-5.4.4-bin/bin:/nix/store/a5s2dmba16pw8l52f496gw0b7nli7mbn-file-5.45/bin' 61 + PATH='/nix/store/53cx9nd6i328f9zqsgx6sh1krsngy5jl-attr-2.5.2-bin/bin:/nix/store/61066bhvr54xkl2ssippfa5qylwgafqf-acl-2.3.2-bin/bin:/nix/store/8fq8mhb1dlwzgq7xfaxwgn0x623yjb43-libarchive-3.8.0/bin:/nix/store/7q9ll9pjrdfdb3qyfza2bzrk829izk9s-nix-2.28.4/bin:/nix/store/hr950wkqix97b759inrbxvljkqxj5113-home-manager-0-unstable-2025-05-13/bin:/nix/store/3kwbkj8xnzw5787gbannr741bczjkrq6-git-2.50.1/bin:/nix/store/s801pmgfwy4nifm72s638v0m4f32pnc5-agenix-0.15.0/bin:/nix/store/vlc65hzrqq9a29m7j0sb4hpqlwn0ny56-deploy-rs-0-unstable-2025-06-05/bin:/nix/store/dgqa38y4hxyw30g6bvrgd18750h364vr-dnscontrol-4.20.0/bin:/nix/store/g7i75czfbw9sy5f8v7rjbama6lr3ya3s-patchelf-0.15.0/bin:/nix/store/kaj8d1zcn149m40s9h0xi0khakibiphz-gcc-wrapper-14.3.0/bin:/nix/store/8adzgnxs3s0pbj22qhk9zjxi1fqmz3xv-gcc-14.3.0/bin:/nix/store/p2ixvjsas4qw58dcwk01d22skwq4fyka-glibc-2.40-66-bin/bin:/nix/store/rry6qingvsrqmc7ll7jgaqpybcbdgf5v-coreutils-9.7/bin:/nix/store/87zpmcmwvn48z4lbrfba74b312h22s6c-binutils-wrapper-2.44/bin:/nix/store/ap35np2bkwaba3rxs3qlxpma57n2awyb-binutils-2.44/bin:/nix/store/rry6qingvsrqmc7ll7jgaqpybcbdgf5v-coreutils-9.7/bin:/nix/store/392hs9nhm6wfw4imjllbvb1wil1n39qx-findutils-4.10.0/bin:/nix/store/xw0mf3shymq3k7zlncf09rm8917sdi4h-diffutils-3.12/bin:/nix/store/4rpiqv9yr2pw5094v4wc33ijkqjpm9sa-gnused-4.9/bin:/nix/store/l2wvwyg680h0v2la18hz3yiznxy2naqw-gnugrep-3.11/bin:/nix/store/c1z5j28ndxljf1ihqzag57bwpfpzms0g-gawk-5.3.2/bin:/nix/store/w60s4xh1pjg6dwbw7j0b4xzlpp88q5qg-gnutar-1.35/bin:/nix/store/xd9m9jkvrs8pbxvmkzkwviql33rd090j-gzip-1.14/bin:/nix/store/w1pxx760yidi7n9vbi5bhpii9xxl5vdj-bzip2-1.0.8-bin/bin:/nix/store/xk0d14zpm0njxzdm182dd722aqhav2cc-gnumake-4.4.1/bin:/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin:/nix/store/gj54zvf7vxll1mzzmqhqi1p4jiws3mfb-patch-2.7.6/bin:/nix/store/22rpb6790f346c55iqi6s9drr5qgmyjf-xz-5.8.1-bin/bin:/nix/store/xlmpcglsq8l09qh03rf0virz0331pjdc-file-5.45/bin' 62 62 export PATH 63 63 PS4='+ ' 64 64 RANLIB='ranlib' 65 65 export RANLIB 66 66 READELF='readelf' 67 67 export READELF 68 + SHELL='/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash' 69 + export SHELL 68 70 SIZE='size' 69 71 export SIZE 70 72 SOURCE_DATE_EPOCH='315532800' ··· 73 75 export STRINGS 74 76 STRIP='strip' 75 77 export STRIP 76 - XDG_DATA_DIRS='/nix/store/gfmmah5rc4vl8mhli495lh5savq842p0-boehm-gc-8.2.2/share:/nix/store/d7jspi1ws93ya34zriyrdxz5v5z6lijj-nlohmann_json-3.11.2/share:/nix/store/j7nl2pj606d8ld5818hw3z3fbz00sdc5-nix-2.18.1/share:/nix/store/p3s38kgwd16d2dimspckp5f1rri43mnq-home-manager-unstable-2023-12-31/share:/nix/store/pz4jng8kb4iv9x67r730las2mdkv8s8q-git-2.42.0/share:/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0/share' 78 + XDG_DATA_DIRS='/nix/store/mrbslgynzhg5jfc05x2rlnsykzcxp2v0-boehm-gc-8.2.8/share:/nix/store/235hvgzcbl06fxy53515q8sr6lljvf68-nlohmann_json-3.11.3/share:/nix/store/ik62z14lxr205b5gzfh4cjcla6gh9l6z-attr-2.5.2/share:/nix/store/8smmj5gbhnnqaf28qxak4xv57ccgm96p-acl-2.3.2/share:/nix/store/8fq8mhb1dlwzgq7xfaxwgn0x623yjb43-libarchive-3.8.0/share:/nix/store/7q9ll9pjrdfdb3qyfza2bzrk829izk9s-nix-2.28.4/share:/nix/store/hr950wkqix97b759inrbxvljkqxj5113-home-manager-0-unstable-2025-05-13/share:/nix/store/3kwbkj8xnzw5787gbannr741bczjkrq6-git-2.50.1/share:/nix/store/dgqa38y4hxyw30g6bvrgd18750h364vr-dnscontrol-4.20.0/share:/nix/store/g7i75czfbw9sy5f8v7rjbama6lr3ya3s-patchelf-0.15.0/share' 77 79 export XDG_DATA_DIRS 78 80 __structuredAttrs='' 79 81 export __structuredAttrs 82 + _substituteStream_has_warned_replace_deprecation='false' 80 83 buildInputs='' 81 84 export buildInputs 82 85 buildPhase='{ echo "------------------------------------------------------------"; ··· 89 92 } >> "$out" 90 93 ' 91 94 export buildPhase 92 - builder='/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin/bash' 95 + builder='/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash' 93 96 export builder 94 97 cmakeFlags='' 95 98 export cmakeFlags 96 99 configureFlags='' 97 100 export configureFlags 98 101 defaultBuildInputs='' 99 - defaultNativeBuildInputs='/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0 /nix/store/v5qyd49a256y44pz75qnsp9741mg336k-update-autotools-gnu-config-scripts-hook /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh /nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh /nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh /nix/store/vylmp73qymnv4siaqn1kl2hghj07hrj8-gcc-wrapper-12.3.0' 102 + defaultNativeBuildInputs='/nix/store/g7i75czfbw9sy5f8v7rjbama6lr3ya3s-patchelf-0.15.0 /nix/store/gi6g289i9ydm3z896x67q210y0qq29zg-update-autotools-gnu-config-scripts-hook /nix/store/jjhw2phnaip4kg0qjas3x3fsaifi8y0w-no-broken-symlinks.sh /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/hxv896faph0rqxjq2ycxpcrbnngc95sz-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/kaj8d1zcn149m40s9h0xi0khakibiphz-gcc-wrapper-14.3.0' 100 103 depsBuildBuild='' 101 104 export depsBuildBuild 102 105 depsBuildBuildPropagated='' ··· 127 130 declare -a envTargetTargetHooks=() 128 131 declare -a fixupOutputHooks=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi' 'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi' 'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi' '_moveLib64' '_moveSbin' '_moveSystemdUserUnits' 'patchShebangsAuto' '_pruneLibtoolFiles' '_doStrip' ) 129 132 guess='4' 130 - initialPath='/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3 /nix/store/01znf87kiw5xx1dj0f7djrnrbg84ij28-findutils-4.9.0 /nix/store/vq4vmndw555m7ld2bi6pq8kr348qvb6a-diffutils-3.10 /nix/store/rwa7qyds01qzxvq7zq3kgnkrzzpw4s66-gnused-4.9 /nix/store/n062zcsmfl9gfp6vfkcg0asb8jjwmy5i-gnugrep-3.11 /nix/store/4v7m4yx07b3anmbznfhihjc8xiizyna9-gawk-5.2.2 /nix/store/mi3pm67ps7c7k11aqki9182ygzg8j503-gnutar-1.35 /nix/store/5c0ancqnpi0cf1h49mv13w68a950s9z0-gzip-1.13 /nix/store/q5cv7r1sh3s4niyq7vm6h1j74394naxs-bzip2-1.0.8-bin /nix/store/bh7sbl99ygfvw9w96936nrhw46jmcmqq-gnumake-4.4.1 /nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15 /nix/store/mbh9gx43gsc5av019vsdkazbyiic3f0f-patch-2.7.6 /nix/store/3q6fnwcm677l1q60vkhcf9m1gxhv83jm-xz-5.4.4-bin /nix/store/a5s2dmba16pw8l52f496gw0b7nli7mbn-file-5.45' 133 + initialPath='/nix/store/rry6qingvsrqmc7ll7jgaqpybcbdgf5v-coreutils-9.7 /nix/store/392hs9nhm6wfw4imjllbvb1wil1n39qx-findutils-4.10.0 /nix/store/xw0mf3shymq3k7zlncf09rm8917sdi4h-diffutils-3.12 /nix/store/4rpiqv9yr2pw5094v4wc33ijkqjpm9sa-gnused-4.9 /nix/store/l2wvwyg680h0v2la18hz3yiznxy2naqw-gnugrep-3.11 /nix/store/c1z5j28ndxljf1ihqzag57bwpfpzms0g-gawk-5.3.2 /nix/store/w60s4xh1pjg6dwbw7j0b4xzlpp88q5qg-gnutar-1.35 /nix/store/xd9m9jkvrs8pbxvmkzkwviql33rd090j-gzip-1.14 /nix/store/w1pxx760yidi7n9vbi5bhpii9xxl5vdj-bzip2-1.0.8-bin /nix/store/xk0d14zpm0njxzdm182dd722aqhav2cc-gnumake-4.4.1 /nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37 /nix/store/gj54zvf7vxll1mzzmqhqi1p4jiws3mfb-patch-2.7.6 /nix/store/22rpb6790f346c55iqi6s9drr5qgmyjf-xz-5.8.1-bin /nix/store/xlmpcglsq8l09qh03rf0virz0331pjdc-file-5.45' 131 134 mesonFlags='' 132 135 export mesonFlags 133 136 name='nix-shell-env' 134 137 export name 135 - nativeBuildInputs='/nix/store/hsv5438lvzq106llix5xi0f7cdvqk95q-nix-2.18.1-dev /nix/store/p3s38kgwd16d2dimspckp5f1rri43mnq-home-manager-unstable-2023-12-31 /nix/store/pz4jng8kb4iv9x67r730las2mdkv8s8q-git-2.42.0 /nix/store/p8p72q6anyf0whaf9i75jynzk2z4ml36-agenix-0.13.0 /nix/store/lfx4in7iqbbx5b6b85cndw268ria5512-deploy-rs-unstable-2023-12-20 /nix/store/8nwmr2kmkrl1mnggka7fjibcglk68rc0-dnscontrol-4.6.0' 138 + nativeBuildInputs='/nix/store/8znh07lsz9q2fdp6fgcdwwv035xxfrl1-nix-2.28.4-dev /nix/store/hr950wkqix97b759inrbxvljkqxj5113-home-manager-0-unstable-2025-05-13 /nix/store/3kwbkj8xnzw5787gbannr741bczjkrq6-git-2.50.1 /nix/store/s801pmgfwy4nifm72s638v0m4f32pnc5-agenix-0.15.0 /nix/store/vlc65hzrqq9a29m7j0sb4hpqlwn0ny56-deploy-rs-0-unstable-2025-06-05 /nix/store/dgqa38y4hxyw30g6bvrgd18750h364vr-dnscontrol-4.20.0' 136 139 export nativeBuildInputs 137 140 out='/home/anish/usr/helm/outputs/out' 138 141 export out ··· 151 154 export patches 152 155 phases='buildPhase' 153 156 export phases 154 - pkg='/nix/store/vylmp73qymnv4siaqn1kl2hghj07hrj8-gcc-wrapper-12.3.0' 157 + pkg='/nix/store/kaj8d1zcn149m40s9h0xi0khakibiphz-gcc-wrapper-14.3.0' 155 158 declare -a pkgsBuildBuild=() 156 - declare -a pkgsBuildHost=('/nix/store/hsv5438lvzq106llix5xi0f7cdvqk95q-nix-2.18.1-dev' '/nix/store/gdz3j02p6mfzmxs9zsssszwpppigb70g-boehm-gc-8.2.2-dev' '/nix/store/gfmmah5rc4vl8mhli495lh5savq842p0-boehm-gc-8.2.2' '/nix/store/d7jspi1ws93ya34zriyrdxz5v5z6lijj-nlohmann_json-3.11.2' '/nix/store/j7nl2pj606d8ld5818hw3z3fbz00sdc5-nix-2.18.1' '/nix/store/p3s38kgwd16d2dimspckp5f1rri43mnq-home-manager-unstable-2023-12-31' '/nix/store/pz4jng8kb4iv9x67r730las2mdkv8s8q-git-2.42.0' '/nix/store/p8p72q6anyf0whaf9i75jynzk2z4ml36-agenix-0.13.0' '/nix/store/lfx4in7iqbbx5b6b85cndw268ria5512-deploy-rs-unstable-2023-12-20' '/nix/store/8nwmr2kmkrl1mnggka7fjibcglk68rc0-dnscontrol-4.6.0' '/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0' '/nix/store/v5qyd49a256y44pz75qnsp9741mg336k-update-autotools-gnu-config-scripts-hook' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh' '/nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh' '/nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh' '/nix/store/vylmp73qymnv4siaqn1kl2hghj07hrj8-gcc-wrapper-12.3.0' '/nix/store/qcg3rpl1l103zb1xfsw40wm9j5hzrp7y-binutils-wrapper-2.40' ) 159 + declare -a pkgsBuildHost=('/nix/store/8znh07lsz9q2fdp6fgcdwwv035xxfrl1-nix-2.28.4-dev' '/nix/store/qwnz3z0hf5pdhwsn92dc9lhlq4a3lsqk-boehm-gc-8.2.8-dev' '/nix/store/mrbslgynzhg5jfc05x2rlnsykzcxp2v0-boehm-gc-8.2.8' '/nix/store/235hvgzcbl06fxy53515q8sr6lljvf68-nlohmann_json-3.11.3' '/nix/store/a5b9czim7vrihag71f8dy1c467qh3mph-libarchive-3.8.0-dev' '/nix/store/0vy272ral6dwzx96wkvd90l37v0gdrk7-attr-2.5.2-dev' '/nix/store/53cx9nd6i328f9zqsgx6sh1krsngy5jl-attr-2.5.2-bin' '/nix/store/ik62z14lxr205b5gzfh4cjcla6gh9l6z-attr-2.5.2' '/nix/store/ra69jxg2pnnjymvkn83mfr7cnhllmwnj-acl-2.3.2-dev' '/nix/store/61066bhvr54xkl2ssippfa5qylwgafqf-acl-2.3.2-bin' '/nix/store/8smmj5gbhnnqaf28qxak4xv57ccgm96p-acl-2.3.2' '/nix/store/y130gnbp2qkfq6svqdv0s61b3m4043yp-libarchive-3.8.0-lib' '/nix/store/8fq8mhb1dlwzgq7xfaxwgn0x623yjb43-libarchive-3.8.0' '/nix/store/7q9ll9pjrdfdb3qyfza2bzrk829izk9s-nix-2.28.4' '/nix/store/hr950wkqix97b759inrbxvljkqxj5113-home-manager-0-unstable-2025-05-13' '/nix/store/3kwbkj8xnzw5787gbannr741bczjkrq6-git-2.50.1' '/nix/store/s801pmgfwy4nifm72s638v0m4f32pnc5-agenix-0.15.0' '/nix/store/vlc65hzrqq9a29m7j0sb4hpqlwn0ny56-deploy-rs-0-unstable-2025-06-05' '/nix/store/dgqa38y4hxyw30g6bvrgd18750h364vr-dnscontrol-4.20.0' '/nix/store/g7i75czfbw9sy5f8v7rjbama6lr3ya3s-patchelf-0.15.0' '/nix/store/gi6g289i9ydm3z896x67q210y0qq29zg-update-autotools-gnu-config-scripts-hook' '/nix/store/jjhw2phnaip4kg0qjas3x3fsaifi8y0w-no-broken-symlinks.sh' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh' '/nix/store/hxv896faph0rqxjq2ycxpcrbnngc95sz-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh' '/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' '/nix/store/kaj8d1zcn149m40s9h0xi0khakibiphz-gcc-wrapper-14.3.0' '/nix/store/87zpmcmwvn48z4lbrfba74b312h22s6c-binutils-wrapper-2.44' ) 157 160 declare -a pkgsBuildTarget=() 158 161 declare -a pkgsHostHost=() 159 162 declare -a pkgsHostTarget=() 160 163 declare -a pkgsTargetTarget=() 161 - declare -a postFixupHooks=('_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) 164 + declare -a postFixupHooks=('noBrokenSymlinksInAllOutputs' '_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) 162 165 declare -a postUnpackHooks=('_updateSourceDateEpochFromSourceRoot' ) 163 166 declare -a preConfigureHooks=('_multioutConfig' ) 164 167 preConfigurePhases=' updateAutotoolsGnuConfigScriptsPhase' ··· 173 176 propagatedNativeBuildInputs='' 174 177 export propagatedNativeBuildInputs 175 178 declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) 176 - shell='/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin/bash' 179 + shell='/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash' 177 180 export shell 178 181 shellHook='' 179 182 export shellHook 180 - stdenv='/nix/store/kv5wkk7xgc8paw9azshzlmxraffqcg0i-stdenv-linux' 183 + stdenv='/nix/store/p2mnji2cdxgf6h27hlqzqf7g8f9bqfsi-stdenv-linux' 181 184 export stdenv 182 185 strictDeps='' 183 186 export strictDeps 184 187 system='x86_64-linux' 185 188 export system 186 189 declare -a unpackCmdHooks=('_defaultUnpack' ) 187 - _accumFlagsArray () 188 - { 189 - 190 - local name; 191 - if [ -n "$__structuredAttrs" ]; then 192 - for name in "$@"; 193 - do 194 - local -n nameref="$name"; 195 - flagsArray+=(${nameref+"${nameref[@]}"}); 196 - done; 197 - else 198 - for name in "$@"; 199 - do 200 - local -n nameref="$name"; 201 - case "$name" in 202 - *Array) 203 - flagsArray+=(${nameref+"${nameref[@]}"}) 204 - ;; 205 - *) 206 - flagsArray+=(${nameref-}) 207 - ;; 208 - esac; 209 - done; 210 - fi 211 - } 212 190 _activatePkgs () 213 191 { 214 192 ··· 274 252 { 275 253 276 254 export system pname name version; 277 - for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); 278 - do 279 - if (( "${NIX_DEBUG:-0}" >= 1 )); then 280 - printf "@%s@ -> %q\n" "${varName}" "${!varName}" 1>&2; 281 - fi; 255 + while IFS='' read -r varName; do 256 + nixTalkativeLog "@${varName}@ -> ${!varName}"; 282 257 args+=("--subst-var" "$varName"); 283 - done 258 + done < <(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }') 284 259 } 285 260 _assignFirst () 286 261 { ··· 316 291 local def="$1"; 317 292 local hookName="$2"; 318 293 if declare -F "$hookName" > /dev/null; then 294 + nixTalkativeLog "calling implicit '$hookName' function hook"; 319 295 "$hookName"; 320 296 else 321 297 if type -p "$hookName" > /dev/null; then 298 + nixTalkativeLog "sourcing implicit '$hookName' script hook"; 322 299 source "$hookName"; 323 300 else 324 301 if [ -n "${!hookName:-}" ]; then 302 + nixTalkativeLog "evaling implicit '$hookName' string hook"; 325 303 eval "${!hookName}"; 326 304 else 327 305 return "$def"; ··· 341 319 echo "Did you specify two \"srcs\" with the same \"name\"?"; 342 320 return 1; 343 321 fi; 344 - cp -pr --reflink=auto -- "$fn" "$destination"; 322 + cp -r --preserve=mode,timestamps --reflink=auto -- "$fn" "$destination"; 345 323 else 346 324 case "$fn" in 347 325 *.tar.xz | *.tar.lzma | *.txz) 348 - xz -d < "$fn" | tar xf - --warning=no-timestamp 326 + ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn"; 327 + true ) | tar xf - --mode=+w --warning=no-timestamp 349 328 ;; 350 329 *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz) 351 - tar xf "$fn" --warning=no-timestamp 330 + tar xf "$fn" --mode=+w --warning=no-timestamp 352 331 ;; 353 332 *) 354 333 return 1 ··· 364 343 local -ra allDirs=(stripAllList stripAllListTarget); 365 344 local -ra stripCmds=(STRIP STRIP_FOR_TARGET); 366 345 local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET); 367 - stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin}; 346 + stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks}; 368 347 stripDebugListTarget=${stripDebugListTarget[*]:-}; 369 348 stripAllList=${stripAllList[*]:-}; 370 349 stripAllListTarget=${stripAllListTarget[*]:-}; ··· 392 371 eval "$1"; 393 372 fi 394 373 } 374 + _logHook () 375 + { 376 + 377 + if [[ -z ${NIX_LOG_FD-} ]]; then 378 + return; 379 + fi; 380 + local hookKind="$1"; 381 + local hookExpr="$2"; 382 + shift 2; 383 + if declare -F "$hookExpr" > /dev/null 2>&1; then 384 + nixTalkativeLog "calling '$hookKind' function hook '$hookExpr'" "$@"; 385 + else 386 + if type -p "$hookExpr" > /dev/null; then 387 + nixTalkativeLog "sourcing '$hookKind' script hook '$hookExpr'"; 388 + else 389 + if [[ "$hookExpr" != "_callImplicitHook"* ]]; then 390 + local exprToOutput; 391 + if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then 392 + exprToOutput="$hookExpr"; 393 + else 394 + local hookExprLine; 395 + while IFS= read -r hookExprLine; do 396 + hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}"; 397 + if [[ -n "$hookExprLine" ]]; then 398 + exprToOutput+="$hookExprLine\\n "; 399 + fi; 400 + done <<< "$hookExpr"; 401 + exprToOutput="${exprToOutput%%\\n }"; 402 + fi; 403 + nixTalkativeLog "evaling '$hookKind' string hook '$exprToOutput'"; 404 + fi; 405 + fi; 406 + fi 407 + } 395 408 _makeSymlinksRelative () 396 409 { 397 410 ··· 525 538 shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"; 526 539 fi; 527 540 fi; 528 - prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --oldincludedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale; 541 + prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale; 529 542 prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal 530 543 } 531 544 _multioutDevs () ··· 586 599 echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs; 587 600 done 588 601 } 602 + _nixLogWithLevel () 603 + { 604 + 605 + [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0; 606 + local logLevel; 607 + case "${1:?}" in 608 + 0) 609 + logLevel=ERROR 610 + ;; 611 + 1) 612 + logLevel=WARN 613 + ;; 614 + 2) 615 + logLevel=NOTICE 616 + ;; 617 + 3) 618 + logLevel=INFO 619 + ;; 620 + 4) 621 + logLevel=TALKATIVE 622 + ;; 623 + 5) 624 + logLevel=CHATTY 625 + ;; 626 + 6) 627 + logLevel=DEBUG 628 + ;; 629 + 7) 630 + logLevel=VOMIT 631 + ;; 632 + *) 633 + echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD"; 634 + return 1 635 + ;; 636 + esac; 637 + local callerName="${FUNCNAME[2]}"; 638 + if [[ $callerName == "_callImplicitHook" ]]; then 639 + callerName="${hookName:?}"; 640 + fi; 641 + printf "%s: %s: %s\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD" 642 + } 589 643 _overrideFirst () 590 644 { 591 645 ··· 616 670 local -r targetOffset="$3"; 617 671 (( hostOffset <= targetOffset )) || exit 1; 618 672 if [ -f "$pkg" ]; then 673 + nixTalkativeLog "sourcing setup hook '$pkg'"; 619 674 source "$pkg"; 620 675 fi; 621 676 if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then ··· 628 683 addToSearchPath _HOST_PATH "$pkg/bin"; 629 684 fi; 630 685 if [[ -f "$pkg/nix-support/setup-hook" ]]; then 686 + nixTalkativeLog "sourcing setup hook '$pkg/nix-support/setup-hook'"; 631 687 source "$pkg/nix-support/setup-hook"; 632 688 fi 633 689 } ··· 668 724 else 669 725 useArray=false; 670 726 fi; 671 - if declare -p "$1" 2> /dev/null | grep -q '^'; then 672 - type="$(declare -p "$1")"; 673 - if [[ "$type" =~ "declare -A" ]]; then 674 - echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; 675 - return 1; 676 - else 677 - if [[ "$type" =~ "declare -a" ]]; then 678 - useArray=true; 679 - else 680 - useArray=false; 681 - fi; 682 - fi; 727 + if type=$(declare -p "$1" 2> /dev/null); then 728 + case "${type#* }" in 729 + -A*) 730 + echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; 731 + return 1 732 + ;; 733 + -a*) 734 + useArray=true 735 + ;; 736 + *) 737 + useArray=false 738 + ;; 739 + esac; 683 740 fi; 684 741 shift; 685 742 if $useArray; then ··· 741 798 echo "no Makefile or custom buildPhase, doing nothing"; 742 799 else 743 800 foundMakefile=1; 744 - local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); 745 - _accumFlagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; 801 + local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); 802 + concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; 746 803 echoCmd 'build flags' "${flagsArray[@]}"; 747 804 make ${makefile:+-f $makefile} "${flagsArray[@]}"; 748 805 unset flagsArray; ··· 772 829 fi; 773 830 if [[ -z "${checkTarget:-}" ]]; then 774 831 if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then 775 - checkTarget=check; 832 + checkTarget="check"; 776 833 else 777 834 if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then 778 - checkTarget=test; 835 + checkTarget="test"; 779 836 fi; 780 837 fi; 781 838 fi; 782 839 if [[ -z "${checkTarget:-}" ]]; then 783 840 echo "no check/test target in ${makefile:-Makefile}, doing nothing"; 784 841 else 785 - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); 786 - _accumFlagsArray makeFlags makeFlagsArray; 787 - if [ -n "$__structuredAttrs" ]; then 788 - flagsArray+=("${checkFlags[@]:-VERBOSE=y}"); 789 - else 790 - flagsArray+=(${checkFlags:-VERBOSE=y}); 791 - fi; 792 - _accumFlagsArray checkFlagsArray; 793 - flagsArray+=(${checkTarget}); 842 + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); 843 + concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget; 794 844 echoCmd 'check flags' "${flagsArray[@]}"; 795 845 make ${makefile:+-f $makefile} "${flagsArray[@]}"; 796 846 unset flagsArray; ··· 817 867 target="$(readlink -f "$f")"; 818 868 if [ -f "$target".gz ]; then 819 869 ln -sf "$target".gz "$f".gz && rm "$f"; 870 + fi; 871 + done 872 + } 873 + concatStringsSep () 874 + { 875 + 876 + local sep="$1"; 877 + local name="$2"; 878 + local type oldifs; 879 + if type=$(declare -p "$name" 2> /dev/null); then 880 + local -n nameref="$name"; 881 + case "${type#* }" in 882 + -A*) 883 + echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2; 884 + return 1 885 + ;; 886 + -a*) 887 + local IFS="$(printf '\036')" 888 + ;; 889 + *) 890 + local IFS=" " 891 + ;; 892 + esac; 893 + local ifs_separated="${nameref[*]}"; 894 + echo -n "${ifs_separated//"$IFS"/"$sep"}"; 895 + fi 896 + } 897 + concatTo () 898 + { 899 + 900 + local -; 901 + set -o noglob; 902 + local -n targetref="$1"; 903 + shift; 904 + local arg default name type; 905 + for arg in "$@"; 906 + do 907 + IFS="=" read -r name default <<< "$arg"; 908 + local -n nameref="$name"; 909 + if [[ -z "${nameref[*]}" && -n "$default" ]]; then 910 + targetref+=("$default"); 911 + else 912 + if type=$(declare -p "$name" 2> /dev/null); then 913 + case "${type#* }" in 914 + -A*) 915 + echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2; 916 + return 1 917 + ;; 918 + -a*) 919 + targetref+=("${nameref[@]}") 920 + ;; 921 + *) 922 + if [[ "$name" = *"Array" ]]; then 923 + nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future"; 924 + targetref+=(${nameref+"${nameref[@]}"}); 925 + else 926 + targetref+=(${nameref-}); 927 + fi 928 + ;; 929 + esac; 930 + fi; 820 931 fi; 821 932 done 822 933 } ··· 853 964 prependToVar configureFlags --disable-static; 854 965 fi; 855 966 fi; 967 + if [ -z "${dontPatchShebangsInConfigure:-}" ]; then 968 + patchShebangs --build "$configureScript"; 969 + fi; 856 970 fi; 857 971 if [ -n "$configureScript" ]; then 858 972 local -a flagsArray; 859 - _accumFlagsArray configureFlags configureFlagsArray; 973 + concatTo flagsArray configureFlags configureFlagsArray; 860 974 echoCmd 'configure flags' "${flagsArray[@]}"; 861 975 $configureScript "${flagsArray[@]}"; 862 976 unset flagsArray; ··· 878 992 879 993 runHook preDist; 880 994 local flagsArray=(); 881 - _accumFlagsArray distFlags distFlagsArray; 882 - flagsArray+=(${distTarget:-dist}); 995 + concatTo flagsArray distFlags distFlagsArray distTarget=dist; 883 996 echo 'dist flags: %q' "${flagsArray[@]}"; 884 997 make ${makefile:+-f $makefile} "${flagsArray[@]}"; 885 998 if [ "${dontCopyDist:-0}" != 1 ]; then ··· 892 1005 { 893 1006 894 1007 if [ "${noDumpEnvVars:-0}" != 1 ]; then 895 - export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" || true; 1008 + { 1009 + install -m 0600 /dev/null "$NIX_BUILD_TOP/env-vars" && export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" 1010 + } || true; 896 1011 fi 897 1012 } 898 1013 echoCmd () ··· 941 1056 local var="${!varRef}"; 942 1057 unset -v varVar varRef; 943 1058 local varSlice="$var[*]"; 944 - case "${!varSlice-}" in 1059 + case " ${!varSlice-} " in 945 1060 *" $pkg "*) 946 1061 return 0 947 1062 ;; ··· 1010 1125 for output in $(getAllOutputNames); 1011 1126 do 1012 1127 if [ -e "${!output}" ]; then 1013 - chmod -R u+w "${!output}"; 1128 + chmod -R u+w,u-s,g-s "${!output}"; 1014 1129 fi; 1015 1130 done; 1016 1131 runHook preFixup; ··· 1036 1151 done; 1037 1152 unset -v hook; 1038 1153 fi; 1039 - if [ -n "${propagatedUserEnvPkgs:-}" ]; then 1154 + if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then 1040 1155 mkdir -p "${!outputBin}/nix-support"; 1041 - printWords $propagatedUserEnvPkgs > "${!outputBin}/nix-support/propagated-user-env-packages"; 1156 + printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages"; 1042 1157 fi; 1043 1158 runHook postFixup 1044 1159 } ··· 1095 1210 role_post='_FOR_TARGET' 1096 1211 ;; 1097 1212 *) 1098 - echo "binutils-wrapper-2.40: used as improper sort of dependency" 1>&2; 1213 + echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2; 1099 1214 return 1 1100 1215 ;; 1101 1216 esac ··· 1124 1239 export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1 1125 1240 ;; 1126 1241 *) 1127 - echo "binutils-wrapper-2.40: used as improper sort of dependency" 1>&2; 1242 + echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2; 1128 1243 return 1 1129 1244 ;; 1130 1245 esac ··· 1139 1254 if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then 1140 1255 echo "no installcheck target in ${makefile:-Makefile}, doing nothing"; 1141 1256 else 1142 - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); 1143 - _accumFlagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray; 1144 - flagsArray+=(${installCheckTarget:-installcheck}); 1257 + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); 1258 + concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck; 1145 1259 echoCmd 'installcheck flags' "${flagsArray[@]}"; 1146 1260 make ${makefile:+-f $makefile} "${flagsArray[@]}"; 1147 1261 unset flagsArray; ··· 1163 1277 if [ -n "$prefix" ]; then 1164 1278 mkdir -p "$prefix"; 1165 1279 fi; 1166 - local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); 1167 - _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray; 1168 - if [ -n "$__structuredAttrs" ]; then 1169 - flagsArray+=("${installTargets[@]:-install}"); 1170 - else 1171 - flagsArray+=(${installTargets:-install}); 1172 - fi; 1280 + local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); 1281 + concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install; 1173 1282 echoCmd 'install flags' "${flagsArray[@]}"; 1174 1283 make ${makefile:+-f $makefile} "${flagsArray[@]}"; 1175 1284 unset flagsArray; ··· 1281 1390 done; 1282 1391 done 1283 1392 } 1393 + nixChattyLog () 1394 + { 1395 + 1396 + _nixLogWithLevel 5 "$*" 1397 + } 1398 + nixDebugLog () 1399 + { 1400 + 1401 + _nixLogWithLevel 6 "$*" 1402 + } 1403 + nixErrorLog () 1404 + { 1405 + 1406 + _nixLogWithLevel 0 "$*" 1407 + } 1408 + nixInfoLog () 1409 + { 1410 + 1411 + _nixLogWithLevel 3 "$*" 1412 + } 1413 + nixLog () 1414 + { 1415 + 1416 + [[ -z ${NIX_LOG_FD-} ]] && return 0; 1417 + local callerName="${FUNCNAME[1]}"; 1418 + if [[ $callerName == "_callImplicitHook" ]]; then 1419 + callerName="${hookName:?}"; 1420 + fi; 1421 + printf "%s: %s\n" "$callerName" "$*" >&"$NIX_LOG_FD" 1422 + } 1423 + nixNoticeLog () 1424 + { 1425 + 1426 + _nixLogWithLevel 2 "$*" 1427 + } 1428 + nixTalkativeLog () 1429 + { 1430 + 1431 + _nixLogWithLevel 4 "$*" 1432 + } 1433 + nixVomitLog () 1434 + { 1435 + 1436 + _nixLogWithLevel 7 "$*" 1437 + } 1438 + nixWarnLog () 1439 + { 1440 + 1441 + _nixLogWithLevel 1 "$*" 1442 + } 1443 + noBrokenSymlinks () 1444 + { 1445 + 1446 + local -r output="${1:?}"; 1447 + local path; 1448 + local pathParent; 1449 + local symlinkTarget; 1450 + local -i numDanglingSymlinks=0; 1451 + local -i numReflexiveSymlinks=0; 1452 + local -i numUnreadableSymlinks=0; 1453 + if [[ ! -e $output ]]; then 1454 + nixWarnLog "skipping non-existent output $output"; 1455 + return 0; 1456 + fi; 1457 + nixInfoLog "running on $output"; 1458 + while IFS= read -r -d '' path; do 1459 + pathParent="$(dirname "$path")"; 1460 + if ! symlinkTarget="$(readlink "$path")"; then 1461 + nixErrorLog "the symlink $path is unreadable"; 1462 + numUnreadableSymlinks+=1; 1463 + continue; 1464 + fi; 1465 + if [[ $symlinkTarget == /* ]]; then 1466 + nixInfoLog "symlink $path points to absolute target $symlinkTarget"; 1467 + else 1468 + nixInfoLog "symlink $path points to relative target $symlinkTarget"; 1469 + symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")"; 1470 + fi; 1471 + if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then 1472 + nixInfoLog "symlink $path points outside the Nix store; ignoring"; 1473 + continue; 1474 + fi; 1475 + if [[ $path == "$symlinkTarget" ]]; then 1476 + nixErrorLog "the symlink $path is reflexive"; 1477 + numReflexiveSymlinks+=1; 1478 + else 1479 + if [[ ! -e $symlinkTarget ]]; then 1480 + nixErrorLog "the symlink $path points to a missing target: $symlinkTarget"; 1481 + numDanglingSymlinks+=1; 1482 + else 1483 + nixDebugLog "the symlink $path is irreflexive and points to a target which exists"; 1484 + fi; 1485 + fi; 1486 + done < <(find "$output" -type l -print0); 1487 + if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then 1488 + nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks"; 1489 + exit 1; 1490 + fi; 1491 + return 0 1492 + } 1493 + noBrokenSymlinksInAllOutputs () 1494 + { 1495 + 1496 + if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then 1497 + for output in $(getAllOutputNames); 1498 + do 1499 + noBrokenSymlinks "${!output}"; 1500 + done; 1501 + fi 1502 + } 1284 1503 patchELF () 1285 1504 { 1286 1505 ··· 1304 1523 1305 1524 runHook prePatch; 1306 1525 local -a patchesArray; 1307 - if [ -n "$__structuredAttrs" ]; then 1308 - patchesArray=(${patches:+"${patches[@]}"}); 1309 - else 1310 - patchesArray=(${patches:-}); 1311 - fi; 1526 + concatTo patchesArray patches; 1527 + local -a flagsArray; 1528 + concatTo flagsArray patchFlags=-p1; 1312 1529 for i in "${patchesArray[@]}"; 1313 1530 do 1314 1531 echo "applying patch $i"; ··· 1327 1544 uncompress="lzma -d" 1328 1545 ;; 1329 1546 esac; 1330 - local -a flagsArray; 1331 - if [ -n "$__structuredAttrs" ]; then 1332 - flagsArray=("${patchFlags[@]:--p1}"); 1333 - else 1334 - flagsArray=(${patchFlags:--p1}); 1335 - fi; 1336 1547 $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}"; 1337 1548 done; 1338 1549 runHook postPatch ··· 1341 1552 { 1342 1553 1343 1554 local pathName; 1344 - local update; 1555 + local update=false; 1345 1556 while [[ $# -gt 0 ]]; do 1346 1557 case "$1" in 1347 1558 --host) ··· 1384 1595 local f; 1385 1596 while IFS= read -r -d '' f; do 1386 1597 isScript "$f" || continue; 1387 - read -r oldInterpreterLine < "$f"; 1598 + read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ]; 1388 1599 read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"; 1389 1600 if [[ -z "${pathName:-}" ]]; then 1390 1601 if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then ··· 1396 1607 if [[ "$oldPath" == *"/bin/env" ]]; then 1397 1608 if [[ $arg0 == "-S" ]]; then 1398 1609 arg0=${args%% *}; 1399 - args=${args#* }; 1400 - newPath="$(PATH="${!pathName}" command -v "env" || true)"; 1401 - args="-S $(PATH="${!pathName}" command -v "$arg0" || true) $args"; 1610 + [[ "$args" == *" "* ]] && args=${args#* } || args=; 1611 + newPath="$(PATH="${!pathName}" type -P "env" || true)"; 1612 + args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args"; 1402 1613 else 1403 1614 if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then 1404 1615 echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2; 1405 1616 exit 1; 1406 1617 else 1407 - newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"; 1618 + newPath="$(PATH="${!pathName}" type -P "$arg0" || true)"; 1408 1619 fi; 1409 1620 fi; 1410 1621 else 1411 1622 if [[ -z $oldPath ]]; then 1412 1623 oldPath="/bin/sh"; 1413 1624 fi; 1414 - newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"; 1625 + newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)"; 1415 1626 args="$arg0 $args"; 1416 1627 fi; 1417 1628 newInterpreterLine="$newPath $args"; ··· 1448 1659 else 1449 1660 useArray=false; 1450 1661 fi; 1451 - if declare -p "$1" 2> /dev/null | grep -q '^'; then 1452 - type="$(declare -p "$1")"; 1453 - if [[ "$type" =~ "declare -A" ]]; then 1454 - echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; 1455 - return 1; 1456 - else 1457 - if [[ "$type" =~ "declare -a" ]]; then 1458 - useArray=true; 1459 - else 1460 - useArray=false; 1461 - fi; 1462 - fi; 1662 + if type=$(declare -p "$1" 2> /dev/null); then 1663 + case "${type#* }" in 1664 + -A*) 1665 + echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; 1666 + return 1 1667 + ;; 1668 + -a*) 1669 + useArray=true 1670 + ;; 1671 + *) 1672 + useArray=false 1673 + ;; 1674 + esac; 1463 1675 fi; 1464 1676 shift; 1465 1677 if $useArray; then ··· 1504 1716 local hook; 1505 1717 for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; 1506 1718 do 1719 + _logHook "$hookName" "$hook" "$@"; 1507 1720 _eval "$hook" "$@"; 1508 1721 done; 1509 1722 return 0 ··· 1517 1730 local hook ret=1; 1518 1731 for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"}; 1519 1732 do 1733 + _logHook "$hookName" "$hook" "$@"; 1520 1734 if _eval "$hook" "$@"; then 1521 1735 ret=0; 1522 1736 break; ··· 1555 1769 if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then 1556 1770 return; 1557 1771 fi; 1558 - if [[ -n $NIX_LOG_FD ]]; then 1559 - echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"; 1560 - fi; 1561 1772 showPhaseHeader "$curPhase"; 1562 1773 dumpVars; 1563 - local startTime=$(date +"%s"); 1774 + local startTime endTime; 1775 + startTime=$(date +"%s"); 1564 1776 eval "${!curPhase:-$curPhase}"; 1565 - local endTime=$(date +"%s"); 1777 + endTime=$(date +"%s"); 1566 1778 showPhaseFooter "$curPhase" "$startTime" "$endTime"; 1567 1779 if [ "$curPhase" = unpackPhase ]; then 1568 - [ -n "${sourceRoot:-}" ] && chmod +x "${sourceRoot}"; 1569 - cd "${sourceRoot:-.}"; 1780 + [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}"; 1781 + cd -- "${sourceRoot:-.}"; 1570 1782 fi 1571 1783 } 1572 1784 showPhaseFooter () ··· 1589 1801 { 1590 1802 1591 1803 local phase="$1"; 1592 - echo "Running phase: $phase" 1804 + echo "Running phase: $phase"; 1805 + if [[ -z ${NIX_LOG_FD-} ]]; then 1806 + return; 1807 + fi; 1808 + printf "@nix { \"action\": \"setPhase\", \"phase\": \"%s\" }\n" "$phase" >&"$NIX_LOG_FD" 1593 1809 } 1594 1810 stripDirs () 1595 1811 { ··· 1621 1837 echo "stripping (with command $cmd and flags $stripFlags) in $paths"; 1622 1838 local striperr; 1623 1839 striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"; 1624 - find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -print0 | xargs -r -0 -n1 -- realpath -z | sort -u -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; 1840 + find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -printf '%D-%i,%p\0' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; 1625 1841 [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 ); 1626 1842 rm "$striperr"; 1627 1843 find $paths -name '*.a' -type f -exec $ranlibCmd '{}' \; 2> /dev/null; ··· 1695 1911 fileNames+=("$arg"); 1696 1912 shift; 1697 1913 done; 1914 + if ! [[ "${#fileNames[@]}" -gt 0 ]]; then 1915 + echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2; 1916 + return 1; 1917 + fi; 1698 1918 for file in "${fileNames[@]}"; 1699 1919 do 1700 1920 substitute "$file" "$file" "$@"; ··· 1707 1927 local description=$2; 1708 1928 shift 2; 1709 1929 while (( "$#" )); do 1930 + local replace_mode="$1"; 1710 1931 case "$1" in 1711 1932 --replace) 1933 + if ! "$_substituteStream_has_warned_replace_deprecation"; then 1934 + echo "substituteStream() in derivation $name: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2; 1935 + _substituteStream_has_warned_replace_deprecation=true; 1936 + fi; 1937 + replace_mode='--replace-warn' 1938 + ;& 1939 + --replace-quiet | --replace-warn | --replace-fail) 1712 1940 pattern="$2"; 1713 1941 replacement="$3"; 1714 1942 shift 3; 1715 - local savedvar; 1716 - savedvar="${!var}"; 1717 - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; 1718 - if [ "$pattern" != "$replacement" ]; then 1719 - if [ "${!var}" == "$savedvar" ]; then 1720 - echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" 1>&2; 1943 + if ! [[ "${!var}" == *"$pattern"* ]]; then 1944 + if [ "$replace_mode" == --replace-warn ]; then 1945 + printf "substituteStream() in derivation $name: WARNING: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; 1946 + else 1947 + if [ "$replace_mode" == --replace-fail ]; then 1948 + printf "substituteStream() in derivation $name: ERROR: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; 1949 + return 1; 1950 + fi; 1721 1951 fi; 1722 - fi 1952 + fi; 1953 + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' 1723 1954 ;; 1724 1955 --subst-var) 1725 1956 local varName="$2"; 1726 1957 shift 2; 1727 1958 if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then 1728 - echo "substituteStream(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; 1959 + echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; 1729 1960 return 1; 1730 1961 fi; 1731 1962 if [ -z ${!varName+x} ]; then 1732 - echo "substituteStream(): ERROR: variable \$$varName is unset" 1>&2; 1963 + echo "substituteStream() in derivation $name: ERROR: variable \$$varName is unset" 1>&2; 1733 1964 return 1; 1734 1965 fi; 1735 1966 pattern="@$varName@"; ··· 1743 1974 shift 3 1744 1975 ;; 1745 1976 *) 1746 - echo "substituteStream(): ERROR: Invalid command line argument: $1" 1>&2; 1977 + echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2; 1747 1978 return 1 1748 1979 ;; 1749 1980 esac; ··· 1772 2003 srcs="$src"; 1773 2004 fi; 1774 2005 local -a srcsArray; 1775 - if [ -n "$__structuredAttrs" ]; then 1776 - srcsArray=("${srcs[@]}"); 1777 - else 1778 - srcsArray=($srcs); 1779 - fi; 2006 + concatTo srcsArray srcs; 1780 2007 local dirsBefore=""; 1781 2008 for i in *; 1782 2009 do ··· 1833 2060 for f in $(find . -type f -name "$script"); 1834 2061 do 1835 2062 echo "Updating Autotools / GNU config script to a newer upstream version: $f"; 1836 - cp -f "/nix/store/7lk76vdawbx478qq9lvi3mgf73rvcyhd-gnu-config-2023-09-19/$script" "$f"; 2063 + cp -f "/nix/store/khmqxw6b9q7rgkv6hf3gcqf2igk03z1g-gnu-config-2024-01-01/$script" "$f"; 1837 2064 done; 1838 2065 done 1839 2066 } ··· 1841 2068 { 1842 2069 1843 2070 local path="$1"; 1844 - local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ %p\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); 2071 + [[ $path == -* ]] && path="./$path"; 2072 + local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ "%p"\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); 1845 2073 local time="${res[0]//\.[0-9]*/}"; 1846 2074 local newestFile="${res[1]}"; 1847 2075 if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then ··· 1860 2088 export TMPDIR="$NIX_BUILD_TOP" 1861 2089 export TEMP="$NIX_BUILD_TOP" 1862 2090 export TEMPDIR="$NIX_BUILD_TOP" 1863 - eval "$shellHook" 2091 + eval "${shellHook:-}"
+1 -1
.gitignore
··· 1 1 .direnv/ 2 - .direnv/* 3 2 .direnv/** 3 + .worktrees/** 4 4 .envrc
+6 -6
dns/dnsconfig.js
··· 41 41 A('ci', '69.61.2.203', TTL(300)), 42 42 A('write', '69.61.2.203', TTL(300)), 43 43 A('photos', '69.61.2.203', TTL(300)), 44 - // vultr: lituus 45 - A('@', '45.77.48.108', TTL(300)), 46 - A('jitsi', '45.77.48.108', TTL(300)), 47 - A('chat', '45.77.48.108', TTL(300)), 48 - A('element', '45.77.48.108', TTL(300)), 49 - A('turn', '45.77.48.108', TTL(300)), 44 + // vultr melbourne: lituus 45 + A('@', '67.219.99.225', TTL(300)), 46 + A('jitsi', '67.219.99.225', TTL(300)), 47 + A('chat', '67.219.99.225', TTL(300)), 48 + A('element', '67.219.99.225', TTL(300)), 49 + A('turn', '67.219.99.225', TTL(300)), 50 50 //nullhex free email real estate 51 51 CNAME('key1._domainkey', 'key1.nullhex.com.'), 52 52 CNAME('autoconfig', 'autoconfig.nullhex.com.'),
+4 -4
flake.lock
··· 1047 1047 ] 1048 1048 }, 1049 1049 "locked": { 1050 - "lastModified": 1759014010, 1051 - "narHash": "sha256-NMpUufnxiGDTs/4Nxj8t+n4wc4aSs02a4T5OORo0gBQ=", 1050 + "lastModified": 1762711246, 1051 + "narHash": "sha256-coOLG/Bp118d1T3DBIZUcW+AdiKsHz9uh6ZuiR30GBM=", 1052 1052 "ref": "main", 1053 - "rev": "08c1dddf38c39d6f7c73a24f4d396f4c925185bf", 1054 - "revCount": 1602, 1053 + "rev": "54287446e1a8a1bc40ad1b12061f053181e6d264", 1054 + "revCount": 1614, 1055 1055 "type": "git", 1056 1056 "url": "ssh://gitea@git.sealight.xyz/aynish/kitaab" 1057 1057 },
+2 -1
flake.nix
··· 395 395 }; 396 396 }; 397 397 lituus = { 398 - hostname = "sealight.xyz"; 398 + hostname = "67.219.99.225"; 399 399 autoRollback = false; 400 + remoteBuild = true; 400 401 profiles.system = { 401 402 user = "root"; 402 403 path = deploy-rs.lib.x86_64-linux.activate.nixos
+156
home/darwin/aerospace/config.toml
··· 1 + # You can use it to add commands that run after login to macOS user session. 2 + # 'start-at-login' needs to be 'true' for 'after-login-command' to work 3 + # Available commands: https://nikitabobko.github.io/AeroSpace/commands 4 + after-login-command = [] 5 + 6 + # You can use it to add commands that run after AeroSpace startup. 7 + # 'after-startup-command' is run after 'after-login-command' 8 + # Available commands : https://nikitabobko.github.io/AeroSpace/commands 9 + after-startup-command = [] 10 + 11 + # Start AeroSpace at login 12 + start-at-login = true 13 + 14 + # Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization 15 + enable-normalization-flatten-containers = true 16 + enable-normalization-opposite-orientation-for-nested-containers = true 17 + 18 + # See: https://nikitabobko.github.io/AeroSpace/guide#layouts 19 + # The 'accordion-padding' specifies the size of accordion padding 20 + # You can set 0 to disable the padding feature 21 + accordion-padding = 10 22 + 23 + # Possible values: tiles|accordion 24 + default-root-container-layout = 'tiles' 25 + 26 + # Possible values: horizontal|vertical|auto 27 + # 'auto' means: wide monitor (anything wider than high) gets horizontal orientation, 28 + # tall monitor (anything higher than wide) gets vertical orientation 29 + default-root-container-orientation = 'auto' 30 + 31 + # Mouse follows focus when focused monitor changes 32 + # Drop it from your config, if you don't like this behavior 33 + # See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks 34 + # See https://nikitabobko.github.io/AeroSpace/commands#move-mouse 35 + # Fallback value (if you omit the key): on-focused-monitor-changed = [] 36 + on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] 37 + 38 + # You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag 39 + # Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key 40 + # Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app 41 + automatically-unhide-macos-hidden-apps = true 42 + 43 + # Possible values: (qwerty|dvorak) 44 + # See https://nikitabobko.github.io/AeroSpace/guide#key-mapping 45 + [key-mapping] 46 + preset = 'dvorak' 47 + 48 + # Gaps between windows (inner-*) and between monitor edges (outer-*). 49 + # Possible values: 50 + # - Constant: gaps.outer.top = 8 51 + # - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24] 52 + # In this example, 24 is a default value when there is no match. 53 + # Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'. 54 + # See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors 55 + [gaps] 56 + inner.horizontal = 0 57 + inner.vertical = 0 58 + outer.left = 0 59 + outer.bottom = 0 60 + outer.top = 0 61 + outer.right = 0 62 + 63 + # 'main' binding mode declaration 64 + # See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes 65 + # 'main' binding mode must be always presented 66 + # Fallback value (if you omit the key): mode.main.binding = {} 67 + [mode.main.binding] 68 + 69 + # All possible keys: 70 + # - Letters. a, b, c, ..., z 71 + # - Numbers. 0, 1, 2, ..., 9 72 + # - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9 73 + # - F-keys. f1, f2, ..., f20 74 + # - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick, 75 + # leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab 76 + # - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, 77 + # keypadMinus, keypadMultiply, keypadPlus 78 + # - Arrows. left, down, up, right 79 + 80 + # All possible modifiers: cmd, alt, ctrl, shift 81 + 82 + # All possible commands: https://nikitabobko.github.io/AeroSpace/commands 83 + 84 + # See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget 85 + # You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3) 86 + alt-enter = 'exec-and-forget open -n /System/Applications/Utilities/Kitty.app' 87 + 88 + # See: https://nikitabobko.github.io/AeroSpace/commands#layout 89 + alt-slash = 'layout tiles horizontal vertical' 90 + alt-comma = 'layout accordion horizontal vertical' 91 + 92 + # See: https://nikitabobko.github.io/AeroSpace/commands#focus 93 + # alt-h = 'focus left' 94 + # alt-j = 'focus down' 95 + # alt-k = 'focus up' 96 + # alt-l = 'focus right' 97 + 98 + # See: https://nikitabobko.github.io/AeroSpace/commands#move 99 + alt-shift-h = 'move left' 100 + alt-shift-j = 'move down' 101 + alt-shift-k = 'move up' 102 + alt-shift-l = 'move right' 103 + 104 + # See: https://nikitabobko.github.io/AeroSpace/commands#resize 105 + alt-shift-minus = 'resize smart -50' 106 + alt-shift-equal = 'resize smart +50' 107 + 108 + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace 109 + alt-1 = 'workspace 1' 110 + alt-2 = 'workspace 2' 111 + alt-3 = 'workspace 3' 112 + alt-4 = 'workspace 4' 113 + alt-5 = 'workspace 5' 114 + alt-6 = 'workspace 6' 115 + alt-7 = 'workspace 7' 116 + alt-8 = 'workspace 8' 117 + alt-9 = 'workspace 9' 118 + 119 + # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace 120 + alt-shift-1 = 'move-node-to-workspace 1' 121 + alt-shift-2 = 'move-node-to-workspace 2' 122 + alt-shift-3 = 'move-node-to-workspace 3' 123 + alt-shift-4 = 'move-node-to-workspace 4' 124 + alt-shift-5 = 'move-node-to-workspace 5' 125 + alt-shift-6 = 'move-node-to-workspace 6' 126 + alt-shift-7 = 'move-node-to-workspace 7' 127 + alt-shift-8 = 'move-node-to-workspace 8' 128 + alt-shift-9 = 'move-node-to-workspace 9' 129 + 130 + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth 131 + alt-tab = 'workspace-back-and-forth' 132 + # See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor 133 + alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' 134 + 135 + # See: https://nikitabobko.github.io/AeroSpace/commands#mode 136 + alt-shift-semicolon = 'mode service' 137 + 138 + # 'service' binding mode declaration. 139 + # See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes 140 + [mode.service.binding] 141 + esc = ['reload-config', 'mode main'] 142 + r = ['flatten-workspace-tree', 'mode main'] # reset layout 143 + f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout 144 + backspace = ['close-all-windows-but-current', 'mode main'] 145 + 146 + # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 147 + #s = ['layout sticky tiling', 'mode main'] 148 + 149 + alt-shift-h = ['join-with left', 'mode main'] 150 + alt-shift-j = ['join-with down', 'mode main'] 151 + alt-shift-k = ['join-with up', 'mode main'] 152 + alt-shift-l = ['join-with right', 'mode main'] 153 + 154 + down = 'volume down' 155 + up = 'volume up' 156 + shift-down = ['volume set 0', 'mode main']
+5 -1
home/darwin/default.nix
··· 7 7 ../profiles/git 8 8 ../profiles/task 9 9 ../profiles/kitty 10 + ../profiles/tmux 10 11 # ../profiles/firefox 11 12 ]; 12 13 ··· 14 15 home.homeDirectory = "/Users/anishlakhwara"; 15 16 home.stateVersion = "22.05"; 16 17 17 - programs.zsh.initExtra = '' 18 + programs.zsh.initContent = '' 18 19 PATH=/Users/anishlakhwara/.sourcegraph/bin:/Users/anishlakhwara/.sourcegraph/sg.zsh_autocomplete:/Users/anishlakhwara/google-cloud-sdk/bin:/Users/anishlakhwara/google-cloud-sdk/completion.zsh.inc:/Users/anishlakhwara/google-cloud-sdk/path.zsh.inc:/Users/anishlakhwara/.sg:/opt/homebrew/bin:$PATH 19 20 ''; 20 21 ··· 23 24 ".config/sketchybar" = { 24 25 source = ./sketchybar; 25 26 recursive = true; 27 + }; 28 + ".config/aerospace" = { 29 + source = ./aerospace; 26 30 }; 27 31 }; 28 32 }
home/darwin/sketchybar/items/battery.sh
+19 -7
home/profiles/cli/default.nix
··· 10 10 git-machete 11 11 bottom 12 12 gptfdisk 13 + difftastic 13 14 starship 14 - iputils 15 15 jq 16 16 manix 17 17 moreutils ··· 42 42 file 43 43 lsof 44 44 atool 45 - strace 46 45 zip 47 46 unzip 48 47 rsync ··· 57 56 gnupg 58 57 syncthing 59 58 dijo 59 + nixfmt-rfc-style 60 + nix-tree 60 61 #ssb-patchwork 61 62 fontconfig 62 63 pandoc ··· 148 149 149 150 disconnect_keyboard 150 151 '') 152 + ] ++ lib.optionals pkgs.stdenv.isLinux [ 153 + # Linux-only packages 154 + iputils 155 + strace 151 156 ]; 152 157 153 158 programs.zsh = { ··· 158 163 initContent = '' 159 164 bindkey -v 160 165 autopair-init 166 + export PATH="$PATH:/Users/anishlakhwara/go/bin" 161 167 ''; 162 168 sessionVariables = { 163 169 EDITOR = "nvim"; ··· 228 234 enableZshIntegration = true; 229 235 }; 230 236 231 - services.kdeconnect.enable = true; 237 + services.kdeconnect.enable = pkgs.stdenv.isLinux; 232 238 233 239 home.shellAliases = { 234 240 # quick cd ··· 248 254 tree = "ls --tree --icons"; 249 255 cat = "bat"; 250 256 unzip = "aunpack"; 251 - copy = "xclip -selection clipboard"; 252 - paste = "xclip -selection clipboard -o"; 257 + copy = if pkgs.stdenv.isDarwin then "pbcopy" else "xclip -selection clipboard"; 258 + paste = if pkgs.stdenv.isDarwin then "pbpaste" else "xclip -selection clipboard -o"; 253 259 rm = "echo USE TRASH, FOOL: trash "; 254 260 trash = "trash-put"; 255 261 make-secret = "< /dev/urandom \\tr -dc _A-Za-z0-9 | head -c \${1:-32};echo;"; ··· 300 306 nepl = "n repl '<nixpkgs>'"; 301 307 srch = "ns nixpkgs"; 302 308 orch = "ns override"; 303 - # need --impure for bitwig, something about my flake setup doesn't like allow unfree 304 - nrb = "cd /tmp; sudo nixos-rebuild switch --impure --flake '/home/anish/usr/helm#curve'; cd $OLDPWD"; 309 + # Impure for bitwig on linux, not sure what it's for in darwin 310 + nrb = '' 311 + if [[ "$OSTYPE" == "darwin"* ]]; then 312 + cd ~/usr/helm && sudo darwin-rebuild switch --impure --flake ".#Anishs-MacBook-Pro" && cd $OLDPWD 313 + else 314 + cd /tmp && sudo nixos-rebuild switch --flake --impure '/home/anish/usr/helm#curve' && cd $OLDPWD 315 + fi 316 + ''; 305 317 nrt = "cd /tmp; sudo nixos-rebuild test --flake '/home/anish/usr/helm#curve'; cd $OLDPWD"; 306 318 ned = "cd /home/anish/usr/helm; vim; cd $OLDPWD"; 307 319 ncd = "cd /home/anish/usr/helm";
+12 -1
home/profiles/git/default.nix
··· 1 + { pkgs, ... }: 1 2 { 2 3 #xdg.configFile = { 3 4 # "git/config".source = ./config; ··· 7 8 8 9 programs.lazygit.enable = true; 9 10 11 + home.packages = with pkgs; [ 12 + unstable.git-spice 13 + ]; 14 + 10 15 programs.git = { 11 16 enable = true; 12 17 userName = "Anish Lakhwara"; 13 18 userEmail = "anish+git@lakhwara.com"; 14 19 delta.enable = true; 15 - # TODO enable signing 20 + signing = { 21 + signByDefault = true; 22 + key = "7FC5DF072EF7B716"; 23 + }; 16 24 17 25 ignores = [ 18 26 "*~" ··· 56 64 pull.rebase = false; 57 65 push.autoSetupRemote = true; 58 66 init.defaultBranch = "main"; 67 + "url \"git@github.com:\"" = { insteadOf = "https://github.com/"; }; 59 68 }; 60 69 61 70 aliases = { ··· 94 103 95 104 # delete merged branches 96 105 bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; 106 + undo = "!git reset HEAD~1 --mixed"; 107 + blm = "blame -w -C -C -C"; 97 108 }; 98 109 }; 99 110 }
+23
home/profiles/kitty/ayu-dark-kitty.conf
··· 1 + 2 + background #0A0E14 3 + foreground #B3B1AD 4 + cursor #E6B450 5 + selection_background #273747 6 + color0 #000000 7 + color8 #4D5566 8 + color1 #FF3333 9 + color9 #D96C75 10 + color2 #C2D94C 11 + color10 #91B362 12 + color3 #FF8F40 13 + color11 #F29668 14 + color4 #59C2FF 15 + color12 #6994BF 16 + color5 #D4BFFF 17 + color13 #A37ACC 18 + color6 #95E6CB 19 + color14 #4CBF99 20 + color7 #ffffff 21 + color15 #F0F0F0 22 + selection_foreground #B3B1AD 23 +
+25
home/profiles/kitty/ayu-kitty.conf
··· 1 + #: This is a port of ayu Mirage color scheme 2 + #: based on : 3 + #: https://github.com/ayu-theme/ayu-colors 4 + 5 + background #1F2430 6 + foreground #CBCCC6 7 + cursor #FFCC66 8 + selection_background #33415E 9 + color0 #000000 10 + color8 #4D5566 11 + color1 #FF3333 12 + color9 #F27983 13 + color2 #BAE67E 14 + color10 #A6CC70 15 + color3 #FFA759 16 + color11 #F29E74 17 + color4 #73D0FF 18 + color12 #77A8D9 19 + color5 #D4BFFF 20 + color13 #A37ACC 21 + color6 #95E6CB 22 + color14 #4CBF99 23 + color7 #ffffff 24 + color15 #F0F0F0 25 + selection_foreground #CBCCC6
+11
home/profiles/kitty/default.nix
··· 1 + { pkgs, config, lib, ... }: 2 + 3 + { 4 + home.packages = with pkgs; [ 5 + kitty 6 + ]; 7 + home.file = { 8 + ".config/kitty/kitty.conf".source = ./kitty.conf; 9 + ".config/kitty/ayu.conf".source = ./ayu-kitty.conf; 10 + }; 11 + }
+15
home/profiles/kitty/kitty.conf
··· 1 + include ayu.conf 2 + font_family Hermit 3 + font_size 13 4 + bold_font auto 5 + italic_font auto 6 + bold_italic_font auto 7 + open_url_with default 8 + mouse_map left click ungrabbed mouse_click_url_or_select 9 + confirm_os_window_close 0 10 + enable_audio_bell no 11 + hide_window_decorations titlebar-only 12 + macos_option_as_alt left 13 + -- Allows zen-mode.nvim to increase font size 14 + -- allow_remote_control socket-only 15 + -- listen_on unix:/tmp/kitty
+92 -43
home/profiles/nvim/default.nix
··· 1 - { pkgs, config, ... }: 1 + { pkgs, lib, config, ... }: 2 2 let 3 3 customPlugins = { 4 4 vim-zettel = pkgs.vimUtils.buildVimPlugin { ··· 11 11 }; 12 12 }; 13 13 14 + amp-nvim = pkgs.vimUtils.buildVimPlugin { 15 + name = "amp-nvim"; 16 + src = pkgs.fetchFromGitHub { 17 + owner = "sourcegraph"; 18 + repo = "amp.nvim"; 19 + rev = "main"; 20 + sha256 = "Sm/SQEIZlnqu/sD+MhZzgGm3bf+HnADOOimZ2Q++MXU="; 21 + }; 22 + }; 23 + 14 24 my-lspsaga = pkgs.vimUtils.buildVimPlugin { 15 25 name = "lspsaga.nvim"; 16 26 src = pkgs.fetchFromGitHub { ··· 27 37 repo = "nvim-luapad"; 28 38 rev = "9815e2659ce8e2ef4b55e401531cf09b6423e0ea"; 29 39 sha256 = "gMaS5YFi3+gmUIfkCMEt9vhm8XSgv54Cquv5+WCWeTo="; 30 - }; 31 - }; 32 - leap = pkgs.vimUtils.buildVimPlugin { 33 - name = "leap"; 34 - src = pkgs.fetchFromGitHub { 35 - owner = "ggandor"; 36 - repo = "leap.nvim"; 37 - rev = "1bb1fec369b1e9ae96e6ff1b829ea9272c51f844"; 38 - sha256 = "dH0v1D5q5OlMLA/omTDMb/taKyIgQ5VfVMYXJ609k/k="; 39 - }; 40 - }; 41 - nvim-navic = pkgs.vimUtils.buildVimPlugin { 42 - name = "nvim-navic"; 43 - src = pkgs.fetchFromGitHub { 44 - owner = "SmiteshP"; 45 - repo = "nvim-navic"; 46 - rev = "096b23e73c84a653fd317c0c10261875fa573a6d"; 47 - sha256 = "vX7ZVJxgatIicmijehtaRvyHxk1i4gFfXrbPM/+VoFc="; 48 40 }; 49 41 }; 50 42 my-which-key-nvim = pkgs.vimUtils.buildVimPlugin { ··· 108 100 sha256 = "czKjJgCpvRSdtR7rNGlJrluDgPIdx94KUyx33op5gdY="; 109 101 }; 110 102 }; 103 + gh-addressed = pkgs.vimUtils.buildVimPlugin { 104 + pname = "gh-addressed"; 105 + version = "2024-09-17"; 106 + src = pkgs.fetchFromGitHub { 107 + owner = "dlvhdr"; 108 + repo = "gh-addressed.nvim"; 109 + rev = "64c12f0f2a1d28afe53220da5fb86e1adb79be07"; 110 + sha256 = "0pxzq9jllw7rfspyy6j8dr464g0ph7xvh317l4iyva26ld8889mp"; 111 + }; 112 + doCheck = false; 113 + doInstallCheck = false; 114 + nvimRequireCheck = "none"; 115 + }; 111 116 }; 112 117 113 118 my-python-packages = python-packages: with python-packages; [ ··· 148 153 149 154 extraConfig = '' 150 155 " so our custom files still get included 151 - set runtimepath+=/home/anish/.config/nvim/ 156 + " set runtimepath+=/home/anish/.config/nvim/ 152 157 set tabstop=2 153 158 set showmatch 154 159 set shiftwidth=2 ··· 298 303 nnoremap <leader>gp :Git! push<CR> 299 304 nnoremap <leader>gd :Gdiff<CR> 300 305 nnoremap <leader>gc :G commit -v -q %:p<CR> 306 + " diffview keybindings 307 + nnoremap <leader>do :DiffviewOpen<CR> 308 + nnoremap <leader>dc :DiffviewClose<CR> 309 + nnoremap <leader>dh :DiffviewFileHistory %<CR> 310 + nnoremap <leader>df :DiffviewFileHistory<CR> 301 311 302 312 " kitaab 303 313 "map <leader>cz :VimwikiIndex<CR>:ZettelNew ··· 320 330 let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } } 321 331 322 332 " lsp commands 323 - nnoremap <leader>vgd :lua vim.lsp.buf.definition()<CR> 324 - nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR> 325 - nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR> 326 - nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR> 333 + nnoremap gd :lua vim.lsp.buf.definition()<CR> 334 + nnoremap gI :lua require('telescope.builtin').lsp_implementation()<CR> 335 + nnoremap gK :lua vim.lsp.buf.signature_help()<CR> 336 + nnoremap gr :lua require('telescope.builtin').lsp_references()<CR> 327 337 " nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR> 328 338 " nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR> 329 339 " nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR> ··· 332 342 " nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr> 333 343 " lspsaga stuff doesn't work 334 344 nnoremap <leader>vd :Lspsaga peek_definition<CR> 335 - nnoremap <leader>vrn :Lspsaga rename<CR><CR> 336 - nnoremap <leader>vh :Lspsaga hover_doc<CR> 337 - nnoremap <leader>vca :Lspsaga code_action<CR> 345 + nnoremap <leader>cr :Lspsaga rename<CR><CR> 346 + nnoremap K :Lspsaga hover_doc<CR> 347 + nnoremap <leader>ca :Lspsaga code_action<CR> 338 348 nnoremap <leader>vsd :Lspsaga show_line_diagnostics<CR> 339 349 nnoremap <leader>vs :Dasht<Space> 340 350 nnoremap <leader>vn :Lspsaga diagnostic_jump_prev<CR> ··· 472 482 473 483 474 484 vim.api.nvim_set_keymap('n', '<leader>vt', ':call v:lua.toggle_diagnostics()<CR>', {noremap = true, silent = true}) 485 + 486 + -- nicer diff view 487 + vim.opt.diffopt = {'internal', 'filler', 'closeoff', 'algorithm:patience', 'indent-heuristic'} 475 488 476 489 -- autopairs 477 490 require('nvim-autopairs').setup{} ··· 850 863 require("which-key").setup{} 851 864 require('leap').set_default_keymaps() 852 865 866 + ${lib.optionalString (customPlugins.amp-nvim != null) '' 867 + -- Setup amp.nvim 868 + require('amp').setup({ 869 + auto_start = true, 870 + log_level = "info", 871 + completion_enabled = true 872 + }) 873 + -- require('amp.completion').setup({ 874 + -- keymaps = { 875 + -- accept = "<C-y>", 876 + -- dismiss = "<C-n>", 877 + -- } 878 + -- }) 879 + ''} 880 + 853 881 -- supercollider 854 882 local scnvim = require 'scnvim' 855 883 local map = scnvim.map ··· 908 936 map("n", "<leader>zl", "<Cmd>ZkLinks<CR>", opts) 909 937 910 938 -- Preview a linked note. 911 - map("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts) 939 + map("n", "<leader>ck", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts) 912 940 -- Open the code actions for a visual selection. 913 941 map("v", "<leader>za", ":'<,'>lua vim.lsp.buf.range_code_action()<CR>", opts) 914 942 943 + -- diffview setup 944 + require('diffview').setup{ 945 + use_icons = true, 946 + view = { 947 + default = { 948 + layout = "diff2_horizontal", 949 + }, 950 + merge_tool = { 951 + layout = "diff3_horizontal", 952 + disable_diagnostics = true, 953 + }, 954 + }, 955 + file_panel = { 956 + listing_style = "tree", 957 + win_config = { 958 + position = "left", 959 + width = 35, 960 + }, 961 + }, 962 + file_history_panel = { 963 + win_config = { 964 + position = "bottom", 965 + height = 16, 966 + }, 967 + }, 968 + } 969 + 915 970 -- zen mode 916 971 require('zen-mode').setup{ 917 972 window = { ··· 975 1030 vim.keymap.set({'n', 't'}, '<M-l>', '<CMD>NavigatorRight<CR>') 976 1031 977 1032 -- Disable Ctrl+V in nvim so Kitty can handle paste 978 - vim.keymap.set({'n', 'v', 'i'}, '<C-v>', '<Nop>', {noremap = true, silent = true}) 1033 + vim.keymap.set('i', '<C-v>', '<C-r>+', {noremap = true, silent = true}) 979 1034 980 1035 -- Pane resizing with Alt+Shift+hjkl (to match tmux) 981 1036 vim.keymap.set('n', '<M-S-h>', '<Cmd>vertical resize -2<CR>', {silent = true}) ··· 1186 1241 vim-fugitive 1187 1242 gitsigns-nvim 1188 1243 fzf-checkout-vim 1244 + diffview-nvim 1189 1245 1190 1246 # Clojure stuff 1191 1247 # conjure ··· 1193 1249 vim-sexp-mappings-for-regular-people 1194 1250 fennel-vim 1195 1251 1196 - vim-tidal 1197 1252 # experimental 1198 1253 nvim-luapad 1254 + gh-addressed 1199 1255 scnvim 1200 - leap 1256 + leap-nvim 1201 1257 Navigator-nvim 1202 1258 vim-beancount 1203 1259 # vimtex 1204 1260 # custom 1205 1261 yuck-vim 1206 1262 nvim-parinfer 1263 + amp-nvim 1207 1264 # vim-processing 1208 - 1209 - # amp.nvim for Sourcegraph Amp integration 1210 - (pkgs.vimUtils.buildVimPlugin { 1211 - name = "amp-nvim"; 1212 - src = pkgs.fetchFromGitHub { 1213 - owner = "sourcegraph"; 1214 - repo = "amp.nvim"; 1215 - rev = "main"; 1216 - sha256 = "sha256-+jIbAZjRpt30gcrIiwW+yZhT9CFLnW9ARf92GEfioZ0="; 1217 - }; 1218 - }) 1219 - ]; 1265 + ] ++ lib.optionals pkgs.stdenv.isLinux [ 1266 + # Linux-only plugins 1267 + vim-tidal # requires SuperCollider which is Linux-only 1268 + ]; 1220 1269 withPython3 = true; 1221 1270 extraPython3Packages = pkgs: with pkgs; [ tasklib six packaging ]; 1222 1271 vimAlias = true;
+8
home/profiles/nvim/lazynvim/.config/nvim/.gitignore
··· 1 + tt.* 2 + .tests 3 + doc/tags 4 + debug 5 + .repro 6 + foo.* 7 + *.log 8 + data
+15
home/profiles/nvim/lazynvim/.config/nvim/.neoconf.json
··· 1 + { 2 + "neodev": { 3 + "library": { 4 + "enabled": true, 5 + "plugins": true 6 + } 7 + }, 8 + "neoconf": { 9 + "plugins": { 10 + "lua_ls": { 11 + "enabled": true 12 + } 13 + } 14 + } 15 + }
+201
home/profiles/nvim/lazynvim/.config/nvim/LICENSE
··· 1 + Apache License 2 + Version 2.0, January 2004 3 + http://www.apache.org/licenses/ 4 + 5 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 + 7 + 1. Definitions. 8 + 9 + "License" shall mean the terms and conditions for use, reproduction, 10 + and distribution as defined by Sections 1 through 9 of this document. 11 + 12 + "Licensor" shall mean the copyright owner or entity authorized by 13 + the copyright owner that is granting the License. 14 + 15 + "Legal Entity" shall mean the union of the acting entity and all 16 + other entities that control, are controlled by, or are under common 17 + control with that entity. For the purposes of this definition, 18 + "control" means (i) the power, direct or indirect, to cause the 19 + direction or management of such entity, whether by contract or 20 + otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 + outstanding shares, or (iii) beneficial ownership of such entity. 22 + 23 + "You" (or "Your") shall mean an individual or Legal Entity 24 + exercising permissions granted by this License. 25 + 26 + "Source" form shall mean the preferred form for making modifications, 27 + including but not limited to software source code, documentation 28 + source, and configuration files. 29 + 30 + "Object" form shall mean any form resulting from mechanical 31 + transformation or translation of a Source form, including but 32 + not limited to compiled object code, generated documentation, 33 + and conversions to other media types. 34 + 35 + "Work" shall mean the work of authorship, whether in Source or 36 + Object form, made available under the License, as indicated by a 37 + copyright notice that is included in or attached to the work 38 + (an example is provided in the Appendix below). 39 + 40 + "Derivative Works" shall mean any work, whether in Source or Object 41 + form, that is based on (or derived from) the Work and for which the 42 + editorial revisions, annotations, elaborations, or other modifications 43 + represent, as a whole, an original work of authorship. For the purposes 44 + of this License, Derivative Works shall not include works that remain 45 + separable from, or merely link (or bind by name) to the interfaces of, 46 + the Work and Derivative Works thereof. 47 + 48 + "Contribution" shall mean any work of authorship, including 49 + the original version of the Work and any modifications or additions 50 + to that Work or Derivative Works thereof, that is intentionally 51 + submitted to Licensor for inclusion in the Work by the copyright owner 52 + or by an individual or Legal Entity authorized to submit on behalf of 53 + the copyright owner. For the purposes of this definition, "submitted" 54 + means any form of electronic, verbal, or written communication sent 55 + to the Licensor or its representatives, including but not limited to 56 + communication on electronic mailing lists, source code control systems, 57 + and issue tracking systems that are managed by, or on behalf of, the 58 + Licensor for the purpose of discussing and improving the Work, but 59 + excluding communication that is conspicuously marked or otherwise 60 + designated in writing by the copyright owner as "Not a Contribution." 61 + 62 + "Contributor" shall mean Licensor and any individual or Legal Entity 63 + on behalf of whom a Contribution has been received by Licensor and 64 + subsequently incorporated within the Work. 65 + 66 + 2. Grant of Copyright License. Subject to the terms and conditions of 67 + this License, each Contributor hereby grants to You a perpetual, 68 + worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 + copyright license to reproduce, prepare Derivative Works of, 70 + publicly display, publicly perform, sublicense, and distribute the 71 + Work and such Derivative Works in Source or Object form. 72 + 73 + 3. Grant of Patent License. Subject to the terms and conditions of 74 + this License, each Contributor hereby grants to You a perpetual, 75 + worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 + (except as stated in this section) patent license to make, have made, 77 + use, offer to sell, sell, import, and otherwise transfer the Work, 78 + where such license applies only to those patent claims licensable 79 + by such Contributor that are necessarily infringed by their 80 + Contribution(s) alone or by combination of their Contribution(s) 81 + with the Work to which such Contribution(s) was submitted. If You 82 + institute patent litigation against any entity (including a 83 + cross-claim or counterclaim in a lawsuit) alleging that the Work 84 + or a Contribution incorporated within the Work constitutes direct 85 + or contributory patent infringement, then any patent licenses 86 + granted to You under this License for that Work shall terminate 87 + as of the date such litigation is filed. 88 + 89 + 4. Redistribution. You may reproduce and distribute copies of the 90 + Work or Derivative Works thereof in any medium, with or without 91 + modifications, and in Source or Object form, provided that You 92 + meet the following conditions: 93 + 94 + (a) You must give any other recipients of the Work or 95 + Derivative Works a copy of this License; and 96 + 97 + (b) You must cause any modified files to carry prominent notices 98 + stating that You changed the files; and 99 + 100 + (c) You must retain, in the Source form of any Derivative Works 101 + that You distribute, all copyright, patent, trademark, and 102 + attribution notices from the Source form of the Work, 103 + excluding those notices that do not pertain to any part of 104 + the Derivative Works; and 105 + 106 + (d) If the Work includes a "NOTICE" text file as part of its 107 + distribution, then any Derivative Works that You distribute must 108 + include a readable copy of the attribution notices contained 109 + within such NOTICE file, excluding those notices that do not 110 + pertain to any part of the Derivative Works, in at least one 111 + of the following places: within a NOTICE text file distributed 112 + as part of the Derivative Works; within the Source form or 113 + documentation, if provided along with the Derivative Works; or, 114 + within a display generated by the Derivative Works, if and 115 + wherever such third-party notices normally appear. The contents 116 + of the NOTICE file are for informational purposes only and 117 + do not modify the License. You may add Your own attribution 118 + notices within Derivative Works that You distribute, alongside 119 + or as an addendum to the NOTICE text from the Work, provided 120 + that such additional attribution notices cannot be construed 121 + as modifying the License. 122 + 123 + You may add Your own copyright statement to Your modifications and 124 + may provide additional or different license terms and conditions 125 + for use, reproduction, or distribution of Your modifications, or 126 + for any such Derivative Works as a whole, provided Your use, 127 + reproduction, and distribution of the Work otherwise complies with 128 + the conditions stated in this License. 129 + 130 + 5. Submission of Contributions. Unless You explicitly state otherwise, 131 + any Contribution intentionally submitted for inclusion in the Work 132 + by You to the Licensor shall be under the terms and conditions of 133 + this License, without any additional terms or conditions. 134 + Notwithstanding the above, nothing herein shall supersede or modify 135 + the terms of any separate license agreement you may have executed 136 + with Licensor regarding such Contributions. 137 + 138 + 6. Trademarks. This License does not grant permission to use the trade 139 + names, trademarks, service marks, or product names of the Licensor, 140 + except as required for reasonable and customary use in describing the 141 + origin of the Work and reproducing the content of the NOTICE file. 142 + 143 + 7. Disclaimer of Warranty. Unless required by applicable law or 144 + agreed to in writing, Licensor provides the Work (and each 145 + Contributor provides its Contributions) on an "AS IS" BASIS, 146 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 + implied, including, without limitation, any warranties or conditions 148 + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 + PARTICULAR PURPOSE. You are solely responsible for determining the 150 + appropriateness of using or redistributing the Work and assume any 151 + risks associated with Your exercise of permissions under this License. 152 + 153 + 8. Limitation of Liability. In no event and under no legal theory, 154 + whether in tort (including negligence), contract, or otherwise, 155 + unless required by applicable law (such as deliberate and grossly 156 + negligent acts) or agreed to in writing, shall any Contributor be 157 + liable to You for damages, including any direct, indirect, special, 158 + incidental, or consequential damages of any character arising as a 159 + result of this License or out of the use or inability to use the 160 + Work (including but not limited to damages for loss of goodwill, 161 + work stoppage, computer failure or malfunction, or any and all 162 + other commercial damages or losses), even if such Contributor 163 + has been advised of the possibility of such damages. 164 + 165 + 9. Accepting Warranty or Additional Liability. While redistributing 166 + the Work or Derivative Works thereof, You may choose to offer, 167 + and charge a fee for, acceptance of support, warranty, indemnity, 168 + or other liability obligations and/or rights consistent with this 169 + License. However, in accepting such obligations, You may act only 170 + on Your own behalf and on Your sole responsibility, not on behalf 171 + of any other Contributor, and only if You agree to indemnify, 172 + defend, and hold each Contributor harmless for any liability 173 + incurred by, or claims asserted against, such Contributor by reason 174 + of your accepting any such warranty or additional liability. 175 + 176 + END OF TERMS AND CONDITIONS 177 + 178 + APPENDIX: How to apply the Apache License to your work. 179 + 180 + To apply the Apache License to your work, attach the following 181 + boilerplate notice, with the fields enclosed by brackets "[]" 182 + replaced with your own identifying information. (Don't include 183 + the brackets!) The text should be enclosed in the appropriate 184 + comment syntax for the file format. We also recommend that a 185 + file or class name and description of purpose be included on the 186 + same "printed page" as the copyright notice for easier 187 + identification within third-party archives. 188 + 189 + Copyright [yyyy] [name of copyright owner] 190 + 191 + Licensed under the Apache License, Version 2.0 (the "License"); 192 + you may not use this file except in compliance with the License. 193 + You may obtain a copy of the License at 194 + 195 + http://www.apache.org/licenses/LICENSE-2.0 196 + 197 + Unless required by applicable law or agreed to in writing, software 198 + distributed under the License is distributed on an "AS IS" BASIS, 199 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 + See the License for the specific language governing permissions and 201 + limitations under the License.
+4
home/profiles/nvim/lazynvim/.config/nvim/README.md
··· 1 + # 💤 LazyVim 2 + 3 + A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 + Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
+2
home/profiles/nvim/lazynvim/.config/nvim/init.lua
··· 1 + -- bootstrap lazy.nvim, LazyVim and your plugins 2 + require("config.lazy")
+60
home/profiles/nvim/lazynvim/.config/nvim/lazy-lock.json
··· 1 + { 2 + "LazyVim": { "branch": "main", "commit": "12818a6cb499456f4903c5d8e68af43753ebc869" }, 3 + "SchemaStore.nvim": { "branch": "main", "commit": "54a2cf0105166d5a48172e81f12a2bf10cfc8b2c" }, 4 + "aerial.nvim": { "branch": "master", "commit": "e585934fef8d253dbc5655cff3deb3444e064e6c" }, 5 + "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" }, 6 + "catppuccin": { "branch": "main", "commit": "4fd72a9ab64b393c2c22b168508fd244877fec96" }, 7 + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, 8 + "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, 9 + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, 10 + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, 11 + "conform.nvim": { "branch": "master", "commit": "62eba813b7501b39612146cbf29cd07f1d4ac29c" }, 12 + "dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" }, 13 + "dressing.nvim": { "branch": "master", "commit": "c5775a888adbc50652cb370073fcfec963eca93e" }, 14 + "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, 15 + "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" }, 16 + "gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" }, 17 + "grug-far.nvim": { "branch": "main", "commit": "ebab68b2150079732ae8074eefb261a124824139" }, 18 + "indent-blankline.nvim": { "branch": "master", "commit": "db926997af951da38e5004ec7b9fbdc480b48f5d" }, 19 + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, 20 + "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" }, 21 + "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, 22 + "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, 23 + "mason-lspconfig.nvim": { "branch": "main", "commit": "482350b050bd413931c2cdd4857443c3da7d57cb" }, 24 + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, 25 + "mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" }, 26 + "mini.icons": { "branch": "main", "commit": "12e7b5d47bfc1b4c5ba4278fb49ec9100138df14" }, 27 + "mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" }, 28 + "mini.surround": { "branch": "main", "commit": "d8913ed23be0a1a4585ae34414821cc343a46174" }, 29 + "neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" }, 30 + "neovim-ayu": { "branch": "master", "commit": "6993189dd0ee38299879a1a0064718a8392e8713" }, 31 + "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" }, 32 + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, 33 + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, 34 + "nvim-lint": { "branch": "master", "commit": "debabca63c0905b59ce596a55a8e33eafdf66342" }, 35 + "nvim-lspconfig": { "branch": "master", "commit": "911167921d49cd5c1c9b2436031d0da3945e787f" }, 36 + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, 37 + "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, 38 + "nvim-treesitter": { "branch": "master", "commit": "04401b5dd17c3419dae5141677bd256f52d54733" }, 39 + "nvim-treesitter-textobjects": { "branch": "master", "commit": "41e3abf6bfd9a9a681eb1f788bdeba91c9004b2b" }, 40 + "nvim-ts-autotag": { "branch": "main", "commit": "0cb76eea80e9c73b88880f0ca78fbd04c5bdcac7" }, 41 + "outline.nvim": { "branch": "main", "commit": "02a18194b3d2adfb537dd1a9f21d1fc29dd31382" }, 42 + "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, 43 + "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" }, 44 + "sg.nvim": { "branch": "master", "commit": "8bdd4d19da2268072708d5fe18fda9c23e16509d" }, 45 + "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" }, 46 + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, 47 + "telescope-terraform-doc.nvim": { "branch": "main", "commit": "7ac642765615e6ff164ecfc82eb278aa68d06840" }, 48 + "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, 49 + "telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" }, 50 + "todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" }, 51 + "tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" }, 52 + "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, 53 + "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" }, 54 + "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, 55 + "vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" }, 56 + "vim-dadbod-ui": { "branch": "master", "commit": "0f51d8de368c8c6220973e8acd156d17da746f4c" }, 57 + "vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" }, 58 + "vim-helm": { "branch": "master", "commit": "ae1ebc160d2b9b90108477ab10df7a4fc501e358" }, 59 + "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" } 60 + }
+19
home/profiles/nvim/lazynvim/.config/nvim/lazyvim.json
··· 1 + { 2 + "extras": [ 3 + "lazyvim.plugins.extras.editor.aerial", 4 + "lazyvim.plugins.extras.editor.outline", 5 + "lazyvim.plugins.extras.lang.go", 6 + "lazyvim.plugins.extras.lang.helm", 7 + "lazyvim.plugins.extras.lang.json", 8 + "lazyvim.plugins.extras.lang.nix", 9 + "lazyvim.plugins.extras.lang.sql", 10 + "lazyvim.plugins.extras.lang.svelte", 11 + "lazyvim.plugins.extras.lang.tailwind", 12 + "lazyvim.plugins.extras.lang.terraform", 13 + "lazyvim.plugins.extras.lang.typescript" 14 + ], 15 + "news": { 16 + "NEWS.md": "6520" 17 + }, 18 + "version": 6 19 + }
+68
home/profiles/nvim/lazynvim/.config/nvim/lua/config/autocmds.lua
··· 1 + -- Autocmds are automatically loaded on the VeryLazy event 2 + -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua 3 + -- Add any additional autocmds here 4 + 5 + -- Aggressive fugitive auto-reload with polling 6 + local function setup_fugitive_aggressive_reload() 7 + local timer = nil 8 + 9 + local function refresh_fugitive() 10 + -- Check all files for changes 11 + vim.cmd("silent! checktime") 12 + 13 + -- Force refresh any open fugitive buffers 14 + for _, win in ipairs(vim.api.nvim_list_wins()) do 15 + local buf = vim.api.nvim_win_get_buf(win) 16 + if vim.api.nvim_buf_get_option(buf, "filetype") == "fugitive" then 17 + vim.api.nvim_buf_call(buf, function() 18 + pcall(vim.cmd, "silent! edit") 19 + end) 20 + end 21 + end 22 + end 23 + 24 + local function start_polling() 25 + if timer then vim.fn.timer_stop(timer) end 26 + -- Poll every 2 seconds 27 + timer = vim.fn.timer_start(2000, function() 28 + refresh_fugitive() 29 + end, { ["repeat"] = -1 }) 30 + end 31 + 32 + local function stop_polling() 33 + if timer then 34 + vim.fn.timer_stop(timer) 35 + timer = nil 36 + end 37 + end 38 + 39 + local augroup = vim.api.nvim_create_augroup("FugitiveAggressiveReload", { clear = true }) 40 + 41 + -- Start polling when fugitive buffer opens 42 + vim.api.nvim_create_autocmd("FileType", { 43 + group = augroup, 44 + pattern = "fugitive", 45 + callback = start_polling, 46 + }) 47 + 48 + -- Stop polling when no fugitive buffers are open 49 + vim.api.nvim_create_autocmd("BufDelete", { 50 + group = augroup, 51 + callback = function() 52 + -- Check if any fugitive buffers remain 53 + local has_fugitive = false 54 + for _, buf in ipairs(vim.api.nvim_list_bufs()) do 55 + if vim.api.nvim_buf_is_valid(buf) and vim.api.nvim_buf_get_option(buf, "filetype") == "fugitive" then 56 + has_fugitive = true 57 + break 58 + end 59 + end 60 + if not has_fugitive then 61 + stop_polling() 62 + end 63 + end, 64 + }) 65 + end 66 + 67 + -- Set up aggressive reload 68 + setup_fugitive_aggressive_reload()
+21
home/profiles/nvim/lazynvim/.config/nvim/lua/config/keymaps.lua
··· 1 + -- Keymaps are automatically loaded on the VeryLazy event 2 + -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua 3 + -- Add any additional keymaps here 4 + local map = vim.keymap.set 5 + 6 + -- Navigation 7 + map("n", "gt", "<cmd>bnext<cr>", { desc = "Next Buffer" }) 8 + map("n", "gT", "<cmd>bprevious<cr>", { desc = "Prev Buffer" }) 9 + map("n", "gq", "<cmd>bdelete<cr>", { desc = "Prev Buffer" }) 10 + map("n", "<leader>q", "<cmd>q<cr>", { desc = "Quit" }) 11 + 12 + -- Git 13 + map("n", "<leader>gs", "<cmd>:G<cr>", { desc = "Git Status" }) 14 + map("n", "<leader>gb", "<cmd>Telescope git_branches<cr>", { desc = "Git Status" }) 15 + map("n", "<leader>gp", "<cmd>:G! push<cr>", { desc = "Git Status" }) 16 + 17 + -- Telescope 18 + map("n", "<leader>fs", "<cmd>Telescope live_grep<cr>", { desc = "Telescop Live Grep" }) 19 + 20 + -- Cody 21 + map("n", "<leader>co", "<cmd>CodyChat<cr>", { desc = "Cody Chat" })
+57
home/profiles/nvim/lazynvim/.config/nvim/lua/config/lazy.lua
··· 1 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 + if not (vim.uv or vim.loop).fs_stat(lazypath) then 3 + local lazyrepo = "https://github.com/folke/lazy.nvim.git" 4 + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) 5 + if vim.v.shell_error ~= 0 then 6 + vim.api.nvim_echo({ 7 + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, 8 + { out, "WarningMsg" }, 9 + { "\nPress any key to exit..." }, 10 + }, true, {}) 11 + vim.fn.getchar() 12 + os.exit(1) 13 + end 14 + end 15 + vim.opt.rtp:prepend(lazypath) 16 + 17 + require("lazy").setup({ 18 + spec = { 19 + -- add LazyVim and import its plugins 20 + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, 21 + -- import/override with your plugins 22 + { import = "plugins" }, 23 + }, 24 + defaults = { 25 + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. 26 + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. 27 + lazy = false, 28 + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, 29 + -- have outdated releases, which may break your Neovim install. 30 + version = false, -- always use the latest git commit 31 + -- version = "*", -- try installing the latest stable version for plugins that support semver 32 + }, 33 + install = { colorscheme = { "tokyonight", "habamax" } }, 34 + checker = { 35 + enabled = true, -- check for plugin updates periodically 36 + notify = false, -- notify on update 37 + }, -- automatically check for plugin updates 38 + performance = { 39 + rtp = { 40 + -- disable some rtp plugins 41 + disabled_plugins = { 42 + "gzip", 43 + -- "matchit", 44 + -- "matchparen", 45 + -- "netrwPlugin", 46 + "tarPlugin", 47 + "tohtml", 48 + "tutor", 49 + "zipPlugin", 50 + }, 51 + }, 52 + }, 53 + }) 54 + 55 + require("sg").setup({}) 56 + -- require("ayu").setup({ mirage = true }) 57 + -- require("ayu").colorscheme()
+6
home/profiles/nvim/lazynvim/.config/nvim/lua/config/options.lua
··· 1 + -- Options are automatically loaded before lazy.nvim startup 2 + -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua 3 + -- Add any additional options here 4 + 5 + -- Enable autoread to detect external file changes 6 + vim.opt.autoread = true
+8
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/amp.lua
··· 1 + return { 2 + { 3 + "sourcegraph/amp.nvim", 4 + branch = "main", 5 + lazy = false, 6 + opts = { auto_start = true, log_level = "info" }, 7 + }, 8 + }
+13
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/cody.lua
··· 1 + return { 2 + { 3 + "sourcegraph/sg.nvim", 4 + dependencies = { "nvim-lua/plenary.nvim" }, 5 + }, 6 + { 7 + "hrsh7th/nvim-cmp", 8 + ---@param opts cmp.ConfigSchema 9 + opts = function(_, opts) 10 + table.insert(opts.sources, { name = "cody" }) 11 + end, 12 + }, 13 + }
+50
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/colorscheme.lua
··· 1 + return { 2 + { 3 + "catppuccin/nvim", 4 + lazy = true, 5 + name = "catppuccin", 6 + opts = { 7 + integrations = { 8 + aerial = true, 9 + alpha = true, 10 + cmp = true, 11 + dashboard = true, 12 + flash = true, 13 + gitsigns = true, 14 + headlines = true, 15 + illuminate = true, 16 + indent_blankline = { enabled = true }, 17 + leap = true, 18 + lsp_trouble = true, 19 + mason = true, 20 + markdown = true, 21 + mini = true, 22 + native_lsp = { 23 + enabled = true, 24 + underlines = { 25 + errors = { "undercurl" }, 26 + hints = { "undercurl" }, 27 + warnings = { "undercurl" }, 28 + information = { "undercurl" }, 29 + }, 30 + }, 31 + navic = { enabled = true, custom_bg = "lualine" }, 32 + neotest = true, 33 + neotree = true, 34 + noice = true, 35 + semantic_tokens = true, 36 + telescope = true, 37 + treesitter = true, 38 + treesitter_context = true, 39 + which_key = true, 40 + }, 41 + }, 42 + }, 43 + { "Shatur/neovim-ayu", lazy = false }, 44 + { 45 + "LazyVim/LazyVim", 46 + opts = { 47 + colorscheme = "catppuccin-macchiato", 48 + }, 49 + }, 50 + }
+193
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/example.lua
··· 1 + -- since this is just an example spec, don't actually load anything here and return an empty spec 2 + -- stylua: ignore 3 + if true then return {} end 4 + 5 + -- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim 6 + -- 7 + -- In your plugin files, you can: 8 + -- * add extra plugins 9 + -- * disable/enabled LazyVim plugins 10 + -- * override the configuration of LazyVim plugins 11 + return { 12 + -- add gruvbox 13 + { "ellisonleao/gruvbox.nvim" }, 14 + 15 + -- Configure LazyVim to load gruvbox 16 + { 17 + "LazyVim/LazyVim", 18 + opts = { 19 + colorscheme = "gruvbox", 20 + }, 21 + }, 22 + 23 + -- change trouble config 24 + { 25 + "folke/trouble.nvim", 26 + -- opts will be merged with the parent spec 27 + opts = { use_diagnostic_signs = true }, 28 + }, 29 + 30 + -- disable trouble 31 + { "folke/trouble.nvim", enabled = false }, 32 + 33 + -- override nvim-cmp and add cmp-emoji 34 + { 35 + "hrsh7th/nvim-cmp", 36 + dependencies = { "hrsh7th/cmp-emoji" }, 37 + ---@param opts cmp.ConfigSchema 38 + opts = function(_, opts) 39 + table.insert(opts.sources, { name = "emoji" }) 40 + end, 41 + }, 42 + 43 + -- change some telescope options and a keymap to browse plugin files 44 + { 45 + "nvim-telescope/telescope.nvim", 46 + keys = { 47 + -- add a keymap to browse plugin files 48 + -- stylua: ignore 49 + { 50 + "<leader>fp", 51 + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, 52 + desc = "Find Plugin File", 53 + }, 54 + }, 55 + -- change some options 56 + opts = { 57 + defaults = { 58 + layout_strategy = "horizontal", 59 + layout_config = { prompt_position = "top" }, 60 + sorting_strategy = "ascending", 61 + winblend = 0, 62 + }, 63 + }, 64 + }, 65 + 66 + -- add pyright to lspconfig 67 + { 68 + "neovim/nvim-lspconfig", 69 + ---@class PluginLspOpts 70 + opts = { 71 + ---@type lspconfig.options 72 + servers = { 73 + -- pyright will be automatically installed with mason and loaded with lspconfig 74 + pyright = {}, 75 + }, 76 + }, 77 + }, 78 + 79 + -- add tsserver and setup with typescript.nvim instead of lspconfig 80 + { 81 + "neovim/nvim-lspconfig", 82 + dependencies = { 83 + "jose-elias-alvarez/typescript.nvim", 84 + init = function() 85 + require("lazyvim.util").lsp.on_attach(function(_, buffer) 86 + -- stylua: ignore 87 + vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) 88 + vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) 89 + end) 90 + end, 91 + }, 92 + ---@class PluginLspOpts 93 + opts = { 94 + ---@type lspconfig.options 95 + servers = { 96 + -- tsserver will be automatically installed with mason and loaded with lspconfig 97 + tsserver = {}, 98 + }, 99 + -- you can do any additional lsp server setup here 100 + -- return true if you don't want this server to be setup with lspconfig 101 + ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> 102 + setup = { 103 + -- example to setup with typescript.nvim 104 + tsserver = function(_, opts) 105 + require("typescript").setup({ server = opts }) 106 + return true 107 + end, 108 + -- Specify * to use this function as a fallback for any server 109 + -- ["*"] = function(server, opts) end, 110 + }, 111 + }, 112 + }, 113 + 114 + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, 115 + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: 116 + { import = "lazyvim.plugins.extras.lang.typescript" }, 117 + 118 + -- add more treesitter parsers 119 + { 120 + "nvim-treesitter/nvim-treesitter", 121 + opts = { 122 + ensure_installed = { 123 + "bash", 124 + "html", 125 + "javascript", 126 + "json", 127 + "lua", 128 + "markdown", 129 + "markdown_inline", 130 + "python", 131 + "query", 132 + "regex", 133 + "tsx", 134 + "typescript", 135 + "vim", 136 + "yaml", 137 + }, 138 + }, 139 + }, 140 + 141 + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above 142 + -- would overwrite `ensure_installed` with the new value. 143 + -- If you'd rather extend the default config, use the code below instead: 144 + { 145 + "nvim-treesitter/nvim-treesitter", 146 + opts = function(_, opts) 147 + -- add tsx and treesitter 148 + vim.list_extend(opts.ensure_installed, { 149 + "tsx", 150 + "typescript", 151 + }) 152 + end, 153 + }, 154 + 155 + -- the opts function can also be used to change the default opts: 156 + { 157 + "nvim-lualine/lualine.nvim", 158 + event = "VeryLazy", 159 + opts = function(_, opts) 160 + table.insert(opts.sections.lualine_x, "😄") 161 + end, 162 + }, 163 + 164 + -- or you can return new options to override all the defaults 165 + { 166 + "nvim-lualine/lualine.nvim", 167 + event = "VeryLazy", 168 + opts = function() 169 + return { 170 + --[[add your custom lualine config here]] 171 + } 172 + end, 173 + }, 174 + 175 + -- use mini.starter instead of alpha 176 + { import = "lazyvim.plugins.extras.ui.mini-starter" }, 177 + 178 + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc 179 + { import = "lazyvim.plugins.extras.lang.json" }, 180 + 181 + -- add any tools you want to have installed below 182 + { 183 + "williamboman/mason.nvim", 184 + opts = { 185 + ensure_installed = { 186 + "stylua", 187 + "shellcheck", 188 + "shfmt", 189 + "flake8", 190 + }, 191 + }, 192 + }, 193 + }
+6
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/git.lua
··· 1 + return { 2 + { 3 + "tpope/vim-fugitive", 4 + lazy = false, 5 + }, 6 + }
+14
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/github.lua
··· 1 + return { 2 + { 3 + "dlvhdr/gh-addressed.nvim", 4 + dependencies = { 5 + "nvim-lua/plenary.nvim", 6 + "MunifTanjim/nui.nvim", 7 + "folke/trouble.nvim", -- optional 8 + }, 9 + cmd = "GhReviewComments", 10 + keys = { 11 + { "<leader>gc", "<cmd>GhReviewComments<cr>", desc = "GitHub Review Comments" }, 12 + }, 13 + }, 14 + }
+15
home/profiles/nvim/lazynvim/.config/nvim/lua/plugins/surround.lua
··· 1 + return { 2 + "echasnovski/mini.surround", 3 + opts = { 4 + mappings = { 5 + add = "ys", 6 + delete = "ds", 7 + find = "gsf", 8 + find_left = "gsF", 9 + highlight = "gsh", 10 + replace = "cs", 11 + update_n_lines = "gsn", 12 + }, 13 + }, 14 + } 15 +
+3
home/profiles/nvim/lazynvim/.config/nvim/stylua.toml
··· 1 + indent_type = "Spaces" 2 + indent_width = 2 3 + column_width = 120
+36 -1
home/profiles/tmux/tmux.conf
··· 2 2 setw -g pane-base-index 1 3 3 4 4 # https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/ 5 - set -g default-terminal "xterm-256color" 5 + # colors 6 + set -g default-terminal "tmux-256color" 6 7 set -ga terminal-overrides ",*256col*:Tc" 7 8 set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q' 8 9 set-environment -g COLORTERM "truecolor" 10 + set -sa terminal-features ",tmux-256color:RGB:Nobr" 11 + set -g allow-passthrough on 12 + 13 + set -g set-clipboard on 14 + 15 + # shift enter for amp 16 + set -s extended-keys on 17 + set -as terminal-features 'tmux*:extkeys' 18 + 19 + # pane colors for amp diff view 20 + # set-option -g pane-colours[0] "#4D5566" 21 + # set-option -g pane-colours[1] "#F27983" 22 + # set-option -g pane-colours[2] "#A6CC70" 23 + # set-option -g pane-colours[3] "#F29E74" 24 + # set-option -g pane-colours[4] "#77A8D9" 25 + # set-option -g pane-colours[5] "#A37ACC" 26 + # set-option -g pane-colours[6] "#4CBF99" 27 + # set-option -g pane-colours[7] "#F0F0F0" 28 + # set-option -g pane-colours[8] "#000000" 29 + # set-option -g pane-colours[9] "#FF3333" 30 + # set-option -g pane-colours[10] "#BAE67E" 31 + # set-option -g pane-colours[11] "#FFA759" 32 + # set-option -g pane-colours[12] "#73D0FF" 33 + # set-option -g pane-colours[13] "#D4BFFF" 34 + # set-option -g pane-colours[14] "#95E6CB" 35 + # set-option -g pane-colours[15] "#ffffff" 9 36 10 37 # Mouse works as expected 11 38 set-option -g mouse on 39 + 40 + # Enable focus events for vim/neovim autoread 41 + set -g focus-events on 12 42 # easy-to-remember split pane commands 13 43 bind | split-window -h -c "#{pane_current_path}" 14 44 bind - split-window -v -c "#{pane_current_path}" 45 + 46 + # amp commands 47 + set -g @amp/fork-thread-command 'new-window -n forked-thread $SHELL -c "amp threads fork; amp threads continue"' 48 + bind -N 'Fork Amp thread' f "#{@amp/fork-thread-command}" 15 49 16 50 # don't rename windows automatically 17 51 set-option -g allow-rename off ··· 60 94 61 95 # Unbind Ctrl+V so it passes through to Kitty for paste 62 96 unbind C-v 97 + set -g set-clipboard on 63 98 64 99 # Vim-aware pane navigation with Alt+hjkl 65 100 is_vim="ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
+1
hosts/darwin/casks/default.nix
··· 22 22 "wireshark" 23 23 "1password" 24 24 "orbstack" 25 + # "aerospace" 25 26 26 27 # Communication Tools 27 28 # Already installed manually
+7 -4
hosts/darwin/default.nix
··· 3 3 { 4 4 imports = [ 5 5 ./sketchybar 6 - ./yabai 6 + # ./yabai # Now using aerospace 7 7 # ./casks 8 8 # ../../modules/darwin/home-manager.nix 9 9 # ../../modules/shared ··· 45 45 }; 46 46 47 47 # Auto upgrade nix package and the daemon service. 48 - services.nix-daemon.enable = true; 48 + # services.nix-daemon.enable = true; # removed in newer nix-darwin 49 49 nixpkgs.hostPlatform = "aarch64-darwin"; 50 50 programs.zsh.enable = true; 51 51 ··· 55 55 settings.trusted-users = [ "@admin" "anishlakhwara" ]; 56 56 57 57 gc = { 58 - user = "root"; 58 + # user = "root"; # removed in newer nix-darwin 59 59 automatic = true; 60 60 interval = { Weekday = 0; Hour = 2; Minute = 0; }; 61 61 options = "--delete-older-than 30d"; ··· 85 85 siji 86 86 font-awesome 87 87 proggyfonts 88 - (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Iosevka" ]; }) 88 + nerd-fonts.fira-code 89 + nerd-fonts.droid-sans-mono 90 + nerd-fonts.iosevka 89 91 ]; 90 92 91 93 system = { 92 94 stateVersion = 4; 95 + primaryUser = "anishlakhwara"; # required for newer nix-darwin 93 96 94 97 keyboard = { 95 98 enableKeyMapping = true;
+3 -2
hosts/deck/configuration.nix
··· 73 73 # }; 74 74 75 75 # Enable automatic login for the user. 76 - services.xserver.displayManager.autoLogin.enable = true; 77 - services.xserver.displayManager.autoLogin.user = "anish"; 76 + # Disabled: jovian.steam.autoStart handles this 77 + # services.xserver.displayManager.autoLogin.enable = true; 78 + # services.xserver.displayManager.autoLogin.user = "anish"; 78 79 79 80 # Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229 80 81 systemd.services."getty@tty1".enable = false;
+4 -1
hosts/deck/default.nix
··· 1 - { self, pkgs, config, ... }: 1 + { self, pkgs, config, lib, ... }: 2 2 { 3 3 imports = [ 4 4 ./configuration.nix ··· 36 36 jovian.steam.user = "anish"; 37 37 jovian.steam.autoStart = true; 38 38 jovian.steam.desktopSession = "gamescope-wayland"; 39 + 40 + # Disable lightdm from desktop profile 41 + services.xserver.displayManager.lightdm.enable = lib.mkForce false; 39 42 40 43 # Install XR drivers 41 44 # environment.systemPackages = with pkgs; [
+53
hosts/lituus/block-storage.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + { 4 + # Block storage mount 5 + fileSystems."/srv/sealight" = { 6 + device = "/dev/disk/by-id/virtio-mel-3b1f60a89cd649"; 7 + fsType = "ext4"; 8 + options = [ "noatime" ]; 9 + }; 10 + 11 + # Bind mounts for service data 12 + # PostgreSQL moved to NVMe for performance - data lives directly on /var/lib/postgresql 13 + # fileSystems."/var/lib/postgresql" = { 14 + # device = "/srv/sealight/postgresql"; 15 + # fsType = "none"; 16 + # options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 17 + # }; 18 + 19 + fileSystems."/var/lib/matrix-synapse" = { 20 + device = "/srv/sealight/matrix-synapse"; 21 + fsType = "none"; 22 + options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 23 + }; 24 + 25 + fileSystems."/var/lib/matrix-as-discord" = { 26 + device = "/srv/sealight/matrix-as-discord"; 27 + fsType = "none"; 28 + options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 29 + }; 30 + 31 + fileSystems."/var/lib/mautrix-telegram" = { 32 + device = "/srv/sealight/mautrix-telegram"; 33 + fsType = "none"; 34 + options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 35 + }; 36 + 37 + fileSystems."/var/lib/wireguard" = { 38 + device = "/srv/sealight/wireguard"; 39 + fsType = "none"; 40 + options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 41 + }; 42 + 43 + fileSystems."/var/www" = { 44 + device = "/srv/sealight/www"; 45 + fsType = "none"; 46 + options = [ "bind" "x-systemd.requires-mounts-for=/srv/sealight" ]; 47 + }; 48 + 49 + # Ensure services wait for mounts 50 + # PostgreSQL no longer needs to wait for /srv/sealight mount 51 + # systemd.services.postgresql.unitConfig.RequiresMountsFor = [ "/srv/sealight" ]; 52 + systemd.services.matrix-synapse.unitConfig.RequiresMountsFor = [ "/srv/sealight" ]; 53 + }
+2
hosts/lituus/default.nix
··· 1 1 { self, profiles, suites, ... }: 2 2 { 3 3 imports = [ 4 + ./hardware-configuration.nix 4 5 ./configuration.nix 6 + ./block-storage.nix 5 7 ../profiles/core 6 8 ../profiles/server 7 9 ../profiles/metrics
+10 -15
hosts/lituus/hardware-configuration.nix
··· 1 - # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 - # and may be overwritten by future invocations. Please make changes 3 - # to /etc/nixos/configuration.nix instead. 4 1 { config, lib, pkgs, modulesPath, ... }: 5 2 6 3 { 7 - imports = 8 - [ 9 - (modulesPath + "/profiles/qemu-guest.nix") 10 - ]; 4 + imports = [ ]; 11 5 12 - boot.initrd.availableKernelModules = [ "ata_piix" "floppy" "virtio_pci" "sr_mod" "virtio_blk" ]; 6 + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; 13 7 boot.initrd.kernelModules = [ ]; 14 8 boot.kernelModules = [ ]; 15 9 boot.extraModulePackages = [ ]; 16 10 17 - fileSystems."/" = 18 - { 19 - device = "/dev/disk/by-uuid/3b8b2c4b-835e-4822-8ac8-0effdc8270d6"; 20 - fsType = "btrfs"; 21 - }; 11 + fileSystems."/" = { 12 + device = "/dev/disk/by-uuid/f9e9468f-ff3b-430d-9ecf-ba275cf2f716"; 13 + fsType = "ext4"; 14 + }; 22 15 23 16 swapDevices = [ ]; 24 17 25 - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 26 - nixpkgs.hostPlatform = "x86_64-linux"; 18 + networking.useDHCP = lib.mkDefault true; 19 + 20 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 21 + virtualisation.hypervGuest.enable = true; 27 22 }
+14 -1
hosts/profiles/matrix/default.nix
··· 17 17 age.secrets.synapse-config.file = "${self}/secrets/synapse-config.age"; 18 18 age.secrets.synapse-config.owner = "matrix-synapse"; 19 19 20 + systemd.services.matrix-synapse.serviceConfig.TimeoutStartSec = "10min"; 21 + 20 22 services.matrix-synapse = { 21 23 enable = true; 22 24 settings = { 23 25 max_upload_size = "100M"; 24 26 server_name = "sealight.xyz"; 27 + federation_sender_instances = []; 25 28 listeners = [ 26 29 { 27 30 port = 8448; ··· 210 213 root = "/var/www/sealight.xyz"; 211 214 }; 212 215 locations."/_matrix" = { 213 - proxyPass = "http://localhost:8448"; 216 + proxyPass = "http://127.0.0.1:8448"; 217 + extraConfig = '' 218 + proxy_read_timeout 300s; 219 + proxy_connect_timeout 300s; 220 + proxy_send_timeout 300s; 221 + ''; 214 222 }; 215 223 # locations."/slackbridge" = { 216 224 # proxyPass = "http://localhost:9899"; ··· 222 230 enableACME = true; 223 231 locations."/" = { 224 232 proxyPass = "http://localhost:8448"; 233 + extraConfig = '' 234 + proxy_read_timeout 300s; 235 + proxy_connect_timeout 300s; 236 + proxy_send_timeout 300s; 237 + ''; 225 238 }; 226 239 }; 227 240 ## virtual host for Riot/Web
+3
secrets/secrets.nix
··· 6 6 lituus = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH2lAb33LH3JNuOfBXt971u0tHe+NURFecQdfjwEj+C+ root@lituus"; 7 7 helix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAKrL6IDHNnHmxi0q9nzu87NOyidPm3HpE7klU368lEf root@helix"; 8 8 helix2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK2G81z1E51ioJQGLHnTJEjgSdBqLM6mb72Z+0atE6Bf root@helix"; 9 + work = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHOnfDvR2D2nGnC+DZYDUXiokzz+eLfZwkp+O8WjWutp anishlakhwara@Anishs-MacBook-Pro.local"; 9 10 curve = [ system user ]; 10 11 allUserKeys = [ system user mossnet ]; 11 12 systemOnly = [ system mossnet lituus helix ]; ··· 34 35 "box-wg.age".publicKeys = [ mossnet ]; 35 36 "wallabag-password.age".publicKeys = [ mossnet ]; 36 37 "wallabag-secret.age".publicKeys = [ mossnet ]; 38 + 39 + "work-wg.age".publicKeys = [ work user system ]; 37 40 }
secrets/work-wg.age

This is a binary file and will not be displayed.