This page permanently redirects to gemini://gmi.bacardi55.io/blog/2023/01/18/new-laptop-part2-core-tools/.

New laptop part 2: Core tools

Posted on 2023-01-18

Introduction

Continuing the [framework laptop blog post series], where I first wrote about [my impression of the framework laptop], then about what [I had to do to fix EndeavourOS / Archlinux on it]. Now this post is about making this laptop "mine" and ready for daily use by adding the necessary tools. I'm not covering my [i3wm] setup, that will be for a dedicated post.

TLDR; browse [my dotfiles on sourcehut] :).

=> framework laptop blog post series | my impression of the framework laptop | I had to do to fix EndeavourOS / Archlinux on it | i3wm | my dotfiles on sourcehut

Software installation and configuration

Installing core utilities

Starting with the basics:

pacman -S ripgrep mupdf htop dfc bat mplayer

=> bat | dfc | mupdf | ripgrep | mplayer

XDG_CONFIG_HOME

For some reason, the environment variable XDG_CONFIG_HOME was not set by default, to fix this, I edited ~/.profile and added:

export XDG_CONFIG_HOME="$HOME/.config"

Ssh

As many people, I have many ssh keys, all with a passphrase. In order to avoid having to enter each passphrase each time I use ssh (or git, rsync, …), I would need to enter my passphrase. As said on Archlinux wiki:

An SSH agent is a program which caches your decrypted private keys and provides them to SSH client programs on your behalf. In this arrangement, you must only provide your passphrase once, when adding your private key to the agent's cache. This facility can be of great convenience when making frequent SSH connections. --

I'm using the default built-in agent ssh-agent. To enable it via systemd, create the file ~/.config/systemd/user/ssh-agent.service with the following content:

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
---
title: "DISPLAY required for ssh-askpass to work"
date:
---
Environment=DISPLAY=:0
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

And of course, add the different keys to the ssh agent, so for each key:

ssh-add ~/.ssh/

Zsh

I use [zsh] with [oh-my-zsh], so to install it:

---
title: "Install zsh"
date:
---
sudo pacman -S zsh
---
title: "Install oh-my-zsh"
date:
---
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
---
title: "To make it the default shell:"
date:
---
chsh -s /usr/bin/zsh

My [~/.zshrc].

=> zsh | oh-my-zsh | ~/.zshrc

Tmux

I'm using [Tmux TPM] to manage [tmux] plugins.

---
title: "Install tmux"
date:
---
sudo pacman -S tmux
---
title: "Install TPM"
date:
---
git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm

Edit tmux config ~/.config/tmux/tmux.conf file to add plugins to the config. Here is what I added:

set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-logging' set -g @plugin 'ChanderG/tmux-notify' set -g @plugin 'tmux-plugins/tmux-pain-control' set -g @plugin 'tmux-plugins/tmux-urlview'
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.config/tmux/plugins/'
set -g status-interval 15
run '~/.config/tmux/plugins/tpm/tpm'

For tmux-urlview to work, install either extract_url or urlview. The later hasn't been updated since 2013, the former since 2018, so I installed the former.

yay -S extract_url

For some reason, it doesn't work with my config in ~/.config/tmux/tmux.conf, so I added an alias in my ~/.zshrc:

alias tmux="tmux -f ~/.config/tmux/tmux.conf"

My full [tmux.conf].

=> Tmux TPM | tmux | tmux.conf

Clipboard

I installed rofi-greenclip via aur:

yay -S rofi-greenclip

And use it in a keybind in my i3wm config:

bindsym $mod+c exec --no-startup-id rofi -modi "clipboard:greenclip print" -show clipboard -config ~/.config/rofi/rofidmenu.rasi

Redshift

To reduce eyes fatigue, I use [RedShift]:

yay -S redshift-gtk
mkdir ~/.config/redshift/ && cd ~/.config/redshift/
wget https://raw.githubusercontent.com/jonls/redshift/master/redshift.conf.sample
mv redshift.conf.sample redshift.conf

Edit config file, mainly latitude and longitude.

=> RedShift

Conclusion

That's it for this post, next one should be about my i3wm configuration. As said in the intro, you can find the [dotfiles on sourcehut].

=> dotfiles on sourcehut

=> /gemlog/

=> Send me a gemini mention | send me an email!

Proxy Information
Original URL
gemini://gmi.bacardi55.io/blog/2023/01/18/new-laptop-part2-core-tools
Status Code
Success (20)
Meta
text/gemini; lang=en
Capsule Response Time
349.702322 milliseconds
Gemini-to-HTML Time
2.132502 milliseconds

This content has been proxied by September (ba2dc).