New cool workflow thing: this jujutsu script that drops you into a temporary workspace shell. Great for agents, or just to work on two things simultaneously and figure out the merge later.
https://t.co/sQL4XDTOFe
Big QoL improvement for our Nix CI: piping all output through
sed -E 's#/nix/store/([a-z0-9]{5})[a-z0-9]{27}-([a-zA-Z0-9+?=._-]+)#<\2_\1>#g'
It renders store paths as <python-3.10_0a1b2>, making it a lot less intimidating esp. to non-Nix folk
@jonascarpay Nice writeup! Funny enough, I have exact the same setup ready for AWS tutorial to be used with Cachix Deploy (https://t.co/4fC2pEG3jh).
Use the AMI to bootstrap the initial connection and then use Cachix Deploy to take over the NixOS bits and leave provisioning to Terraform.
New blog post: a comprehensive guide to end-to-end-declarative deployment with Terraform and Nix (and EC2)!
https://t.co/6o5aQ8DLwm
#Terraform#nixos#DevOps
I've been wanting to build a HIE backed source code grapher for ages, and now I don't have to! Even better, @jonascarpay has done a much better job than anything I envisioned. Go give this a try!
And finally, from hashable: the regressions test suite. This is one's neat because Regress.Mmap is generated from a .hsc file.
calligraphy tests/Main.hs 'Regress*'
I'm excited to announce the release of calligraphy, a Haskell source code visualizer!
Github: https://t.co/mDHry02kwg
Blog post: https://t.co/Rrks81M9xd
Cool pictures of things you can do with it: 🧵👇
From calligraphy itself: the central LexTree data structure, and its reverse transitive dependencies.
calligraphy 'src/*' --reverse-root LexTree --collapse-data --collapse-values --no-cluster-modules
Haskell trick of the day: Love newtypes but hate their derived Show instances? With -XDerivingStrategies, you can write `deriving newtype Show`. This overrides the default behavior of printing the constructor, and just reuses the parent Show instance directly instead. #haskell
I only just found out that https://t.co/IcA7DL5SaW exists, containing IntMap/Set wrappers for any Enum. Just to be sure I checked the asm, and with -O2, overhead optimizes away completely for Int newtypes. No more choosing between performance and convenience for Key newtypes!
Here's the third post in our series about #PureNix (a #PureScript to #Nix transpiler). This is a mostly non-technical post about what lead us to start writing PureNix.
https://t.co/8gHQV9KoUd