summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/activate-profiles39
-rwxr-xr-xbin/update-profiles22
2 files changed, 61 insertions, 0 deletions
diff --git a/bin/activate-profiles b/bin/activate-profiles
new file mode 100755
index 0000000..a4373cf
--- /dev/null
+++ b/bin/activate-profiles
@@ -0,0 +1,39 @@
1#!/bin/sh
2# Source: https://github.com/daviwil/dotfiles/blob/master/Systems.org#profile-management
3
4GREEN='\033[1;32m'
5RED='\033[1;30m'
6NC='\033[0m'
7GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
8
9profiles=$*
10if [[ $# -eq 0 ]]; then
11 profiles="$HOME/.config/guix/manifests/*.scm";
12fi
13
14for profile in $profiles; do
15 # Remove the path and file extension, if any
16 profileName=$(basename $profile)
17 profileName="${profileName%.*}"
18 profilePath="$GUIX_EXTRA_PROFILES/$profileName"
19 manifestPath=$HOME/.config/guix/manifests/$profileName.scm
20
21 if [ -f $manifestPath ]; then
22 echo
23 echo -e "${GREEN}Activating profile:" $manifestPath "${NC}"
24 echo
25
26 mkdir -p $profilePath
27 guix package --manifest=$manifestPath --profile="$profilePath/$profileName"
28
29 # Source the new profile
30 GUIX_PROFILE="$profilePath/$profileName"
31 if [ -f $GUIX_PROFILE/etc/profile ]; then
32 . "$GUIX_PROFILE"/etc/profile
33 else
34 echo -e "${RED}Couldn't find profile:" $GUIX_PROFILE/etc/profile "${NC}"
35 fi
36 else
37 echo "No profile found at path" $profilePath
38 fi
39done
diff --git a/bin/update-profiles b/bin/update-profiles
new file mode 100755
index 0000000..81129ec
--- /dev/null
+++ b/bin/update-profiles
@@ -0,0 +1,22 @@
1#!/bin/sh
2# Source: https://github.com/daviwil/dotfiles/blob/master/Systems.org#profile-management
3
4GREEN='\033[1;32m'
5NC='\033[0m'
6GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
7
8profiles=$*
9if [[ $# -eq 0 ]]; then
10 profiles="$GUIX_EXTRA_PROFILES/*";
11fi
12
13for profile in $profiles; do
14 profileName=$(basename $profile)
15 profilePath=$GUIX_EXTRA_PROFILES/$profileName
16
17 echo
18 echo -e "${GREEN}Updating profile:" $profilePath "${NC}"
19 echo
20
21 guix package --profile="$profilePath/$profileName" --manifest="$HOME/.config/guix/manifests/$profileName.scm"
22done