I didn’t get to spend as much time tinkering and learning this week, but I still learned some new things!
Wireguard is great! I had been using OpenVPN because when I initially set up my machine, my VPN had a bug with Wireguard. I was setting up a raspberry pi today for some more tinkering, and I decided to try Wireguard to see if the bug was fixed. Not only is it fixed, but Wireguard is much easier to work with. Not hating on OpenVPN, but I’ll definitely be preferring Wireguard going forward.
Proper use of find, particularly with regex. This is ongoing. I’ve been using find for awhile, but not with full understanding of it’s options and syntax. I’m starting to get a better understanding of how to use it to find and manipulate the files I’m looking for. One of the biggest things that’s tripping me up with find and regex is designating the path.
How to set up a new user. This was interesting. I already knew the basics, adduser -m username, sudo passwd username, but what I didn’t know anything about was --skel for copying over the skeleton shell config files. I didn’t even know the skeleton config files existed.
The shell prompt can be customized. This was interesting. I was setting up a non root user on a vps that I have, and after creating the user, all I had was the $ prompt. No user@host, and no working directory. After some reading I found that adding PS1='$(whoami)@$(hostname):$(pwd)$ ' to ~/.profile will show a more traditional user@host:working/directory$ prompt. I’m sure this is not the only way to do this, and may not be the best way to do it, but based on my limited knowledge, it is the way that I’m currently doing it on my vps.
There's also oh-my-posh, which was originally a powershell prompt, but it was rewritten as a go application that works on (I think all) mainstream shells.
The project aims to make Bash vs Zsh as similar as possible. There is little difference except for customization. Switching to Fish or Spaceship will jump that barrier.
My advice: make your home directory a git directory. You can ignore everything in a gitignore, then make exceptions, like your vim configs, shell configay and so on. You have version control and on a new host you can just git clone and bam, you have your usual setup.
I’ve never used git to publish/make myself a repo before. That’s something I’ve been meaning to learn but haven’t quite gotten there yet. However, with the amount of tinkering, and breaking I’ve been doing, I think I’ll move it up on my priority list.
I’ve also got shell scripts I’ve been writing and tinkering with and having proper version control (versus script, script.copy, script.copy.bak…) would also be nice.
That’s what I’m finding. I’m not certain I need regex for what I want to accomplish with find. I’m reorganizing my media libraries, and I have a mix of mp4 and mkv files. I want to be able to find all mkv and mp4 files and move them using regex like '.+\.(mp4|mkv)'
I have learned how to use find with -exec and -delete, but I haven’t gotten to -print0 or xargs yet.