P6PWDEKZSX3CRDREN6IJB76RE45B7374S2I2HHFIWSABYCUGBGYAC
Now that I got that of the way, here are the following paths I\'ve
tried. I\'ve summarize as much as possible to avoid a long read :
Now that I got that of the way, here are the following paths I've
tried. I've summarize as much as possible to avoid a long read :
- PDF: `pdf-tools`{.verbatim} is nice but I prefer
`zathura`{.verbatim}, which is faster and more configurable
- Music (+ video) : using `mpd`{.verbatim} and `ncmpcpp`{.verbatim}
- Shell : `eshell`{.verbatim} is nice but I prefer a "real" shell (using `nushell` at the moment).
- PDF: `pdf-tools` is nice but I prefer
`zathura`, which is faster and more configurable
- Music (+ video) : using `mpd` and `ncmpcpp`
- Shell : `eshell` is nice but I prefer a "real" shell (using `nushell` at the moment).
1. *Change your shell* to
[fish](https://fishshell.com/docs/current/tutorial.html). Enough
said :)
Here's a rewrite of an older post thanks to the awesome [list on github](https://github.com/agarrharr/awesome-cli-apps?tab=readme-ov-file). To complement this list, here's a curated version of productivity tools I use daily.
3. *Find files easily* with **`fd`{.verbatim}** as a remplacement for
`find`{.verbatim}. Here is how I converted all the markdown files to
org-mode :
```bash
fd md -x pandoc
git mv {} {.}.org
```
4. *A better sudo*: use **`doas`{.verbatim}** (from OpenBSD). The
- *Shell*: [fish](https://fishshell.com/docs/current/tutorial.html) is nice but if you want to lose POSIX compatibility, you should go all the way and embrace a new workflow. I use [nu shell](https://www.nushell.sh/) as a daily driver: it considers all data as table, allowing for powerful manipulation.
- *Move around quickly* with [zoxide](https://github.com/ajeetdsouza/zoxide). It allows you to
jump quickly to a directory with `z boo` (instead of `cd /home/user/misc/books`). A must have
- *A better sudo*: use **`doas`** (from OpenBSD). The
`/usr/local/etc/doas.conf`{.verbatim} (on FreeBSD) : \# Permit
members of the wheel group to perform actions as root. permit nopass
:wheel
5. *Manage your ssh-keys* with
[keychain](https://www.funtoo.org/Keychain). For fish shell, here\'s
my configuration: \# Keychain for gpg and ssh. We have to set ssh
and gpg. And GPG ID+++
```bash
if status is-login keychain --quiet --agents
ssh,gpg id_rsa 65DCD80B3BFE5B80
end
if test -f ~/.keychain/(hostname)-gpg-fish
source ~/.keychain/(hostname)-gpg-fish
end
if test -f ~/.keychain/(hostname)-fish
source ~/.keychain/(hostname)-fish
end
`/usr/local/etc/doas.conf` (on FreeBSD) :
# Permit members of the wheel group to perform actions as root.
permit nopass :wheel
```
- *Manage tasks* with [taskwarrior](https://taskwarrior.org/). More on that in a future post.
- *Write papers and report* with [typst](https://typst.app/). More on that in a future post.
- `ripgrep` is a modern `grep` but cross-platform and faster
```bash
ffmpeg -f x11grab -s 1280x800 -r 25 -i :0.0+nomouse -s hd720 -vcodec \
libx264 -vpre lossless_ultrafast -an -threads 0 yourvideo.mkv
- *A easier `find`* with `fd` written in Rust. For example, convert all org files to markdown with
```bash
fd -e md -x pandoc {} -o {.}.md`
```
- *An easier `sed`* with `sd`. Example: replace `title:` by `title =` :
```bash
sd 'title:' 'title = '
- removes the mouse cursor from the capture:
`-i :0.0+nomouse`{.verbatim}
- enables multi-threading (if possible): `-threads 0`{.verbatim}
- captures the screen: `-f x11grab`{.verbatim}
- defines the size of the capture windows (here it is my entire
screen): `-s 1280x800`{.verbatim}
- sets the number of frames per seconds: `-r 25`{.verbatim}
- sets the resolution: `-s hd720`{.verbatim}
- no audio will be captured: `-an`{.verbatim}
- using the H.264 encoding: `-vcodec libx264`{.verbatim}
- these are settings for a fast encoding:
`-vpre lossless_ultrafast`{.verbatim}
Tools for the occasional use
For reference: [other tools written in Rust](https://github.com/sts10/rust-command-line-utilities?tab=readme-ov-file)
public