mirror of
https://github.imc.re/void-land/hyprland-void-dots
synced 2025-04-26 16:33:43 +02:00
59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"os/exec"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
const (
|
|
ColorReset = "\033[0m"
|
|
ColorGreen = "\033[32m"
|
|
ColorRed = "\033[31m"
|
|
ColorYellow = "\033[33m"
|
|
ColorBlue = "\033[34m"
|
|
ColorPurple = "\033[35m"
|
|
ColorCyan = "\033[36m"
|
|
ColorWhite = "\033[37m"
|
|
)
|
|
|
|
func CheckSudo() {
|
|
if os.Geteuid() != 0 {
|
|
log.Fatalf("This script must be run as root")
|
|
}
|
|
}
|
|
|
|
func LogMessage(message string) {
|
|
fmt.Println(time.Now().Format(time.Kitchen), ":", message)
|
|
}
|
|
|
|
func LogColoredMessage(message string, colorCode ...string) {
|
|
color := ColorYellow
|
|
|
|
if len(colorCode) > 0 {
|
|
color = colorCode[0]
|
|
}
|
|
|
|
coloredMessage := fmt.Sprintf("%s%s%s", color, message, ColorReset)
|
|
|
|
LogMessage(coloredMessage)
|
|
}
|
|
|
|
func Check(err error, message string) {
|
|
if err != nil {
|
|
log.Fatalf("Error during %s: %v", message, err)
|
|
}
|
|
}
|
|
|
|
func RunCommand(cmd string, args ...string) {
|
|
LogMessage(fmt.Sprintf("Running command: %s %s", cmd, strings.Join(args, " ")))
|
|
|
|
out, err := exec.Command(cmd, args...).CombinedOutput()
|
|
|
|
Check(err, fmt.Sprintf("%s %s", cmd, strings.Join(args, " ")))
|
|
|
|
LogMessage(string(out))
|
|
}
|