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 ...