Blog: 2023-08-16
Want to split apart fish config into 3 directories:
fish-functions
and config-fish
I was thinking of having a 3rd for abbrs but that's too many >_<
So pretty much here's the ideal fish config bootstrapping
git clone <something> cd <something> fish install.fish
Or even better
git clone <something> --recurse-submodules
then to update
cd ~/.config/fish git pull
etc
Ok one problem I'm realizing: if I have the readme.md in the root of the fish config repository, now it moves to the functions directory... I guess that's ok actually
But then again things like test, not so good...
So it's nice to have the functions in their own folder.
~/.config/fish fish-functions functions fish-config conf.d abbrs.fish config.fish
New way I'm thinking about this
git clone fisher ... source fisher/fisher.fish fisher plugin add fish-functions
Meanwhile something interesting has caught my attention, namely `<summary>` as seen in https://github.com/jorgebucaran/cookbook.fish
It has some quirks, but it works pretty well if you add a blank line between the html tags and the summary contents. Then it renders markdown alright
Or maybe simply you just clone the fish-functions directory anywhere
then symlink it to ~/.config/fish/functions
this is a little hacky, windows dont like symlinks I think, that sort of thing. Also how do you add your own functions huh. Would be good to have a thing like "copy the functions you need, then add your own, everything is public domain"
debian nested virtualization
I'm trying to get nested virtualization on debian working, so I can test my "ronin" command. But I don't really need nested virtualization; the test command can run from a host, and clean up its environment etc, such that if it works, that means it should work for a new machine... no need to be perfect here. Anyways here's a virtual machine where I try to install libvirt and stuff and it fails
vagrant@bookworm:~/hack$ history 1 ls 2 up 3 sudo apt update 4 apt list --upgradable 5 sudo apt upgrade 6 ls 7 sudo apt install libvirt 8 sudo apt install libvirt0 9 ls 10 sudo apt install vagrant 11 mkdir hack 12 cd hack/ 13 ls 14 vagrant init debian/bookworn64 15 vi Vagrantfile 16 vagrant up 17 cat 18 sudo apt install qemu-system-common 19 sudo apt install qemu-system 20 cd hack/ 21 ls 22 vagrant up 23 sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils~ 24 sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils 25 sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils 26 sudo systemctl enable libvirtd 27 vagrant up 28 whoami 29 sudo usermod -a -G libvirt vagrant 30 vagrant up 31 virsh net-list 32 virsh net-dump vagrant-libvirt 33 ip addr 34 vagrant up 35 vi Vagrantfile 36 sudo virsh net-list 37 sudo ip link delete virbr0 38 sudo ip link delete eth0 39 vi Vagrantfile 40 vagrant up 41 vagrant up --debug 42 egrep --color -i "svm|vmx" /proc/cpuinfo 43 sudo virt-host-validate 44 vu 45 vagrant up 46 sudo virsh 47 history
And here's the error:
vagrant@bookworm:~/hack$ vagrant up Bringing machine 'default' up with 'libvirt' provider... ==> default: Checking if box 'debian/bookworm64' version '12.20230723.1' is up to date... ==> default: Creating image (snapshot of base box volume). ==> default: Creating domain with the following settings... ==> default: -- Name: hack_default ==> default: -- Description: Source: /home/vagrant/hack/Vagrantfile ==> default: -- Domain type: kvm ==> default: -- Cpus: 1 ==> default: -- Feature: acpi ==> default: -- Feature: apic ==> default: -- Feature: pae ==> default: -- Clock offset: utc ==> default: -- Memory: 512M ==> default: -- Base box: debian/bookworm64 ==> default: -- Storage pool: default ==> default: -- Image(vda): /var/lib/libvirt/images/hack_default.img, virtio, 20G ==> default: -- Disk driver opts: cache='default' ==> default: -- Graphics Type: vnc ==> default: -- Video Type: cirrus ==> default: -- Video VRAM: 16384 ==> default: -- Video 3D accel: false ==> default: -- Keymap: en-us ==> default: -- TPM Backend: passthrough ==> default: -- INPUT: type=mouse, bus=ps2 ==> default: Removing domain... ==> default: Deleting the machine folder Error while activating network: Call to virNetworkCreate failed: internal error: Network is already in use by interface eth0
Haven't fixed it yet, ah well, like I said I don't really need nested virtualization to write some tests for this. Virtualization isn't the solution to everything... though it is cool ...