test 1 for auto deploy

e2cc3f5f342c… · Ryan Schanzenbacher ·

parent a3a44f9054c1… view tree

Changed files

FileChanges
deploy.sh +11 −21 raw
modules/ryan-config/user_first_run.sh +20 −0 raw
diff --git a/deploy.sh b/deploy.sh
index 7f14eff..f27d6c9 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -39,10 +39,10 @@ copy_and_prepare() {
# Copy template to root of repo
if [ "$install_type" == "e" ]
then
- cp ./modules/ryan-config/deploy-templates/HostTemplateEncrypted.scm ./$install_hostname.scm
+ cp ./modules/ryan-config/deploy-templates/HostTemplateEncrypted ./$install_hostname.scm
elif [ "$install_type" == "d" ]
then
- cp ./modules/ryan-config/deploy-templates/HostTemplate.scm ./$install_hostname.scm
+ cp ./modules/ryan-config/deploy-templates/HostTemplate ./$install_hostname.scm
else
echo "Invalid install type (not d or e), bailing!"
exit 1
@@ -72,28 +72,15 @@ install_system() {
install_user_env() {
# System should be installed now, we can chroot in and configure the user profile now
# NOTE: This assumes the user "ryan" for things, so change the USER var if you change your username
-
- # Mount the special block devices to prepare for chroot
- mount --rbind /proc /mnt/proc
- mount --rbind /sys /mnt/sys
- mount --rbind /dev /mnt/dev
-
- # chroot into system and run commands
- # First copy the file
- cp ~/guix-dotfiles/$install_hostname /mnt/$install_hostname.scm
- USER=ryan
- chroot /mnt <<EOT
-
- # Activate commands
- source /var/guix/profiles/system/profile/etc/profile
- /var/guix/profiles/system/activate
- guix-daemon --build-users-group=guixbuild --disable-chroot &
- guix shell git -- git clone https://git.stationery.faith/ryan77627/guix-dotfiles /home/$USER/.config/guix
+ # Copy some files over to prepare for reboot
+ USER=ryan
+ guix shell git -- git clone https://git.stationery.faith/ryan77627/guix-dotfiles /mnt/home/$USER/.config/guix
- mv /$install_hostname.scm /home/$USER/.config/guix/$install_hostname.scm
+ cp ~/guix-dotfiles/$install_hostname.scm /mnt/home/$USER/.config/guix/$install_hostname.scm
+ cp ~/guix-dotfiles/modules/ryan-config/user_first_run.sh /mnt/home/$USER/.bashrc
- EOT
+ chown 1000:1000 -R /mnt/home/ryan
}
@@ -101,3 +88,6 @@ gather_env
copy_and_prepare
install_system
install_user_env
+
+# Reboot the machine at this point!
+reboot
diff --git a/modules/ryan-config/user_first_run.sh b/modules/ryan-config/user_first_run.sh
new file mode 100644
index 0000000..6dd77fd
--- /dev/null
+++ b/modules/ryan-config/user_first_run.sh
@@ -0,0 +1,20 @@
+#!/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 herd restart nix-daemon
+
+nix-channel --update
+
+nix-shell '<home-manager>' -A install
+
+source ~/.bashrc
+
+home-manager switch