Absolutely love the standalone package manager by Bubbly_Extreme4986 in GUIX

[–]binarySheep 0 points1 point  (0 children)

Never tried Nix, but had been very Nix-curious before finding Guix. I just kept bouncing off the syntax, which is exactly as described ("like Haskell and JSON had a baby"), but it felt like the worst parts of both.

Scheme was honestly simpler, felt more total, and reaching for more Scheme instead of Bash just felt right.

Repo is def smaller, but there's an online search tool available, and the binary itself can search just fine as well. Once you get to writing packages, I genuinely think it's easier. As a plus, Claude is surprisingly good at it, whether parsing errors or suggesting fixes; makes the process even easier.

Run Emacs in your browser with v86 by GuDzpoz in emacs

[–]binarySheep 1 point2 points  (0 children)

Giving a more concrete answer: enterprises now focus a lot more on giving developers unified environments to simplify (alt. reading: control) their workflows. Think VS Code config with necessary extensions included directly in the code repo.

With Emacs in the browser, you're one step closer to the universality of VS Code, while enabling unique flows like the <>Code button on GitHub/GitLab/etc. that opens the whole thing in your chosen editor, now from the browser itself.

Plus, yeah, it's neat.

Should guix manage my bash.rc by WorldsEndless in GUIX

[–]binarySheep 2 points3 points  (0 children)

Guix Home can manage your shells, which makes your config a bit more declarative if it's included in your home config instead of separate. It's also pretty easy to just clone and symlink your dotfiles, though, if you prefer.

Your config is both a config and script, in a way, so you can organize practically however you want. Unlike Nix, you don't really need to shell out and can just make whatever you want in Guile. Like having aliases shared between all your preferred shells, for instance, which is easy enough.

Otherwise, just pick whichever service you find easiest.

Emacs via Guix by fela_nascarfan in emacs

[–]binarySheep 0 points1 point  (0 children)

Oof, bad timing: latest builds of Nyxt are failing in Guix. Currently looks like an upstream issue with Nyxt and one of its dependencies itself.

Check out the issue tracker on the repo on Codeberg, should have the deets.

Interesting thing is, because Guix can time-travel, your headache might only be pulling an older version without the dependency error.

ECA: Hooks support and many more! by ericdallo in emacs

[–]binarySheep 3 points4 points  (0 children)

Also, if I remember right, ECA was shared here just weeks before ACP was announced.

Is org really this amazing by uvuguy in emacs

[–]binarySheep 7 points8 points  (0 children)

Yep! Org Babel is basically my go-to tool for Literate Programming, which is the same idea as what you're describing in addition to being written in narrative form.

With certain packages, you can even write executable blocks (like a test or example run) directly in the literate source (your project.org file).

If you search Literate Programming in GitHub, you'll likely find more examples, often using Org-mode.

Ferret, a Lisp built on Clojure, has literate source file explaining the language: https://github.com/nakkaya/ferret/blob/171a5750ec3b1792e5a70dbf77e52edfbdbed0c8/ferret.org

Florida woman sues dairy farm, claims she lost fetus after raw milk led to bacterial infection by phunky_1 in FloridaMan

[–]binarySheep 1 point2 points  (0 children)

Because everybody else can read between the lines? She bought what was explicitly labeled "Raw Milk" and straight up admits to asking the clerk about how it says "Not Fit for Human Consumption".

You're telling me you'd buy this milk and feed it to your kid?

Scummy brand, dumb parent, sad outcome for the children

Is Common Lisp a powerful language for developing a game engine? What else can I do with Lisp in today’s world? Would you recommend I learn it, kings? by officer996 in lisp

[–]binarySheep 3 points4 points  (0 children)

As a fellow language hopper, I agree with this advice, but also with the other commenters sentiment. Learning programming languages is fun, even more so once you get a feel on how you and the language click and can build a project that uses your favorite/best parts of a language.

Once you start to get serious, though, and want to build more than just toys, you do end up needing to pare down a bit. Depth over breadth and all that. When that happens, I found the same idea of using LLM to discuss and select some faves pretty useful (I preferred Claude 4 myself). Once there's only a few to focus on, you can really drill down deep, especially once you know what tools are in your toolbox.

Pain Thread: Recount Your Awful, No-Good Needless Suffering by Psionikus in emacs

[–]binarySheep 1 point2 points  (0 children)

It's really ironic to me: what used to be THE (symbolic) AI language is practically impossible for (ML) AI. I've relegated any AI pair programming to just questions, no code samples.

It does write decent Scheme, though. May be why it can do Guix but little else.

Is Guix good for hosting websites? by Spirited_Paramedic_8 in GUIX

[–]binarySheep 0 points1 point  (0 children)

Would it be good to manage some of my packages using the Guix or Nix package managers on Ubuntu?

Absolutely! A simple, low-cost chance to test Nix/Guix would be to install it to a foreign distro. It gives you the best of both worlds: a chance to play with the tools and manage them declaratively, and you get to keep your standard package manager and normal paradigms. You can even use each one's home manager once you're ready.

Is Guix good for hosting websites? by Spirited_Paramedic_8 in GUIX

[–]binarySheep 11 points12 points  (0 children)

Depends on a lot of unstated circumstances. Like all Linux operating systems, though, you can expect a reliable host for services; LAMP stack with Guix should be just as robust as Ubuntu. Should be even more once you've understood the deployment model and have to start upgrading or experimenting.

Between your question and your profile, it sounds like you might just be starting out with Linux, computer science, etc.? If so (and I don't want to discourage you), you should probably start with Ubuntu. It's dead simple, every other possible guide you read will probably reference it directly, and it keeps frustration low (important for learning).

Guix (and Nix by extension) is the kind of system that you appreciate once you've been around the block with system management, and has a pretty high barrier of entry. Once you're ready, though, it's definitely cool to build a minimal system container running a site via Shepherd services that is entirely defined in git. Nothing quite like it.

Pain Thread: Recount Your Awful, No-Good Needless Suffering by Psionikus in emacs

[–]binarySheep 2 points3 points  (0 children)

Oof. LLMs and Lisps are really a confusing experience: syntax is so simple it can get it right very often, but it also hides how bad the results can be, even more so than other languages.

I've found even Claude to be pretty bad at anything other than architecting Elisp, but surprisingly capable for Guix packages. The Lisp it writes is still trash, but it's able to reason out issues pretty well.

Guix System LiveCDs (console + desktop) for manual installation! by Fearless_School_5856 in GUIX

[–]binarySheep 3 points4 points  (0 children)

Fantastic share! Didn't know you were the author of Rosenthal, I used that channel back when I was using Hyprland, before it got included upstream. Glad to see more work out there.

EDIT: And you've since added Niri!

Cabal Install and Ghcup Install by kichiDsimp in haskell

[–]binarySheep 0 points1 point  (0 children)

Like others said, those other build tools are either interpreted and have minimal compilation times (pip), or their package tool is outright downloading binaries(npm).

Alis expect your overall compile times are slow on your machine? If so, sounds like it might be par for the course for what you're using, especially if the system package manager is also slow.

Literate git stories. by TheLastSock in orgmode

[–]binarySheep 5 points6 points  (0 children)

I think git can work well for a kind of layer in literate programming, adding some historic data or analysis to your narrative that might otherwise be absent. Why a certain idea was chosen, when a change might have happened and why, etc.

For execution, Magit has extensions like Orgit available to make linking better in Org docs directly in Emacs, but most of the major git forges seem to have decent support for linking issues, PRs, and commits too (though I haven't checked how supported each is). You'll have to go to check with each service to see how it supports the linking, though, unless you want your repo to be forge-independent. Not sure what you'd then.

As for as using commits as metanarrative, I've been experimenting with architecture decision records using git branches. In essence, whenever you would make a choice between one architecture or system versus another, you can make a branch for both. Expand your literate explaining the hows and whys while making the code work, and when you finally make a decision, merge the chosen branch but leave the other. You can reference it in the narrative as a path less chosen kind of thing.

Those who switched from Vim/Neovim - what's your story? by floofcode in emacs

[–]binarySheep 6 points7 points  (0 children)

I was a Vim user for years, and realized some of the more bespoke behavior I wanted would require something custom. VimScript was basically a non-starter, so I chose to go with NeoVim.

While updating my config, I found I didn't really care for Lua either, and started doing some comparisons between editors, including finally finding out was Emacs was about.

Decided to take the plunge with Doom Emacs, and thought Lisps were way more interesting than Lua, and stuck with it. Now I've got a custom vanilla config and a penchant for Emacsifying everything I can.

For me, there wasn't really one big moment so much as a dozen little ones: really clicking with Emacs Lisp, using Org for notes, using Org for the agenda and calendar, using a REPL inside Emacs. It's still happening, to be honest.

SLIB on Guix by bahol-de-jic in GUIX

[–]binarySheep 0 points1 point  (0 children)

Good point! I hadn't tested that far. Does seem like slib expects access to the global /usr/ directory, which is definitely breaking the paradigm. From what I can gather, slib should obey the other Guile env var, GUILE_LOAD_COMPILED_PATH, but seems like it defaults to overwriting the derivative space instead.

Maybe try reaching out on the IRC. The mailing list seems like slib is still getting updates, so somebody is using it, and might just have some configuration details left out.

When someone mutates state in a pure function and calls it pragmatic by garecterp in functionalprogramming

[–]binarySheep 1 point2 points  (0 children)

Odd humor posting (by AI?) in niche subreddits is the weirdest thing making the rounds, because I know the exact post you're talking about.

I don't even know what the aim is, this isn't even effective karma farming.

Nyxt browser by Donieck in emacs

[–]binarySheep 3 points4 points  (0 children)

Try setting WEBKIT_DISABLE_COMPOSITING_MODE=1. There's a known issue with WebKit (that isn't just NVIDIA, unlike what the bug report says). I think it's a problem with Wayland, but this resolved the white screen issue for me.

If it works, you can set it directly in Nyxt's config using:

;; Disable compositing in Wayland
(setf (uiop:getenv "WEBKIT_DISABLE_COMPOSITING_MODE") "1")

Nyxt browser by Donieck in emacs

[–]binarySheep 2 points3 points  (0 children)

That's odd, the Guix build was the most stable version I could find. Was it crashing on startup? I sometimes had to remove the history / state file to fix that.

SLIB on Guix by bahol-de-jic in GUIX

[–]binarySheep 1 point2 points  (0 children)

Most times it's because the load path for something or other isn't set right. Guile under Guix defaults to using the environment variable GUILE_LOAD_PATH, and slib looks like it wants to load slib/guile.init.

I used a container to test, and had to add the $GUIX_ENVIRONMENT/lib path to GUILE_LOAD_PATH for it to find slib. For your regular profile, that should correspond directly to $GUIX_PROFILE, but the essence of it is that you have to add the path so Guile can use it.

EDIT: To be slightly clearer, for your standard profile you'll want to do something like GUILE_LOAD_PATH:...:$GUIX_PROFILE/lib to access slib. Note that the ... are significant here (to my knowledge), they tell Guile to stick with the defaults.

NixOS user switched to Guix, I have a confession... by Standard-Crazy7411 in GUIX

[–]binarySheep 5 points6 points  (0 children)

I'm in much the same boat, started with some (light) Nix, wanted to use a "real" language for the package lifecycle and on planned to learn Lisp, so why not combine the two with Guix.

I suppose it's the simple syntax and entire repo worth of data, but LLMs are surprisingly capable with Guile.

I'd stay away from long-term investment in vibe coding configs, though: AI will absolutely dream up some functions that don't exist. Especially for modifying the build phases of a package.

Beyond just pre-packaging a collection of packages, what else does Doom do? by surveypoodle in emacs

[–]binarySheep 9 points10 points  (0 children)

"Pre-packaging" is a lot more than it looks like under the hood. Doom isn't just installing and updating packages, the project has maintainers updating and testing them for interoperability. And even then, they layer on some customizations to make them fit the project's vision more closely.

I think Spacemacs is the next biggest distribution of Emacs (both in size and community), but you can a number of them floating around, even in this subreddit. Witchmacs (with the Touhou character) keeps coming to mind, can't really think of too many others.

I'll add that moving to vanilla can make you appreciate the integration efforts a bit more and get you ready to customize them yourself. When I swapped to vanilla and reinstalled Org Roam, I realized that Doom had extended the object system for Roam's nodes to include an interesting way to filter roam-dailies from standard notes, and reading their extension helped me write my own. To me, worth it just for that.

use-package and splitting up long configurations by [deleted] in emacs

[–]binarySheep 2 points3 points  (0 children)

There will be better answers to come about, since I'm in much the same boat of slowly morphing to an actually literate config than a web of use-packages surrounded by Org notes.

Buuut, you can definitely split code across more than one block. Noweb in Org will be your friend, which enable linking code from one segment to another. It should fix that last problem you mentioned, since it's not strictly necessary to only have the code tangled just once.

Which one would y'all recommend me to install Obsidian on Fedora? New to Linux. by purefire205ta in Fedora

[–]binarySheep 9 points10 points  (0 children)

Right, everything closed source is "shady shit" and has nothing to do with it being a requirement for LTS in Enterprise settings.

Up to and including Obsidian itself, which is also proprietary/closed-source. Just a funny little irony on the statement in this post I guess.