Files
operation-bin/create_personal_dir.md
T
lemke_h 224c68e90b bin: consistent naming, pixi_pgroup_install, git cleanup
- Commands lose their .sh extension (create_personal_dir,
  gopass_bernina_setup, gopass_bernina_service_setup,
  kerberos_ticket_renew, migrate_to_network_drive, pixi_local_sync,
  pixi_rebuild_local, sync_personal_config); .sh now only marks files
  that are sourced. kerberos_ticket_renew.sh and pixi_local_sync.sh stay
  as links, since they are started at login.
- Sourced files gain .sh (bpy-env, anaconda_env, anaconda_bernina_env,
  mm_bernina); the old names stay as links.
- All references in scripts, the .desktop file and the docs updated;
  cheatsheet.md regenerated via list_bin_commands.
- New pixi_pgroup_install: installs the shared bernina pixi env into a
  pgroup work folder (group-shared, with its own package cache) and
  makes it visible in JupyterHub as bernina-<exp>-<env>.
- Fix '#/bin/bash' first lines (missing '!') in 11 scripts.
- Stop tracking clutter (.nfs placeholders, __pycache__, vim swap file,
  .bak/_bak/~ copies, delme_*, empty 'me'); add .gitignore.
2026-09-25 15:48:11 +02:00

1.2 KiB

Personal directories on /sf/bernina

/sf/bernina/config/personal/<username> is the Bernina convention for a per-user directory on real, git-friendly NFS storage — unlike ~/network_drives (SMB), which can't hold a git repo (see migrate_to_network_drive.md). The gopass guide (gopass.md) uses it for a personal store clone that's automatically the same on every Bernina host.

Usage

create_personal_dir            # create/verify your own directory
create_personal_dir someuser   # provision on someone else's behalf (needs root, or ask them to self-serve)

Safe to re-run — only changes what doesn't already match.

What it does

  1. Makes sure the shared parent (/sf/bernina/config/personal/) is group-writable with the sticky bit set — like /tmp: anyone in unx-sf_bernina_bs can add their own subdirectory, but nobody can touch anyone else's. Offers to fix it (chmod 3775) if you own it and it isn't set up that way yet; only ever needs doing once, since /sf/bernina is one NFS export shared by every Bernina host.
  2. Creates (or verifies) <username>'s own subdirectory, locked to 2700 — owner-only, nobody else can list or read into it even though the parent is browsable.