feat(systems): add work vm
This commit is contained in:
39
homes/aarch64-linux/evanreichard@lin-va-mbp-work-vm/default.nix
Executable file
39
homes/aarch64-linux/evanreichard@lin-va-mbp-work-vm/default.nix
Executable file
@@ -0,0 +1,39 @@
|
||||
{ lib
|
||||
, config
|
||||
, namespace
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled;
|
||||
in
|
||||
{
|
||||
home.stateVersion = "25.11";
|
||||
|
||||
reichard = {
|
||||
user = {
|
||||
enable = true;
|
||||
inherit (config.snowfallorg.user) name;
|
||||
};
|
||||
|
||||
services = {
|
||||
ssh-agent = enabled;
|
||||
};
|
||||
|
||||
programs = {
|
||||
terminal = {
|
||||
bash = {
|
||||
enable = true;
|
||||
customFastFetchLogo = ./prophet.txt;
|
||||
};
|
||||
btop = enabled;
|
||||
claude-code = enabled;
|
||||
direnv = enabled;
|
||||
git = enabled;
|
||||
k9s = enabled;
|
||||
nvim = enabled;
|
||||
pi = enabled;
|
||||
tmux = enabled;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;0;0;0m [0m[38;2;71;55;113m:[0m[38;2;146;114;232m+[0m[38;2;137;107;218m+[0m[38;2;140;109;223m+[0m[38;2;140;109;223m+[0m[38;2;140;109;223m+[0m[38;2;140;109;222m+[0m[38;2;139;108;221m+[0m[38;2;123;96;196m=[0m[38;2;50;39;80m.[0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;1;0;1m [0m[38;2;16;12;26m [0m[38;2;108;84;172m=[0m[38;2;146;114;232m+[0m[38;2;144;112;229m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;145;113;231m+[0m[38;2;62;48;99m:[0m[38;2;0;0;0m [0m[38;2;1;1;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;94;73;150m-[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;145;113;231m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;144;113;230m+[0m[38;2;145;113;231m+[0m[38;2;146;114;232m+[0m[38;2;76;59;121m:[0m[38;2;0;0;0m [0m[38;2;1;0;1m [0m[38;2;1;0;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;3;2m [0m[38;2;0;2;2m [0m[38;2;0;2;2m [0m[38;2;0;2;2m [0m[38;2;0;2;2m [0m[38;2;1;3;3m [0m[38;2;1;2;3m [0m[38;2;0;1;0m [0m[38;2;82;65;131m-[0m[38;2;146;114;232m+[0m[38;2;144;112;229m+[0m[38;2;145;113;231m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;145;113;231m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;89;70;142m-[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;1;0;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;69;54;110m:[0m[38;2;146;114;232m+[0m[38;2;144;113;230m+[0m[38;2;144;113;230m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;102;80;162m-[0m[38;2;6;4;10m [0m[38;2;0;0;0m [0m[38;2;1;1;2m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;15;52;47m.[0m[38;2;35;124;110m-[0m[38;2;39;137;122m=[0m[38;2;40;138;123m=[0m[38;2;40;138;123m=[0m[38;2;40;138;123m=[0m[38;2;40;138;123m=[0m[38;2;39;136;121m=[0m[38;2;40;141;126m=[0m[38;2;12;38;36m.[0m[38;2;0;0;0m [0m[38;2;56;45;90m:[0m[38;2;144;113;230m+[0m[38;2;146;114;232m+[0m[38;2;144;113;230m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;113;88;181m=[0m[38;2;13;10;21m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;24;85;76m:[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;47;164;147m+[0m[38;2;6;23;20m [0m[38;2;2;2;4m [0m[38;2;0;0;0m [0m[38;2;43;33;69m.[0m[38;2;139;109;221m+[0m[38;2;146;114;232m+[0m[38;2;144;112;229m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;124;97;198m=[0m[38;2;21;16;34m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;1;1m [0m[38;2;0;0;0m [0m[38;2;29;103;92m-[0m[38;2;59;204;182m*[0m[38;2;58;202;180m*[0m[38;2;58;200;179m*[0m[38;2;58;201;179m*[0m[38;2;58;201;179m*[0m[38;2;58;200;179m*[0m[38;2;57;197;176m*[0m[38;2;59;204;182m*[0m[38;2;38;132;118m=[0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;0;0;0m [0m[38;2;32;25;50m.[0m[38;2;132;103;211m=[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;131;102;208m=[0m[38;2;34;26;54m.[0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;35;121;108m-[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;58;203;181m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;203;181m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;34;117;104m-[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;0;0;0m [0m[38;2;21;16;34m [0m[38;2;124;97;197m=[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;146;114;232m+[0m[38;2;143;112;228m+[0m[38;2;146;114;232m+[0m[38;2;143;111;227m+[0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;1;6;5m [0m[38;2;40;139;124m=[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;203;181m*[0m[38;2;58;202;180m*[0m[38;2;59;204;182m*[0m[38;2;28;99;88m-[0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;1;3m [0m[38;2;0;0;0m [0m[38;2;13;10;20m [0m[38;2;113;88;181m=[0m[38;2;146;114;232m+[0m[38;2;143;111;227m+[0m[38;2;146;114;232m+[0m[38;2;144;112;229m+[0m[38;2;146;114;232m+[0m[38;2;141;110;225m+[0m[38;2;56;43;89m:[0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;3;2m [0m[38;2;0;0;0m [0m[38;2;4;16;14m [0m[38;2;44;155;138m=[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;202;180m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;24;81;72m:[0m[38;2;0;0;0m [0m[38;2;1;3;2m [0m[38;2;1;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;1;1;0m [0m[38;2;2;2;3m [0m[38;2;0;0;0m [0m[38;2;7;5;10m [0m[38;2;103;81;163m-[0m[38;2;146;114;232m+[0m[38;2;144;112;229m+[0m[38;2;146;114;232m+[0m[38;2;137;107;219m+[0m[38;2;38;30;61m.[0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;3;2m [0m[38;2;0;0;0m [0m[38;2;7;27;24m [0m[38;2;49;169;151m+[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;56;196;175m*[0m[38;2;18;63;56m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;88;69;141m-[0m[38;2;145;113;231m+[0m[38;2;125;97;199m=[0m[38;2;28;22;45m.[0m[38;2;0;0;0m [0m[38;2;2;2;4m [0m
|
||||
[38;2;1;4;3m [0m[38;2;0;0;0m [0m[38;2;11;40;36m.[0m[38;2;52;182;162m+[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;54;187;167m+[0m[38;2;13;47;42m.[0m[38;2;0;0;0m [0m[38;2;5;7;7m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;8;8;8m [0m[38;2;9;9;9m [0m[38;2;5;5;5m [0m[38;2;0;0;0m [0m[38;2;24;18;38m [0m[38;2;8;6;13m [0m[38;2;0;0;0m [0m[38;2;1;1;2m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;15;55;49m.[0m[38;2;55;192;172m+[0m[38;2;59;204;182m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;50;175;156m+[0m[38;2;10;33;30m.[0m[38;2;0;0;0m [0m[38;2;64;67;66m:[0m[38;2;210;210;210m%[0m[38;2;200;200;200m#[0m[38;2;203;203;203m%[0m[38;2;204;204;204m%[0m[38;2;203;203;203m%[0m[38;2;203;203;203m%[0m[38;2;203;203;203m%[0m[38;2;203;203;203m%[0m[38;2;203;203;203m%[0m[38;2;203;203;203m%[0m[38;2;204;204;204m%[0m[38;2;203;203;203m%[0m[38;2;199;199;199m#[0m[38;2;212;212;212m%[0m[38;2;91;90;91m-[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;1;0;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;22;77;69m:[0m[38;2;57;198;177m*[0m[38;2;59;204;182m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;46;160;143m=[0m[38;2;5;20;17m [0m[38;2;0;0;0m [0m[38;2;2;4;3m [0m[38;2;11;11;11m [0m[38;2;137;137;137m+[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;160;160;160m*[0m[38;2;20;20;20m [0m[38;2;2;2;3m [0m[38;2;1;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;57;200;178m*[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;59;204;182m*[0m[38;2;58;200;179m*[0m[38;2;59;204;182m*[0m[38;2;42;145;129m=[0m[38;2;2;9;8m [0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;109;109;109m=[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;225;225;225m%[0m[38;2;225;225;225m%[0m[38;2;225;225;225m%[0m[38;2;225;225;225m%[0m[38;2;225;225;225m%[0m[38;2;225;225;225m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;132;132;132m+[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;14;49;44m.[0m[38;2;53;185;165m+[0m[38;2;59;204;182m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;58;201;179m*[0m[38;2;59;204;182m*[0m[38;2;37;128;114m-[0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;3;3;3m [0m[38;2;0;0;0m [0m[38;2;89;89;89m-[0m[38;2;207;207;207m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;227;227;227m%[0m[38;2;213;213;213m%[0m[38;2;110;110;110m=[0m[38;2;0;0;0m [0m[38;2;1;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;9;31;27m [0m[38;2;49;172;154m+[0m[38;2;59;204;182m*[0m[38;2;58;202;180m*[0m[38;2;59;204;182m*[0m[38;2;31;108;96m-[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;2;2m [0m[38;2;0;0;0m [0m[38;2;14;14;14m [0m[38;2;40;40;40m.[0m[38;2;42;42;42m.[0m[38;2;42;42;42m.[0m[38;2;42;42;42m.[0m[38;2;42;42;42m.[0m[38;2;41;41;41m.[0m[38;2;19;19;19m [0m[38;2;0;0;0m [0m[38;2;1;1;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;3;2m [0m[38;2;0;0;0m [0m[38;2;6;22;19m [0m[38;2;47;163;145m=[0m[38;2;57;198;177m*[0m[38;2;27;96;85m:[0m[38;2;0;0;0m [0m[38;2;0;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;2;2;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
@@ -16,7 +16,6 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
programs.claude-code = {
|
||||
enable = true;
|
||||
package = pkgs.reichard.claude-code;
|
||||
mcpServers = {
|
||||
gopls = {
|
||||
type = "stdio";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, pkgs, lib, namespace, ... }:
|
||||
{ config
|
||||
, pkgs
|
||||
, lib
|
||||
, namespace
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# claude-code
|
||||
|
||||
Nix package for [@anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code).
|
||||
|
||||
## Updating
|
||||
|
||||
1. Fetch the tarball and generate a `package-lock.json`:
|
||||
|
||||
```bash
|
||||
mkdir /tmp/claude-update && cd /tmp/claude-update
|
||||
npm pack @anthropic-ai/claude-code@<version>
|
||||
tar -xf anthropic-ai-claude-code-<version>.tgz
|
||||
cd package
|
||||
npm install --package-lock-only --ignore-scripts
|
||||
```
|
||||
|
||||
2. Copy the lockfile into the package directory:
|
||||
|
||||
```bash
|
||||
cp package-lock.json /path/to/nixpkgs/pkgs/by-name/cl/claude-code/package-lock.json
|
||||
```
|
||||
|
||||
3. Update the `version` and `hash` fields in `package.nix`. Set `hash` to `lib.fakeHash` temporarily, then build to get the correct hash:
|
||||
|
||||
4. Do the same for `npmDepsHash`:
|
||||
@@ -1,61 +0,0 @@
|
||||
{ lib
|
||||
, buildNpmPackage
|
||||
, fetchzip
|
||||
, writableTmpDirAsHomeHook
|
||||
, versionCheckHook
|
||||
,
|
||||
}:
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code";
|
||||
version = "2.1.59";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-Dam9aJ0qBdqU40ACfzGQHuytW6ur0fMLm8D5fIKd1TE=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-K+8xoBc3apvxQ9hCpYywqgBcfLxMWSxacgJcMH8mK7E=";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
'';
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
env.AUTHORIZED = "1";
|
||||
|
||||
# `claude-code` tries to auto-update by default, this disables that functionality.
|
||||
# https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview#environment-variables
|
||||
# The DEV=true env var causes claude to crash with `TypeError: window.WebSocket is not a constructor`
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/claude \
|
||||
--set DISABLE_AUTOUPDATER 1 \
|
||||
--unset DEV
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster";
|
||||
homepage = "https://github.com/anthropics/claude-code";
|
||||
downloadPage = "https://www.npmjs.com/package/@anthropic-ai/claude-code";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [
|
||||
malo
|
||||
markus1189
|
||||
omarjatoi
|
||||
xiaoxiangmoe
|
||||
];
|
||||
mainProgram = "claude";
|
||||
};
|
||||
})
|
||||
334
packages/claude-code/package-lock.json
generated
334
packages/claude-code/package-lock.json
generated
@@ -1,334 +0,0 @@
|
||||
{
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.1.59",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.1.59",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-darwin-arm64": "^0.34.2",
|
||||
"@img/sharp-darwin-x64": "^0.34.2",
|
||||
"@img/sharp-linux-arm": "^0.34.2",
|
||||
"@img/sharp-linux-arm64": "^0.34.2",
|
||||
"@img/sharp-linux-x64": "^0.34.2",
|
||||
"@img/sharp-linuxmusl-arm64": "^0.34.2",
|
||||
"@img/sharp-linuxmusl-x64": "^0.34.2",
|
||||
"@img/sharp-win32-arm64": "^0.34.2",
|
||||
"@img/sharp-win32-x64": "^0.34.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-darwin-arm64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
|
||||
"integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-darwin-arm64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-darwin-x64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
|
||||
"integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-darwin-x64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
|
||||
"integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-darwin-x64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
|
||||
"integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-linux-arm": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
|
||||
"integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-linux-arm64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
|
||||
"integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-linux-x64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
|
||||
"integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
|
||||
"integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
|
||||
"integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-linux-arm": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
|
||||
"integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-linux-arm": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-linux-arm64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
|
||||
"integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-linux-arm64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-linux-x64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
|
||||
"integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-linux-x64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-linuxmusl-arm64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
|
||||
"integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-linuxmusl-x64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
|
||||
"integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@img/sharp-libvips-linuxmusl-x64": "1.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-win32-arm64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
|
||||
"integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/sharp-win32-x64": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
|
||||
"integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/libvips"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell --pure --keep NIX_PATH -i bash --packages nodejs nix-update git cacert
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
version=$(npm view @anthropic-ai/claude-code version)
|
||||
|
||||
# Update version and hashes
|
||||
AUTHORIZED=1 NIXPKGS_ALLOW_UNFREE=1 nix-update claude-code --version="$version" --generate-lockfile
|
||||
nix-update vscode-extensions.anthropic.claude-code --use-update-script --version "$version"
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "pi-coding-agent";
|
||||
version = "0.61.1";
|
||||
version = "0.65.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "badlogic";
|
||||
repo = "pi-mono";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UvYd1AzwC59t+vR0wvrD4rVAcm1xoJAEWmN25NF7YcY=";
|
||||
hash = "sha256-nHCQboyRT8k2t7dD0knmQSaUciQua17518CG/3jC7Rg=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-nU2A+Q8PzVbjN7H+KAIFVbvETUa9BCO0czl5Yikc7gY=";
|
||||
npmDepsHash = "sha256-ZFrOh2P2kkKz4kwD153ltPX852sS1JcTCvSLYwZbyoo=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
65
systems/aarch64-linux/lin-va-mbp-work-vm/default.nix
Executable file
65
systems/aarch64-linux/lin-va-mbp-work-vm/default.nix
Executable file
@@ -0,0 +1,65 @@
|
||||
{ namespace
|
||||
, lib
|
||||
, modulesPath
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
# System Config
|
||||
reichard = {
|
||||
nix = enabled;
|
||||
|
||||
system = {
|
||||
boot = {
|
||||
enable = true;
|
||||
silentBoot = true;
|
||||
};
|
||||
|
||||
disk = {
|
||||
enable = true;
|
||||
diskPath = "/dev/vda";
|
||||
};
|
||||
|
||||
networking = {
|
||||
enable = true;
|
||||
useStatic = {
|
||||
interface = "enp0s1";
|
||||
address = "192.168.64.3";
|
||||
defaultGateway = "192.168.64.1";
|
||||
nameservers = [ "192.168.64.1" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh = enabled;
|
||||
mosh = enabled;
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
podman = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/mnt/host-share" = {
|
||||
device = "share";
|
||||
fsType = "virtiofs";
|
||||
options = [ "defaults" ];
|
||||
};
|
||||
|
||||
# fileSystems."/home/evanreichard/Development" = {
|
||||
# device = "/mnt/host-share/Development";
|
||||
# fsType = "none";
|
||||
# options = [ "bind" ];
|
||||
# depends = [ "/mnt/host-share" ];
|
||||
# };
|
||||
}
|
||||
Reference in New Issue
Block a user