# 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 ``