summaryrefslogtreecommitdiffstats
path: root/bin/activate-profiles
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2022-10-04 17:10:57 +0200
committerjdlugosz963 <jdlugosz963@gmail.com>2022-10-04 17:10:57 +0200
commit4e5222fdb85c0f77bcdfba2866e815cc6afe66da (patch)
tree583dedd7df66acffd858c735b85a4da47f4100bf /bin/activate-profiles
parent79c31c7290e56f39982beed308d4b13a3d7e3c8c (diff)
downloaddotfiles-4e5222fdb85c0f77bcdfba2866e815cc6afe66da.tar.gz
dotfiles-4e5222fdb85c0f77bcdfba2866e815cc6afe66da.zip
Add managing profiles scripts
Diffstat (limited to 'bin/activate-profiles')
-rwxr-xr-xbin/activate-profiles39
1 files changed, 39 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