TODO.org: Archive TODOs

This commit is contained in:
Collin J. Doering 2023-04-02 22:22:06 -04:00
parent cf2be1c40c
commit e70266292e
Signed by: rekahsoft
GPG Key ID: 7B4DEB93212B3022
1 changed files with 199 additions and 196 deletions

395
TODO.org
View File

@ -1084,6 +1084,205 @@ CLOSED: [2023-04-01 Sat 23:29] DEADLINE: <2023-04-04 Tue>
.guix/rekahsoft/guix-config/proxmox-vm-lvm-minimal.scm:84:11: warning: 'elogind-service' is deprecated, use 'elogind-service-type' instead
.guix/rekahsoft/guix-config/proxmox-vm-lvm-minimal.scm:85:11: warning: 'dbus-service' is deprecated, use 'dbus-root-service-type' instead
#+end_src
*** DONE [#A] Setup guix on lenovo t80s personal laptop
CLOSED: [2023-04-02 Sun 21:52] DEADLINE: <2023-03-19 Sun>
:PROPERTIES:
:ARCHIVE_TIME: 2023-04-02 Sun 21:53
:END:
- State "DONE" from "DOING" [2023-04-02 Sun 21:52]
- State "DOING" from "TODO" [2022-03-14 Mon 11:50]
**** Notes
***** Partitioning
****** Create disk partition table and layout
#+begin_src bash
parted /dev/nvme0n1 mklabel gpt
#+end_src
****** Create EFI partition
#+begin_src bash
parted /dev/nvme0n1p1 set 1 esp on
mkfs.fat -F32 /dev/nvme0n1p1
#+end_src
****** Create LUKS container on remainder of disk
#+begin_src bash
cryptsetup luksFormat -l crypt /dev/nvme0n1p2
#+end_src
******* Unlock LUKS container after creation
#+begin_src bash
cryptsetup luksOpen /dev/nvme0n1p2
#+end_src
****** Create LVM2 container inside of LUKS container
******* Create Physical Volume (pv)
#+begin_src bash
pvcreate /dev/mapper/crypt
#+end_src
******* Create Volume Group (vg)
#+begin_src bash
vgcreate vg0 /dev/mapper/crypt
#+end_src
******* Create Logical Volume/s (vg)
#+begin_src bash
vgcreate -L 442G vg0 -n root
vgcreate -l +100%FREE vg0 -n swap
#+end_src
****** Create btrfs 'pool' (file-system) and subvolumes
******* Create btrfs file-system
#+begin_src bash
mkfs.btrfs -l root /dev/vg0/root
#+end_src
******* Create btrfs subvolumes
First mount the btrfs top-level file-system.
#+begin_src bash
mount /dev/vg0/root /mnt
#+end_src
Then create the root subvolume.
#+begin_src bash
btrfs subvolume create /mnt/@
#+end_src
Unmount the top-level btrfs file-system.
#+begin_src bash
umount /mnt
#+end_src
Mount the root subvolume.
#+begin_src bash
mount -o subvol=@,compress=zstd /dev/vg0/root /mnt
#+end_src
Create nested subvolumes for ~/gnu/store~ and ~/home~.
#+begin_src bash
mkdir -p /mnt/gnu /mnt/var/log
btrfs subvolume create /mnt/gnu/store
btrfs subvolume create /mnt/home
# TODO: Should have created these
#btrfs subvolume create /mnt/var/log
#+end_src
****** Create and activate swap
#+begin_src bash
mkswap -l swap /dev/vg0/swap
swapon /dev/vg0/swap
#+end_src
****** Prepare ~/mnt~ for Guix installation
Create ~/boot/efi~ directory for UEFI boot and mount the ESP partition there.
#+begin_src bash
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
#+end_src
Both root and swap are already mounted and ready due to earlier steps.
***** Install Guix
Start ~cow-store~ to allow later steps to write store changes to ~/mnt/gnu/store~ as well as
to bootstrap the system.
#+begin_src bash
herd start cow-store /mnt
#+end_src
#+begin_src bash
guix system init /mnt/etc/config.scm /mnt
#+end_src
****** DONE Figure out how config file should be retrieved
CLOSED: [2022-04-20 Wed 11:47]
- State "DONE" from "TODO" [2022-04-20 Wed 11:47]
Figured out. This should be done through a channel, and is now implemented in the
[[https://git.home.rekahsoft.ca/rekahsoft-public/guix-machines][guix-machines]] repository.
****** DONE Determine what setup looks like if non-free firmware is required
CLOSED: [2022-04-20 Wed 11:48]
- State "DONE" from "TODO" [2022-04-20 Wed 11:48]
This is going to require using a pre-built guix image that includes the appropriate firmware
and blob loader (non-libre linux kernel).
****** CANCELED Streamline setup as my own disk image
CLOSED: [2023-04-02 Sun 21:52]
- State "CANCELED" from "TODO" [2023-04-02 Sun 21:52] \\
This will be captured in a later TODO
***** Setup user-space
****** Setup flatpak
Flatpak comes installed on Guix without any system of user remotes. Additionally, a
~/var/lib/flatpak~ folder does not exist by default on arch. It could be created, with a
group controlling its permissions, but I instead prefer to keep this to be managed on a
per-user basis. As such, add flathub as a user remote:
#+begin_src sh :results output
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
#+end_src
******* DONE Look into output
CLOSED: [2022-04-20 Wed 11:48]
- State "DONE" from "TODO" [2022-04-20 Wed 11:48]
#+begin_src text
Note that the directories
'/var/lib/flatpak/exports/share'
'/home/collin/.local/share/flatpak/exports/share'
are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.
#+end_src
******* DONE Install flatpak applications
CLOSED: [2023-04-02 Sun 21:44]
- Note taken on [2023-04-02 Sun 21:44] \\
Created a TODO item for my dotfiles to resolve this
- State "DONE" from "TODO" [2023-04-02 Sun 21:44]
I don't currently know which applications I will be using from flatpak. It will be a fallback
if the package is not available in Non-Guix or Guix repositories, and cannot be easily
packaged.
I will need to develop a nice way to automatically make sure flatpak applications are
installed. For the time being, I will just keep track of what has been installed here.
#+begin_src bash
flatpak install flathub us.zoom.Zoom
flatpak install com.plexamp.Plexamp
#+end_src
** Backlog :backlog:
DEADLINE: <1990-05-08 Tue>
*** TODO Setup data volumes for all vms, migrating persistent data to them
@ -1328,199 +1527,3 @@ configuration file in place.
Alternatively, the docker-configuration could be updated to support setting logging
configuration and other options.
** DONE [#A] Setup guix on lenovo t80s personal laptop
CLOSED: [2023-04-02 Sun 21:52] DEADLINE: <2023-03-19 Sun>
- State "DONE" from "DOING" [2023-04-02 Sun 21:52]
- State "DOING" from "TODO" [2022-03-14 Mon 11:50]
*** Notes
**** Partitioning
***** Create disk partition table and layout
#+begin_src bash
parted /dev/nvme0n1 mklabel gpt
#+end_src
***** Create EFI partition
#+begin_src bash
parted /dev/nvme0n1p1 set 1 esp on
mkfs.fat -F32 /dev/nvme0n1p1
#+end_src
***** Create LUKS container on remainder of disk
#+begin_src bash
cryptsetup luksFormat -l crypt /dev/nvme0n1p2
#+end_src
****** Unlock LUKS container after creation
#+begin_src bash
cryptsetup luksOpen /dev/nvme0n1p2
#+end_src
***** Create LVM2 container inside of LUKS container
****** Create Physical Volume (pv)
#+begin_src bash
pvcreate /dev/mapper/crypt
#+end_src
****** Create Volume Group (vg)
#+begin_src bash
vgcreate vg0 /dev/mapper/crypt
#+end_src
****** Create Logical Volume/s (vg)
#+begin_src bash
vgcreate -L 442G vg0 -n root
vgcreate -l +100%FREE vg0 -n swap
#+end_src
***** Create btrfs 'pool' (file-system) and subvolumes
****** Create btrfs file-system
#+begin_src bash
mkfs.btrfs -l root /dev/vg0/root
#+end_src
****** Create btrfs subvolumes
First mount the btrfs top-level file-system.
#+begin_src bash
mount /dev/vg0/root /mnt
#+end_src
Then create the root subvolume.
#+begin_src bash
btrfs subvolume create /mnt/@
#+end_src
Unmount the top-level btrfs file-system.
#+begin_src bash
umount /mnt
#+end_src
Mount the root subvolume.
#+begin_src bash
mount -o subvol=@,compress=zstd /dev/vg0/root /mnt
#+end_src
Create nested subvolumes for ~/gnu/store~ and ~/home~.
#+begin_src bash
mkdir -p /mnt/gnu /mnt/var/log
btrfs subvolume create /mnt/gnu/store
btrfs subvolume create /mnt/home
# TODO: Should have created these
#btrfs subvolume create /mnt/var/log
#+end_src
***** Create and activate swap
#+begin_src bash
mkswap -l swap /dev/vg0/swap
swapon /dev/vg0/swap
#+end_src
***** Prepare ~/mnt~ for Guix installation
Create ~/boot/efi~ directory for UEFI boot and mount the ESP partition there.
#+begin_src bash
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
#+end_src
Both root and swap are already mounted and ready due to earlier steps.
**** Install Guix
Start ~cow-store~ to allow later steps to write store changes to ~/mnt/gnu/store~ as well as
to bootstrap the system.
#+begin_src bash
herd start cow-store /mnt
#+end_src
#+begin_src bash
guix system init /mnt/etc/config.scm /mnt
#+end_src
***** DONE Figure out how config file should be retrieved
CLOSED: [2022-04-20 Wed 11:47]
- State "DONE" from "TODO" [2022-04-20 Wed 11:47]
Figured out. This should be done through a channel, and is now implemented in the
[[https://git.home.rekahsoft.ca/rekahsoft-public/guix-machines][guix-machines]] repository.
***** DONE Determine what setup looks like if non-free firmware is required
CLOSED: [2022-04-20 Wed 11:48]
- State "DONE" from "TODO" [2022-04-20 Wed 11:48]
This is going to require using a pre-built guix image that includes the appropriate firmware
and blob loader (non-libre linux kernel).
***** CANCELED Streamline setup as my own disk image
CLOSED: [2023-04-02 Sun 21:52]
- State "CANCELED" from "TODO" [2023-04-02 Sun 21:52] \\
This will be captured in a later TODO
**** Setup user-space
***** Setup flatpak
Flatpak comes installed on Guix without any system of user remotes. Additionally, a
~/var/lib/flatpak~ folder does not exist by default on arch. It could be created, with a
group controlling its permissions, but I instead prefer to keep this to be managed on a
per-user basis. As such, add flathub as a user remote:
#+begin_src sh :results output
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
#+end_src
****** DONE Look into output
CLOSED: [2022-04-20 Wed 11:48]
- State "DONE" from "TODO" [2022-04-20 Wed 11:48]
#+begin_src text
Note that the directories
'/var/lib/flatpak/exports/share'
'/home/collin/.local/share/flatpak/exports/share'
are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.
#+end_src
****** DONE Install flatpak applications
CLOSED: [2023-04-02 Sun 21:44]
- Note taken on [2023-04-02 Sun 21:44] \\
Created a TODO item for my dotfiles to resolve this
- State "DONE" from "TODO" [2023-04-02 Sun 21:44]
I don't currently know which applications I will be using from flatpak. It will be a fallback
if the package is not available in Non-Guix or Guix repositories, and cannot be easily
packaged.
I will need to develop a nice way to automatically make sure flatpak applications are
installed. For the time being, I will just keep track of what has been installed here.
#+begin_src bash
flatpak install flathub us.zoom.Zoom
flatpak install com.plexamp.Plexamp
#+end_src