Files
cachyos-postinstall-helper/firmware.go
T
2025-10-12 16:09:39 -04:00

45 lines
1.2 KiB
Go

package main
import (
"fmt"
"strings"
"github.com/rwinkhart/go-boilerplate/back"
"github.com/rwinkhart/go-boilerplate/front"
)
const firm = "linux-firmware-"
func firmwareSelector() {
var nonOptional = []string{firm + "whence", firm + "cirrus", firm + "other"}
var optional []string
for {
fmt.Println(back.AnsiBold + "\nSelected firmware: " + strings.Join(optional, ", ") + back.AnsiReset + "\n")
choice := front.InputMenuGen("Firmware to install:", []string{"BACK", "INSTALL", "intel", "amdgpu", "nvidia", "mediatek", "realtek", "atheros", "qcom", "broadcom"})
switch choice {
case 1:
return
case 2:
allPackages := append(nonOptional, optional...)
managePackages("-S", allPackages)
managePackages("-Rcns", []string{"linux-firmware"})
case 3:
optional = append(optional, firm+"intel")
case 4:
optional = append(optional, firm+"amdgpu")
case 5:
optional = append(optional, firm+"nvidia")
case 6:
optional = append(optional, firm+"mediatek")
case 7:
optional = append(optional, firm+"realtek")
case 8:
optional = append(optional, firm+"atheros")
case 9:
optional = append(optional, firm+"qcom")
case 10:
optional = append(optional, firm+"broadcom")
}
}
}