A modern Terminal User Interface (TUI) application for Linux system initialization and configuration.
- Modern TUI Interface: Built with Python Rich/Textual for beautiful terminal interfaces
- Configuration-Driven: YAML-based configuration system with presets
- Modular Design: Pluggable modules for different system components
- Cross-Platform: Works on various Linux distributions
- Headless Server Support: Optimized for SSH and headless environments
- Python 3.8 or higher
- Linux operating system
- Clone the repository:
git clone https://github.com/DeltaV235/Initializer.git
cd Initializer
- Run the setup script:
./install.sh
- Launch the application:
./run.sh
Or manually:
source venv/bin/activate
python main.py
python main.py --help
Options:
-p, --preset TEXT Use a configuration preset
-c, --config-dir TEXT Configuration directory path
--headless Run in headless mode (no animations)
--debug Enable debug mode
--help Show this message and exit
- View detailed system information
- Export data in multiple formats (JSON, YAML, Text)
- Real-time system monitoring
- Install and configure Homebrew
- Change package sources/mirrors
- Install essential packages
- Auto-detect available package managers
- Configure mirror sources
- Install system packages
- Create and configure users
- Set up SSH keys
- Manage user permissions
Configuration files are located in the config/
directory:
app.yaml
: Main application settingsmodules.yaml
: Module-specific configurationthemes.yaml
: UI themes and colorspresets/
: Predefined configuration templates
# Use server preset for headless environments
python main.py --preset server
# Use desktop preset for workstation setup
python main.py --preset desktop
The application supports multiple themes:
default
: Standard blue themedark
: Dark mode themelight
: Light theme for bright terminals
TUI screenshots coming soon...
├── config/ # YAML configuration files
├── src/ # Python source code
│ ├── modules/ # Feature modules
│ ├── ui/ # User interface components
│ └── utils/ # Utility functions
├── legacy/ # Original bash scripts (backup)
└── main.py # Application entry point
- Create module in
src/modules/
- Add configuration to
config/modules.yaml
- Create UI screen in
src/ui/screens/
- Register in main menu
The original bash scripts are preserved in the legacy/
directory and can still be used:
cd legacy/01-linux-initial-scripts
./00-main.sh
MIT License - see LICENSE file for details.
Created by DeltaV235
Modernizing Linux system initialization, one terminal at a time. 🚀