Loading...
Loading...
Install and configure Prelude (darkmatter/prelude) in any repository — run the setup wizard, wire it into an existing or new flake (the flake-parts module, or prelude.lib.evalModule for blueprint and other flakes), activate packages.prelude-shell in the devshell, and verify with real smoke checks. Use for adding devshell UI (MOTD, x command picker, docs viewer, themed prompt), integrating the generated prelude.nix sidecar, or activation questions (nix develop, direnv, lorri).
npx skill4agent add darkmatter/prelude prelude-installprelude.lib.evalModulenix developxnix run github:darkmatter/prelude#skill -- install # full consumer walkthrough
nix run github:darkmatter/prelude#skill -- options # generated prelude.* referenceflake.nixflake-parts.lib.mkFlakeoutputsprelude.lib.evalModuleinputsimportsdevShellsprelude.nixtitle.txt.envrcuse flakedocs/nix run github:darkmatter/prelude -- wizardmotdmenupromptdocs.envrcprelude.nixtitle.txt-o.envrcuse flakeREADME.mddocs/getting-started.md-o pathtitle.txt./README.md./docs/getting-started.md-o-o flake.nixnix flake init -t github:darkmatter/prelude#defaultprelude.*flake.nixinputs.prelude.url = "github:darkmatter/prelude";
# Fresh repo, no pins yet: share one nixpkgs/flake-parts via inputs:
# inputs.nixpkgs.follows = "prelude/nixpkgs";
# inputs.flake-parts.follows = "prelude/flake-parts";
# flake.lock pins the resolved revision even with the default-branch URL.
# Preserve an existing lock; use that revision for wizard/reference commands.
# A URL ending in /<rev> may additionally select an explicit commit or tag.
# inside mkFlake's module argument:
imports = [
inputs.prelude.flakeModules.default
./prelude.nix # generated sidecar; import it, never replace flake.nix
];
# inside perSystem, alongside existing packages:
devShells.default = pkgs.mkShell {
packages = [config.packages.prelude-shell];
};config.packages.prelude-shellpackages.preludepreludeoutputs# blueprint: devshell.nix (nix/devshells/default.nix with prefix = "nix/")
{pkgs, inputs, ...}: let
prelude = inputs.prelude.lib.evalModule pkgs ./prelude.nix;
in
pkgs.mkShell {packages = [prelude.packages.prelude-shell];}pkgsprelude.commandsperSystemselfinputs_module.argsexamples/without-flake-parts/nix developxdocsSTARSHIP_CONFIG.envrcuse flake.envrcshellHook.envrcuse flakeeval "$(lorri export direnv-adapter)"shellHookeval "$(prelude-preflight)"export -f%BASH_FUNC_…%%prelude hookprelude.nixflake.nixprelude.themepreludephosphormintedambersolarizednordgruvboxpapermonoapathyprelude.paletteprelude.commands.<key>xdb:migratedbprelude.lib.fromPkg packages.dev { description = …; motd = 1; }prelude.docs.pages = [{text = ./docs/foo.md;}]git status --shortgit addREADME.mdtitle.txt-o.envrcnix develop path:.nix flake check path:.nix develop # MOTD renders, themed prompt appears
x --list # catalogue table prints non-interactively
x # picker opens (q quits)
docs # viewer opens when docs pages exist (q quits)
motd # banner reprints on demand
nix flake check # full build gate (heavier)nix develop -c …/prelude-just <arg>/prelude-docs/prelude <anything>