mirror of
https://github.com/keanuplayz/dotfiles.git
synced 2026-06-14 20:57:52 +00:00
143 lines
2.4 KiB
Ruby
143 lines
2.4 KiB
Ruby
# Utils {{{
|
|
def flatten_brews(brews)
|
|
brews.flat_map do |category, brew_list|
|
|
brew_list.map do |brew|
|
|
if brew.is_a?(Hash)
|
|
brew.to_a.first # Extract the package name and options from the hash
|
|
else
|
|
[brew, {}] # No options, so use an empty hash
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
def liftoff(root)
|
|
root[:taps].each do |name|
|
|
tap name
|
|
end
|
|
|
|
flatten_brews(root[:brews]).each do |pkg, opts|
|
|
brew(pkg, opts)
|
|
end
|
|
|
|
root[:casks].each do |name|
|
|
cask name
|
|
end
|
|
end
|
|
# }}}
|
|
|
|
packages = {
|
|
taps: [
|
|
"ddev/ddev",
|
|
"the-wineskin-project/wineskin",
|
|
"isen-ng/dotnet-sdk-versions"
|
|
],
|
|
brews: { # {{{
|
|
services: [
|
|
{ "syncthing" => { restart_service: :changed } },
|
|
],
|
|
system: [
|
|
"cmark",
|
|
"cmark-gfm",
|
|
"gcc@12",
|
|
"mkcert",
|
|
"nss",
|
|
"pinentry-mac",
|
|
"pkg-config",
|
|
"sdl2"
|
|
],
|
|
languages: [
|
|
"bash-language-server",
|
|
"composer",
|
|
"dhall",
|
|
"dhall-json",
|
|
"dhall-lsp-server",
|
|
"go",
|
|
"gradle",
|
|
"kotlin",
|
|
"lua-language-server",
|
|
"node",
|
|
"openjdk",
|
|
"php",
|
|
"poetry",
|
|
"ruby",
|
|
"stylua",
|
|
"uv",
|
|
"yaml-language-server"
|
|
],
|
|
tools: [
|
|
"act",
|
|
"bat",
|
|
"bear",
|
|
"coder",
|
|
"croc",
|
|
"ddev",
|
|
"dua-cli",
|
|
"eza",
|
|
"ffmpeg",
|
|
"fzf",
|
|
"gawk",
|
|
"gh",
|
|
"git-crypt",
|
|
"git-delta",
|
|
"gitui",
|
|
"gnupg",
|
|
"ijq",
|
|
"imagemagick",
|
|
"kubernetes-cli",
|
|
"neovim",
|
|
"pandoc",
|
|
"ripgrep",
|
|
"shellcheck",
|
|
"shfmt",
|
|
"sops",
|
|
"tealdeer",
|
|
"wget"
|
|
]
|
|
}, # }}}
|
|
casks: [ # {{{
|
|
"1password",
|
|
"1password-cli",
|
|
"alt-tab",
|
|
"android-studio",
|
|
"browserstacklocal",
|
|
"crossover",
|
|
"dotnet-sdk9",
|
|
"dotnet-sdk8",
|
|
"db-browser-for-sqlite",
|
|
"discord",
|
|
"discord@ptb",
|
|
"firefox@developer-edition",
|
|
"font-ibm-plex",
|
|
"font-jetbrains-mono-nerd-font",
|
|
"goland",
|
|
"google-chrome",
|
|
"imhex",
|
|
"insomnia",
|
|
"intellij-idea",
|
|
"iterm2",
|
|
"kitty",
|
|
"lens",
|
|
"obs",
|
|
"obsidian",
|
|
"orbstack",
|
|
"phpstorm",
|
|
"prismlauncher",
|
|
"qbittorrent",
|
|
"raycast",
|
|
"rectangle",
|
|
"rider",
|
|
"rubymine",
|
|
"sequel-ace",
|
|
"shottr",
|
|
"slack",
|
|
"spotify",
|
|
# "steam",
|
|
"tailscale-app",
|
|
"thunderbird",
|
|
"transmit",
|
|
"visual-studio-code"
|
|
] # }}}
|
|
}
|
|
|
|
liftoff packages
|