#!/usr/bin/env bash # set -euxo pipefail # if [[ -z "$1" ]]; then echo "usage: install.sh " echo "where is something from the 'profiles' directory" exit 1 else # mkdir -p ~/.config/nixpkgs NIXDIR="$HOME/.config/nixpkgs" HOMEFILE="$NIXDIR/home.nix" NIXFILE="$(pwd)/$1" # # start from scratch rm "$HOMEFILE" ln -s "$NIXFILE" "$HOMEFILE" rm "$NIXDIR/config.nix" ln -s "$(pwd)/lib/config.nix" "$NIXDIR/config.nix" # # the notmuch config location is by default ~/.notmuch-config, but home-manager # puts it at ~/.config/notmuch/notmuchrc (which makes sense) and then sets # NOTMUCH_CONFIG. however, if a program for some reason doesn't read # NOTMUCH_CONFIG (emacs), then it won't find the right config file, so I # override with a symlink. # mkdir -p ~/.config/notmuch [[ -e ~/.notmuch-config ]] || ln -s ~/.config/notmuch/notmuchrc ~/.notmuch-config # # symlinking must occur before initial generation. now we can install, and # pin our own nixpkgs. # #nix-channel --update NIX_PATH=$HOME/.nix-defexpr/channels${NIX_PATH:+:}$NIX_PATH \ nix-shell . -A install #nix-shell '' -A install fi