Recomiendo separar los datos del sistema y los datos del usuario en dos particiones (C: y D:)
Cuenta Microsoft Online NO: Cuenta Local no@thankyou.com
...
2. Actualizar el sistema y la Microsoft Store
Ir a Ajustes, a Windows Update y descargar e instalar todas las actualizaciones disponibles.
Abrir la tienda de Microsoft (MS Store) y actualizar todo. Es importante que 'Instalador de aplicación' esté actualizado a la última versión, ya que WinGet depende de esa aplicación para descargar otras aplicaciones de la MS Store.
3. Instalar aplicaciones básicas con WinGet y PowerShell
Abrimos el PowerShell que viene por defecto: Windows PowerShell 5
# Mirar info de PowerShell$PSVersionTable
3.1 WinGet
Nos familiarizamos con WinGet y actualizamos las aplicaciones instaladas.
Si aparece el mensaje El origen 'msstore' requiere que acepte los términos del contrato Terms of Transaction, le decimos y
# Información de interés ('Raíz de paquete portátil') de cara al $env:PATH...
winget --info
# Vemos las aplicaciones instaladas
winget list
# # Opcionalmente desinstalamos morralla# winget uninstall <'nombre-aplicacion'>
# Comprobamos si hay actualizaciones disponibles
winget update
# Actualizamos las aplicaciones instaladas
winget upgrade --all
Si tuviéramos problemas, podemos cambiar la configuración de winget con winget settings en el bloc de notas. Yo podría recomendar esta aunque si no hace falta, quizá mejor no tocar.
$PSVersionTable# Consultar ruta para el archivo de configuración $PROFILE que queremos mantener$PROFILE
Creamos nuestro $PROFILE: archivo de configuración principal (documentación oficial) al estilo ~/.bashrc
NOTA 1: como referencia, en mi repo dotfiles/windows/. tengo mi $PROFILE, algunos scripts y algo de documentación (en dotfiles/docs/windows/.)
NOTA 2: para que OhMyPosh se vea bien, habrá que asignarle una fuente NerdFont al perfil de PowerShell 7 en WindowsTerminal. Más abajo hay 3 formas de instalar nerdfonts mediante PowerShell.
NOTA 3: de cara a futuro, sugiero tener nuestro $PROFILE en la nube tipo en un repositorio, clonarlo/descargarlo localmente y meter un symlink o similar. Es fácil pero no lo cubro en este documento.
# # Podemos crear las carpetas y los archivos manualmente...# New-Item -Path "$env:HOMEPATH\Documents\PowerShell" -ItemType Directory# New-Item $PROFILE# ... pero así, al guardar se crean también de una los directorios necesarios para la variable $PROFILE
nvim $PROFILE || code $PROFILE
# Este es un contenido de prueba para el archivo $PROFILE que estamos editandofunctionhola { Write-Host"que pasa" }
functionwuup { winget update && winget upgrade --all }
# Otras funciones, aliases, variables de entorno, modificaciones del $env:PATH, etc.
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\catppuccin.omp.json"|Invoke-Expression
# De vuelta en la terminal cargamos de nuevo el $PROFILE
.$PROFILE
hola
Algunos comandos últiles
# Definición de funciones y comandos
(Get-Command hola).Definition
# Info de almacenamientoGet-PSDrive || Get-Volume
4.3 VSCode
Extensiones
# ...
Ajustes
// ...
5. Instalación de aplicaciones con WinGet & PowerShell
Navegador web
winget install brave.brave google.chrome # recomiendo la extensión 'Dark Reader'
Get-WindowsCapability-Online |Where-Object Name -like'OpenSSH*'# Install the OpenSSH ClientAdd-WindowsCapability-Online -Name OpenSSH.Client~~~~0.0.1.0# Install the OpenSSH ServerAdd-WindowsCapability-Online -Name OpenSSH.Server~~~~0.0.1.0# Start the sshd serviceStart-Service sshd
# OPTIONAL but recommended:Set-Service-Name sshd -StartupType 'Automatic'# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verifyif (!(Get-NetFirewallRule-Name "OpenSSH-Server-In-TCP"-ErrorAction SilentlyContinue |Select-Object Name, Enabled)) {
Write-Output"Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."New-NetFirewallRule-Name 'OpenSSH-Server-In-TCP'-DisplayName 'OpenSSH Server (sshd)'-Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output"Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
7. Contener spyware de Microsoft
Editar el archivo hosts (como Administradores) en C:\Windows\System32\drivers\etc\hosts
NOTA: el symlink del $PROFILE solo puede hacerse si PowerShell se ejecutaba como Administrador para correr el script -- recomiendo abrir PowerShell5 como Administrador directamente
Invoke-WebRequest-Uri "https://raw.githubusercontent.com/pabloqpacin/setesur-win/main/scripts/Win10-base.ps1"-OutFile "$env:HOMEPATH\setup.ps1"Set-ExecutionPolicy Unrestricted -Scope Process
cd $env:HOMEPATH
.\setup.ps1