My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/infra/libkookie/shells
Katharina Fey b2723e06ac
libkookie: improve rust-mode with yas autoloading
2 years ago
..
elixir libkookie: introduce development shells module 3 years ago
raku libkookie: introduce development shells module 3 years ago
rust libkookie: improve rust-mode with yas autoloading 2 years ago
README.md libkookie: update base.nix shell to allow for empty userPackages 3 years ago
base.nix libkookie: update base.nix shell to allow for empty userPackages 3 years ago

README.md

Development shells

To make development on NixOS slightly less excruciating, libkookie ships with a set of development shells. These are environments that can be included a by projects to provide the basic set of tools required by a language or development framework.

libkookie itself then provides the <shells> key in the NIX_PATH, which means that existing shells can easily be included and layered by other shell.nix files.

How to use

Create a shell.nix for a project that you want to include (and optionally .envrc for lorri). The tool msh (Make SHell) is available to generate these based on common defaults. Afterwards both lorri and nix-shell will be able to pick up the required environment for development.

{...}: import <shells/rust/stable> {}

The above snippet includes the basic Rust development toolchain. You can also provide a set of additional packages to install

import <shells/rust/stable> { 
    userPackages = (pkgs: [ pkgs.hello ]);
}

You can also include <shells/rust/nightly> which will get the latest nightly compiler with a complete toolchain. This feature is implemented via the oxalica/rust-overlay.