66 lines
2.4 KiB
Markdown
66 lines
2.4 KiB
Markdown
|
|
# 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)
|
||
|
|
```
|