I have to say: while it is a fun project (I used to maintain my own fetch too), what most people don't realise is that neofetch is quite customisable to the point that I replaced my custom fetch with neofetch. If you're doing it to learn, great! Keep going! If you're doing it for functional purposes only, I'd recommend just customising neofetch and keeping a neofetch config around i your dotfiles or something. Still really cool though. For people interested in configuring neofetch: https://www.youtube.com/watch?v=Ov3yi-9jbFI
Also, what are you using as a shell prompt: PS1, Starship or something else?