Skip to content

MuteObserver/Hearth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hearth 🏠 Version License

Hearth is a powerful PowerShell-based system maintenance utility designed for Windows environments. It automates package updates, system maintenance tasks, and provides flexible configuration options to suit different user needs.

🌟 Features

  • Automated Package Updates: Keep your system up-to-date with Chocolatey, Scoop, and Winget package managers.
  • System Maintenance: Perform essential tasks like SFC scan, Windows Defender scan, and disk cleanup.
  • Flexible Configuration: Easily customize tasks and their execution behavior through a JSON-based configuration file.
  • Command-Line Control: Manage tasks using command-line options for enhanced flexibility.
  • Dry Run Mode: Preview actions without making actual changes to your system.
  • Secure and Efficient: Requires administrator privileges for sensitive operations.

🚀 Installation

To install Hearth, execute the following PowerShell command (requires administrative privileges):

Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/MuteObserver/Hearth/main/Hearth.ps1'))

This script will set up Hearth in %LOCALAPPDATA%\Hearth and configure it for immediate use.

💻 Usage

Once installed, you can run Hearth by typing the following command in PowerShell:

hearth

🚩 Command-Line Options

  • -ResetConfig: Resets the configuration to default settings.
  • -IgnoreNever: Forces tasks to run even if set to "never" in the config.
  • -ForceAll: Executes all tasks without prompting.
  • -DryRun: Simulates task execution without applying changes.
  • -Uninstall: Removes Hearth configuration and aliases.

Examples:

hearth -ResetConfig
hearth -IgnoreNever -ForceAll
hearth -DryRun
hearth -Uninstall

⚙️ Configuration

Hearth's behavior is controlled via %USERPROFILE%\.hearth_config.json, allowing you to adjust each task's execution behavior:

{
  "AutomatedUpdates": "ask",
  "SystemMaintenance": "ask",
  "ChocolateyUpdate": "ask",
  "ScoopUpdate": "ask",
  "WingetUpdate": "ask",
  "SFCScan": "ask",
  "DefenderScan": "ask",
  "DiskCleanup": "ask"
}

Options for each task: "always", "never", "ask" (default).

🛠️ Architecture

  • PowerShell Core: Leveraging native Windows scripting for efficiency.
  • Modular Design: Each task (update, scan, cleanup) is handled by separate functions.
  • JSON Configuration: Clear and straightforward configuration management.
  • Command-Line Interface: Enhances usability with flexible command options.
  • Secure Execution: Ensures safety with mandatory administrator privileges.

🆕 New Features

  • Smart Execution: Detects and installs missing package managers automatically.
  • Self-Upgrading: Keeps itself and all components up-to-date for optimal performance.
  • Smart Task Management: Adapts to system configurations for efficient operation.

🗑️ Uninstallation

To remove Hearth completely from your system, use the following command:

hearth -Uninstall

This command will delete Hearth's configuration and aliases from your PowerShell profile.

👨‍💻 Author

Hearth is developed and maintained by Kaleb Weise. Connect with me on GitHub for feedback and contributions.

🤝 Contributing

We welcome contributions and feedback! If you encounter issues or have suggestions for improvements, please do inform me. When contributing, please adhere to PowerShell best practices and include relevant tests and documentation updates.

📄 License

Distributed under the MIT License. See LICENSE for more information.

🙏 Acknowledgements


About

A tailored system update and maintenance script, covering package managers, system updates, security scans, and various system health checks. Retains its own user preferences for sake of convenience.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors