aboutsummaryrefslogtreecommitdiff
path: root/bin/menu-projects
blob: 6d529f5caea2c7fb3b3a40c9f2f4c582e357dcbe (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/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:')

# 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