Sometimes, we just don't know whether what we would like to eat for lunch. So, we build a random food picker that will choose one for us.
The project has shell.nix
which has development environment preconfigured already for you. Just open your
terminal and at the root of this project:
# Open in bash by default
nix develop
# If you want other shell
nix develop -c $SHELL
# After entering Nix development environment,
# inside the env, you can open your editor, so
# your editor will read all $PATH and environmental
# variables, also your terminal inside your editor
# will adopt all variables, so, you can close terminal.
# Neovim
vim .
# VSCode
code .
# Zed Editor
zed .
The development environment has whatever you may need already, but feel free to add or remove whatever
inside shell.nix
.
Well, there are two ways of building your project. You can either go with classic cargo build
way, but before that, make sure to enter development environment to have cargo and all rust toolchain available in your PATH, you may do like that:
# Entering development environment
nix develop -c $SHELL
# Compile the project
cargo build --release
Or, you can build your project via nix which will do all the dirty work for you. Just, in your terminal:
# Build in nix environment
nix build
# Executable binary is available at:
./result/bin/itamisu
There's been cases when I wanted to reproduce totally different behaviors in development environment and production build. This occurs quite a lot lately for some reason and because of that, I tend to keep both shell.nix and default.nix to don't mix things up.
This project is licensed under the Apache-2.0 License - see the LICENSE file for details.