# MonakhOS: My general workstation environment Code name given on 2024-05-16 : "MonakhOS" Architecture: - Sway - Support of dots file repository - A single `venv` in dots containing all utilities and libs ## Getting started with a VM (qemu) Cd in `sandbox_vms/vm1` Create the QCow base image. ../../ansible/run_ansible_playbook.sh base.img Run the image, use remmina to install with archinstall. With Archinstall add: - desktop profile - sway - ly greeter - networkmanager Create snapshot to be able to quickly restart the ansible script with a clean image qemu-img create -f qcow2 -b base.img -F qcow2 after_arch_install.img qemu-img create -f qcow2 -b after_arch_install.img -F qcow2 after_ssh_init.img qemu-img create -f qcow2 -b after_ssh_init.img -F qcow2 ready_for_ansible.img ## Steps to install - find a new name for the device eg. blackjack - install with `archinstall` to initialize the computer - use the profiles defined in `archinstall_configs` - connect to the internet - enable an ssh server to access it from the ansible runner host - on the host, generate a private ssh key - add the public key on the target host - create a target directory in `target` directory - configure `vars.yaml`, see example vars file - create on the host, the private ssh key that will be installed on target - add this sshkey to your forge that host your dots file, eg. forge.lefuturiste.fr ### Generate a unprotected default ssh key ``` ssh-keygen -t ed25519 -C "mbess@blackjack" ``` no passphrase > ECDSA-SK, Ed25519 and Ed25519-SK keys have a fixed length and the -b flag will be ignored. ### Configure ~/.ssh/config ``` # set as default IdentityFile ~/.ssh/unprotected_ed25519 Host * ServerAliveInterval 40 Host forge.lefuturiste.fr user git IdentitiesOnly yes IdentityFile ~/.ssh/unprotected_ed25519 Host aur.archlinux.org IdentityFile ~/.ssh/id_aur User aur ``` ## Pacman packages defined in dots file arch_packages.yaml categories: commons, work ## Sway ### swayidle https://stackoverflow.com/questions/68694093/how-to-prevent-swayidle-from-execution-while-watching-a-film ## Greeter Ly is a TUI greeter, it will show a terminal based login prompt https://github.com/fairyglade/ly ## Ansible ### auto run archinstall with ansible - question: how to overwrite the drive config and set it to auto ? https://archinstall.archlinux.page/ ## Known issues ### SSH known hosts You need to keep updated the known hosts in your profiles to not have this info erased each time you play the ansible book. ## Pistes - https://github.com/id101010/ansible-archlinux - https://github.com/kewlfft/ansible-aur