Table of Contents generated with mtoc
- Post Installation
- Setup nvidia drivers
- Setup plymouth theme
- Display positions using autorandr
- Personal VPN (ProtonVPN using wireguard)
- Work VPN
- Certificates
- Global gitconfig for internal git servers with self signed certificate
- Edit custom zsh functions
- X11 change keyboard
- Timezone
- Setup rustup
- Set
gnome-keyring
in vscode - Personal reminders (private content can't be public)
Almost all this steps are optional and very personal.
If you have gpu in your laptop/pc, follow this steps. Packages already installed when you executed installers/packages.sh
.
- https://github.com/korvahannu/arch-nvidia-drivers-installation-guide
- https://wiki.archlinux.org/title/NVIDIA
- Add MODULES to
mkinitcpio.conf
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# On the HOOKS=() line, find the word kms inside the parenthesis and remove it
sudo mkinitcpio -P
- Edit
/etc/default/grub
sudo nvim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo nvim /etc/mkinitcpio.conf
HOOKS=(base plymouth udev XXXX XXXX ) # add plymouth
sudo mkinitcpio -p linux
sudo plymouth-set-default-theme --list
sudo plymouth-set-default-theme -R theme_name
Type autorandr
in your terminal and organize your displays (if you have more than 1 displays connected to your pc/laptop)
autorandr --save home
autorandr --save office
- Visit the official webpage for more information.
Privacy first. I don't really like protonvpn client (gui or cli). I prefer to download wireguard conf file.
After download wireguard config:
$ sudo mv protonvpn.conf to /etc/wireguard/protonvpn.conf
$ sudo systemctl enable wg-quick@protonvpn.service --now
$ curl ifconfig.me
- Setup private VPN using VPNC (CISCO VPN)
/etc/vpnc/work.conf
IPSec gateway XXX
IPSec ID XXX
IPSec secret XXXX
Xauth username XXXX
Xauth password XXXX
Local Port 5050
Interface name tun1
$ sudo chmod 700 /etc/vpnc/work.conf
$ sudo vpnc work
$ sudo systemctl enable vpnc@work.service --now
sudo resolvectl domain tun1 mydomain1.custom mycompany.internal hello.test # change interface name if needed
sudo vpnc-disconnect
openssl s_client -showcerts -connect example.com:443 -servername example.com < /dev/null 2>/dev/null | openssl x509 -outform PEM > /tmp/certificate.crt
# Download first certificates
sudo cp /tmp/certificate.crt /etc/ca-certificates/trust-source/anchors/
sudo update-ca-trust
# Close browser to reload certs
In my case, using terraform and downloading custom terraform modules from internal git servers with self signed certificates, I need to setup this configuration to avoid SSL errors.
[http "https://gitlab.server.internal"]
##################################
# Self Signed Server Certificate #
##################################
sslCAInfo = /path/to/your/certificate.crt
#sslCAPath = /path/to/selfCA/
sslVerify = true
nvim .my_zsh_functions/custom.sh # for example, change the email address of your company
$ sudo nvim /etc/X11/xorg.conf.d/00-keyboard.conf
$ localectl set-x11-keymap us default intl
$ timedatectl list-timezones | grep -I "Europe"
$ timedatectl set-timezone Europe/Amsterdam
$ rustup default stable
https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues
- Setup pass
- Export chrome/firefox tabs/config
- Sync ssh keys and configs
- Rsync other files