このプロファイルはデフォルトです。

このプロファイルはデフォルトです。

私はArch LinuxにGUIXをインストールしましたが、まだいくつかの概念を理解するのに苦労しています。わかりました、一つ輪郭パッケージはで選択されており、/gnu/storeパッケージをインポートして有効にすることができます<profile-dir>/etc/profile。しかし、私のホームディレクトリにシンボリックリンクとして保存されている2つの「デフォルト」設定ファイルがあるような理由はわかりません。

  • ~/.guix-profile -> /var/guix/profiles/per-user/user/guix-profile
  • ~/.config/guix/current -> /var/guix/profiles/per-user/user/current-guix

いくつかの情報が見つかりましたが、十分ではありません。

.guix-profile

必要な役割を割り当てることができます。通常、常に使用したいパッケージのマニフェストをインストールします。

または、数日間のみ使用するワンタイムパッケージの場合は、「マニフェストなし」として残すこともできます。これにより簡単に実行できguix install package-fooます guix upgrade package-barGUIXレシピから)

.config/guix/current:

guix pull実行結果は、~/.config/guix/current 最新のGuixを含む利用可能な設定ファイルです。 (「移動するguix pull)

これら2つの設定ファイルの違いは何ですか?これらの2つがなぜ必要ですか?ログイン時に両方を受け取る必要がありますか?

ベストアンサー1

このプロファイルはデフォルトです。

これら2つのプロファイルを「一般」GUIXプロファイルと区別する唯一のことは、そのプロファイルがそのGUIXコマンドのデフォルトオプションであることです(参照:ここ2つのことがどう違うかを見てください):

  • ~/.guix-profileguix packageオプションのデフォルトオプションです-p|--profile=
  • ~/.config/guix/currentguix pullオプションのデフォルトオプションです-p|--profile=

以前に存在しなかった場合は、同伴コマンドが最初に呼び出されたときに生成されます。

ただし、カスタムプロファイルを優先して常に使用している場合は、これら2つのプロファイルなしで操作を実行できます(下記参照)。

彼らの仕事は異なります。guixバージョン自体を提供することと、バージョンで管理される他のプログラムを提供することです。guix

  • この設定ファイルは~/.config/guix/currentバイナリを提供し、guixデフォルトguix-daemon設定では、この設定ファイルはインストールできるすべてのパッケージの最新バージョンを決定します。インストールできるパッケージのリストは、Nixではなくguixのバージョンに関連しています。このブログ記事では、その理由について説明します。

    • ユーザーにroot提供されるバイナリ(シンボリックリンクのターゲット)は、/root/.config/guix/current/bin/guix-daemonシステムによって自動的に起動されるGUIXデーモンです。また、シンボリックリンクもあります/usr/local/bin
  • この構成ファイルには、~/.guix-profile含めるすべてのパッケージが含まれています。多くのユーザーは、シェルの起動ファイルに含めて、自動的に利用可能な他のジョブ固有のプロファイルの一部ではなく、共通プログラムを持っています。

これらのプロファイルはシェル実行可能ファイルを介してのみワークフローに統合され、有効かどうかはユーザーによって決定されます。

.profileあなたに関連するプロファイルは、.bash_profileあなた(またはあなたが使用するシェル初期化ファイル)によってのみ決定されます。

何も指定しないと、パッケージ自体が使用するバージョンとともにパッケージは使用されませんguixguixrootGUIXシェルインストーラスクリプトシンボリックリンクの生成/usr/local/bin/guix -> /var/guix/profiles/per-user/root/guix

.profileあなたの(または同様の)1に含まれる場合

GUIX_PROFILE=$HOME/.config/guix/current; 
source "$GUIX_PROFILE/etc/profile"

独自のGUIXバージョンとパッケージバージョンを使用できます。

含める場合

GUIX_PROFILE="$HOME/.guix-profile";
source "$GUIX_PROFILE/etc/profile"

設定ファイルをロードすると、パラメータ-pを使用せずにその設定ファイルを定義/変更できますguix package。もちろん、ここから他の設定ファイルをロードすることもできます。変更する-pには、対応するパラメータを使用できます。多くの人が頻繁に必要ですが、ジョブ固有のワークフローに割り当てられていないコマンドを含めるには、この構成ファイルを使用します。


1ソーシングする前に変数を定義する理由がわからない場合は、ソーススクリプトをお読みください。$PATHプロファイルフォルダ自体ではなく、プロファイルへのリンクを追加します。つまりguix package -u、構成ファイルを再インポートせずに呼び出すと、自動的に更新されたパッケージバージョンがインポートされます。

おすすめ記事