Mastermindx33

ubuntu-autoinstall.yaml

Jul 24th, 2025 (edited)
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.04 KB | None | 0 0
  1. #cloud-config
  2. autoinstall:
  3.   version: 1
  4.   identity:
  5.     hostname: ubuntu-vm
  6.     username: black
  7.     password: ""
  8.   locale: en_US
  9.   keyboard:
  10.     layout: us
  11.     variant: ''
  12.   storage:
  13.     layout:
  14.       name: direct
  15.   ssh:
  16.     install-server: true
  17.     allow-pw: true
  18.   packages:
  19.    - ubuntu-desktop-minimal
  20.     - gdm3
  21.     - wget
  22.     - curl
  23.     - git
  24.     - vim
  25.     - firefox
  26.   user-data:
  27.     disable_root: true
  28.     users:
  29.       - name: black
  30.         shell: /bin/bash
  31.         sudo: ALL=(ALL) NOPASSWD:ALL
  32.         lock_passwd: false
  33.         passwd: ""
  34.         groups: [adm, cdrom, sudo, dip, plugdev, lpadmin, sambashare]
  35.     write_files:
  36.       - path: /etc/gdm3/custom.conf
  37.         content: |
  38.          [daemon]
  39.           AutomaticLoginEnable=true
  40.           AutomaticLogin=black
  41.          
  42.           [security]
  43.          
  44.           [xdmcp]
  45.          
  46.           [chooser]
  47.          
  48.           [debug]
  49.         permissions: '0644'
  50.         owner: root:root
  51.       - path: /etc/sudoers.d/black
  52.         content: |
  53.          black ALL=(ALL) NOPASSWD:ALL
  54.         permissions: '0440'
  55.         owner: root:root
  56.     runcmd:
  57.      - apt update
  58.       - apt upgrade -y
  59.       - systemctl enable gdm3
  60.       - systemctl set-default graphical.target
  61.      
  62.       # Install VS Code
  63.       - wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
  64.       - install -o root -g root -m 644 /tmp/microsoft.gpg /etc/apt/trusted.gpg.d/
  65.       - sh -c 'echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
  66.       - apt update
  67.       - apt install -y code
  68.      
  69.       # Git config for user
  70.       - su - black -c "git config --global user.name 'BlesslinJerishR'"
  71.       - su - black -c "git config --global user.email '[email protected]'"
  72.      
  73.       # Install Node.js, npm, and yarn via nvm
  74.       - su - black -c "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash"
  75.       - su - black -c ". ~/.nvm/nvm.sh && nvm install 22"
  76.       - su - black -c ". ~/.nvm/nvm.sh && npm install -g yarn"
  77.      
  78.       # Add nvm to bashrc for persistent use
  79.       - su - black -c "echo 'export NVM_DIR=\"\$HOME/.nvm\"' >> ~/.bashrc"
  80.       - su - black -c "echo '[ -s \"\$NVM_DIR/nvm.sh\" ] && \\. \"\$NVM_DIR/nvm.sh\"' >> ~/.bashrc"
  81.       - su - black -c "echo '[ -s \"\$NVM_DIR/bash_completion\" ] && \\. \"\$NVM_DIR/bash_completion\"' >> ~/.bashrc"
  82.      
  83.       # Set up desktop environment
  84.       - systemctl enable NetworkManager
  85.       - systemctl start NetworkManager
  86.      
  87.       # Ensure autologin works
  88.       - systemctl restart gdm3
  89.      
  90.     final_message: |
  91.      Ubuntu installation complete!
  92.       User: black (no password required)
  93.       Autologin enabled
  94.       Node.js v22, npm, and yarn installed
  95.       System will boot to desktop automatically
  96.   late-commands:
  97.    - curtin in-target --target=/target -- systemctl enable gdm3
  98.     - curtin in-target --target=/target -- systemctl set-default graphical.target
Advertisement
Add Comment
Please, Sign In to add comment