This commit is contained in:
Ryan Yin 2023-07-03 09:46:09 +08:00
parent 9fa16069f5
commit 110769d3b1
2 changed files with 6 additions and 4 deletions

View File

@ -18,7 +18,8 @@ To create such an environment, add the following code to one of your Nix modules
# ......omit many packages # ......omit many packages
# create a fhs environment by command `fhs`, so we can run non-nixos packages in nixos! # create a fhs environment by command `fhs`, so we can run non-nixos packages in nixos!
(pkgs.buildFHSUserEnv (base // { (let base = pkgs.appimageTools.defaultFhsEnvArgs; in
pkgs.buildFHSUserEnv (base // {
name = "fhs"; name = "fhs";
targetPkgs = pkgs: ( targetPkgs = pkgs: (
# pkgs.buildFHSUserEnv provides only a minimal fhs environment, # pkgs.buildFHSUserEnv provides only a minimal fhs environment,
@ -26,7 +27,7 @@ To create such an environment, add the following code to one of your Nix modules
# so we need to add them manually. # so we need to add them manually.
# #
# pkgs.appimageTools provides basic packages needed by most softwares. # pkgs.appimageTools provides basic packages needed by most softwares.
(pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs) ++ with pkgs; [ (base.targetPkgs pkgs) ++ with pkgs; [
pkg-config pkg-config
ncurses ncurses
# feel free to add more packages here, if you need # feel free to add more packages here, if you need

View File

@ -17,14 +17,15 @@ NixOS 不遵循 FHS 标准,因此你从网上下载的二进制程序在 NixOS
# ......o # ......o
# create a fhs environment by command `fhs`, so we can run non-nixos packages in nixos! # create a fhs environment by command `fhs`, so we can run non-nixos packages in nixos!
(pkgs.buildFHSUserEnv (pkgs.appimageTools.defaultFhsEnvArgs // { (let base = pkgs.appimageTools.defaultFhsEnvArgs; in
pkgs.buildFHSUserEnv (base // {
name = "fhs"; name = "fhs";
targetPkgs = pkgs: ( targetPkgs = pkgs: (
# pkgs.buildFHSUserEnv 只提供一个最小的 FHS 环境,缺少很多常用软件所必须的基础包 # pkgs.buildFHSUserEnv 只提供一个最小的 FHS 环境,缺少很多常用软件所必须的基础包
# 所以直接使用它很可能会报错 # 所以直接使用它很可能会报错
# #
# pkgs.appimageTools 提供了大多数程序常用的基础包,所以我们可以直接用它来补充 # pkgs.appimageTools 提供了大多数程序常用的基础包,所以我们可以直接用它来补充
(pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs) ++ with pkgs; [ (base.targetPkgs pkgs) ++ with pkgs; [
pkg-config pkg-config
ncurses ncurses
# 如果你的 FHS 程序还有其他依赖,把它们添加在这里 # 如果你的 FHS 程序还有其他依赖,把它们添加在这里