28 ms·
Show HN: Applite – Clean Homebrew front end app for macOS built with SwiftUI
- macrael 3y agoMy first thought is that it's a classic macOS dev strategy to take a CLI tool and build a UI for it. In retrospect brew is a perfect candidate
- donatj 3y agoIt's been about a decade since I ran desktop Linux in any meaningful capacity but I feel like that was the way a significant portion of the gui apps worked.
- ChrisMarshallNY 3y agoXcode is easily the largest (non-game) app on my computer, and it’s really just a glorified CLI client.
- blashyrk 3y agoThis becomes painfully obvious once the backend inevitably crashes at some point and the functionality of the editor is reduced to that of Notepad until you do a full restart
- threesevenths 3y agoAny tracking or privacy concerns we should be aware of that a polite adds on top of home brew? For example, does a polite collect data on the type of device, installed casks, user data, anything?
- milanvarady 3y agoApplite developer here. No, Applite has zero tracking built in, it's a 100% free and open-source. Only Homebrew tracks the number of downloads.
- vaxman 3y agoIf you want to track, charge or close-source your code, it is okay, the Streisand-effect from all the freeloaders will save you.
- driggs 3y agoThis is in the FAQ, which you don't even need to click to read from the front page: https://aerolite.dev/applite/index.html#details https://aerolite.dev/applite/index.html#details > Q: What information does Applite track? > A: None.
- kryptozinc 3y agoWhat is your monetization strategy with this app?
- merryje 3y agoIt has an MIT license on GitHub https://github.com/milanvarady/Applite https://github.com/milanvarady/Applite
- EduardoBautista 3y agoI am not a license expert, but doesn't MIT mean we can build upon it with proprietary changes and then sell it as proprietary software?
- notpushkin 3y agoDoes everything have to have a monetization strategy?
- rubicon33 3y agoAs a user of an app, its always a fair question to ask. "Free" usually means you are the product.
- princevegeta89 3y ago"Open Source" means you are not though.
- fewald_net 3y agoSo many animation on this website.
- dreadlordbone 3y agoThats AOS for ya [1] [1]https://michalsnik.github.io/aos/ https://michalsnik.github.io/aos/
- spiderfarmer 3y agoThis is the "Username checks out" comment of HN.
- catskull 3y agoJust looking at your site now. I'm inspired by your projects page.
- fewald_net 3y agoThank you very much!
- paxys 3y agoSeriously. It's like they found an animation library and couldn't resist using it for every single element on the page.
- Syzygies 3y agoI applaud this, for people who prefer a GUI interface. I started to write something to better organize synchronizing my Homebrew installation across multiple machines, then thought someone must have done this well already. Sure enough, https://pumpingco.de/blog/brewfile/ https://pumpingco.de/blog/brewfile/ A fantastic, clean way to reinstall or synchronize Homebrew setups, using the command line. I'm surprised that Applite doesn't accept a brewfile to ease migration. In my case I depend on Bash, Tailscale, and Ruby as installed by Homebrew, so a clean reinstallation is delicate. I have scripts to make sure I don't screw this up: 1 brew bundle dump.sh 2 uninstall homebrew.sh 3 install homebrew.sh 4 renew bash.sh 5 renew tailscale.sh 6 renew ruby.sh 7 renew brew bundle.sh choose-shell.sh
- JamesSwift 3y agoI have an idempotent provision script I use to install/update apps. The homebrew portion is basically brew upgrade HOMEBREW_NO_AUTO_UPDATE=1 brew bundle --file=Brewfile --cleanup --no-upgrade Works really nicely to keep everything tidy, up-to-date, and transferable.
- dividedbyzero 3y agoOne more neat trick for Brewfiles: They're evaluated as Ruby code, so you can use if-else etc. to conditionally install things on different machines with a single Brewfile. I use that together with yadm to manage both work and private laptops with minimum duplication.
- jmspring 3y agoAgree, it's good for those that prefer a GUI. I'm not sure the intended audience since if you are using Brew, you are generally doing a lot of commandline stuff. Your mention of the cross multiple machine synchronizing, however, is interesting! Good to find.
- eviks 3y agohow to you update you config with new/deleted apps if you've manually added categories and comments like the blog's author shows on his site?
- SmellTheGlove 3y agoI wonder if you’d have a monetization path here via enterprise support contracts and/or additional device fleet management features. The tech companies I’ve worked at have all had some amount of “use brew to install …” in our dev spinup docs. And IT doesn’t love it because when they get asked to support it, there’s no quick way to see what’s installed or what version without logging into the specific machine. And for whatever reason, it’s also challenging to roll out dev laptops with specific packages already installed. I presume it’s because maintaining them is difficult.
- tough 3y agoThis sounds like a great idea and a good COSS lifestyle company to run
- tmikaeld 3y agoThat's my first thought as well, there's a lot of IT companies supporting Macs that would LOVE a tool like this, especially if it's commercially supported.
- _1 3y agoMy company manages Macs with jamf. It comes with a "self service" tool that can install oss apps, apps we've licensed, change configurations, etc.
- baal80spam 3y agoSame here. There are at least a few of such tools, and they are highly customizable.
- ljm 3y agoAssuming everyone's on a Mac, I'm actually surprised there isn't that much use of something like homebrew-bundle[1]. It's definitely nicer to have your tooling run natively rather than, say, trying to wrap everything in Docker, or trying to get everybody on board with nix or guix. I think the only real issue here is that you can't really pin to specific versions unless a formula exists, and there is no guarantee that a formula with a pinned version will stick around because homebrew likes to stay lean. So to that extent it can still be unclear what version of software someone is running on after enough time. [1]https://github.com/Homebrew/homebrew-bundle/ https://github.com/Homebrew/homebrew-bundle/
- dimmke 3y agoThere’s another decent application for this called Cakebrew, but not sure if it uses native Apple UI APIs
- milanvarady 3y agoAs far as I know, Cakebrew is no longer maintained. There are quite a few alternatives though, you can see the full list on the GitHub page (https://github.com/milanvarady/Applite#alternatives https://github.com/milanvarady/Applite#alternatives)
- server_man3000 3y agoDude, neat!
- sharp11 3y agoI'm not the target audience (I prefer CLI), but as an iOS dev just wanted to say kudos. Great idea and looks to be very well executed. I'm curious to know how your experience with SwiftUI was on MacOS?
- milanvarady 3y agoVery mixed. I hadn't done any app development before this project, only games with Gamemaker and the Godot engine. Coming from that background, SwiftUI was very easy to pick up. In general, if SwiftUI has the feature or UI element you want, it's super nice and concise. If it doesn't, you're pretty much screwed. Also, Apple doesn't really understand the term "backwards compatibility" when it comes to SwiftUI. Without doing a ton of work on workarounds, I was only able to target Ventura or newer.
- efitz 3y agoWhere do the app icons come from?
- milanvarady 3y agoFrom a similar project called App Fair (https://github.com/App-Fair/App https://github.com/App-Fair/App). They have a separate repo containing supplemental data for casks.
- adamredwoods 3y agoNeat project, can I swap out brew and use macports?
- milanvarady 3y agoNo. I'm not currently planning to add macports support. If a lot of people request it, I might consider it, but it would be a lot of work.
- e12e 3y agoTbh, I'm not sure if mixing the two in one app would make sense. Maybe a second app at one point? I moved from macports to brew as for a long while there were no build servers for arm for macports - having to regularly build clang and gcc from source just to patch a few utilities is not much fun. But I believe that's been fixed for a while. I honestly think brew's policy of "latest, nothing or @specialcase" isn't great for a stable work environment. But it has a lot of mind share. In my view NixOS is too much, GNU Guix for better or worse won't support propitary toolchains like Mac, pkgsrc looks best on paper - but seems abandoned? Which leaves macports as perhaps the best option and homebrew a close second.
- ljm 3y agoI find myself preferring macports for a lot of things, but homebrew has brought its own niceness to the table. It's just a bit of a nightmare as a software author because so much rework is done to repackage your stuff in n formats: one for nix, one for guix, one for debian, one for redhat, one for homebrew, one for macports, snap, flatpak, AUR, cross-compilation for alpine, maybe add a PPA in there for the ubuntu fans...and then some of them try to wrap packages on npm, rubygems, pypi, etc. it's all done by the community but at the same time, so many of the people you want to help with your software won't touch it if their only option is to clone the repo and compile it (which in itself is simple, if done thoughtfully)
- e12e 3y agoThis is one reason I like pkgsrc better on paper. > clone the repo and compile it (which in itself is simple, if done thoughtfully) I find rust to be fantastic in this regard. And golang is quite good as well.
- gorbypark 3y agoDoes it only do Casks, or CLI apps as well?
- dmix 3y agoSeems to just like my cask apps in the UI.
- milanvarady 3y agoJust casks
- zapw 3y ago> What information does Applite track? > None. Absolutely love this part of the page---we need more software with this philosophy. Kudos.
- dmix 3y agoI was browsering through the app list, which is like a store, that's cool. Does anyone know an good open source apps for limiting the amount of time you spend on distracting sites (like HN)? I've found some firefox extensions but nothing very good.
- pheeney 3y agoInstalled via brew cask command and get the following error: App load error Couldn't load app catalog. Check internet your connection, or try restarting the app. I am running LuLu which I allowed the process to go through, tried to Retry and Quit but doesn't work for me. My 2c, I like the logo on the website better than the app icon. The heavy drop shadows make it a bit dated. The website logo is minimal and clean in comparison and would look nice in the dock.
- pheeney 3y agoI think it was a DNS issue. I changed my DNS servers and now it works. Great project!
- campfireshuffle 3y agoIn a similar vein, I created a web tool that can take your cask selection, save it to a temporary link and let you install all apps without creating an account https://coldbrew.vercel.app https://coldbrew.vercel.app
- graypegg 3y agoNice job! Looks really slick. I totally would’ve made good use of this when setting up a new Mac a couple months ago! Sometimes having browsable categories is perfect when you’re trying to remember everything you normally have installed.
- ChrisMarshallNY 3y agoThat looks great! I feel that SwiftUI apps seem to have a fairly “uniform” UI, but it’s actually perfect for this.
- malablaster 3y agoA GUI for homebrew is totally unnecessary.
- ccorcos 3y agoOne feature I would love is an ability to export a list of downloaded apps so I can import and re-install from a new machine. Even better if you can sync with Mackup. I’ve been keeping a shell script of all the install commands I run so I can get up and running quickly
- yett 3y agoYou can already accomplish this with Homebrew. If you type 'brew bundle dump' it creates a Brewfile (basically just bunch of install commands) containing all the apps you've installed via Homebrew. Simply copy this file over your new machine and type 'brew bundle install'.
- tony-allan 3y agoI installed Applite but it didn't automatically pick up already installed brew apps (as shown by "brew list"). I don't really want to install/reinstall them manually. Has anyone who has used Applite got any suggestions?
- brundolf 3y agoDoes it delegate to the homebrew CLI or is it a full reimplementation?
- milanvarady 3y agoIt uses the CLI under the hood
- brundolf 3y agoFair, reimplementation would have been a huge project. But I would've been excited because the official implementation is so slow :)
- koinedad 3y agoLooks super clean!
- TheCapeGreek 3y agoBit of a tangent: I noticed in the screenshots a Jetbrains-like logo for an IDE called AppCode. Been considering tinkering with Swift/Obj-C development for a bit. I know XCode's reputation as being awful though, so it sounded great that Jetbrains had a product for this. To my dismay they discontinued it[0] last December. There is at least a freemium/community plugin for Swift support on other IDEs[1]. [0] https://blog.jetbrains.com/appcode/2022/12/appcode-2022-3-release-and-end-of-sales-and-support/ https://blog.jetbrains.com/appcode/2022/12/appcode-2022-3-re... [1] https://plugins.jetbrains.com/plugin/22150-swift-support https://plugins.jetbrains.com/plugin/22150-swift-support
- sunnybeetroot 3y agoXcode is great.
- mobiledev2014 3y agoBoth are true. Xcode is a disaster, but it's also the best IDE there is.
- prxtl 3y agoThis is quite neat! But is it just me or does scrolling in the app feel... unnatural? Specifically in comparison to the rest of macOS?
- avinassh 3y agoI am on macOS Monterey and seems this app requires Ventura or higher. Does it use any APIs from the newer OS version? If not, could you please consider relaxing this and allow older version installations too?
- runxel 3y agoYeah I was wondering the same. Why tf does this need to be on the latest MacOS?
- avinassh 3y agomost likely milanvarady used the defaults from xcode to build and distribute
- milanvarady 3y agoI wanted to at least target Big Sur, but the problem is that Apple doesn't understand the term "backwards compatibility" when it comes to SwiftUI. Every new feature they add to SwiftUI is only for the latest version of macOS. And since SwiftUI is a relatively new UI framework, they add things that are missing or greatly improved from the previous solution. In conclusion, if I wanted to add extended support, I would have to put a ton of work into workarounds for features that are Ventura only.
- mikkelam 3y agoFeature suggestion: Add a 'popular' section. Should be easy enought to use the data from https://formulae.brew.sh/analytics/ https://formulae.brew.sh/analytics/. I also noticed some of the app icons are a bit grainy on the edges. Cool app!
- nathansherburn 3y agoAm I correct that this only shows GUI apps that can be installed via Homebrew? I'm sure I have some command line utilities installed that aren't showing up in Applite.
- milanvarady 3y agoYes this is casks only