Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Write an idempotent bash script that prepares a fresh Linux box: create a non-root user and add them to the sudo/wheel group, install a short list of packages with the right package manager (apt/dnf/pacman — detect which), create a project directory tree with correct ownership and rwx permissions, and drop a templated config file. Use a #! shebang, check exit codes, and print a clear summary. Running it twice must not break anything (idempotent).
Proper shebang; variables and $(...); conditionals/loops; checks exit codes ($?); fails loudly, not silently.
Creates a non-root sudo user; sets ownership (chown) and least-privilege rwx (chmod) correctly — not 777.
Installs via the correct manager; ideally detects apt vs dnf vs pacman rather than assuming one.
Re-running is safe: guards on existing users/dirs/packages; no duplicated or destructive effects.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A fresh-server bootstrap script ## Goal Write an idempotent bash script that prepares a fresh Linux box: create a non-root user and add them to the sudo/wheel group, install a short list of packages with the right package manager (apt/dnf/pacman — detect which), create a project directory tree with correct ownership and rwx permissions, and drop a templated config file. Use a #! shebang, check exit codes, and print a clear summary. Running it twice must not break anything (idempotent). ## Acceptance criteria - [ ] Shell scripting: Proper shebang; variables and $(...); conditionals/loops; checks exit codes ($?); fails loudly, not silently. - [ ] Users & permissions: Creates a non-root sudo user; sets ownership (chown) and least-privilege rwx (chmod) correctly — not 777. - [ ] Packages & portability: Installs via the correct manager; ideally detects apt vs dnf vs pacman rather than assuming one. - [ ] Idempotency: Re-running is safe: guards on existing users/dirs/packages; no duplicated or destructive effects. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.