Skip to content

Instantly share code, notes, and snippets.

@yusufipk
Last active October 31, 2025 13:19
Show Gist options
  • Select an option

  • Save yusufipk/81524f959ca1e83d31372925871e210b to your computer and use it in GitHub Desktop.

Select an option

Save yusufipk/81524f959ca1e83d31372925871e210b to your computer and use it in GitHub Desktop.
Mükemmel Bilgisayar Formatı: Verilerini ASLA Kaybetme
#!/bin/bash
# ##################################################################
# Arch Linux Package Installation Script #
# ##################################################################
#
# Define the packages you want to install in the 'packages' list.
# The script will then use 'yay' to install them.
#
# --- EDIT THIS LIST ---
# Add your desired packages here, separated by a new line.
# I've added some common examples from official repos and the AUR.
packages=(
# --- System & Utilities ---
'neofetch'
'htop'
'stacer'
'git'
'alacritty'
'appimagelauncher'
'cachyos-dnscrypt-proxy'
'downgrade'
'gnome-disk-utility'
'gufw'
'kdiskmark'
'pavucontrol'
'unrar'
'unzip'
'vim'
'neovim'
'virt-manager'
'wget'
# --- Various Program ---
'audacity'
'darktable'
'docker'
'easyeffects'
'gimp'
'git'
'jdownloader2'
'kdeconnect'
'keepassxc'
'kleopatra'
'libreoffice-fresh'
'localsend'
'losslesscut-bin'
'metadata-cleaner'
'normcap'
'obs-studio-tytan652'
'obs-tuna'
'obsidian'
'scrcpy'
'spectacle'
'snap-pac'
'stremio'
'tesseract'
'tesseract-data-tur'
'thunderbird'
'yt-dlp'
# --- Web Browsers ---
'brave-bin'
'firefox'
'firefoxpwa'
'torbrowser-launcher'
'zen-browser-bin'
# --- Communication & Media ---
'discord'
# --- Fonts ---
'adobe-source-han-sans-cn-fonts'
'adobe-source-han-sans-jp-fonts'
'adobe-source-han-sans-kr-fonts'
'awesome-terminal-fonts'
)
# --- SCRIPT LOGIC (No need to edit below this line) ---
# 1. Check if yay is installed
if ! command -v yay &> /dev/null; then
echo "❌ Error: yay is not installed."
echo "Please install yay to continue. See: https://github.com/Jguer/yay"
exit 1
fi
# 2. Update system package databases and upgrade installed packages
echo "🔄 Synchronizing package databases and updating system..."
yay -Syu --noconfirm
# 3. Install the packages from the list
echo "📦 Installing specified packages..."
# The --needed flag prevents reinstalling packages that are already up-to-date.
yay -S --needed "${packages[@]}"
# 4. Final message
echo ""
echo "✅ Script finished! All specified packages have been processed."
# ##################################################################
# Windows Winget App Install Script #
# (Customized from your Arch Linux list) #
# ##################################################################
# --- EDIT THIS LIST ---
# To find the ID of an app, run: winget search "AppName"
$packages = @(
# --- System & Utilities ---
"nepnep.neofetch-win"
"CrystalDewWorld.CrystalDiskMark"
"GNU.Wget2"
"Git.Git",
"RARLab.WinRAR",
"7zip.7zip",
"Vim.Vim",
"Neovim.Neovim",
"Oracle.VirtualBox",
"ShareX.ShareX",
# --- Various Programs ---
"Audacity.Audacity",
"darktable.darktable",
"Docker.DockerDesktop",
"GIMP.GIMP",
"JDownloader.JDownloader",
"KDE.KDEConnect",
"KeePassXCTeam.KeePassXC",
"GnuPG.Gpg4win",
"TheDocumentFoundation.LibreOffice",
"TienDoNam.LocalSend",
"mifi.lossless-cut",
"ExifCleaner.ExifCleaner",
"OBSProject.OBSStudio",
"Obsidian.Obsidian",
"Genymobile.scrcpy",
"Stremio.Stremio",
"Mozilla.Thunderbird",
"yt-dlp.yt-dlp",
# --- Web Browsers ---
"Brave.Brave",
"Mozilla.Firefox",
"TorProject.TorBrowser",
# --- Communication & Media ---
"Discord.Discord"
)
# --- SCRIPT LOGIC (No need to edit below this line) ---
try {
Get-Command "winget" -ErrorAction Stop | Out-Null
Write-Host "[OK] Winget is available." -ForegroundColor Green
}
catch {
Write-Host "[ERROR] winget is not installed or not in your PATH." -ForegroundColor Red
Write-Host "[INFO] Please install 'App Installer' from the Microsoft Store to continue." -ForegroundColor Yellow
exit 1
}
Write-Host "[INFO] Updating winget sources..." -ForegroundColor Cyan
winget source update
Write-Host "[INFO] Installing specified packages..." -ForegroundColor Cyan
foreach ($package in $packages) {
Write-Host "--- Installing: $package ---" -ForegroundColor Yellow
winget install --id $package --silent --accept-package-agreements --accept-source-agreements
if ($LASTEXITCODE -eq 0) {
Write-Host "[OK] Successfully installed $package" -ForegroundColor Green
} else {
Write-Host "[FAIL] Failed to install $package. Exit code: $LASTEXITCODE" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "[DONE] Script finished! All specified packages have been processed." -ForegroundColor Green
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment