Skip to content

AdminHub - Automated development tools installer for macOS Guest accounts. Provides Python, Git, Homebrew, and essential tools that automatically reset for each student, designed for educational environments with zero-maintenance setup.

License

Notifications You must be signed in to change notification settings

luka-loehr/schoolcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SchoolCode

Automated developer tool deployment for macOS Guest accounts.

Version macOS License

Overview

SchoolCode automates setup of a complete development environment for students on shared macOS machines. It installs Python, Homebrew, Git, and pip with security wrappers that prevent Guest accounts from modifying system packages or using sudo.

Requirements

  • macOS 10.14+ (Mojave or newer)
  • Administrator (sudo) privileges
  • ~2GB free disk space
  • Internet connection

Quick Start

# Clone the repository
git clone https://github.com/luka-loehr/schoolcode.git
cd schoolcode
sudo ./schoolcode.sh

Verify installation:

sudo ./schoolcode.sh --status

Basic Commands

sudo ./schoolcode.sh                    # Install everything
sudo ./schoolcode.sh --status           # Check system health
sudo ./schoolcode.sh --uninstall        # Remove SchoolCode
sudo ./schoolcode.sh --logs             # View logs interactively
sudo ./schoolcode.sh --help             # Show help

What Gets Installed

  • Xcode Command Line Tools - Required development tools
  • Homebrew - Package manager (non-interactive installation)
  • Python - Official Python from python.org
  • Git - Version control
  • pip - Python package manager
  • Security Wrappers - Prevents Guest users from modifying system packages

Security Model

Guest accounts are fully isolated:

  • Cannot use sudo or install system-wide packages
  • pip restricted to user-only installations (--user flag)
  • Homebrew limited to read-only commands
  • All modifications cleaned on logout

Advanced Usage

For granular control, use the CLI tool:

# System management
sudo ./scripts/schoolcode-cli.sh status [detailed]
sudo ./scripts/schoolcode-cli.sh health [detailed]
sudo ./scripts/schoolcode-cli.sh repair

# Guest account
sudo ./scripts/schoolcode-cli.sh guest setup
sudo ./scripts/schoolcode-cli.sh guest test

# Configuration
sudo ./scripts/schoolcode-cli.sh config show
sudo ./scripts/schoolcode-cli.sh tools list

Troubleshooting

Installation problems:

sudo ./schoolcode.sh --status           # Check system health
./schoolcode.sh --logs errors           # View error logs
sudo ./scripts/schoolcode-cli.sh repair # Auto-fix issues

Guest account issues:

sudo ./scripts/schoolcode-cli.sh guest test
sudo ./scripts/schoolcode-cli.sh guest setup

Project Structure

SchoolCode/
├── schoolcode.sh                    # Main entry point
├── scripts/
│   ├── schoolcode-cli.sh            # Advanced CLI tool
│   ├── install.sh                   # Installation logic
│   ├── uninstall.sh                 # Removal script
│   ├── utils/                       # Utility functions
│   └── setup/                       # Guest configuration
├── tests/                           # Test suite
└── README.md                        # This file

License

Apache License 2.0 - © 2025 Luka Löhr

Test notice: daemon version tracking test - 2025-12-03 11:55

About

AdminHub - Automated development tools installer for macOS Guest accounts. Provides Python, Git, Homebrew, and essential tools that automatically reset for each student, designed for educational environments with zero-maintenance setup.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages