Skip to content

Instantly share code, notes, and snippets.

@slash071
Last active March 2, 2025 09:35
Show Gist options
  • Save slash071/e972938a3035b5e61065c2beb649c747 to your computer and use it in GitHub Desktop.
Save slash071/e972938a3035b5e61065c2beb649c747 to your computer and use it in GitHub Desktop.
Tweaks to set up my environment in Linux Mint Cinnamon

🌱 Step 01

  • Desktop colors: Dark

  • Check for driver updates

  • Disable the startup dialog

  • Install language packs from system reports

  • Configure startup applications

  • Configure terminal:

    • 98x30
    • Hide the scrollbar and menubar
    • Disable cursor blinking
  • Setup Firefox

  • Use NekoRay to install Warp

  • Setup required directories:

sudo mkdir /opt/{softwares,sources}
sudo chown -R <username>:users /opt/{softwares,sources}
sudo mkdir /mnt/windows
sudo apt update
sudo apt upgrade
  • Remove old kernels.

  • Install Neovim:

    • sudo apt install software-properties-common vim git
    • Add PPA or use binaries
    • Setup AstroNvim
    • Install Hack & FiraCode Nerd Font
    • Update and sync
    • Treesitter for: rust c go cpp python bash markdown toml yaml html css dockerfile json xml sql
  • Add applets:

    • Workspace switcher
    • Taghvim => Set date format to %a %m/%d
    • Up time
  • Add Persian keyboard and set the shortcut to alt + caps

  • Install Persian fonts and IntelOne Mono

🏁 Step 02

  • 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
  • If the st terminal is needed, install required packages:
libx11-dev libxft-dev libharfbuzz-dev
  • Install Telegram and rustup

  • Add Shortcuts:

    Action Keybind Command
    Document Viewer super + d evince
    Telegram super + ctrl + t telegram
    Terminal super + Return st -g 92x30 -e tmux new-session -A -s main 'fish'
    Terminal 2 shift + super + Return st -g 92x30 -e fish
    Browser super + b chrome
    Text Editor super + c code
    Text Editor 2 shift + super + c gedit
    Media Player super + v vlc
    Shutdown ctrl + shift + Esc -
    Close Window super + w -
  • Settings:

    • Windows > Behavior > Window focus mode: Sloppy
    • Accessibility > Keyboard > Use visual indicator for caps
    • Sound > Sounds > Disable Switching workspace and Tiling and snapping windows
  • Themes:

    • Applications: Mint-Y-Dark-Blue
    • Icons: Reversal-Black
    • Desktop: Mint-Y-Dark-Blue
  • change screenshots directory:

    gsettings set org.gnome.gnome-screenshot auto-save-directory ~/Pictures/Screenshots
    
  • Move dotfiles:

    • alacritty
    • fish
    • shell
    • tmux
    • zathura
    • source bashrc stuff
    • vimrc
  • Setup VSCode:

    Turn on Settings Sync which apply settings below:

    • Font: 'Intel One Mono', 'Hack Nerd Font', monospace
    • Font size: 18
    • Catppuccin for VSCode
    • Color Highlight
    • Image Preview
    • Markdown Preview GitHub
    • Material Icon Theme
    • Two Monokai Theme
    • Code Spell Checker
    • Gitlens
    • Prettier:
      • Default formater: prettier
      • Auto save: OnFocusChange
      • Enable format on save
  • VLC:

    • Disable Resize interface to video size
    • Encoding: Arabic Windows
    • Font: B Koodak
    • Font size: Normal
  • SMPlayer:

    • GUI: Mini GUI

    • Icon set: Oxygen-KDE

    • Style: Kvantum or qt5ct-style

    • Font B Koodak

    • Line spacing: -20

    • Size: 30

    • Vertical: 32

    • Enable Apply style to ASS file

    • Change shortcuts for arrow keys

    • Controlbar and floating control:

      • left: play / stop / prev /next / file
      • Middle: time slider
      • right: displaytime / mute / volume / fullscreen
  • Change preferred applications

  • Configure the SSH key for GitHub and gitconfig file:

    git config --global user.name "<name>"
    git config --global user.email "<email>"
    git config --global --list

    Also append these to the gitconfig file:

    [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.

    Check network interface status:

    sudo virsh net-list --all

    If it is inactive start it using:

    sudo virsh net-start default
  • Add needed binaries to PATH, which is .local/bin/: pfetch, mdBook

  • Add 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
  • Add to .bashrc:

    take() {
        mkdir -p "${1}"
        cd "${1}"
    }
    
    ds() {
        du -h --max-depth="${1}" "${2}" | sort -hr
    }
    . "$HOME/.cargo/env"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment