parent
9838b6a794
commit
8f3fdd58ce
@ -1,10 +1,5 @@ |
||||
with import <nixpkgs> {}; |
||||
|
||||
stdenv.mkDerivation { |
||||
name = "webgit"; |
||||
buildInputs = with pkgs; [ |
||||
rustracer rustup clangStdenv |
||||
|
||||
cargo-watch openssl pkg-config |
||||
]; |
||||
import <shells/rust/stable> { |
||||
userPackages = (pkgs: with pkgs; [ |
||||
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