Blog: 2023-08-16

From razwiki
Jump to navigation Jump to search

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