私はnixに初めて触れたので、ソリューションの詳細な説明をいただきありがとうございます。
追加しようとしています。rnix-lsp私の家の構成として。 githubページの指示には、tarballのURLからnix-envコマンドを実行するように指示されていますが、どうすればよいかわかりません。
はわかりますが、fetchTarball
どうすればいいかわかりませんhome.packages
。次のように試してみました。
home.packages = [
(import (fetchTarball “https://github.com/nix-community/rnix-lsp/archive/master.tar.gz”) {}; ).defaultNix
];
ただし、コレクションを呼び出そうとするとエラーが発生します。私が望むことをする方法はありますか?
具体的なエラーは次のとおりです。
error: attempt to call something which is not a function but a set, at /home/izzylan/.config/nixpkgs/home.nix:33:9
ベストアンサー1
ソースコードを調べて答えを直接見つけました。
import (fetchTarball “https://github.com/nix-community/rnix-lsp/archive/master.tar.gz”)
これがうまくいく理由
私たちは見ることができますホーム環境.nixホーム管理者は、home.packages
予想されるタイプがnixpkgsモジュールで定義されているため、nixがどのように「パッケージ」を決定するかをtypes.package
確認できます。types.nix
それから私達は見つけることができますパッケージタイプの定義次に、パッケージが派生しているか、保存パスを含む文字列が含まれていることを確認してください。
rnix-lspはすでにnixプロジェクトで、default.nixからフォークにそれ自身をエクスポートします。1それで私たちがしなければならないのは、それをtarballにダウンロードして設定にインポートすることだけです。home-manager
その後、他のパッケージと同様にフォークをインポートしてビルドしてインストールします。
1技術的には、次のように定義されます。フレークflake.nix
flake-compatを使用してフォークdefault.nix
にエクスポートします。