Release Notes – v.0.0.9 (Jan 19, 2022)

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 can flox 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 run flox 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 installs mypackage to it. Now you can instantiate a new, empty environment with flox create -e myNewEnv.
    The environment will be returned by flox list with a generation status of “unknown” if no packages have been installed to it. Accordingly, a flox 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.