Skip to content

Instantly share code, notes, and snippets.

@ackreq
Last active October 24, 2025 16:33
Show Gist options
  • Select an option

  • Save ackreq/e972938a3035b5e61065c2beb649c747 to your computer and use it in GitHub Desktop.

Select an option

Save ackreq/e972938a3035b5e61065c2beb649c747 to your computer and use it in GitHub Desktop.
Tweaks to set up my environment in Linux Mint Cinnamon

🌱 Step 01

  • Desktop settings

    • Desktop colors: Dark
    • Check for driver updates
    • Disable the startup dialog
    • Install language packs from system reports
    • Configure startup applications
  • Terminal setup

    • Size: 98x30
    • Hide scrollbar and menubar
    • Disable cursor blinking
  • 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

🏁 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
    
  • Optional: st terminal

    sudo apt install libx11-dev libxft-dev libharfbuzz-dev
  • Additional installations

  • Keyboard 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 Super + Shift + Return alacritty -e fish
    Browser Super + B google-chrome
    Text Editor Super + C code
    Text Editor 2 Super + Shift + C gedit
    Media Player Super + V vlc
    Close 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
    • Sound → Sounds:
      • Disable Switching workspace
      • Disable Tiling and snapping windows
    • Themes → Settings: Enable Show icons in menus
  • 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
  • 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 gitconfig file:

    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

  • 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 tlmgr accessible.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment