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

+1817 -212
-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
+191
flake.lock
··· 299 299 "type": "github" 300 300 } 301 301 }, 302 + "flake-compat_4": { 303 + "flake": false, 304 + "locked": { 305 + "lastModified": 1751685974, 306 + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", 307 + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", 308 + "type": "tarball", 309 + "url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1" 310 + }, 311 + "original": { 312 + "type": "tarball", 313 + "url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz" 314 + } 315 + }, 302 316 "flake-parts": { 303 317 "inputs": { 304 318 "nixpkgs-lib": "nixpkgs-lib" ··· 417 431 "type": "github" 418 432 } 419 433 }, 434 + "flake-utils_5": { 435 + "inputs": { 436 + "systems": "systems_5" 437 + }, 438 + "locked": { 439 + "lastModified": 1694529238, 440 + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", 441 + "owner": "numtide", 442 + "repo": "flake-utils", 443 + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", 444 + "type": "github" 445 + }, 446 + "original": { 447 + "owner": "numtide", 448 + "repo": "flake-utils", 449 + "type": "github" 450 + } 451 + }, 420 452 "gitignore": { 421 453 "inputs": { 422 454 "nixpkgs": [ ··· 440 472 "type": "github" 441 473 } 442 474 }, 475 + "gomod2nix": { 476 + "inputs": { 477 + "flake-utils": "flake-utils_5", 478 + "nixpkgs": [ 479 + "tangled", 480 + "nixpkgs" 481 + ] 482 + }, 483 + "locked": { 484 + "lastModified": 1754078208, 485 + "narHash": "sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8=", 486 + "owner": "nix-community", 487 + "repo": "gomod2nix", 488 + "rev": "7f963246a71626c7fc70b431a315c4388a0c95cf", 489 + "type": "github" 490 + }, 491 + "original": { 492 + "owner": "nix-community", 493 + "repo": "gomod2nix", 494 + "type": "github" 495 + } 496 + }, 443 497 "grasp": { 444 498 "inputs": { 445 499 "flake-utils": "flake-utils_4", ··· 567 621 "type": "github" 568 622 } 569 623 }, 624 + "htmx-src": { 625 + "flake": false, 626 + "locked": { 627 + "narHash": "sha256-nm6avZuEBg67SSyyZUhjpXVNstHHgUxrtBHqJgowU08=", 628 + "type": "file", 629 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 630 + }, 631 + "original": { 632 + "type": "file", 633 + "url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" 634 + } 635 + }, 636 + "htmx-ws-src": { 637 + "flake": false, 638 + "locked": { 639 + "narHash": "sha256-2fg6KyEJoO24q0fQqbz9RMaYNPQrMwpZh29tkSqdqGY=", 640 + "type": "file", 641 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 642 + }, 643 + "original": { 644 + "type": "file", 645 + "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 646 + } 647 + }, 648 + "ibm-plex-mono-src": { 649 + "flake": false, 650 + "locked": { 651 + "lastModified": 1731402384, 652 + "narHash": "sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1+EMrGsYEq+6g=", 653 + "type": "tarball", 654 + "url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip" 655 + }, 656 + "original": { 657 + "type": "tarball", 658 + "url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip" 659 + } 660 + }, 661 + "indigo": { 662 + "flake": false, 663 + "locked": { 664 + "lastModified": 1753693716, 665 + "narHash": "sha256-DMIKnCJRODQXEHUxA+7mLzRALmnZhkkbHlFT2rCQYrE=", 666 + "owner": "oppiliappan", 667 + "repo": "indigo", 668 + "rev": "5f170569da9360f57add450a278d73538092d8ca", 669 + "type": "github" 670 + }, 671 + "original": { 672 + "owner": "oppiliappan", 673 + "repo": "indigo", 674 + "type": "github" 675 + } 676 + }, 677 + "inter-fonts-src": { 678 + "flake": false, 679 + "locked": { 680 + "lastModified": 1731687360, 681 + "narHash": "sha256-5vdKKvHAeZi6igrfpbOdhZlDX2/5+UvzlnCQV6DdqoQ=", 682 + "type": "tarball", 683 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 684 + }, 685 + "original": { 686 + "type": "tarball", 687 + "url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" 688 + } 689 + }, 570 690 "jovian": { 571 691 "inputs": { 572 692 "nix-github-actions": "nix-github-actions", ··· 602 722 "owner": "kristapsdz", 603 723 "repo": "lowdown", 604 724 "type": "github" 725 + } 726 + }, 727 + "lucide-src": { 728 + "flake": false, 729 + "locked": { 730 + "lastModified": 1754044466, 731 + "narHash": "sha256-+exBR2OToB1iv7ZQI2S4B0lXA/QRvC9n6U99UxGpJGs=", 732 + "type": "tarball", 733 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip" 734 + }, 735 + "original": { 736 + "type": "tarball", 737 + "url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip" 605 738 } 606 739 }, 607 740 "mk-shell-bin": { ··· 980 1113 "nur": "nur", 981 1114 "poonam": "poonam", 982 1115 "rust-overlay": "rust-overlay", 1116 + "tangled": "tangled", 983 1117 "tidalcycles": "tidalcycles", 984 1118 "unstable": "unstable", 985 1119 "vimwikicli": "vimwikicli" ··· 1020 1154 "owner": "oxalica", 1021 1155 "repo": "rust-overlay", 1022 1156 "type": "github" 1157 + } 1158 + }, 1159 + "sqlite-lib-src": { 1160 + "flake": false, 1161 + "locked": { 1162 + "lastModified": 1706631843, 1163 + "narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=", 1164 + "type": "tarball", 1165 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 1166 + }, 1167 + "original": { 1168 + "type": "tarball", 1169 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 1023 1170 } 1024 1171 }, 1025 1172 "superdirt-src": { ··· 1096 1243 "owner": "nix-systems", 1097 1244 "repo": "default", 1098 1245 "type": "github" 1246 + } 1247 + }, 1248 + "systems_5": { 1249 + "locked": { 1250 + "lastModified": 1681028828, 1251 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 1252 + "owner": "nix-systems", 1253 + "repo": "default", 1254 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 1255 + "type": "github" 1256 + }, 1257 + "original": { 1258 + "owner": "nix-systems", 1259 + "repo": "default", 1260 + "type": "github" 1261 + } 1262 + }, 1263 + "tangled": { 1264 + "inputs": { 1265 + "flake-compat": "flake-compat_4", 1266 + "gomod2nix": "gomod2nix", 1267 + "htmx-src": "htmx-src", 1268 + "htmx-ws-src": "htmx-ws-src", 1269 + "ibm-plex-mono-src": "ibm-plex-mono-src", 1270 + "indigo": "indigo", 1271 + "inter-fonts-src": "inter-fonts-src", 1272 + "lucide-src": "lucide-src", 1273 + "nixpkgs": [ 1274 + "nixpkgs" 1275 + ], 1276 + "sqlite-lib-src": "sqlite-lib-src" 1277 + }, 1278 + "locked": { 1279 + "lastModified": 1759559279, 1280 + "narHash": "sha256-gA0mh9Fx2uou2v75RMA6qUvWB3Z74Asc6pRjiojwaRo=", 1281 + "ref": "refs/heads/master", 1282 + "rev": "5ecd54b31547ac169a3b15d6034a67179f22aa33", 1283 + "revCount": 1486, 1284 + "type": "git", 1285 + "url": "https://tangled.org/@tangled.org/core" 1286 + }, 1287 + "original": { 1288 + "type": "git", 1289 + "url": "https://tangled.org/@tangled.org/core" 1099 1290 } 1100 1291 }, 1101 1292 "tidal-src": {
+8 -1
flake.nix
··· 65 65 inputs.nixpkgs.follows = "unstable"; 66 66 }; 67 67 68 + # Tangled (atproto tools) 69 + tangled = { 70 + url = "git+https://tangled.org/@tangled.org/core"; 71 + inputs.nixpkgs.follows = "nixpkgs"; 72 + }; 73 + 68 74 # Others 69 75 nur.url = "github:nix-community/NUR"; 70 76 rust-overlay = { ··· 89 95 outputs = { self, nixpkgs, unstable, nixos-hardware, home-manager, deploy-rs 90 96 , agenix, disko, basant, grasp, nix-matrix-appservices, nur, tidalcycles 91 97 , rust-overlay, vimwikicli, autohide-tdrop, darwin, nix-homebrew, homebrew-bundle 92 - , homebrew-core, homebrew-cask, jovian, ... }@inputs: 98 + , homebrew-core, homebrew-cask, jovian, tangled, ... }@inputs: 93 99 let 94 100 forAllSystems = nixpkgs.lib.genAttrs [ 95 101 "aarch64-linux" ··· 147 153 # ]; 148 154 overlays = [ 149 155 agenix.overlays.default 156 + tangled.overlays.default # atproto tools only on lite deployments 150 157 self.overlays.additions 151 158 self.overlays.modifications 152 159 tidalcycles.overlays.default # needed for nvim which comes pre-installed lol
+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
+15 -7
home/profiles/cli/default.nix
··· 11 11 bottom 12 12 gptfdisk 13 13 starship 14 - iputils 15 14 jq 16 15 manix 17 16 moreutils ··· 42 41 file 43 42 lsof 44 43 atool 45 - strace 46 44 zip 47 45 unzip 48 46 rsync ··· 147 145 148 146 disconnect_keyboard 149 147 '') 148 + ] ++ lib.optionals pkgs.stdenv.isLinux [ 149 + # Linux-only packages 150 + iputils 151 + strace 150 152 ]; 151 153 152 154 programs.zsh = { ··· 227 229 enableZshIntegration = true; 228 230 }; 229 231 230 - services.kdeconnect.enable = true; 232 + services.kdeconnect.enable = pkgs.stdenv.isLinux; 231 233 232 234 home.shellAliases = { 233 235 # quick cd ··· 247 249 tree = "ls --tree --icons"; 248 250 cat = "bat"; 249 251 unzip = "aunpack"; 250 - copy = "xclip -selection clipboard"; 251 - paste = "xclip -selection clipboard -o"; 252 + copy = if pkgs.stdenv.isDarwin then "pbcopy" else "xclip -selection clipboard"; 253 + paste = if pkgs.stdenv.isDarwin then "pbpaste" else "xclip -selection clipboard -o"; 252 254 rm = "echo USE TRASH, FOOL: trash "; 253 255 trash = "trash-put"; 254 256 make-secret = "< /dev/urandom \\tr -dc _A-Za-z0-9 | head -c \${1:-32};echo;"; ··· 299 301 nepl = "n repl '<nixpkgs>'"; 300 302 srch = "ns nixpkgs"; 301 303 orch = "ns override"; 302 - # need --impure for bitwig, something about my flake setup doesn't like allow unfree 303 - nrb = "cd /tmp; sudo nixos-rebuild switch --impure --flake '/home/anish/usr/helm#curve'; cd $OLDPWD"; 304 + # Impure for bitwig on linux, not sure what it's for in darwin 305 + nrb = '' 306 + if [[ "$OSTYPE" == "darwin"* ]]; then 307 + cd ~/usr/helm && sudo darwin-rebuild switch --impure --flake ".#Anishs-MacBook-Pro" && cd $OLDPWD 308 + else 309 + cd /tmp && sudo nixos-rebuild switch --flake --impure '/home/anish/usr/helm#curve' && cd $OLDPWD 310 + fi 311 + ''; 304 312 nrt = "cd /tmp; sudo nixos-rebuild test --flake '/home/anish/usr/helm#curve'; cd $OLDPWD"; 305 313 ned = "cd /home/anish/usr/helm; vim; cd $OLDPWD"; 306 314 ncd = "cd /home/anish/usr/helm";
+7 -1
home/profiles/git/default.nix
··· 12 12 userName = "Anish Lakhwara"; 13 13 userEmail = "anish+git@lakhwara.com"; 14 14 delta.enable = true; 15 - # TODO enable signing 15 + signing = { 16 + signByDefault = true; 17 + key = "7FC5DF072EF7B716"; 18 + }; 16 19 17 20 ignores = [ 18 21 "*~" ··· 56 59 pull.rebase = false; 57 60 push.autoSetupRemote = true; 58 61 init.defaultBranch = "main"; 62 + "url \"git@github.com:\"" = { insteadOf = "https://github.com/"; }; 59 63 }; 60 64 61 65 aliases = { ··· 94 98 95 99 # delete merged branches 96 100 bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; 101 + undo = "!git reset HEAD~1 --mixed"; 102 + blm = "blame -w -C -C -C"; 97 103 }; 98 104 }; 99 105 }
+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
+198 -32
home/profiles/nvim/default.nix
··· 1 - { pkgs, ... }: 1 + { lib, pkgs, ... }: 2 2 let 3 3 customPlugins = { 4 4 vim-zettel = pkgs.vimUtils.buildVimPlugin { ··· 8 8 repo = "vim-zettel"; 9 9 rev = "929d90eec62e6f693c2702d2b6f76a93f2f1689d"; 10 10 sha256 = "1fzKmknfVlEYwqeXgbKITbb2/PJ023iJyMz6vak3qh4="; 11 + }; 12 + }; 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="; 11 21 }; 12 22 }; 13 23 ··· 29 39 sha256 = "gMaS5YFi3+gmUIfkCMEt9vhm8XSgv54Cquv5+WCWeTo="; 30 40 }; 31 41 }; 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 - }; 49 - }; 50 42 my-which-key-nvim = pkgs.vimUtils.buildVimPlugin { 51 43 pname = "which-key.nvim"; 52 44 version = "2022-05-04"; ··· 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; [ ··· 145 150 146 151 extraConfig = '' 147 152 " so our custom files still get included 148 - set runtimepath+=/home/anish/.config/nvim/ 153 + " set runtimepath+=/home/anish/.config/nvim/ 149 154 set tabstop=2 150 155 set showmatch 151 156 set shiftwidth=2 ··· 228 233 nnoremap <leader>fb <cmd>Telescope buffers<cr> 229 234 nnoremap <leader>fh <cmd>Telescope help_tags<cr> 230 235 nnoremap <leader>ft <cmd>Telescope tags<cr> 236 + nnoremap <leader>fr <cmd>lua KitaabRecent()<cr> 231 237 232 238 " exit normal mode in terminal 233 239 :tnoremap <C-n> <C-\><C-n> ··· 294 300 nnoremap <leader>gp :Git! push<CR> 295 301 nnoremap <leader>gd :Gdiff<CR> 296 302 nnoremap <leader>gc :G commit -v -q %:p<CR> 303 + " diffview keybindings 304 + nnoremap <leader>do :DiffviewOpen<CR> 305 + nnoremap <leader>dc :DiffviewClose<CR> 306 + nnoremap <leader>dh :DiffviewFileHistory %<CR> 307 + nnoremap <leader>df :DiffviewFileHistory<CR> 297 308 298 309 " kitaab 299 310 "map <leader>cz :VimwikiIndex<CR>:ZettelNew ··· 316 327 let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } } 317 328 318 329 " lsp commands 319 - nnoremap <leader>vgd :lua vim.lsp.buf.definition()<CR> 320 - nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR> 321 - nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR> 322 - nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR> 330 + nnoremap gd :lua vim.lsp.buf.definition()<CR> 331 + nnoremap gI :lua require('telescope.builtin').lsp_implementation()<CR> 332 + nnoremap gK :lua vim.lsp.buf.signature_help()<CR> 333 + nnoremap gr :lua require('telescope.builtin').lsp_references()<CR> 323 334 " nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR> 324 335 " nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR> 325 336 " nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR> ··· 328 339 " nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr> 329 340 " lspsaga stuff doesn't work 330 341 nnoremap <leader>vd :Lspsaga peek_definition<CR> 331 - nnoremap <leader>vrn :Lspsaga rename<CR><CR> 332 - nnoremap <leader>vh :Lspsaga hover_doc<CR> 333 - nnoremap <leader>vca :Lspsaga code_action<CR> 342 + nnoremap <leader>cr :Lspsaga rename<CR><CR> 343 + nnoremap K :Lspsaga hover_doc<CR> 344 + nnoremap <leader>ca :Lspsaga code_action<CR> 334 345 nnoremap <leader>vsd :Lspsaga show_line_diagnostics<CR> 335 346 nnoremap <leader>vs :Dasht<Space> 336 347 nnoremap <leader>vn :Lspsaga diagnostic_jump_prev<CR> ··· 468 479 469 480 470 481 vim.api.nvim_set_keymap('n', '<leader>vt', ':call v:lua.toggle_diagnostics()<CR>', {noremap = true, silent = true}) 482 + 483 + -- nicer diff view 484 + vim.opt.diffopt = {'internal', 'filler', 'closeoff', 'algorithm:patience', 'indent-heuristic'} 471 485 472 486 -- autopairs 473 487 require('nvim-autopairs').setup{} ··· 842 856 require("which-key").setup{} 843 857 require('leap').set_default_keymaps() 844 858 859 + ${lib.optionalString (customPlugins.amp-nvim != null) '' 860 + -- Setup amp.nvim 861 + require('amp').setup({ 862 + auto_start = true, 863 + log_level = "info", 864 + completion_enabled = true 865 + }) 866 + -- require('amp.completion').setup({ 867 + -- keymaps = { 868 + -- accept = "<C-y>", 869 + -- dismiss = "<C-n>", 870 + -- } 871 + -- }) 872 + ''} 873 + 845 874 -- supercollider 846 875 local scnvim = require 'scnvim' 847 876 local map = scnvim.map ··· 900 929 map("n", "<leader>zl", "<Cmd>ZkLinks<CR>", opts) 901 930 902 931 -- Preview a linked note. 903 - map("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts) 932 + map("n", "<leader>ck", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts) 904 933 -- Open the code actions for a visual selection. 905 934 map("v", "<leader>za", ":'<,'>lua vim.lsp.buf.range_code_action()<CR>", opts) 906 935 936 + -- diffview setup 937 + require('diffview').setup{ 938 + use_icons = true, 939 + view = { 940 + default = { 941 + layout = "diff2_horizontal", 942 + }, 943 + merge_tool = { 944 + layout = "diff3_horizontal", 945 + disable_diagnostics = true, 946 + }, 947 + }, 948 + file_panel = { 949 + listing_style = "tree", 950 + win_config = { 951 + position = "left", 952 + width = 35, 953 + }, 954 + }, 955 + file_history_panel = { 956 + win_config = { 957 + position = "bottom", 958 + height = 16, 959 + }, 960 + }, 961 + } 962 + 907 963 -- zen mode 908 964 require('zen-mode').setup{ 909 965 window = { ··· 967 1023 vim.keymap.set({'n', 't'}, '<M-l>', '<CMD>NavigatorRight<CR>') 968 1024 969 1025 -- Disable Ctrl+V in nvim so Kitty can handle paste 970 - vim.keymap.set({'n', 'v', 'i'}, '<C-v>', '<Nop>', {noremap = true, silent = true}) 1026 + vim.keymap.set({'v', 'i'}, '<C-v>', '<Nop>', {noremap = true, silent = true}) 971 1027 972 1028 -- Pane resizing with Alt+Shift+hjkl (to match tmux) 973 1029 vim.keymap.set('n', '<M-S-h>', '<Cmd>vertical resize -2<CR>', {silent = true}) ··· 975 1031 vim.keymap.set('n', '<M-S-k>', '<Cmd>resize +2<CR>', {silent = true}) 976 1032 vim.keymap.set('n', '<M-S-l>', '<Cmd>vertical resize +2<CR>', {silent = true}) 977 1033 1034 + -- Kitaab recent files (only date-based files, sorted reverse) 1035 + function KitaabRecent() 1036 + local pickers = require('telescope.pickers') 1037 + local finders = require('telescope.finders') 1038 + local conf = require('telescope.config').values 1039 + 1040 + -- Use current working directory 1041 + local kitaab_path = vim.fn.getcwd() 1042 + 1043 + -- Get all files (depth 1, exclude directories) 1044 + local files = vim.fn.readdir(kitaab_path, function(name) 1045 + return vim.fn.isdirectory(kitaab_path .. '/' .. name) == 0 1046 + end) 1047 + 1048 + -- Filter to only date-based files (starting with digit) 1049 + local date_files = {} 1050 + for _, filename in ipairs(files) do 1051 + if filename:match('^%d') then 1052 + table.insert(date_files, filename) 1053 + end 1054 + end 1055 + 1056 + -- Sort in reverse (most recent first) 1057 + table.sort(date_files, function(a, b) return a > b end) 1058 + 1059 + pickers.new({}, { 1060 + prompt_title = 'Kitaab Recent', 1061 + finder = finders.new_table({ 1062 + results = date_files, 1063 + entry_maker = function(entry) 1064 + return { 1065 + value = kitaab_path .. '/' .. entry, 1066 + display = entry, 1067 + ordinal = entry, 1068 + path = kitaab_path .. '/' .. entry, 1069 + } 1070 + end 1071 + }), 1072 + previewer = conf.file_previewer({}), 1073 + sorter = conf.generic_sorter({}), 1074 + }):find() 1075 + end 1076 + 1077 + -- Setup amp.nvim 1078 + require('amp').setup({ 1079 + auto_start = true, 1080 + log_level = "info" 1081 + }) 1082 + 1083 + -- Amp commands 1084 + vim.api.nvim_create_user_command("AmpSend", function(opts) 1085 + local message = opts.args 1086 + if message == "" then 1087 + print("Please provide a message to send") 1088 + return 1089 + end 1090 + local amp_message = require("amp.message") 1091 + amp_message.send_message(message) 1092 + end, { 1093 + nargs = "*", 1094 + desc = "Send a message to Amp", 1095 + }) 1096 + 1097 + vim.api.nvim_create_user_command("AmpSendBuffer", function(opts) 1098 + local buf = vim.api.nvim_get_current_buf() 1099 + local lines = vim.api.nvim_buf_get_lines(buf, 0, -1, false) 1100 + local content = table.concat(lines, "\n") 1101 + local amp_message = require("amp.message") 1102 + amp_message.send_message(content) 1103 + end, { 1104 + nargs = "?", 1105 + desc = "Send current buffer contents to Amp", 1106 + }) 1107 + 1108 + vim.api.nvim_create_user_command("AmpPromptSelection", function(opts) 1109 + local lines = vim.api.nvim_buf_get_lines(0, opts.line1 - 1, opts.line2, false) 1110 + local text = table.concat(lines, "\n") 1111 + local amp_message = require("amp.message") 1112 + amp_message.send_to_prompt(text) 1113 + end, { 1114 + range = true, 1115 + desc = "Add selected text to Amp prompt", 1116 + }) 1117 + 1118 + vim.api.nvim_create_user_command("AmpPromptRef", function(opts) 1119 + local bufname = vim.api.nvim_buf_get_name(0) 1120 + if bufname == "" then 1121 + print("Current buffer has no filename") 1122 + return 1123 + end 1124 + local relative_path = vim.fn.fnamemodify(bufname, ":.") 1125 + local ref = "@" .. relative_path 1126 + if opts.line1 ~= opts.line2 then 1127 + ref = ref .. "#L" .. opts.line1 .. "-" .. opts.line2 1128 + elseif opts.line1 > 1 then 1129 + ref = ref .. "#L" .. opts.line1 1130 + end 1131 + local amp_message = require("amp.message") 1132 + amp_message.send_to_prompt(ref) 1133 + end, { 1134 + range = true, 1135 + desc = "Add file reference (with selection) to Amp prompt", 1136 + }) 1137 + 978 1138 EOF 979 1139 980 1140 ''; ··· 1074 1234 vim-fugitive 1075 1235 gitsigns-nvim 1076 1236 fzf-checkout-vim 1237 + diffview-nvim 1077 1238 1078 1239 # Clojure stuff 1079 1240 # conjure ··· 1081 1242 vim-sexp-mappings-for-regular-people 1082 1243 fennel-vim 1083 1244 1084 - vim-tidal 1085 1245 # experimental 1086 1246 nvim-luapad 1247 + gh-addressed 1087 1248 scnvim 1088 - leap 1249 + leap-nvim 1089 1250 Navigator-nvim 1090 1251 vim-beancount 1091 1252 # vimtex 1092 1253 # custom 1093 1254 yuck-vim 1094 1255 nvim-parinfer 1256 + amp-nvim 1095 1257 # vim-processing 1096 - ]; 1258 + ] ++ lib.optionals pkgs.stdenv.isLinux [ 1259 + # Linux-only plugins 1260 + vim-tidal # requires SuperCollider which is Linux-only 1261 + ]; 1097 1262 withPython3 = true; 1098 1263 extraPython3Packages = pkgs: with pkgs; [ tasklib six packaging ]; 1099 1264 vimAlias = true; 1100 1265 }; 1101 1266 } 1102 1267 1268 +
+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
+3
home/profiles/tmux/tmux.conf
··· 9 9 10 10 # Mouse works as expected 11 11 set-option -g mouse on 12 + 13 + # Enable focus events for vim/neovim autoread 14 + set -g focus-events on 12 15 # easy-to-remember split pane commands 13 16 bind | split-window -h -c "#{pane_current_path}" 14 17 bind - split-window -v -c "#{pane_current_path}"
+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
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.