-
Desktop settings
- Desktop colors:
Dark - Check for driver updates
- Disable the startup dialog
- Install language packs from system reports
- Configure startup applications
- Desktop colors:
-
Terminal setup
- Size:
98x30 - Hide scrollbar and menubar
- Disable cursor blinking
- Size:
-
Core tools setup
-
Create required directories
sudo mkdir /opt/{softwares,sources} sudo chown -R <username>:users /opt/{softwares,sources} sudo mkdir /mnt/{windows,iso} -
System update and cleanup
sudo apt update sudo apt upgrade
- Remove old kernels
-
Install Neovim
sudo apt install software-properties-common vim git- Add PPA or use binaries
- Set up AstroNvim
- Install Hack & FiraCode Nerd Fonts
- Update and sync
- Install Treesitter for:
rust c go cpp python bash markdown toml yaml html css dockerfile json xml sql
-
Panel applets
- Workspace switcher
- Taghvim → set date format to
%a %m/%d - Uptime
- Night Light Switch
-
Localization
- Add Persian keyboard and set the shortcut to: Alt + Caps
- Install Persian fonts
- Install IntelOne Mono
-
Install essential packages
vim-gtk3 build-essential lm-sensors psensor tmux fonts-noto-core fish eza bat ncdu simplescreenrecorder persepolis vlc htop btop zathura software-properties-common tree duf tldr gnome-clocks gparted zoxide evince gedit gedit-plugins lf meld ubuntu-restricted-extras amberol gtkhash -
Optional: st terminal
sudo apt install libx11-dev libxft-dev libharfbuzz-dev
-
Additional installations
-
Keyboard shortcuts
Action Keybind Command Document Viewer Super + D evinceTelegram Super + Ctrl + T telegramTerminal Super + Return st -g 92x30 -e tmux new-session -A -s main 'fish'Terminal 2 Super + Shift + Return alacritty -e fishBrowser Super + B google-chromeText Editor Super + C codeText Editor 2 Super + Shift + C geditMedia Player Super + V vlcClose Window Super + W - Shutdown Ctrl + Shift + Esc - -
System settings
- Windows → Behavior: Set Window focus mode to
Sloppy. - Accessibility → Keyboard:
- Enable
Use visual indicator on Caps - Enable
Use audio indicator on Caps
- Enable
- Sound → Sounds:
- Disable
Switching workspace - Disable
Tiling and snapping windows
- Disable
- Themes → Settings: Enable
Show icons in menus
- Windows → Behavior: Set Window focus mode to
-
Change screenshots directory
mkdir -p ~/Pictures/Screenshots gsettings set org.gnome.gnome-screenshot auto-save-directory ~/Pictures/Screenshots
-
Move dotfiles
- alacritty
- fish
- shell
- tmux
- zathura
- source bashrc stuff
- vimrc
- zsh
-
Setup VSCode
Enable Settings Sync (applies settings below):
- Font:
'Intel One Mono', 'Hack Nerd Font', monospace - Font size:
18 - Extensions:
- Code Spell Checker
- Color Highlight
- Even Better TOML
- GitLens
- Image Preview
- Markdown Preview GitHub
- Material Icon Theme
- Rainbow CSV
- Two Monokai Theme
- Prettier
- Default formatter:
prettier - Auto save:
OnFocusChange - Enable
format on save
- Default formatter:
- Font:
-
Configure VLC
- Disable “Resize interface to video size”
- Encoding:
Arabic Windows - Font:
B Koodak - Font size:
Normal
-
Change preferred applications
-
Git configuration
Configure the SSH key for GitHub and
gitconfigfile:git config --global user.name "<name>" git config --global user.email "<email>" git config --global --list
Append to
gitconfig:[core] editor = gedit [diff] tool = meld [difftool] prompt = false [merge] tool = meld [mergetool] prompt = false [init] defaultBranch = main
-
Virt Manager:
# Install required packages sudo apt update sudo apt install qemu-system-x86 libvirt-daemon-system virtinst libvirt-clients bridge-utils ovmf # Enable and start libvirtd service sudo systemctl enable --now libvirtd # Add user to groups sudo usermod -aG libvirt $USER sudo usermod -aG kvm $USER # Install virt-manager sudo apt install virt-manager # Verify KVM is working kvm-ok
Restart the system to apply the changes, then verify:
# Check network interface status sudo virsh net-list --all # If it is inactive start it using sudo virsh net-start default
-
Add binaries to PATH
.local/bin/: nitch, mdBook, mdbook-admonish
-
Update shell configuration
Append the following to
.profile:# For QT themes export QT_QPA_PLATFORMTHEME=qt5ct # Source additional files source $HOME/.config/shell/alias source ~/.config/lf/icons export PATH=$HOME/.cargo/bin/:$HOME/.local/bin/:/usr/local/texlive/2023/bin/x86_64-linux:$PATH
Append the following to
.bashrc:take() { mkdir -p "${1}" cd "${1}" } ds() { du -h --max-depth="${1}" "${2}" | sort -hr } . "$HOME/.cargo/env"
-
Install TexLive ISO
- When prompted, select “Create symlinks in standard directories” to ensure binaries can be used as root and to make
tlmgraccessible.
- When prompted, select “Create symlinks in standard directories” to ensure binaries can be used as root and to make