nixpkgs-showmebug
is Showmebug's nixpkgs overlay. This overlay provides several
channels that track the upstream nix
channels of the same name.
设置国内代理
- 更新channel
nix-channel --add https://mirrors.tuna.tsinghua.edu.cn/nix-channels/nixpkgs-21.11-darwin nixpkgs
nix-channel --add https://mirrors.tuna.tsinghua.edu.cn/nix-channels/nixpkgs-unstable nixpkgs-unstable # 最新版的包一般会优先在这个通道
nix-channel --update
- 更改build 缓存
sudo vi /etc/nix/nix.conf
# 最后一行添加
substituters = https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store https://cache.nixos.org/
可以通过添加channel的方式进行使用。利用 GITHUB ARCHIVE
生成gz文件,格式如下:
- 利用分支
https://github.com/dao42/nixpkgs-showmebug/archive/{branch}.tar.gz
- 利用commit
https://github.com/dao42/nixpkgs-showmebug/archive/{commit}.tar.gz
- 发布release
https://github.com/dao42/nixpkgs-showmebug/archive/refs/tags/{tag}.tar.gz
终端执行添加channel:
nix-channel --add https://github.com/dao42/nixpkgs-showmebug/archive/main.tar.gz nixpkgs-showmebug
nix-channel --update
编写shell.nix
{ pkgs ? import <nixpkgs-showmebug> {} }:
pkgs.mkShell {
shellHook = ''
alias ll="ls -l"
export PS1="\[\e[0m\]\w\[\e[0m\]#\[\e[0m\] "
'';
packages = [
# env
pkgs.php74
pkgs.php74Packages.composer
pkgs.showmebugPackages.phpunit
];
}
执行 nix-shell
进入到php环境
备注: 初次执行比较慢,可通过 nix-shell -v
查看日志,另外后续进入时,为避免从substituters查询,可以使用
nix-shell --no-substitute
快速进入shell环境
基于nginx文件服务器,对与下载比较慢的文件进行托管。
http://106.52.58.179:8080
终端执行添加channel:
#nix-channel --add http://106.52.58.179:8080/nixpkgs-showmebug/{branch|commit etc.}.tar.gz nixpkgs-showmebug
nix-channel --add http://106.52.58.179:8080/nixpkgs-showmebug/nixpkgs-showmebug-feature-change-url-to-local-nginx.tar.gz nixpkgs-showmebug
nix-channel --update
使用时直接在nix文件头部指定channel
{ pkgs ? import <nixpkgs-showmebug> {} }:
# 环境设置表达式
序号 | 支持语言 | 支持LSP | 支持测试用例 | 预置环境 |
---|---|---|---|---|
1 | bash | |||
2 | C++ | ✅ | ✅ | C++ |
3 | C language | ✅ | ✅ | C language |
4 | Java | ✅ | ✅ | Java |
5 | NodeJS | ✅ | ✅ | |
6 | TypeScript | ✅ | ✅ | |
7 | Golang | ✅ | ✅ | |
8 | Objective-C | ✅ | Objective-C | |
9 | PHP | ✅ | ✅ | |
10 | HTML/CSS/JS | ✅ | ||
11 | MySQL | |||
12 | Python2 | ✅ | ✅ | Python2 |
13 | Python3 | ✅ | ✅ | Python3 |
14 | Ruby2 | ✅ | ✅ | Ruby2 |
15 | Ruby3 | ✅ | ✅ | Ruby3 |
16 | Assembly(GAS) | |||
17 | Assembly(NASM) | |||
18 | Clojure | ✅ | ||
19 | CoffeeScript | |||
20 | C# | ✅ | ||
21 | Dart | ✅ | ||
22 | Elixir | |||
23 | Erlang | ✅ | ||
24 | Haskell | |||
25 | Kotlin | ✅ | ||
26 | Lua | ✅ | ✅ | |
27 | OCaml | |||
28 | Perl | |||
29 | R | |||
30 | Rust | ✅ | ✅ | |
31 | Scala | |||
32 | Swift | ✅ | ||
33 | Visual Basic | |||
34 | Verilog | ✅ | ||
35 | VHDL |
nixpkgs 仓库 nixpkgs-replit replit仓库 replit官网
待补充...