"Rafael's Environment", a bunch of quick & dirty, perhaps awkward hacks tailored for my own usage.
My computing environment based on nix/home-manager.
The script renvctl
orchestrates part of the process of installing components with home-manager
and similar:
λ ./renvctl help
- Ensure that settings.nix is correct for the environment (e.g. username matches the system, email)
- Run
./renvctl home:configure
- Run
- Run
./renvctl check
- Install the missing dependencies
- Run
./renvctl deb:install
- Run
./renvctl nix:install
(may need a reboot) - Run
./renvctl nix:update
- Run
./renvctl nix:cache:install
- (Optional) Run
./renvctl vscode:install
- (Optional) Run
./renvctl $LANG:install
(where$LANG in {ocaml, lean, rust}
)
./renvctl customise:new
to start a new non-persistent customisation file./renvctl home:apply
to install all home-manager managed packages./renvctl deb:upgrade
to upgrade Debian packages./renvctl nix:update
to update nixpkgs
Append to variables exposed by home-manager to the login config:
echo ". $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" >> /home/$USER/.profile
Append to shells and then set the shell:
export U=$USER
echo /home/$U/.nix-profile/bin/fish >> "/etc/shells" && chsh -s /home/$U/.nix-profile/bin/fish $U
Install docker by following the steps: