Skip to content

JuanoD/.dotfiles

Repository files navigation

Setting up my OS

General

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.

Linux

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.

System config

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.

Terminal

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

Tools

# 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

Path

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

Completions

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.

Gnome extensions

Others

Workarounds

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

Windows

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.

About

Configuration backups and instructions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published