사용자의 홈 디렉터리에 심볼릭 링크를 선언합니다.

사용자의 홈 디렉터리에 심볼릭 링크를 선언합니다.

저는 공유 서버를 관리하고 있으며 사용자를 생성할 때 그의 홈 디렉터리에 모든 사용자가 읽고 쓸 수 있는 공유 폴더에 대한 심볼릭 링크를 선언하고 싶습니다. 나는 이것을 파일에 추가하고 nixos-rebuild 스위치를 실행하는 것만큼 간단하게 새로운 사용자를 설정할 수 있도록 이것을configuration.nix 파일에 선언하고 싶습니다. 이것은 일반적인 사용 사례인 것 같아서 존재하지 않는다는 사실에 놀랐습니다. 윤리적인 이유로 존재하지 않을 수도 있다고 생각하게 됩니다(감히 사용자 홈 디렉토리의 내용을 선언하는 방법).

답변1

이 특정 사용 사례에 대한 NixOS 모듈은 없지만 원샷 시스템 사용자 서비스를 사용하여 심볼릭 링크가 존재하는지 확인하고 존재하지 않으면 생성할 수 있습니다. 한 가지 방법은 사용자 활성화 스크립트를 사용하는 것입니다.

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

이 스크립트는 사용자가 로그인할 때마다 실행됩니다.

관련 정보