aboutsummaryrefslogtreecommitdiff
path: root/bin/menu-projects
blob: 728e52a75edec244746243f40c8f30d0a16a9457 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

# Looks only for directories with a git repo attached to it
project=$({ for p in $HOME/src/*/.git ;do
                basename `dirname $p`
            done } | bemenu -i -s -c -l 20 -W 0.5 -p 'Project:')

if [ -z $project ]; then
    # Allows cancelling selection
    exit 1
fi

# cd into the project directory to load manifests, if available, and start Emacs from there
cd $HOME/src/$project
if [ -f manifest.scm ]; then
    guix shell -m manifest.scm -- emacs .
elif [ -f .manifest.scm ]; then
    guix shell -m .manifest.scm -- emacs .
else
    emacs .
fi