may have to add this one to my personal environment setup script. You get hands on with neovim yet? I saw someone using it in a video and after customization it looked legit like an IDE, auto complete, file system tree, all the good stuff.ls -> exa
- Similar functionality except it uses icons and utilizes color to delineate different file types better than ls.
Nah, I never had my interest piqued with vim/neovim. I think I came too late to Linux for that. To me, it is kind of like the software version of the qwerty keyboard: it's extremely familiar and many ppl swear by it, but it likely isn't the best UX if the creators had to rebuild it from the ground up.may have to add this one to my personal environment setup script. You get hands on with neovim yet? I saw someone using it in a video and after customization it looked legit like an IDE, auto complete, file system tree, all the good stuff.
Nah, I never had my interest piqued with vim/neovim. I think I came too late to Linux for that. To me, it is kind of like the software version of the qwerty keyboard: it's extremely familiar and many ppl swear by it, but it likely isn't the best UX if the creators had to rebuild it from the ground up.
On another note, I'm curious what else is on your personal env. setup script. I've (re)installed Debian like 10 times over the last few months (long story) and in order of importance, mines are nala, syncthing, atuin, kdeconnect and randomly enough, recently I've taken a liking to basic-ass curl thanks to cheat.sh and wttr.in
sudo apt install -y wget gpg curl gnupg lsb-release ca-certificates apt-transport-https vim git openjdk-17-jdk python3-pip build-essential python3-dev zsh maven gcc make perl
sudo snap install node --classic
sudo snap install code --classic
sudo snap install intellij-idea-community --classic
sudo snap install brave
sudo snap install docker
systemctl list-timers --all
and sudo systemctl status <insert name of the timer>.timer
systemd-analyze calendar
systemd-analyze calendar --iterations=10 *-*-* 18..19:00/5:00
Consider using dot files to set up your environment before your script fully executes. In an old project at work that was one of the tricks used frequently, and I believe in tandem with crons. Essentially you have a script, let's say setupenv.sh, and it does the heavy lifting to set any variables you'd be using. Ours would populate credentials, parse the machines FQDN for specific info, update the PATH, etc. once you have that all worked out, then after the shebang in your cron script you doI've had ongoing issues w/ a bash script triggering night mode and I'm too stubborn to download an app to do it for me. The issues I've experienced has taken hours of troubleshooting and current understanding is that cron's environment is basically empty, which makes sense from a script-running perspective but is a headache for user-specific variables. I've had trouble passing through user-related variables in order to interact w/ GUI apps, grabbing my DBUS session address, defining the $DISPLAY variable, etc.
I had an aha moment this week which lead me to finally pivot away from cron towards systemd starting today. Basically altho it remains to be seen, I believe that since systemd is more modern/has a deeper integration w/ the system, it likely passes through env. variables much more efficiently. That should sidestep all of the issues I'm experiencing hopefully.
I actually took a look @ systemd last year but it seemed so complex as a newbie just starting to daily drive linux. Today, while revisiting it with an fresh pair of eyes (and the man pages + a trusty online tutorial) I realize just how straightforward it is.
Also, along w/ being dope AF having everything tied into the other regular processes, you also get a great context on what is scheduled viasystemctl list-timers --all
andsudo systemctl status <insert name of the timer>.timer
Not only that, I found out that they have the equivalent of crontab.guru built into the system viasystemd-analyze calendar
So for example, I can run the following:
systemd-analyze calendar --iterations=10 *-*-* 18..19:00/5:00
and then the output will be what time the script is scheduled to run for the next 10 triggers
Anyone else using cron/systemd timers? If so, what are you automating? My next task is to automate a backup script that pushes the .tar file to my server.
ls | fzf
Lists files, but you can scroll and filter in real-timecat file.txt | fzf
Open a file but search as you typecat $(fzf)
Search for a file using fzf, and then once it's selected, open it using catrm -r f
... I even had to use a space there, so here's a screenshot):Anyone else using cron/systemd timers? If so, what are you automating? My next task is to automate a backup script that pushes the .tar file to my server.