Release Notes – v.0.0.9 (Jan 19, 2022)
New Features
-
Declarative Project Environments
This release introduces the ability to have a declarative environment included with a project.
This means you canflox edit
in a project directory, and have the ability to specify an environment that is not part of the package build expression. This environment will be activated and layered into your development environment whenever you runflox develop
in the project directory.
Note that the package builds use a fixed version of Nixpkgs by default, while environments use the flox Catalog. -
New command:
flox create
Previously, one could only create a new environment via an install, for example:flox install -e myNewEnv mypackage
, which both creates the env and installsmypackage
to it. Now you can instantiate a new, empty environment withflox create -e myNewEnv
.
The environment will be returned byflox list
with a generation status of “unknown” if no packages have been installed to it. Accordingly, aflox list -e myNewEnv
will return an error. -
include packages that are updated in commit messages
The commit log for an environment upgrade now includes package names and versions. -
add system to environments
Previously, the layout of envs on disk did not include the system path.
After you upgrade, you will notice the system path for the environment will have changed to include the system. For example, the new format will be something like.local/share/flox/environments/floxfan/x86_64-linux.default
.
This work is being done in support of being able to manage environments for other system types than the current machine. Stay tuned!
- Installation via Nix
The installation method for Nix has changed (see here under Nix/Generic and Nix/NixOS). As such, the upgrade mechanism specified there will not work if you’re upgrading from an older install. To upgrade, first uninstall flox as specified here. Then install a fresh version of flox as indicated in the install section linked above. Two commands and you’re all set–thanks Nix!
Bug fixes
-
Apple’s path helper fix: MacOS overwrites your PATH in a unique way that is now properly handled.
-
bash color prompt: the color escapes in a bash terminal are now properly handled.
-
update flake: the format of flake.nix and flake.lock will change upon upgrading to this version. This change means a better handling of upgrades in the future, and does not affect user-facing functionality.