summaryrefslogtreecommitdiff
path: root/installer
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xinstaller/guix-configure49
-rwxr-xr-xinstaller/guix-crypt70
-rwxr-xr-xinstaller/guix-install25
-rwxr-xr-xinstaller/guix-log23
-rwxr-xr-xinstaller/guix-partition66
-rwxr-xr-xinstaller/guix-password51
-rwxr-xr-xinstaller/guix-setup43
-rwxr-xr-xinstaller/guix-setup-user21
-rw-r--r--installer/system.scm23
9 files changed, 0 insertions, 371 deletions
diff --git a/installer/guix-configure b/installer/guix-configure
deleted file mode 100755
index b96c3c1..0000000
--- a/installer/guix-configure
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-source ./guix-log
-source ./guix-env
-
-HOSTNAME=""
-CRYPT_UUID=""
-EFI_UUID=""
-
-get_uuid() {
- blkid -s UUID -o value $1
-}
-
-CRYPT_UUID=$(get_uuid $CRYPT_PARTITION)
-EFI_UUID=$(get_uuid $EFI_PARTITION)
-
-get_hostname() {
- CONFIRM=""
- read -p "Enter system hostname: " HOSTNAME
- if [ ! -z "$HOSTNAME" -a "$HOSTNAME" != " " ]; then
- (confirm "$HOSTNAME");
- if [ "$?" -ne 0 ]; then
- get_hostname
- fi
- else
- ERROR "'$HOSTNAME' is not a valid hostname"
- fi
-}
-
-EVENT "Getting hostname"
-
-get_hostname
-
-EVENT "Hostname set to '$HOSTNAME'"
-
-EVENT "Generating system config file"
-
-cp system.scm "$HOSTNAME.scm"
-sed -i "s/SED_CRYPT_UUID/$CRYPT_UUID/" ./$HOSTNAME.scm
-sed -i "s/SED_EFI_UUID/$EFI_UUID/" ./$HOSTNAME.scm
-sed -i "s/SED_HOSTNAME/$HOSTNAME/" ./$HOSTNAME.scm
-
-mv "$HOSTNAME.scm" ..
-
-EVENT "Successfully configured $HOSTNAME.scm"
-
-echo "HOSTNAME=\"$HOSTNAME\"" >> ./guix-env
-echo "CRYPT_UUID=\"$CRYPT_UUID\"" >> ./guix-env
-echo "EFI_UUID=\"$EFI_UUID\"" >> ./guix-env
diff --git a/installer/guix-crypt b/installer/guix-crypt
deleted file mode 100755
index b25bc99..0000000
--- a/installer/guix-crypt
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-source ./guix-log
-source ./guix-env
-
-CRYPT_PARTITION=""
-EFI_PARTITION=""
-PASSWORD=""
-PASSWORD_CONFIRM=""
-
-EVENT "Setting up disk encryption with luks"
-
-if [[ $DISK == "/dev/sd"* ]]; then
- CRYPT_PARTITION="$DISK""2"
- EFI_PARTITION="$DISK""1"
-elif [[ $DISK == "/dev/vd"* ]]; then
- CRYPT_PARTITION="$DISK""2"
- EFI_PARTITION="$DISK""1"
-elif [[ $DISK == "/dev/nvme"* ]]; then
- CRYPT_PARTITION="$DISK""p2"
- EFI_PARTITION="$DISK""p1"
-else
- ERROR "Unsupported drive type, must be sata or nvme!"
- exit 1
-fi
-
-get_password() {
- read -s -p "LUKS password: " PASSWORD
- printf "\n"
- read -s -p "Confirm password: " PASSWORD_CONFIRM
- printf "\n"
- if [ "$PASSWORD" == "$PASSWORD_CONFIRM" ]; then
- return
- else
- ERROR "Passwords do not match"
- get_password
- fi
-}
-
-get_password
-
-EVENT "Setting up luks"
-
-cryptsetup luksFormat --type luks1 "$CRYPT_PARTITION" <<EOF
-$PASSWORD
-$PASSWORD_CONFIRM
-EOF
-
-EVENT "Opening root"
-
-cryptsetup open "$CRYPT_PARTITION" root <<EOF
-$PASSWORD
-EOF
-
-EVENT "Setting up root btrfs"
-
-mkfs.btrfs "/dev/mapper/root"
-
-EVENT "Mounting root"
-
-mount /dev/mapper/root /mnt
-
-EVENT "Setting up EFI vfat"
-
-mkfs.vfat "-F32" "$EFI_PARTITION"
-
-EVENT "Successfully setup efi vfat and luks"
-
-echo "CRYPT_PARTITION=\"$CRYPT_PARTITION\"" >> ./guix-env
-echo "EFI_PARTITION=\"$EFI_PARTITION\"" >> ./guix-env
diff --git a/installer/guix-install b/installer/guix-install
deleted file mode 100755
index 3b3cb14..0000000
--- a/installer/guix-install
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-source ./guix-env
-source ./guix-log
-
-EVENT "Mounting /gnu/store to destination disk..."
-herd start cow-store /mnt
-
-EVENT "Installing non-guix signing keys for substitutes..."
-curl -o /tmp/sign-key.pub https://substitutes.nonguix.org/signing-key.pub
-guix archive --authorize < /tmp/sign-key.pub
-
-EVENT "Installing GNU Guix"
-guix time-machine -C ../channels.scm -- system -L ../modules --substitute-urls='https://substitutes.nonguix.org https://bordeaux.guix.gnu.org https://ci.guix.gnu.org' init ../$HOSTNAME.scm /mnt
-
-EVENT "Installing User Environment"
-
-USER=freya
-guix shell git -- git clone https://g.freya.cat/freya/dotfiles /mnt/home/$USER/.config/guix
-cp ../$HOSTNAME.scm /mnt/home/$USER/.config/guix/$HOSTNAME.scm
-cp ./guix-setup-user /mnt/home/$USER/.zprofile
-
-chown 1000:1000 -R /mnt/home/$USER
-
-EVENT "Successflly installed Guix root and user"
diff --git a/installer/guix-log b/installer/guix-log
deleted file mode 100755
index 0d26853..0000000
--- a/installer/guix-log
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-ERROR() {
- >&2 printf "\x1b[91mError: \x1b[0m\x1b[98m$1\n"
-}
-
-EVENT() {
- printf "\x1b[95m>>> \x1b[0m\x1b[98m$1\n"
-}
-
-CONFIRM=""
-
-confirm() {
- if [ "$CONFIRM" == "y" ]; then
- exit 0
- fi
- read -p "Are you sure: ($1)? [y/N] " CONFIRM
- if [ "$CONFIRM" == "y" ]; then
- exit 0
- else
- exit 1
- fi
-}
diff --git a/installer/guix-partition b/installer/guix-partition
deleted file mode 100755
index 7acaefd..0000000
--- a/installer/guix-partition
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-set -o emacs;
-
-DISK=""
-
-source ./guix-log
-source ./guix-env
-
-EVENT "Partitioning disks"
-
-check_disk() {
- lsblk $1 &> /dev/null || exit 1
- FS=$(df $1 | tail -n 1 | awk '{print $1}')
- if [ "$FS" == "none" ]; then
- exit 0
- else
- exit 1
- fi
-}
-
-get_disk() {
- CONFIRM=""
- read -ep "Enter disk (e.g. /dev/sda): " DISK
- if [ ! -b "$DISK" ]; then
- ERROR "$DISK: file does not exist"
- get_disk
- return
- fi
- (check_disk "$DISK");
- if [ "$?" -ne 0 ]; then
- ERROR "$DISK: not a valid disk"
- get_disk
- return
- fi
- (confirm "$DISK");
- if [ "$?" -ne 0 ]; then
- get_disk
- fi
-}
-
-get_disk
-
-EVENT "Partitioning disks with fdisk..."
-
-fdisk "$DISK" <<EOF
-g
-n
-
-
-+1GiB
-t
-EFI System
-n
-
-
-
-t
-2
-Linux Filesystem
-w
-EOF
-
-echo "DISK=\"$DISK\"" >> ./guix-env
-
-EVENT "Disks have been successfully partitioned on $DISK"
diff --git a/installer/guix-password b/installer/guix-password
deleted file mode 100755
index a39c566..0000000
--- a/installer/guix-password
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-USER_PASSWORD=""
-ROOT_PASSWORD=""
-
-source ./guix-env
-source ./guix-log
-
-get_root_password() {
- read -s -p "Root password: " PASSWORD
- printf "\n"
- read -s -p "Confirm password: " PASSWORD_CONFIRM
- printf "\n"
- if [ "$PASSWORD" == "$PASSWORD_CONFIRM" ]; then
- ROOT_PASSWORD=$PASSWORD
- return
- else
- ERROR "Passwords do not match"
- get_root_password
- fi
-}
-
-get_user_password() {
- read -s -p "User password: " PASSWORD
- printf "\n"
- read -s -p "Confirm password: " PASSWORD_CONFIRM
- printf "\n"
- if [ "$PASSWORD" == "$PASSWORD_CONFIRM" ]; then
- USER_PASSWORD=$PASSWORD
- return
- else
- ERROR "Passwords do not match"
- get_user_password
- fi
-}
-
-EVENT "Setup /etc/shadow for root and user"
-
-get_root_password
-get_user_password
-
-cat << EOF | chroot /mnt
-passwd
-$ROOT_PASSWORD
-$ROOT_PASSWORD
-passwd freya
-$USER_PASSWORD
-$USER_PASSWORD
-EOF
-
-EVENT "Successfully set passwords"
diff --git a/installer/guix-setup b/installer/guix-setup
deleted file mode 100755
index 7fb027b..0000000
--- a/installer/guix-setup
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-echo "#!/run/current-system/profile/bin/bash" > ./guix-env
-echo "" > ./guix-env
-
-welcome() {
- cat<<"EOF"
- ░░░ ░░░
- ░░▒▒░░░░░░░░░ ░░░░░░░░░▒▒░░
- ░░▒▒▒▒▒░░░░░░░ ░░░░░░░▒▒▒▒▒░
- ░▒▒▒░░▒▒▒▒▒ ░░░░░░░▒▒░
- ░▒▒▒▒░ ░░░░░░
- ▒▒▒▒▒ ░░░░░░
- ▒▒▒▒▒ ░░░░░
- ░▒▒▒▒▒ ░░░░░
- ▒▒▒▒▒ ░░░░░
- ▒▒▒▒▒ ░░░░░
- ░▒▒▒▒▒░░░░░
- ▒▒▒▒▒▒░░░
- ▒▒▒▒▒▒░
- ____ _ _ _____ __ ____ _
- / ___| | | |_ _\ \/ / / ___|| |_ _ __ __ _ _ __
- | | _| | | || | \ / \___ \| __| '__/ _` | '_ \
- | |_| | |_| || | / \ ___) | |_| | | (_| | |_) |
- \____|\___/|___/_/\_\ |____/ \__|_| \__,_| .__/
- |_|
-This script installs GNU Guix on your system
-
-https://www.gnu.org/software/guix/
-EOF
- echo -n "Press return to continue..."
- read -r ANSWER
-}
-
-welcome
-./guix-partition
-./guix-crypt
-./guix-configure
-./guix-install
-./guix-password
-
-echo "GNU Guix has been installed, you can now reboot..."
-exit 0
diff --git a/installer/guix-setup-user b/installer/guix-setup-user
deleted file mode 100755
index 5933116..0000000
--- a/installer/guix-setup-user
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/run/current-system/profile/bin/bash
-
-# This should run on user first logon, so let's a go!
-# First, we should run a guix pull
-
-guix pull
-
-hash guix
-
-guix home -L ~/.config/guix/modules reconfigure ~/.config/guix/home-config/home-configuration.scm
-
-sudo -E herd restart nix-daemon
-
-nix-channel --update
-
-nix-shell '<home-manager>' -A install
-
-rm ~/.zprofile
-source ~/.config/zsh/.zprofile
-
-home-manager switch
diff --git a/installer/system.scm b/installer/system.scm
deleted file mode 100644
index af791c5..0000000
--- a/installer/system.scm
+++ /dev/null
@@ -1,23 +0,0 @@
-(use-modules (home-config base-system)
- (gnu))
-
-(operating-system
- (inherit base-operating-system)
- (host-name "SED_HOSTNAME")
-
- (mapped-devices (list (mapped-device
- (source (uuid
- "SED_CRYPT_UUID"))
- (target "root")
- (type luks-device-mapping))))
-
- (file-systems (cons* (file-system
- (mount-point "/")
- (device "/dev/mapper/root")
- (type "btrfs")
- (dependencies mapped-devices))
- (file-system
- (mount-point "/boot/efi")
- (device (uuid "SED_EFI_UUID"
- 'fat32))
- (type "vfat")) %base-file-systems)))