5 ms·
Could you elaborate what is preventing it from being the perfect backend dev laptop?
by firstSpeaker 4y ago
Could you elaborate what is preventing it from being the perfect backend dev laptop?
- klodolph 4y agoI’m not the person you asked—but a ton of developer tooling just runs better on Linux. Installation is usually easier too—on a Mac, there’s Homebrew, but Homebrew doesn’t have the best user experience. All the GUI productivity apps run better on a Mac—image editors, IDEs / text editors, apps like Slack or Zoom or whatever.
- recuter 4y agoWhat specific developer tooling runs better on linux? If you're one of those Nix masochists I hear that runs on the Mac as well.
- rgrmrts 4y agoFwiw you can use nix (the package manager) and the nixpkgs package repository without ever learning or writing a single line of nix (the language). My introduction was to use nix instead of brew and ignore the whole "declarative configuration" aspect. It took me a while to get comfortable enough with that part of the ecosystem, but that's irrelevant to my point. Give nix a try, use it like you'd use brew. Ignore the declarative configuration stuff for a bit.
- recuter 4y agoWhat benefit would joining your cult bestow upon me that brew does not already? My brew list is intentionally very short and my faffing about desire is limited. Generally I use brew to pull in asdf (https://github.com/asdf-vm/asdf https://github.com/asdf-vm/asdf) to install programming languages/tooling, it works flawlessly. I use Pipx (https://github.com/pypa/pipx https://github.com/pypa/pipx) to install python thingies (such as yt-dlp) as a cli. Go and Rust handle binaries in their languages beautifully and without issues.
- klodolph 4y agoI am constantly fighting with Brew. If your brew list is short, congratulations, you’re free. I’m not free; there are too many packages I use.
- recuter 4y agoIf you're fighting with it something got b0rked along the way and you'll just keep having issues. When you have some time might be worth it to start over. Don't use brew to install/manage your python, try it like how I wrote.
- rgrmrts 4y agoI used brew for years and it's a fine tool but I found it lacking. It doesn't give you control when you need it, and telling a user that something got b0rked along the way and asking them to start over isn't good developer experience (in all fairness, neither is the current status of the various nix cli's, but trade-offs am I right?). I've lost so many hours because something broke and sometimes it was because one dependency got updated and broke other packages and other times it wasn't obvious what broke, and I would have to start from scratch. I never used brew to install or manage my python precisely because it gave me so many issues.
- klodolph 4y agoYou don’t understand. I’m constantly fighting Brew on all three computers where Brew is installed. Yes, I have wiped them, the problem is Brew, it is not the particular installation. If it were a problem with one particular installation of Brew, then it would not suddenly become a problem on a new fresh install of Brew. The idea that you would need to wipe anything to start over is just bizarre to me in the first place. One of the many problems with Brew. Brew is extremely slow and it is prone to doing things that I do not want it to do without explaining why it is doing them or how I can alter its behavior (why is it installing package X? why is it updating right now?). Sometimes when I install a package, I get a spurious failure, and I need to re-run the installation command. Sometimes I just want to install one package, but it goes through “brew update”—which is extremely slow.
- kitsunesoba 4y agoCan I just do “nix install foo”? I looked into nix ages ago but opening a text file any time I wanted to install some random package just felt too weird.
- rgrmrts 4y agoYes! (kind of, I wish `nix install` was a thing) # search for a package called `foo` nix search nixpkgs foo # install package foo, user-wide nix-env -i foo The CLI UX can get better, and I'm fairly sure folks are working on it. You can also test-drive a package without committing to it, e.g. you want to try the program `cowsay` but only want to use it once: nix-shell -p cowsay cowsay exit This spawns a new shell with `cowsay` available, and after you exit it won't be cluttering your system packages.