#+TITLE: Kuro
#+DATE:  September 13, 2020

* Overview

* Specs
| CPU   | [[https://www.newegg.ca/amd-ryzen-9-3900x/p/N82E16819113103][AMD Ryzen 9 3900X 12-core, 24-thread]]    |
| MOBO  | [[https://www.newegg.ca/gigabyte-b550-aorus-elite/p/N82E16813145214?Item=N82E16813145214&IsFeedbackTab=true#scrollFullInfo][GIGABYTE B550 AORUS Elite]]               |
| COOL  | [[https://www.newegg.ca/cooler-master-hyper-212-evo-rr-212e-20pk-r2/p/N82E16835103099][Cooler Master Hyper 212 Evo]]             |
| GPU   | EVGA GeForce 680 GTX SC                 |
| RAM   | [[https://www.newegg.ca/g-skill-64gb-288-pin-ddr4-sdram/p/N82E16820374003?Description=G.SKILL%20Ripjaws%20V%20Series%2064gb&cm_re=G.SKILL_Ripjaws%20V%20Series%2064gb-_-20-374-003-_-Product][G.SKILL Ripjaws V Series 64GB (2x 32GB)]] |
| HDD   | [[https://www.newegg.ca/samsung-970-evo-plus-500gb/p/N82E16820147742?Description=samsung%20970%20evo%20plus&cm_re=samsung_970%20evo%20plus-_-20-147-742-_-Product][Samsung 970 EVO Plus 500GB NVMe M2]]      |
| HDD   | ST31000340NS 1TB (2x)                   |
| KBD   | ErgoDox-EZ                              |
| MOUSE | Anker Wireless Vertical Mouse           |

* Installation
** Set up root file system
#+BEGIN_SRC sh
# EVO Plus 500gb
parted /dev/nvme0n1 -- mklabel gpt
parted /dev/nvme0n1 -- mkpart ESP fat32 1MiB 512MiB
parted /dev/nvme0n1 -- mkpart primary 512MiB 200GiB
parted /dev/nvme0n1 -- mkpart primary 200GiB 100%
parted /dev/nvme0n1 -- set 1 boot on
mkfs.fat -F32 -n BOOT /dev/nvme0n1p1
mkfs.ext4 -L nixos /dev/nvme0n1p2
mkfs.ext4 -L home /dev/nvme0n1p3
#+END_SRC

** Set up VM SSDs
#+BEGIN_SRC shell
# 2x SSDs for VMs
parted /dev/sda -- mklabel gpt
parted -a optimal /dev/sda -- mkpart primary 0% 100%
parted /dev/sdb -- mklabel gpt
parted -a optimal /dev/sdb -- mkpart primary 0% 100%
mkfs.ext4 -L vm1 /dev/sda1
mkfs.ext4 -L vm2 /dev/sdb1
#+END_SRC

** Set up backup file system
#+BEGIN_SRC sh
# 2x 1TB mirrored backup
zpool create -R /mnt \
    -O mountpoint=none \
    -O xattr=sa \
    -O atime=off \
    -O compression=lz4 \
    -O recordsize=1M \
    -o ashift=9 \
    usr mirror /dev/sdc /dev/sdd

# aux
zfs create -o mountpoint=legacy usr/media
zfs create -o mountpoint=legacy usr/backup
zfs create -o mountpoint=legacy -o recordsize=128K usr/share
zfs create -o mountpoint=legacy -o recordsize=128K usr/local
#+END_SRC

** Mount drives
#+BEGIN_SRC sh
mount /dev/nvme0n1p2 /mnt

mkdir -p /mnt/{home,boot,usr/{backup,media,share,vm}}
mount /dev/nvme0n1p1 /mnt/boot
mount /dev/nvme0n1p3 /mnt/home
mount -t zfs {usr,/mnt/usr}/backup
mount -t zfs {usr,/mnt/usr}/media
mount -t zfs {usr,/mnt/usr}/share
mount -t zfs {usr,/mnt/usr}/local
mount /dev/sda1 /usr/vm/windows
mount /dev/sdb1 /usr/vm/macos
#+END_SRC
