- 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.
1.2 KiB
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
- Makes sure the shared parent (
/sf/bernina/config/personal/) is group-writable with the sticky bit set — like/tmp: anyone inunx-sf_bernina_bscan 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/berninais one NFS export shared by every Bernina host. - Creates (or verifies)
<username>'s own subdirectory, locked to2700— owner-only, nobody else can list or read into it even though the parent is browsable.