[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)