Nixos
未找到 Nixos X11 標頭檔
當嘗試在 NixOs 上從原始碼建構 sinkless/surf 和 sinkless/st 時,make 找不到 X11 標頭檔,例如
X11/X.h
和X11/Xatom.h
. 我確實Xlib
安裝了。我還隱約記得 nixos 將庫放在了一個有趣的地方,我看到有人建議放置一些C_INCLUDE
變數路徑。感覺我就快到了,還缺少什麼?**更新:**添加
/home/username/.nix-profile/include
解決了X.h
and的問題Xatom.h
,但現在它抱怨X11/extensions/render.h
我安裝了libXrender
但它沒有出現。我在哪裡可以找到它?
surf 和 st 已在 nixpkgs中打包(此處和此處)
我喜歡 nix 的一件事是可以覆蓋建構過程中的任何步驟,這也意味著您可以更改程式碼的來源(例如:
src
屬性)。舉個例子,假設您將 surf 複製到
/path/to/surf
. 一個default.nix
將覆蓋src
但使用所有其他建構步驟的文件將是:{ pkgs ? import <nixpkgs> {} }: pkgs.surf.overrideDerivation (old: { src = /path/to/surf; })
上面你會使用
nix-build default.nix
您也可以使用的另一種方法是使用
nix-shell
.nix-shell
是一個工具,可以讓你進入 nix 環境,不執行 nix 建構步驟,但所有依賴項(buildInputs,propagatedBuildInputs)都可供你使用。更多關於nix-shell
你可以在這裡閱讀。使用
nix-shell
你可以做:% cd /path/where/above/mentioned/default.nix/is % nix-shell
或者你可以複製nixpkgs
% cd /path/to/nixpkgs ... here edit file pkgs/applications/misc/st/default.nix % nix-build -A st # to build st % nix-shell -A st # to enter development environment
我希望以上有所幫助。