LUKS-with-LVMドライブがありますが、次のように手動でインストールしたいと思います。
- GNOMEにログイン
- ノーチラス開始
- そのドライブをクリックしてください。
- パスワード提出
/run/media/user/foo
これを行うには、デフォルトのマウント位置(tmpfsなので、起動するたびにディレクトリを作成するにはルートアクセスが必要です)を/home/user/foo
次のようにユーザー制御の場所に変更する必要があります/etc/nixos/configuration.nix
。
fileSystems."${config.users.users.default.home}/foo" = {
device = "/dev/mapper/luks-0179e7de-a468-4213-b932-ee2df135336d";
options = [ "defaults" "noatime" "noauto" "user" ];
};
これにより、無限再帰に関するメッセージが生成されます。
$ sudo nixos-rebuild switch
building Nix...
building the system configuration...
error: infinite recursion encountered, at undefined position
(use '--show-trace' to show detailed location information)
ハードコーディングでこの問題を解決しましたfileSystems."/home/user/foo" = […]
。しかし、ここでユーザーのホームディレクトリを参照するときに無限の再帰を防ぐことは可能ですか?
ベストアンサー1
はい、NixOS設定でユーザーホームディレクトリを参照するときに無限の繰り返しエラーを防ぐことができます。$config.users.users.default.home
最上位属性を再参照する属性パスなので、属性に入れるとconfig
循環依存関係が発生します。fileSystems
これを回避するには、略語を使用してユーザーのホームディレクトリを参照できます~
。このショートカットは実行時にフルパスに拡張され、構成ファイルの循環依存関係を防ぎます。
以下はあなたに適した設定例です。
fileSystems."~user/foo" = {
device = "/dev/mapper/luks-0179e7de-a468-4213-b932-ee2df135336d";
options = [ "defaults" "noatime" "noauto" "user" ];
};
また、指定された設定では、user
使用したいホームディレクトリを持つユーザーの実際のユーザー名に置き換える必要があります。はい、これがここでユーザーのホームディレクトリを参照するときに無限の再帰を回避する方法です。