parent
9838b6a794
commit
8f3fdd58ce
@ -1,10 +1,5 @@ |
|||||||
with import <nixpkgs> {}; |
import <shells/rust/stable> { |
||||||
|
userPackages = (pkgs: with pkgs; [ |
||||||
stdenv.mkDerivation { |
openssl pkg-config |
||||||
name = "webgit"; |
]); |
||||||
buildInputs = with pkgs; [ |
|
||||||
rustracer rustup clangStdenv |
|
||||||
|
|
||||||
cargo-watch openssl pkg-config |
|
||||||
]; |
|
||||||
} |
} |
||||||
|
@ -0,0 +1,29 @@ |
|||||||
|
# nix builders |
||||||
|
|
||||||
|
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. 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. |
||||||
|
|
||||||
|
```nix |
||||||
|
{...}: import <shells/rust> {} |
||||||
|
``` |
||||||
|
|
||||||
|
The above snippet includes the basic Rust development toolchain. You |
||||||
|
can also provide a set of additional packages to install |
||||||
|
|
||||||
|
```nix |
||||||
|
{ pkgs, ... }: import <shells/rust/stable> { packages = [ pkgs.hello ]; } |
||||||
|
``` |
@ -0,0 +1,6 @@ |
|||||||
|
name: mkBuildInputs: { userPackages }: |
||||||
|
with import <nixpkgs> {}; |
||||||
|
stdenv.mkDerivation { |
||||||
|
inherit name; |
||||||
|
buildInputs = (mkBuildInputs pkgs) ++ (userPackages pkgs); |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
import <shells/base.nix> "elixir-dev" (pkgs: with pkgs; [ elixir ]) |
@ -0,0 +1,4 @@ |
|||||||
|
import <shells/base.nix> "raku-devel" (pkgs: with pkgs; [ |
||||||
|
rakudo |
||||||
|
zef |
||||||
|
]) |
@ -0,0 +1,8 @@ |
|||||||
|
import <shells/base.nix> "rust-nightly" (pkgs: with pkgs; [ |
||||||
|
# Use latest nightly from overlay which has a complete toolchain |
||||||
|
(rust-bin.selectLatestNightlyWith (toolchain: toolchain.default)) |
||||||
|
|
||||||
|
cargo-watch |
||||||
|
clangStdenv |
||||||
|
rust-analyzer |
||||||
|
]) |
@ -0,0 +1,7 @@ |
|||||||
|
import <shells/base.nix> "rust-stable" (pkgs: with pkgs; [ |
||||||
|
rust-bin.stable.latest.default # Use latest stable from overlay |
||||||
|
|
||||||
|
cargo-watch |
||||||
|
clangStdenv |
||||||
|
rust-analyzer |
||||||
|
]) |
@ -1,19 +0,0 @@ |
|||||||
# nix builders |
|
||||||
|
|
||||||
The kookienomicon is a collection of projects, each with their own |
|
||||||
dependencies, and build setups. Nix and Lorri are used extentsively |
|
||||||
to facilitate switching between build tools and dependency scopes. |
|
||||||
|
|
||||||
The root of the repository adds a new key to the `NIX_PATH` |
|
||||||
environment variable, which can then be used to look-up development |
|
||||||
builders. |
|
||||||
|
|
||||||
|
|
||||||
## How to use |
|
||||||
|
|
||||||
There are default builders for common programming language setups |
|
||||||
(such as Rust). |
|
||||||
|
|
||||||
```nix |
|
||||||
|
|
||||||
``` |
|
@ -1,10 +0,0 @@ |
|||||||
/** |
|
||||||
* Kookienomicon overlay definition |
|
||||||
* |
|
||||||
* |
|
||||||
* |
|
||||||
*/ |
|
||||||
|
|
||||||
self: super: { |
|
||||||
|
|
||||||
} |
|
@ -1,6 +0,0 @@ |
|||||||
with import <nixpkgs> {}; |
|
||||||
|
|
||||||
stdenv.mkDerivation { |
|
||||||
name = "raku-dev"; |
|
||||||
buildInputs = with pkgs; [ rakudo zef ]; |
|
||||||
} |
|
@ -1,11 +0,0 @@ |
|||||||
with import <nixpkgs> {}; |
|
||||||
|
|
||||||
stdenv.mkDerivation { |
|
||||||
name = "rust-devel"; |
|
||||||
buildInputs = with pkgs; [ |
|
||||||
rust-analyzer rustc |
|
||||||
cargo-watch |
|
||||||
clangStdenv |
|
||||||
hello |
|
||||||
]; |
|
||||||
} |
|
Loading…
Reference in new issue