47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# System specification
|
|
|
|
The goal of this repository is to document and codify my system setup so i dont have to wonder what is
|
|
the thing I installed that does that or what did I change in the config for it to work.
|
|
|
|
This repository defines:
|
|
- how a system is bootstrapped
|
|
- which system packages and services are installed
|
|
- which system-level configuration is applied
|
|
- why certain decisions were made (when relevant)
|
|
|
|
## Arch bootstrap
|
|
|
|
After writing the [iso](https://archlinux.org/download/) file to a bootable media and booted on the device, archinstall can be used with the profile located in the `installer` directory. It will create the minimal setup for ansible to work on.
|
|
|
|
```bash
|
|
loadkeys be-latin1 # load the belgian keyboard keys
|
|
curl -fsL https://git.jika.li/Jika/system-spec/archive/master.tar.gz | tar -xz # download repo archive and extract
|
|
cd system-spec/installer && ./patch-disk-config.sh /dev/disk # patch the arch install config with wanted disk as root
|
|
archinstall --config user_config.json --creds user_cred.json # check config and then launch the install
|
|
```
|
|
|
|
## Ansible replication
|
|
|
|
```bash
|
|
./install_ansible_aur.sh
|
|
ansible-playbook -K base_install.yml
|
|
```
|
|
## Personal config
|
|
|
|
For using the install script via ssh first put key (`ssh-keygen`) on gitea.
|
|
|
|
See dotfiles [repo](htps://git.jika.li/Jika/dotfiles)
|
|
|
|
## Post install
|
|
|
|
- Github user config
|
|
|
|
```bash
|
|
git config --global user.name $NAME
|
|
git config --global user.email $EMAIL
|
|
```
|
|
|
|
- Rustup init
|
|
```bash
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
`` |