#!/bin/bash

# - bof - #



# -  - #
# - Documentation - #
# https://www.youtube.com/watch?v=CcSjnqreUcQ



# -  - #
# - When this error happen on ssh command - #

#  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#  @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
#  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#  # -  - #
#  # - Fixing this error - #
#  ssh-keygen -R 192.168.1.100;
#  ssh-keygen -R 192.168.1.200;
#  ssh-keygen -R 192.168.1.238;
#  ssh-keygen -R 192.168.122.100;



# :a
# -  - #
# - Initial procedure - #
sudo pacman -Syu --noconfirm; sudo pacman -Syyuu --noconfirm;
sudo pacman -S archiso --noconfirm;
mkdir -p ISOBuild; cd ISOBuild; 
cp -r /usr/share/archiso/configs/releng/ .;
mv releng zfsiso; cd ..;



# :b
# -  - #
# - Download arch modules - #
git clone https://aur.archlinux.org/zfs-dkms.git;
cd zfs-dkms;
makepkg --skippgpcheck; cd ..;

git clone https://aur.archlinux.org/zfs-utils.git;
cd zfs-utils;
makepkg --skippgpcheck; cd ..;
cd ISOBuild/zfsiso;



# :c
# -  - #
# - Create personal repo - #
mkdir -p zfsrepo; cd zfsrepo;
cp ../../../zfs-dkms/*.zst .;
cp ../../../zfs-utils/*.zst .;
repo-add zfsrepo.db.tar.gz *.zst; cd ..;



# :d
# -  - #
# - Edit configuration files - #

# - packages.x86_64 - #
vim packages.x86_64;

# ZFS Custom Repo
linux-headers
zfs-dkms
zfs-utils

# - pacman.conf - #
vim pacman.conf;

[zfsrepo]
SigLevel = Optional TrustAll
Server = file:///DataPool/Images/Programs/Linux.Img/Linux_Arch.Img/Arch_ISOs.Img/Create_Arch_ZFS_ISO/ISOBuild/zfsiso/zfsrepo



# :e
# -  - #
# - Create WORK,ISOOUT folders - #
mkdir -p {WORK,ISOOUT};

# - Become root - #
su;
mkarchiso -v -w WORK -o ISOOUT .;



# - eof - #
