-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathubuntu-dev-setup.sh
More file actions
executable file
·82 lines (64 loc) · 2.93 KB
/
ubuntu-dev-setup.sh
File metadata and controls
executable file
·82 lines (64 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
echo "⏫ Iniciando proceso y actualizando sistema..."
sudo apt update && sudo apt upgrade -y
echo "🛠️ Instalando herramientas básicas..."
sudo apt install -y git curl zsh wget unzip build-essential htop fonts-powerline
echo "🐳 Instalando Docker y Docker Compose..."
sudo apt install -y docker.io docker-compose
sudo usermod -aG docker $USER
echo "🔁 Reiniciá después para que Docker funcione sin sudo."
echo "🟢 Instalando Node.js con NVM..."
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"
nvm install --lts
echo "📦 Instalando PNPM..."
npm install -g pnpm
echo "🧑💻 Instalando Visual Studio Code..."
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] \
https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install -y code
rm packages.microsoft.gpg
echo "🧠 Instalando Cursor (editor AI)..."
wget https://download.cursor.sh/linux_deb -O cursor.deb
sudo apt install -y ./cursor.deb
rm cursor.deb
echo "✅ Cursor instalado. Probá ejecutando el comando: cursor"
# TODO: Make cursor default editor but ensuring it's installed correctly with VSCode
echo "💡 Instalando Oh My Zsh..."
if [ "$SHELL" != "$(which zsh)" ]; then
chsh -s $(which zsh)
fi
# Instalar Oh My Zsh
export RUNZSH=no
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Configurar tema agnoster (requiere fuente powerline)
sed -i 's/ZSH_THEME=".*"/ZSH_THEME="agnoster"/' ~/.zshrc
# Aplicar los cambios
echo "source ~/.zshrc" >> ~/.bashrc
echo "✅ Oh My Zsh instalado con tema agnoster. ¡Tu terminal será mucho más pro!"
# Pregunta para montar partición compartida
read -p "¿Querés montar una partición NTFS compartida? (s/n): " RESPUESTA
if [[ "$RESPUESTA" == "s" || "$RESPUESTA" == "S" ]]; then
echo "📂 Listando discos para que identifiques tu partición NTFS..."
lsblk
read -p "🔍 Ingresá el nombre del dispositivo (ej: sda3): " PART
UUID=$(blkid -s UUID -o value /dev/$PART)
if [ -z "$UUID" ]; then
# TODO: Test it with a different partitions
echo "⚠️ No se pudo obtener el UUID. Revisa el nombre ingresado."
else
MOUNT_DIR="/mnt/shared"
echo "📁 Creando directorio de montaje en $MOUNT_DIR"
sudo mkdir -p $MOUNT_DIR
echo "📝 Agregando entrada en /etc/fstab..."
echo "UUID=$UUID $MOUNT_DIR ntfs defaults,windows_names,locale=en_US.utf8 0 0" | sudo tee -a /etc/fstab
echo "🔄 Montando partición..."
sudo mount -a
echo "✅ Partición montada en $MOUNT_DIR"
fi
fi
echo "🎉 Fin del script. Reiniciá tu sistema para que los cambios tomen efecto (Docker, Zsh como shell, etc)."