Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #cloud-config
- autoinstall:
- version: 1
- identity:
- hostname: ubuntu-vm
- username: black
- password: ""
- locale: en_US
- keyboard:
- layout: us
- variant: ''
- storage:
- layout:
- name: direct
- ssh:
- install-server: true
- allow-pw: true
- packages:
- - ubuntu-desktop-minimal
- - gdm3
- - wget
- - curl
- - git
- - vim
- - firefox
- user-data:
- disable_root: true
- users:
- - name: black
- shell: /bin/bash
- sudo: ALL=(ALL) NOPASSWD:ALL
- lock_passwd: false
- passwd: ""
- groups: [adm, cdrom, sudo, dip, plugdev, lpadmin, sambashare]
- write_files:
- - path: /etc/gdm3/custom.conf
- content: |
- [daemon]
- AutomaticLoginEnable=true
- AutomaticLogin=black
- [security]
- [xdmcp]
- [chooser]
- [debug]
- permissions: '0644'
- owner: root:root
- - path: /etc/sudoers.d/black
- content: |
- black ALL=(ALL) NOPASSWD:ALL
- permissions: '0440'
- owner: root:root
- runcmd:
- - apt update
- - apt upgrade -y
- - systemctl enable gdm3
- - systemctl set-default graphical.target
- # Install VS Code
- - wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
- - install -o root -g root -m 644 /tmp/microsoft.gpg /etc/apt/trusted.gpg.d/
- - sh -c 'echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
- - apt update
- - apt install -y code
- # Git config for user
- - su - black -c "git config --global user.name 'BlesslinJerishR'"
- - su - black -c "git config --global user.email '[email protected]'"
- # Install Node.js, npm, and yarn via nvm
- - su - black -c "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash"
- - su - black -c ". ~/.nvm/nvm.sh && nvm install 22"
- - su - black -c ". ~/.nvm/nvm.sh && npm install -g yarn"
- # Add nvm to bashrc for persistent use
- - su - black -c "echo 'export NVM_DIR=\"\$HOME/.nvm\"' >> ~/.bashrc"
- - su - black -c "echo '[ -s \"\$NVM_DIR/nvm.sh\" ] && \\. \"\$NVM_DIR/nvm.sh\"' >> ~/.bashrc"
- - su - black -c "echo '[ -s \"\$NVM_DIR/bash_completion\" ] && \\. \"\$NVM_DIR/bash_completion\"' >> ~/.bashrc"
- # Set up desktop environment
- - systemctl enable NetworkManager
- - systemctl start NetworkManager
- # Ensure autologin works
- - systemctl restart gdm3
- final_message: |
- Ubuntu installation complete!
- User: black (no password required)
- Autologin enabled
- Node.js v22, npm, and yarn installed
- System will boot to desktop automatically
- late-commands:
- - curtin in-target --target=/target -- systemctl enable gdm3
- - curtin in-target --target=/target -- systemctl set-default graphical.target
Advertisement
Add Comment
Please, Sign In to add comment