Make sure to backup saves. On windows, use GameSave Manager, but also check for cross-platform alternatives, such as Game Backup Monitor or Ludusavi.
Ensure VSCode backups correctly. Open the command palette and search for Settings Sync: Show Synced Data
.
Make sure firefox sync backed up recently.
Before installing the new OS, backup the packages installed with pacman -Qe > pkgs
or pacman -Qqe > pkgs
for output without version.
Some non-explicitly installed packages (dependencies maybe?) get on the list, so some manual work for re-installing is required.
Check this on how to make F-keys work as F-keys.
Don't forget to ssh-add
all required keys and check they work correctly with seahorse
.
sudo timedatectl set-local-rtc 1
systemctl --user restart pipewire.service # Apply null sync source
Add a custom shortcut for gnome-system-monitor
.
Open gnome-tweaks
:
- Disable mouse middle click paste
- Startup applications:
thunderbird
,discord
,qpwgraph
Check this wiki entry if there is any issue with graphics.
ln ~/.dotfiles/.zshrc ~
ln ~/.dotfiles/.tmux.conf ~
ln ~/.dotfiles/.config/starship.toml ~/.config/starship.toml
# The next two can be found in the package manager, but just in case
# git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
tmux source .tmux.conf
# Tmux Prefix + I
# JS
volta install node
volta install pnpm
# Moon
curl -fsSL https://moonrepo.dev/install/moon.sh | bash
# Python
curl https://pyenv.run | bash
# Check available versions and pick last
pyenv install --list
pyenv install <version>
pyenv global <version>
which python # Check if it was correctly added to the environment
python -m pip install -U pipx
pipx install ansible-core poetry git-sim mprof
# Rust
curl https://sh.rustup.rs -sSf | sh
# Others
curl -sSf https://atlasgo.sh | sh
Take a look on arch wiki page for environment variables on how to add directories to path in different situations.
For now, I just add volta (node) to solve vscode-jest#741.
echo 'export VOLTA_HOME="$HOME/.volta"' >> ~/.profile
echo 'export PATH="$VOLTA_HOME/bin:$PATH"' >> ~/.profile
pnpm install-completion zsh
moon completions > ~/.config/tabtab/zsh/moon.zsh
echo '[[ -f ~/.config/tabtab/zsh/moon.zsh ]] && . ~/.config/tabtab/zsh/moon.zsh || true' >> ~/.config/tabtab/zsh/__tabtab.zsh
k3d completion zsh > ~/.config/tabtab/zsh/k3d.zsh
echo '[[ -f ~/.config/tabtab/zsh/k3d.zsh ]] && . ~/.config/tabtab/zsh/k3d.zsh || true' >> ~/.config/tabtab/zsh/__tabtab.zsh
Check catpuccin theme for gnome terminal.
- Color Picker.
- Firefox PiP Always on Top.
- Just Perfection.
- Hanabi.
- Tray Icons: Reloaded.
- Tray icons limit: 5
- Icon size: 16
- Spacing - Tray Margin: 4 0
- Spacing - Icon Margin: 0 2
- Spacing - Icon Padding: 0 6
- Dash to dock:
- Position and Size -> Intelligent autohide -> -> Enable in fullscreen mode
- Launchers -> Isolate monitors
- Behavior -> Click action -> Focus, minimize or show previews
- GSConnect
- Fullscreen Avoider.
- Custom Accent Colors
- Clipboard Indicator.
-
Thunderbird
Install
EDS Calendar Integration
andKeepRunning
addons. -
Themes:
In case some webview based apps fail to render, using the WEBKIT_DISABLE_DMABUF_RENDERER=1
environment may work. If it does, check if modesetting is enabled
cat /sys/module/nvidia_drm/parameters/modeset
If it prints N
, enable it and restart
echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf
Install posh-cli and starship. Make sure starship command is the last one.
To create Symbolic Links for important files, run this on an elevated powershell prompt:
New-Item -ItemType SymbolicLink -Path "~/.gitconfig" -Target ".dotfiles/.gitconfig"
New-Item -ItemType SymbolicLink -Path "~/.gitconfig-windows" -Target ".dotfiles/.gitconfig-windows"
Also check Multiple SSH Keys settings for different github account
Before installing chocolatey, I run New-Item -ItemType SymbolicLink -Path "C:/ProgramData/chocolatey" -Target "D:/ProgramData/chocolatey"
to save space on C drive
To install chocolatey run
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Then run choco install Packages.config
which can be generated with ChocolateyGUI, that can be installed with choco install chocolateygui
To personalize the terminal:
mkdir .config
New-Item -ItemType SymbolicLink -Path "~/.config/starship.toml" -Target "../.dotfiles/starship.toml"
In order to add ssh support, OpenSSH service must be enabled in services.msc
. On windows, some config must be changed in order to enable the ssh auth git config --system core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
. Also, check this for multiple git configurations.
After updating MSYS2, some changes are needed. First, create a Hard Link from MSYS2 home directory to Windows home directory New-Item -ItemType SymbolicLink -Path "D:/msys64/home/JuanoD" -Target "C:/Users/JuanoD"
and New-Item -ItemType SymbolicLink -Path 'D:\msys64\scripts' -Target "${pwd}/scripts"
.
Make sure to check git-for-windows inside MSYS2.
Set var LC_ALL=C.UTF-8
to render all characters correctly. Read this for info.
Some changes I make to environment variables
Variable | Change |
---|---|
MSYS2_ROOT | D:\msys64 |
Path | + |
D:\Programs\VSCode\bin | |
D:\msys64\mingw64\bin | |
D:\msys64\usr\bin | |
D:\msys64\scripts | |
C:\Program Files\PowerShell\7\ | |
PLATFORMIO_CORE_DIR | D:\ProgramData\.platformio |
PLATFORMIO_SETTING_PROJECTS_DIR | D:\Juano\Documents\Projects\PlatformIO |
I install pyenv
using chocolatey. After this, install pipx
, and using pipx, install poetry
and git-sim
.