mirror of
https://git.in.rschanz.org/ryan77627/guix-config.git
synced 2024-11-07 09:26:14 -05:00
test 1 for auto deploy
This commit is contained in:
parent
a3a44f9054
commit
e2cc3f5f34
2 changed files with 30 additions and 20 deletions
30
deploy.sh
30
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
|
||||
# Copy some files over to prepare for reboot
|
||||
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 /mnt/home/$USER/.config/guix
|
||||
|
||||
guix shell git -- git clone https://git.stationery.faith/ryan77627/guix-dotfiles /home/$USER/.config/guix
|
||||
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
|
||||
|
||||
mv /$install_hostname.scm /home/$USER/.config/guix/$install_hostname.scm
|
||||
|
||||
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
|
||||
|
|
20
modules/ryan-config/user_first_run.sh
Normal file
20
modules/ryan-config/user_first_run.sh
Normal file
|
@ -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
|
Loading…
Reference in a new issue