obelisk
nix
obelisk | nix | |
---|---|---|
26 | 392 | |
962 | 12,910 | |
0.5% | 2.2% | |
3.7 | 10.0 | |
9 days ago | 5 days ago | |
Haskell | C++ | |
BSD 3-clause "New" or "Revised" License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
obelisk
-
Help initializing obelisk project
Hello I remember successfully setting up obelisk a while ago and have gone through the instructions https://github.com/obsidiansystems/obelisk and ensured that everything is installed correctly, when I run the install command fro obelisk it says that it's installed but when I run ob init I get an error of command not found, this is an arch machine not nixOS. Any help would me much appreciated.
-
Web ui framework
If you want to use reflex, the obelisk framework is pretty user friendly. You do have to install nix on your machine, but the ob command handles all the nix interactions for you so you /hopefully/ don't need to know much.
- obelisk/README.md at master · obsidiansystems/obelisk · GitHub
-
Why are haskell applications so obscure?
You can make all those things in haskell, and I do professionally. Frontends (entirely in haskell), native IOS and Android applications, Servers, and Games. In fact the framework Obelisk does most of these all out of the box.
- Any advice on making a mobile app using Haskell?
-
Building a Haskell CRUD stack with Obelisk for PowerZonePack
Thanks for the comment! We can honestly say that Obelisk is far from perfect, but we're continuously improving the project in our daily basics. And that's why we encourage you to start your adventure with the lib anew. If you still miss a guide to routing with Obelisk, please read this doc. Our team would be happy to answer your further question regarding Obelisk; feel free to email us anytime!
-
GitHub - NorfairKing/haskell-dependency-graph-nix
I also had a use case where I needed to extract the nix derivation dependencies of haskell packages: https://github.com/obsidiansystems/obelisk/pull/933
-
Web development in Haskell
There's also GHCJS, with https://github.com/obsidiansystems/obelisk being (probably) the best choice, but personally I found it extremely tedious to set up a dev environment (not a nix guy) and there's also the learning curve of FRP.
-
The Big List of Haskell GUI Libraries
https://github.com/obsidiansystems/obelisk, https://shpadoinkle.org/
-
Monthly Hask Anything (July 2022)
I can't speak to the nicest way, as I haven't actually developed any Android apps with Haskell, but I've been meaning to give Obelisk a try.
nix
-
7 Ways to Use the SLSA Framework to Secure the SDLC
To achieve reproducibility, your build process must control for environmental differences like timestamps, file ordering, or machine-specific configurations. Tools like Bazel or Nixprovide deterministic build systems that lock down these variables. For instance, Bazel uses a content-addressable cache, meaning the same source code and dependencies always result in the same build outputs, even when run on different machines.
-
How to start using nix?
An operational system, in the form of Linux distribution, called NixOS.
-
A New Era of macOS Sandbox Escapes
O/t but if any sandbox experts know of strategies to get around the maximum "pattern serialization length" limitation, this issue has been driving me nuts for quite a while: https://github.com/NixOS/nix/issues/4119
Unfortunately sandbox-exec isn't really documented (and supposedly deprecated?) so trying to sort this out is a bit of a headache.
-
Developing with Docker
These are the sort of issues that Nix <https://nixos.org/> solves quite well. Pinning dependencies to specific versions so the only time dependencies change is when you explicitly do it - and the only packages present in your images are ones you specifically request, or dependencies of those packages. It also gives you local dev environments using the ~same dependencies by typing `nix develop`.
Once you get past the bear that is the language, it's a great tool.
- ❄️ NixOS: OS as Code
-
Zb: An Early-Stage Build System
(Hi! I recognize your name from Bazel mailing lists but I forget whether we've talked before.)
I'm mostly contrasting from Nix, which has difficulty with poisoning cache when faced with non-deterministic build steps when using input-addressing (the default mode). If zb encounters a build target with multiple cached outputs for the same inputs, it rebuilds and then relies on content-addressing to obtain build outputs for subsequent steps if possible. (I have an open issue for marking a target as intentionally non-deterministic and always triggering this re-run behavior: https://github.com/256lights/zb/issues/33)
I'll admit I haven't done my research into how Bazel handles non-determinism, especially nowadays, so I can't remark there. I know from my Google days that even writing genrules you had to be careful about introducing non-determinism, but I forget how that failure mode plays out. If you have a good link (or don't mind giving a quick summary), I'd love to read up.
I have considered Starlark, and still might end up using it. The critical feature I wanted to bolt in from Nix was having strings carrying dependency information (see https://github.com/NixOS/nix/blob/2f678331d59451dd6f1d9512cb... for a description of the feature). In my prototyping, this was pretty simple to bolt on to Lua, but I'm not sure how disruptive that would be to Starlark. Nix configurations tend to be a bit more complex than Bazel ones, so having a more full-featured language felt more appropriate. Still exploring the design space!
-
Nix 2.24 is vulnerable to (remote) privilege escalation
This is fixed in 2.24.6: https://github.com/NixOS/nix/releases/tag/2.24.6
See also https://discourse.nixos.org/t/vulnerability-in-nix-2-24/5190... for updates.
Can someone link to the actual fix? It's a bit hard to navigate the git history for me...
-
Managing NixOS on DigitalOcean with Colmena
DigitalOcean does not have out-of-the-box support for NixOS. However, we can use a custom image to launch a droplet with NixOS.
- Windows 11 tweaks and usability improvements
-
An Introduction to Nix for Ruby Developers
Nix is an entire universe of software. It runs on Linux and macOS, on both Apple Silicon and Intel processors, and has several components:
What are some alternatives?
reflex-platform - A curated package set and set of tools that let you build Haskell packages so they can run on a variety of platforms. reflex-platform is built on top of the nix package manager.
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
vscode-ghc-simple - Simple GHC (Haskell) integration for VSCode
distrobox - Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.
void-packages - The Void source packages collection
miso - :ramen: A tasty Haskell front-end framework
flatpak - Linux application sandboxing and distribution framework
godot-haskell - Haskell bindings for GdNative
homebrew-emacs-plus - Emacs Plus formulae for the Homebrew package manager
reflex-native - Framework for writing fully native apps using Reflex, a Functional Reactive Programming library for Haskell.
guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead