huis sets up your home directory so you can start being productive, and goes beyond dotfiles. huis is the Dutch word for home.
It'll aspire to be a multi-platform boxen.
git clone https://github.com/uysio/huis ~/.huis
cd ~/.huis
./huis.sh
huis will ask you which Github usernames' repos to look at, and it will find anything called huis-*
, and clone it.
This way, you can choose which huis modules to fork, or develop yourself, and only those in the repos you specified will be used.
huis-first
, if it exists - it will be run first.
huis-last
, if it exists - it will be run last.
At least one thing: a huis.sh
file. The rest is up to you.
Also, huis
modules are allowed to cross-reference one another. E.g. see this example.
I'm developing this as you read this. Don't use it - it isn't ready for public consumption.
The easiest way (that comes to mind) to show the side-effects of the script is to run the script in a Docker container, for which I already provide a convenient Dockerfile.
docker build -f Dockerfile.arch -t $(whoami)/huis-arch .
docker run --rm -it -v $(pwd):/opt/huis $(whoami)/huis-arch
# inside the container:
cp /opt/huis/huis.sh .
./huis.sh
Test your new setup by refreshing the shell:
exec zsh
# or...
exec bash
From the host again:
docker diff <CONTAINER_ID> | egrep -v "\.git"