Releases: mibmo/conch
v0.5.2 - `mkShell` wrappers
A small but hugely powerful change - having the option of swapping out the mkShell
function!
This is mainly useful for tools like crane, which has a mkShell
-compatible wrapper that adds Cargo and relevant tools, but anything is possible: there's nothing stopping you from creating your own wrapper and customising the inputs before passing to pkgs.mkShell
.
Changing values
{
inputs.conch.url = "github:mibmo/conch";
outputs = { conch, ... }:
crane.load [ ... ]
({ pkgs, ... }: {
# unset `packages`
mkShell = options: pkgs.mkShell (options // { packages = [ ]; });
# `packages` now has no effect
packages = with pkgs; [ ... ];
});
}
Usage with crane
{
inputs = {
conch.url = "github:mibmo/conch";
crane.url = "github:ipetkov/crane";
};
outputs = { conch, crane, ... }:
crane.load [ ... ]
({ pkgs, ... }: {
# use crane's mkShell wrapper
mkShell = (crane.mkLib pkgs).devShell;
# still works as normal!
packages = with pkgs; [ ... ];
});
}
This might lead into the next generation of Rust integration for Conch, but we'll see; that's for a future release :)
v0.4.3 - Lots of changes!
Been a while since the last release and development has been very sporadic.
This release don't mark anything specific, just a lot of incremental changes!
There is still a lot of work to do, especially with the quality of modules, but this release implements a few much needed changes.
Changelog
Full Changelog: v0.3.3...v0.4.3
Shell
environment
: set shell environment variables through attribute set.aliases
: changed from[{ name, definition }]
to an attribute set{ name = definition; ... }
.shellHooks
: snippets of shell code to run at devshell startup. This is internal, and only intended for modules.shellHook
: shell code to run at devshell startup. Intended for use by conch end users.- Configured formatter is now added to the dev shell.
- Dependencies of packages defined in
flake.packages
are added to the dev shell.
Modules
- nixops: basic support.
- terranix: basic support.
- python: basic support.
- morph: basic support.
- node: basic support.
Documentation
- Added templates (can be used to initialize projects with
nix flake init --template github:mibmo/conch#...
). - Conventional commits are no longer required (nor encouraged).
v0.3.3 - Flake configuration
Although this technically isn't a major release or big architectural change, it introduces an extremely useful module option; flake
.
WIth it you can set arbitrary flake values (that override other module options; see example)
{
inputs.conch.url = "github:mibmo/conch";
outputs = inputs@{ conch, ... }:
conch.load ["x86_64-linux"] ({ pkgs, system, ... }: {
formatter = pkgs.nixpkgs-fmt;
flake = { # also functions as "per-system" configuration, in that values incorporating `system` are unique to your systems
formatter.${system} = pkgs.alejandra; # this overrides the formatter option
nixosConfigurations.default = ... ;
};
})
}
This allows for using Conch along with existing Nix projects.
Full Changelog: v0.3.1...v0.3.3
v0.3.1 - License
Licenses Conch under MIT.
v0.3.0 - Modules
Complete migration to the modules system, completely removing the old predefined shells.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Full Changelog: v0.1.0...v0.2.0