[HN Gopher] Show HN: Applite - Clean Homebrew front end app for ... ___________________________________________________________________ Show HN: Applite - Clean Homebrew front end app for macOS built with SwiftUI Author : milanvarady Score : 171 points Date : 2023-08-10 13:13 UTC (9 hours ago) (HTM) web link (aerolite.dev) (TXT) w3m dump (aerolite.dev) | sharp11 wrote: | I'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 wrote: | Very 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. | Syzygies wrote: | I 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/ | | 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 wrote: | I 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 wrote: | One 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. | SmellTheGlove wrote: | I 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. | Ambroos wrote: | There's a decent open source option: | https://github.com/munki/munki | | I got to use it at work at Meta (as end user), and it seemed to | work quite well. They delivered Android SDKs/IDEs and a bunch | of other things that I'd personally install through Brew with | Munki. | ljm wrote: | Assuming 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/ | tough wrote: | This sounds like a great idea and a good COSS lifestyle company | to run | tmikaeld wrote: | That'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 wrote: | My 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 wrote: | Same here. There are at least a few of such tools, and they | are highly customizable. | zapw wrote: | > What information does Applite track? | | > None. | | Absolutely love this part of the page---we need more software | with this philosophy. Kudos. | kryptozinc wrote: | What is your monetization strategy with this app? | nonameiguess wrote: | I love the guy's actual answer. It's always interesting to see | this be a question. What is yum's monetization strategy? What | is apt's? Does any package manager have a monetization | strategy? If anything, they might be components to a larger | distro that itself sells enterprise support packages, but the | software itself is rarely if ever monetized. Homebrew is BSD- | licensed and currently run by a nonprofit. The original | developer never tried to make it into a product and "monetized" | by parlaying the experience he gained doing it into highly paid | engineering jobs in spite of having no formal training in | computer science or software development, and eventually | started his own company when he got tired of working for Apple. | notpushkin wrote: | Does everything have to have a monetization strategy? | kryptozinc wrote: | I don't want to be the "product" of this free app. | rubicon33 wrote: | As a user of an app, its always a fair question to ask. | | "Free" usually means you are the product. | princevegeta89 wrote: | "Open Source" means you are not though. | e12e wrote: | No, capital F Free (as in freedom ) usually does not mean | that. Closed source and gratis often do. | | You're not "the product" for the Apache web server or the | Linux kernel... | tchbnl wrote: | This being HN, I can't tell if this comment is a joke or not. | milanvarady wrote: | Nothing. It's a passion project of mine. I accept donations to | cover the Apple Developer Program fees. | w10-1 wrote: | There would be a lot of value in whitelist and audit features | for IT to manage their risk when letting developers install | applications themselves (if not also a binary repository). | | One model (and possible partner) here is Sonatype, with a | growth path into binary repositories for development (Swift | packages, cocoa pods et al). | | I realize you might not want the burden, but you might | partner with someone or some company. (And I would encourage | others to collaborate before forking.) | merryje wrote: | It has an MIT license on GitHub | | https://github.com/milanvarady/Applite | EduardoBautista wrote: | I 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? | xcdzvyn wrote: | Yes. | threesevenths wrote: | Any 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 wrote: | Applite 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 wrote: | If you want to track, charge or close-source your code, it is | okay, the Streisand-effect from all the freeloaders will save | you. | driggs wrote: | This 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 | > Q: What information does Applite track? > A: None. | campfireshuffle wrote: | In 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 | fewald_net wrote: | So many animation on this website. | spiderfarmer wrote: | This is the "Username checks out" comment of HN. | dreadlordbone wrote: | Thats AOS for ya [1] | | [1]https://michalsnik.github.io/aos/ | catskull wrote: | Just looking at your site now. I'm inspired by your projects | page. | dimmke wrote: | There's another decent application for this called Cakebrew, but | not sure if it uses native Apple UI APIs | milanvarady wrote: | As 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) | dmix wrote: | I 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. | server_man3000 wrote: | Dude, neat! | adamredwoods wrote: | Neat project, can I swap out brew and use macports? | milanvarady wrote: | No. 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 wrote: | Tbh, 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 wrote: | I 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) | gorbypark wrote: | Does it only do Casks, or CLI apps as well? | milanvarady wrote: | Just casks | dmix wrote: | Seems to just like my cask apps in the UI. | efitz wrote: | Where do the app icons come from? | milanvarady wrote: | From a similar project called App Fair (https://github.com/App- | Fair/App). They have a separate repo containing supplemental | data for casks. | pheeney wrote: | Installed 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 wrote: | I think it was a DNS issue. I changed my DNS servers and now it | works. Great project! | macrael wrote: | My 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 ___________________________________________________________________ (page generated 2023-08-10 23:01 UTC)