guix: break down monolithic profile into multiple smaller profiles
[~bandali/configs] / .profile
index 65221c4..7b287dc 100644 (file)
--- a/.profile
+++ b/.profile
@@ -20,9 +20,18 @@ fi
 export PATH
 export INFOPATH
 
 export PATH
 export INFOPATH
 
+export MY_GUIX_MANIFESTS="$HOME/.config/guix/manifest"
+export MY_GUIX_PROFILES="$HOME/.config/guix/profile"
+
 export XDG_CONFIG_HOME="$HOME/.config"
 export XDG_DATA_HOME="$HOME/.local/share"
 
 export XDG_CONFIG_HOME="$HOME/.config"
 export XDG_DATA_HOME="$HOME/.local/share"
 
+if [ -f "$HOME/.config/user-dirs.dirs" ]; then
+    set -a
+    . "$HOME/.config/user-dirs.dirs"
+    set +a
+fi
+
 export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
 export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
 
 export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
 export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
 
@@ -54,6 +63,15 @@ if [ -z "$IS_GUIX_SYSTEM" ]; then
     fi
 fi
 
     fi
 fi
 
+for p in $MY_GUIX_PROFILES/*; do
+    profile=$p/$(basename "$p")
+    if [ -f "$profile"/etc/profile ]; then
+        GUIX_PROFILE="$profile"
+        . "$GUIX_PROFILE"/etc/profile
+    fi
+    unset profile
+done
+
 # start an ssh-agent (with guix's openssh)
 if [ -z "$IS_GUIX_SYSTEM" ]; then
     if ! pgrep -u "$USER" ssh-agent > /dev/null; then
 # start an ssh-agent (with guix's openssh)
 if [ -z "$IS_GUIX_SYSTEM" ]; then
     if ! pgrep -u "$USER" ssh-agent > /dev/null; then