2024-05-26 20:17:13 +00:00
|
|
|
# MonakhOS: My general workstation environment
|
|
|
|
|
|
|
|
Code name given on 2024-05-16 : "MonakhOS"
|
|
|
|
|
|
|
|
Architecture:
|
|
|
|
- Sway
|
|
|
|
|
|
|
|
- A single `venv` in dots containing all utilities and libs
|
|
|
|
|
|
|
|
## Ansible
|
|
|
|
|
|
|
|
https://github.com/id101010/ansible-archlinux
|
|
|
|
|
|
|
|
## 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
|
|
|
|
- connect to wifi
|
|
|
|
- enable ssh server to access it from the exterior
|
|
|
|
- generate ssh key
|
|
|
|
- add sshkey to 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
|
|
|
|
```
|
|
|
|
|
|
|
|
### Clone dots
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ~
|
|
|
|
git clone git@forge.lefuturiste.fr:mbess/dots .dots
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ~/.dots
|
|
|
|
python3 -m venv venv
|
|
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
|
|
# create symbolic link to access dots
|
|
|
|
ln -s ~/.dots ~/dots
|
|
|
|
```
|
|
|
|
|
|
|
|
### install yay
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone https://aur.archlinux.org/yay.git
|
|
|
|
cd yay
|
|
|
|
makepkg -si
|
|
|
|
```
|
|
|
|
|
|
|
|
### configure Zsh
|
|
|
|
|
|
|
|
https://wiki.archlinux.org/title/Zsh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### configure xremap
|
|
|
|
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
|
|
|
|
sudo systemctl enable --now xremap
|
|
|
|
|
|
|
|
|
|
|
|
### Import and configure GPG keys
|
|
|
|
|
|
|
|
### Configure unix password manager
|
|
|
|
|
|
|
|
using `extra/gopass`
|
|
|
|
|
|
|
|
### Setup symbolic links to configs files
|
|
|
|
|
|
|
|
run the script `setup_dot.sh`
|
|
|
|
|
|
|
|
## Shell
|
|
|
|
|
|
|
|
### Fish
|
|
|
|
|
|
|
|
#### install fisher
|
|
|
|
|
|
|
|
https://github.com/jorgebucaran/fisher
|
|
|
|
|
|
|
|
use `fisher package`
|
|
|
|
|
|
|
|
#### fzf fish
|
|
|
|
|
|
|
|
https://github.com/PatrickF1/fzf.fish
|
|
|
|
|
|
|
|
require fd and bat
|
|
|
|
|
|
|
|
#### lfcd
|
|
|
|
https://github.com/gokcehan/lf/blob/master/etc/lfcd.fish
|
|
|
|
|
|
|
|
### Zsh
|
|
|
|
|
|
|
|
https://yewtu.be/watch?v=ud7YxC33Z3w
|
|
|
|
https://github.com/jeffreytse/zsh-vi-mode
|
|
|
|
|
|
|
|
How to handle different profiles
|
|
|
|
|
|
|
|
## Pacman packages
|
|
|
|
|
|
|
|
defined in dots file
|
|
|
|
|
|
|
|
arch_packages.yaml
|
|
|
|
|
|
|
|
## 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/
|
|
|
|
|
|
|
|
|
|
|
|
## Pistes
|
|
|
|
|
|
|
|
https://github.com/kewlfft/ansible-aur
|
2024-07-08 09:07:46 +00:00
|
|
|
|