This codebase uses Home Manager and Nix flakes to setup and manager my personal environment. The user environment may be installed "standalone" or encorporated into a NixOS system with the provided flake outputs.
modules
- direnv
- tmux
- Zsh + Oh My Zsh + z
- Alacritty
- fzf
- Git
- Nix
- neovim
- programming languages
- Clojure
- Julia
- Rust (externally managed)
- NodeJs (JavaScript)
packages
software
home-manager switch --flake .#[stevan-wsl|stevan-mac|stevan]nix --extra-experimental-features 'nix-command flakes' develop
home-manager --extra-experimental-features 'nix-command flakes' switch --flake .#stevan
# set home-manager zsh to be user shell
echo $(which zsh) | sudo tee -a /etc/shells
csh -s $(which zsh) $USERhome-managerdirenv(optional)nix(optional)
Prefered installation is to use direnv, which will set up the default devShell and install home-manager.o
Alternatively, manually run nix develop to setup and install home-manager.
Alternatively, follow the home-manager installation guide.
See this github issue: Copying the following hook (copied from /etc/bashrc) to /etc/zshrc and restarting the shell fixed everything again:
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix