1
0
Fork 0

refactor: rename workflows -> installers

This commit is contained in:
Kim, Jimin 2024-03-30 11:08:41 +09:00
parent e69b9a5520
commit 1cb55a0558
Signed by: pomp
GPG key ID: 77DAC7BB5CA8C7AA
95 changed files with 182 additions and 185 deletions

2
.gitattributes vendored
View file

@ -1,2 +1,2 @@
# prevent assets from being tracked in repo language statistics
internal/workflows/assets/** linguist-vendored
internal/installers/assets/** linguist-vendored

View file

@ -4,7 +4,7 @@ import (
"os"
"github.com/developomp/pompup/internal/constants"
"github.com/developomp/pompup/internal/workflows"
"github.com/developomp/pompup/internal/installers"
"github.com/developomp/pompup/internal/wrapper"
"github.com/pterm/pterm"
"github.com/spf13/cobra"
@ -34,9 +34,9 @@ GitHub: https://github.com/developomp/pompup`,
var reminders []string
// run setup functions
for _, workflow := range workflows.Workflows {
reminders = append(reminders, workflow.Reminders...)
workflow.Setup()
for _, installer := range installers.Installers {
reminders = append(reminders, installer.Reminders...)
installer.Setup()
}
// show reminders

View file

@ -1,11 +1,11 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Baobab",
Desc: "GNOME disk usage analyzer",
Tags: []Tag{Gnome, Gui},

View file

@ -1,11 +1,11 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Blender",
Desc: "FOSS 3D creation suite",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Brave Browser",
Desc: "Least worst browser",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "btop",
Desc: "top but better",
Tags: []Tag{Cli},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -11,7 +11,7 @@ import (
var _resolvConf string
func init() {
register(&Workflow{
register(&Installer{
Name: "Cloudflare DNS",
Desc: "1.1.1.1 DNS",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "DaVinci Resolve",
Desc: "Video Editing Tool",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Dconf Editor",
Desc: "GSettings editor for GNOME",
Tags: []Tag{Gnome, Configurator},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Discord",
Desc: "discord and betterdiscord plugins",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
@ -6,7 +6,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "docker",
Desc: "not a VM",
Tags: []Tag{Cli, Dev},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: ".NET",
Desc: "Microsoft Java",
Tags: []Tag{Dev, Cli},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Matrix",
Desc: "Matrix communication GUI",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Eye Of Gnome (eog)",
Desc: "GNOME image viewing utility",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "eww",
Desc: "Linux Widgets",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "FileZilla",
Desc: "FTP GUI",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Flatseal",
Desc: "flatpak permission manager",
Tags: []Tag{Configurator},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"fmt"
@ -9,7 +9,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Fonts",
Desc: "fonts",
Tags: []Tag{System},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -11,7 +11,7 @@ import (
var _gamemodeConfig string
func init() {
register(&Workflow{
register(&Installer{
Name: "gamemode",
Desc: "gamemoderun",
Tags: []Tag{System},

View file

@ -1,8 +1,8 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
var gearleverWorkflow = Workflow{
var gearleverInstaller = Installer{
Name: "GearLever",
Desc: "appimage manager",
Tags: []Tag{System, Gui},
@ -12,5 +12,5 @@ var gearleverWorkflow = Workflow{
}
func init() {
register(&gearleverWorkflow)
register(&gearleverInstaller)
}

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GIMP",
Desc: "Photoshop but FOSS",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -10,7 +10,7 @@ import (
var _gitconfig []byte
func init() {
register(&Workflow{
register(&Installer{
Name: "git",
Desc: "git gud",
Tags: []Tag{Dev, Cli},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -26,7 +26,7 @@ var _gnomeSettingsDaemon string
var _gnomeExtensionUserThemesDconf string
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME",
Desc: "minimal, usable GNOME Desktop Environment (DE)",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Calculator",
Desc: "GNOME Calculator",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME characters",
Desc: "Special character browser",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Cheese",
Desc: "GNOME photo taking utility",
Tags: []Tag{Gnome, Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -11,7 +11,7 @@ import (
var _gnomeClocksDconf string
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Clocks",
Desc: "GNOME Time management utility",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Control Center",
Desc: "GNOME settings app",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Disk Utility",
Desc: "Disk partitioning and stuff",
Tags: []Tag{Gnome, Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -29,7 +29,7 @@ type gnomeExtension = struct {
}
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Extensions",
Desc: "GNOME extensions",
Tags: []Tag{Gnome},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME File Roller",
Desc: "Compression and Decompression",
Tags: []Tag{Gnome, Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -10,7 +10,7 @@ import (
var _gnomeNautilusDconf string
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Files",
Desc: "nautilus",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Font Manager",
Desc: "Character viewing and stuff",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Software",
Desc: "GUI Flatpak Installer",
Tags: []Tag{Gnome, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GNOME Tweaks",
Desc: "Complementary GNOME settings app",
Tags: []Tag{Gnome, Configurator},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Golang",
Desc: "Golang Tools",
Tags: []Tag{Dev, Cli},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Godot",
Desc: "FOSS game engine",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "gparted",
Desc: "GUI partition tool",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "GRUB",
Desc: "Bootloader",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "gsmartcontrol",
Desc: "GUI for S.M.A.R.T",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "pop! gtk theme",
Desc: "GTK theme made by system76",
Tags: []Tag{System, Gnome},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "HotWire",
Desc: "wireshark lite",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Inkscape",
Desc: "Adobe Illustrator but FOSS",
Tags: []Tag{Gui},

View file

@ -0,0 +1,36 @@
package installers
import (
"fmt"
)
type Tag string
const (
Gnome Tag = "GNOME"
System Tag = "System"
Gaming Tag = "Gaming"
Dev Tag = "Dev"
Cli Tag = "CLI"
Gui Tag = "GUI"
Configurator Tag = "Configurator"
)
type Installer struct {
Name string // Name is the display name of the installer.
Desc string // Desc briefly explains what the installer does.
Tags []Tag // Tags are used to categorize different installers
Setup func() // Setup contains logic regarding the setup process.
Reminders []string // Reminders for manual tasks user has to perform. Shows after all Setup functions are executed.
}
// list of installers
var Installers []*Installer
func register(installer *Installer) {
for i, reminder := range installer.Reminders {
installer.Reminders[i] = fmt.Sprintf("[%s] %s", installer.Name, reminder)
}
Installers = append(Installers, installer)
}

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "jdk",
Desc: "Java Development Kit",
Tags: []Tag{Cli, Dev},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Kdenlive",
Desc: "Adobe Premiere Pro but FOSS",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -10,7 +10,7 @@ import (
var kittyConfig []byte
func init() {
register(&Workflow{
register(&Installer{
Name: "Kitty",
Desc: "terminal emulator",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Libre Menu Editor",
Desc: "Application Menu Editor",
Tags: []Tag{Gui, System, Configurator},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "LibreOffice",
Desc: "FOSS Office Suite",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "metasploit",
Desc: "Penetration Testing",
Tags: []Tag{Dev, Cli},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Mission Center",
Desc: "Task Manager but Linux",
Tags: []Tag{System, Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
@ -6,7 +6,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Node.JS",
Desc: "Node.JS and related CLI tools",
Tags: []Tag{Cli, Dev},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "neovim",
Desc: "nvim + NvChad, the best text editor (allegedly)",
Tags: []Tag{Dev, Cli},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "OBS",
Desc: "Screen recording and streaming utility",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -10,7 +10,7 @@ import (
var _otdSettings []byte
func init() {
register(&Workflow{
register(&Installer{
Name: "OpenTabletDriver",
Desc: "for osu",
Tags: []Tag{Dev, Cli},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "OpenTofu",
Desc: "terraform but not evil",
Tags: []Tag{Dev, Cli},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"context"
@ -12,15 +12,15 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "osu!",
Desc: "osu!lazer and tablet driver",
Tags: []Tag{Gaming, Gui},
Setup: func() {
gearleverWorkflow.Setup()
gearleverInstaller.Setup()
downloadOsuAppImage()
},
Reminders: append(gearleverWorkflow.Reminders,
Reminders: append(gearleverInstaller.Reminders,
[]string{
"Install osu.appimage file in Downloads directory",
"Install osu! skin from https://github.com/developomp/osu-pomp-skin",

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Dconf Editor",
Desc: "GSettings editor for GNOME",
Tags: []Tag{Configurator},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Python",
Desc: "python, pip, and stuff",
Tags: []Tag{Dev},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
@ -6,7 +6,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Rust",
Desc: "Rustup and stuff",
Tags: []Tag{Cli, Dev},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Signal",
Desc: "private messaging",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Slack",
Desc: "business communication",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Steam",
Desc: "Game Downloader & Launcher",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -7,7 +7,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "System76 Scheduler",
Desc: "Improves responsiveness",
Tags: []Tag{System},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Tenacity",
Desc: "Non-evil Adacity fork",
Tags: []Tag{Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Unity Hub",
Desc: "Unity Installation manager",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Ventoy",
Desc: "Bootable USB on steroid",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
"github.com/developomp/pompup/internal/wrapper"
@ -6,7 +6,7 @@ import (
)
func init() {
register(&Workflow{
register(&Installer{
Name: "Virtualbox",
Desc: "VM stuff",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "VLC",
Desc: "video player",
Tags: []Tag{Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -137,7 +137,7 @@ var vscodeExtensions = []string{
}
func init() {
register(&Workflow{
register(&Installer{
Name: "vscodium",
Desc: "vscode but 100% FOSS",
Tags: []Tag{Dev, Gui},

View file

@ -1,9 +1,9 @@
package workflows
package installers
import "github.com/developomp/pompup/internal/wrapper"
func init() {
register(&Workflow{
register(&Installer{
Name: "Wireshark",
Desc: "Packet analyzer",
Tags: []Tag{Dev, Gui},

View file

@ -1,4 +1,4 @@
package workflows
package installers
import (
_ "embed"
@ -13,7 +13,7 @@ import (
var zshConfig []byte
func init() {
register(&Workflow{
register(&Installer{
Name: "zsh",
Desc: "Like bash but better",
Tags: []Tag{System},

View file

@ -1,39 +0,0 @@
package workflows
import (
"fmt"
)
type Tag string
const (
Gnome Tag = "GNOME"
System Tag = "System"
Gaming Tag = "Gaming"
Dev Tag = "Dev"
Cli Tag = "CLI"
Gui Tag = "GUI"
Configurator Tag = "Configurator"
)
// Workflow can be many things. It could install and configure an application,
// modify the operating system (both kernel and user space), etc etc...
// Think of it as a loose term for installer.
type Workflow struct {
Name string // Name is the display name of the workflow.
Desc string // Desc briefly explains what the workflow does. Usually in one sentence.
Tags []Tag // Tags are used to categorize different workflows
Setup func() // Setup contains logic regarding the setup process.
Reminders []string // Reminders for manual tasks user has to perform. Shows after all Setup functions are executed.
}
// list of workflows
var Workflows []*Workflow
func register(workflow *Workflow) {
for i, reminder := range workflow.Reminders {
workflow.Reminders[i] = fmt.Sprintf("[%s] %s", workflow.Name, reminder)
}
Workflows = append(Workflows, workflow)
}