Files
ai-prompts/dotfiles/dotfiles-setup.md

2.4 KiB

Dotfiles Setup — New Machine Onboarding

Give this prompt to an AI on a fresh desktop or laptop install to get configs restored from Gitea quickly.


Prompt

I manage my dotfiles and config scripts in a self-hosted Gitea instance.
Help me restore my setup on this machine.

GITEA SERVER
------------
URL:      https://g.pozi.co.za
LAN URL:  http://192.168.0.126:3000
User:     gadmin

REPOS TO CLONE (all private — need SSH key set up first)
---------------------------------------------------------
  gadmin/dotfiles        → shell configs (.bashrc .zshrc .aliases .profile)
  gadmin/ssh-config      → ~/.ssh/config and known_hosts
  gadmin/scripts         → custom scripts for ~/bin or ~/.local/bin
  gadmin/desktop-config  → DE config (i3/sway/GNOME/KDE, keybindings)
  gadmin/vim-config      → .vimrc or init.lua
  gadmin/automounts      → udev rules, systemd mount units, fstab snippets

SETUP ORDER
-----------
1. Install git:
      sudo apt-get install -y git

2. Generate SSH key and add to Gitea (see client-ssh-setup.md):
      ssh-keygen -t ed25519 -C "richard@teacup.co.za" -f ~/.ssh/id_gitea
      cat ~/.ssh/id_gitea.pub
      # Add to https://g.pozi.co.za/user/settings/keys

3. Clone all repos:
      mkdir -p ~/repos
      git clone git@192.168.0.126:gadmin/dotfiles.git       ~/repos/dotfiles
      git clone git@192.168.0.126:gadmin/ssh-config.git     ~/repos/ssh-config
      git clone git@192.168.0.126:gadmin/scripts.git        ~/repos/scripts
      git clone git@192.168.0.126:gadmin/desktop-config.git ~/repos/desktop-config
      git clone git@192.168.0.126:gadmin/vim-config.git     ~/repos/vim-config
      git clone git@192.168.0.126:gadmin/automounts.git     ~/repos/automounts

4. Run each repo's install.sh to symlink configs into place:
      cd ~/repos/dotfiles       && ./install.sh
      cd ~/repos/ssh-config     && ./install.sh
      cd ~/repos/scripts        && ./install.sh
      cd ~/repos/desktop-config && ./install.sh
      cd ~/repos/vim-config     && ./install.sh
      cd ~/repos/automounts     && ./install.sh

5. Reload shell:
      source ~/.bashrc   # or ~/.zshrc

NOTES
-----
- Each install.sh backs up existing files before symlinking
- ssh-config repo: only ~/.ssh/config and known_hosts — NO private keys
- After cloning ssh-config, chmod 600 ~/.ssh/config
- Use LAN address while on the home network (faster, no port-forward needed)