ユーザーのホームディレクトリにシンボリックリンクを宣言します。

ユーザーのホームディレクトリにシンボリックリンクを宣言します。

私は共有サーバーを管理しており、ユーザーを作成するときに彼のホームディレクトリにすべてのユーザーが読み書きできる共有フォルダへのシンボリックリンクを宣言したいと思います。私はこれをファイルに追加し、nixos-rebuildスイッチを実行するのと同じくらい簡単に新しいユーザーを設定できるようにconfiguration.nixファイルで宣言したいと思います。これは一般的なユースケースのようで、存在しないという事実に驚きました。倫理的な理由で存在しない可能性があると思われます(ユーザーホームディレクトリの内容を宣言する方法)。

ベストアンサー1

この特定のユースケースにはNixOSモジュールはありませんが、ワンショットシステムユーザーサービスを使用してシンボリックリンクが存在することを確認し、存在しない場合は作成できます。 1つの方法は、ユーザーアクティベーションスクリプトを使用することです。

system.userActivationScripts.linktosharedfolder.text = ''
  if [[ ! -h "$HOME/path/to/symlink" ]]; then
    ln -s "$HOME/path/to/symlink" "/path/to/shared/folder"
  fi
'';

このスクリプトは、ユーザーがログインするたびに実行されます。

おすすめ記事