feature(cli): add packages command and various subcommands

add commands to handle package management
add -> adds packages
delete -> deletes packages
show -> shows config sorted by package_managers
This commit is contained in:
Patryk Hegenberg 2025-01-16 22:27:29 +01:00
parent ffd3faadcd
commit c9bf9c9a6f
4 changed files with 240 additions and 130 deletions

View file

@ -1,129 +1,31 @@
config = ''
headless = true
[packages]
headless = [
"git",
"curl",
"wget",
"biber",
"bear",
"docker",
"docker-compose",
"zsh",
"npm",
"task",
"tree-sitter-cli",
"python3-pip",
"latexmk",
"luarocks",
"typst-cli",
]
non_headless = [
"flameshot",
"fuzzel",
"hyprcursor",
"hypridle",
"hyprland",
"hyprland-qtutils",
"hyprlock",
"hyprpaper",
"hyprutils",
"kitty",
"mako",
"SwayNotificationCenter",
"SwayNotificationCenter-zsh-completion",
"mpv",
"pidgin",
"remmina",
"thunderbird-i18n-de",
"virt-manager",
"vlc",
"waybar",
"nwg-panel",
"nwg-look",
"xdg-desktop-portal-hyprland",
"zathura",
"zathura-pdf-mupdf",
]
[package_managers.homebrew]
enable = true
packages = [
"fd",
"fzf",
"ripgrep",
"neovim",
"helix",
# "golang",
# "rust",
"node",
"yazi",
"zk",
"bat",
"bottom",
"btop",
"git-cliff",
"glow",
"lazygit",
"goreleaser",
"harlequin",
"mage",
"posting",
"typst",
"wails",
"zoxide",
"lsd",
"jq",
"yq",
"timewarrior",
"tmux",
# "pipx",
"fastfetch",
"stow",
"distrobox",
# "asciidoc",
# "asciidoctor",
]
[package_managers.go]
enable = true
packages = [
"github.com/stefanlogue/meteor",
"golang.org/x/tools/gopls",
"github.com/go-delve/delve/cmd/dlv",
"github.com/air-verse/air",
# "go.senan.xyz/cliphist",
]
[package_managers.cargo]
enable = true
packages = ["typst-cli"]
[package_managers.pipx]
enable = true
packages = ["euporie"]
[package_managers.flatpak]
enable = true
remotes = [
{ name = "flathub", url = "https://flathub.org/repo/flathub.flatpakrepo" },
]
packages = [
"com.spotify.Client",
"us.zoom.Zoom",
"org.zotero.Zotero",
"com.google.AndroidStudio",
"io.freetubeapp.FreeTube",
"com.discordapp.Discord",
"com.nextcloud.desktopclient.nextcloud",
"com.github.tchx84.Flatseal",
"io.github.flattool.Warehouse",
"org.onlyoffice.desktopeditors",
# "com.google.Chrome",
# "org.mozilla.Thunderbird",
]
[dotfiles]
enable = false
git_repo = "https://codeberg.org/Pata1704/dotfiles.git"
git_repo = 'https://codeberg.org/Pata1704/dotfiles.git'
[package_managers]
[package_managers.cargo]
enable = true
packages = ['typst-cli']
[package_managers.flatpak]
enable = true
packages = ['com.spotify.Client', 'us.zoom.Zoom', 'org.zotero.Zotero', 'com.google.AndroidStudio', 'io.freetubeapp.FreeTube', 'com.discordapp.Discord', 'com.nextcloud.desktopclient.nextcloud', 'com.github.tchx84.Flatseal', 'io.github.flattool.Warehouse', 'org.onlyoffice.desktopeditors']
[package_managers.go]
enable = true
packages = ['github.com/stefanlogue/meteor', 'golang.org/x/tools/gopls', 'github.com/go-delve/delve/cmd/dlv', 'github.com/air-verse/air']
[package_managers.homebrew]
enable = true
packages = ['fd', 'fzf', 'ripgrep', 'neovim', 'helix', 'node', 'yazi', 'zk', 'bat', 'bottom', 'btop', 'git-cliff', 'glow', 'lazygit', 'goreleaser', 'harlequin', 'mage', 'posting', 'typst', 'wails', 'zoxide', 'lsd', 'jq', 'yq', 'timewarrior', 'tmux', 'fastfetch', 'stow', 'distrobox']
[package_managers.pipx]
enable = true
packages = ['euporie']
[packages]
headless = ['git', 'curl', 'wget', 'biber', 'bear', 'docker', 'docker-compose', 'zsh', 'npm', 'task', 'tree-sitter-cli', 'python3-pip', 'latexmk', 'luarocks']
non_headless = ['flameshot', 'fuzzel', 'hyprcursor', 'hypridle', 'hyprland', 'hyprland-qtutils', 'hyprlock', 'hyprpaper', 'hyprutils', 'kitty', 'mako', 'SwayNotificationCenter', 'SwayNotificationCenter-zsh-completion', 'mpv', 'pidgin', 'remmina', 'thunderbird-i18n-de', 'virt-manager', 'vlc', 'waybar', 'nwg-panel', 'nwg-look', 'xdg-desktop-portal-hyprland', 'zathura', 'zathura-pdf-mupdf']