commands

Add commands to the environment.

Default value:

[]

Type: list of submodules

Example value:

{"_type":"literalExample","text":"[\n  {\n    help = \"print hello\";\n    name = \"hello\";\n    alias = \"echo hello\";\n  }\n\n  {\n    help = \"used to format nix code\";\n    package = pkgs.nixpkgs-fmt;\n  }\n]\n"}

Declared in:

commands.*.package

Used to bring in a specific package. This package will be added to the environment.

Type: null or package or string convertible to it

Declared in:

commands.*.category

Set a free text category under which this command is grouped and shown in the help menu.

Default value:

"general commands"

Type: string

Declared in:

commands.*.command

If defined, it will add a script with the name of the command, and the content of this value.

By default it generates a bash script, unless a different shebang is provided.

Type: null or string

Example value:

"#!/usr/bin/env python\nprint(\"Hello\")\n"

Declared in:

commands.*.help

Describes what the command does in one line of text.

Type: null or string

Declared in:

commands.*.name

Name of this command. Defaults to attribute name in commands.

Type: null or string

Declared in:

devshell.packages

The set of packages to appear in the project environment.

Those packages come from https://nixos.org/NixOS/nixpkgs and can be searched by going to https://search.nixos.org/packages

Default value:

[]

Type: list of package or string convertible to its

Declared in:

devshell.interactive.<name>.deps

A list of other steps that this one depends on.

Default value:

[]

Type: list of strings

Declared in:

devshell.interactive.<name>.text

Script to run.

Type: string

Declared in:

devshell.motd

Message Of The Day.

This is the welcome message that is being printed when the user opens the shell.

Default value:

"\u001b[38;5;202m🔨 Welcome to devshell\u001b[0m\n$(type -p menu &>/dev/null && menu)\n"

Type: string

Declared in:

devshell.name

Name of the shell environment. It usually maps to the project name.

Default value:

"devshell"

Type: string

Declared in:

devshell.startup.<name>.deps

A list of other steps that this one depends on.

Default value:

[]

Type: list of strings

Declared in:

devshell.startup.<name>.text

Script to run.

Type: string

Declared in:

env

Add environment variables to the shell.

Default value:

[]

Type: list of submodules

Example value:

{"_type":"literalExample","text":"[\n  {\n    name = \"HTTP_PORT\";\n    value = 8080;\n  }\n  {\n    name = \"PATH\";\n    prefix = \"bin\";\n  }\n  {\n    name = \"XDG_CACHE_DIR\";\n    eval = \"$DEVSHELL_ROOT/.cache\";\n  }\n]\n"}

Declared in:

env.*.eval

Like value but not evaluated by Bash. This allows to inject other variable names or even commands using the $() notation.

Type: null or string

Example value:

"$OTHER_VAR"

Declared in:

env.*.name

Name of the environment variable

Type: string

Declared in:

env.*.prefix

Prepend to PATH-like environment variables.

For example name = "PATH"; prefix = "bin"; will expand the path of ./bin and prepend it to the PATH, separated by ':'.

Type: null or string

Example value:

"bin"

Declared in:

env.*.value

Shell-escaped value to set

Type: null or string or signed integer or boolean

Declared in:

extra.locale.package

Set the glibc locale package that will be used on Linux

Default value:

pkgs.glibcLocales

Type: package

Declared in:

extra.locale.lang

Set the language of the project

Type: null or string

Example value:

"en_GB.UTF-8"

Declared in:

git.hooks.enable

Whether to enable install .git/hooks on shell entry.

Default value:

false

Type: boolean

Example value:

true

Declared in:

git.hooks.applypatch-msg.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.commit-msg.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.fsmonitor-watchman.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.post-update.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.pre-applypatch.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.pre-commit.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.pre-merge-commit.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.pre-push.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.pre-rebase.text

Text of the script to install

Default value:

""

Type: string

Declared in:

git.hooks.prepare-commit-msg.text

Text of the script to install

Default value:

""

Type: string

Declared in:

language.c.compiler

Which C compiler to use

Default value:

pkgs.clang

Type: package or string convertible to it

Declared in:

language.c.includes

C dependencies from nixpkgs

Default value:

[]

Type: list of package or string convertible to its

Declared in:

language.c.libraries

Use this when another language dependens on a dynamic library

Default value:

[]

Type: list of package or string convertible to its

Declared in:

language.go.package

Which go package to use

Default value:

"go-1.15.6"

Type: package or string convertible to it

Example value:

{"_type":"literalExample","text":"pkgs.go"}

Declared in:

language.go.GO111MODULE

Enable Go modules

Default value:

on

Type: one of "on", "off", "auto"

Declared in:

language.rust.packageSet

Which rust package set to use

Default value:

pkgs.rustPlatform

Type: attribute set

Declared in:

language.rust.tools

Which rust tools to pull from the platform package set

Default value:

["rustc","cargo","clippy","rustfmt"]

Type: list of strings

Declared in: