devshell 项目使用教程
devshellPer project developer environments项目地址:https://gitcode.com/gh_mirrors/de/devshell
1. 项目的目录结构及介绍
devshell 项目的目录结构如下:
devshell/
├── README.md
├── flake.nix
├── default.nix
├── shell.nix
├── devshell.toml
├── templates/
│ └── gettingStartedExample/
└── examples/
└── basic/
README.md
: 项目介绍和使用说明。flake.nix
: Nix Flakes 配置文件。default.nix
: Nix 默认配置文件。shell.nix
: Nix shell 配置文件。devshell.toml
: devshell 配置文件。templates/
: 包含一些模板示例。examples/
: 包含一些使用示例。
2. 项目的启动文件介绍
devshell 项目的启动文件主要是 shell.nix
和 devshell.toml
。
shell.nix
shell.nix
文件用于配置 Nix shell 环境,包含以下内容:
{ system ? builtins.currentSystem }:
let
src = fetchTarball "https://github.com/numtide/devshell/archive/main.tar.gz";
in
import src { inherit system; }
该文件通过 fetchTarball
获取 devshell 项目,并导入其配置。
devshell.toml
devshell.toml
文件用于配置 devshell 环境,包含以下内容:
[devshell]
packages = [
"nixpkgs.hello"
]
[env]
FOO = "bar"
[serviceGroups.database]
command = "postgres"
[serviceGroups.memcached]
command = "memcached"
该文件定义了项目所需的包、环境变量和服务组。
3. 项目的配置文件介绍
devshell 项目的主要配置文件是 devshell.toml
。
devshell.toml
devshell.toml
文件的结构如下:
[devshell]
packages = [
"nixpkgs.hello"
]
[env]
FOO = "bar"
[serviceGroups.database]
command = "postgres"
[serviceGroups.memcached]
command = "memcached"
[devshell]
: 定义项目所需的包。[env]
: 定义项目特定的环境变量。[serviceGroups]
: 定义服务组,每个服务组包含一个命令,用于启动和停止服务。
通过这些配置文件,可以轻松地配置和管理 devshell 项目的环境和依赖。
devshellPer project developer environments项目地址:https://gitcode.com/gh_mirrors/de/devshell