.. | ||
install_vm.sh | ||
README.md | ||
run_vm.sh |
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
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
How to sandbox monakos on a virtual machine
Connect with remmina
remmina -c spice://127.0.0.1:4354
Connect to SSH
ssh -p 2222 localhost -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no