summaryrefslogtreecommitdiff
path: root/Biz/Bild
AgeCommit message (Collapse)Author
2023-08-07Remove unneeded nix-instantiate argumentsBen Sima
2023-08-03Move buildPhase to a nix-instantiate argumentBen Sima
2023-08-02Factor out nix builder into Haskell.nixBen Sima
This also fixed a bug where every dependency would get pulled into the Haskell target while searching for transitive dependencies.
2023-07-31Implement nix builds for HaskellBen Sima
This is prototype quality. For some reason I think it breaks when doing `build **/*.hs`, which isn't good. But also it's working, and the code feels good. Next I'd like to get Python builds working, as hopefully that will force me to improve the existing code to support a second language.
2023-07-31Prototype nix expression generationBen Sima
There are some limitations to this implementation: 1. Using `runCommand` means this will re-run any time anything changes in the repo. The solution is to use the existing import detection to make a list of source files, and put that into a `stdenv.mkDerivation`, which I'll do next. 2. The `NeatInterpolation` usage is ugly. The templated nix code should be extracted into its own file, such as `Biz/Bild/Builder.nix`. 3. I'm not actually calling it yet. The ideal thing would be to call `nix-instantiate`, get the output drv path, and then call `nix-store --realise` on that. To do that I need to refactor my `proc` function to return stdout to the calling function, and I should probably just make helper functions like `nixInstatiate :: Target -> IO DrvPath` and `nixStoreRealise :: DrvPath -> NixStorePath`, or something like that.
2023-04-28Add patched autogen for guile 3Ben Sima
2023-04-28Default to Guile 3.0 everywhereBen Sima
Without this, Guile libraries like SDL2 will use Guile 2.0 instead.
2023-01-04Deploy nostr relay serviceBen Sima
2022-12-29Update nixpkgsBen Sima
Redis was failing a test on the previous version.
2022-12-28Get ava GPT chatbot prototype workingBen Sima
Mostly thid required packaging up some deps, but also had to recompile stuff with cuda support.
2022-12-16Switch from master to nixos-22.11Ben Sima
This way I am more likely to hit the cache and not have to build everything all the time.
2022-12-15Update nixpkgsBen Sima
2022-12-01Build gnutls with guile bindingsBen Sima
2022-11-13Add test for building guile extensionsBen Sima
Guile linking was first implemented in d8fe6f7ac54f155fe5a3c33509249a70d0c816c5. This test remained uncommitted since then because I wanted a better way to test it, but I couldn't figure out another way to test it, so here we are.
2022-11-07Support cudaBen Sima
2022-10-28Factor out metadata handling into Biz.Bild.MetaBen Sima
The code was becoming repetitive and messy, with functions like 'metaDep' and so on. So that's an indication that they just need to have their own home.
2022-08-08Remove some TODOsBen Sima
I don't like TODOs in my codebase, I'd rather keep them in org files. Eventually I need a linter that prevents all TODOs from getting into code.
2022-08-05Remove args from lisp exampleBen Sima
2022-08-02Fix test argument to depsBen Sima
2022-07-29Update nixos-mailserver and deploy Biz/Cloud.nixBen Sima
The cloud was old, so some extra fixes snuck in that should have been a part of the nixpkgs upgrade.
2022-07-27Upgrade nixpkgsBen Sima
2022-07-26Port Niv.Cli to Biz.Bild.DepsBen Sima
2022-07-25Run deadnix as a linterBen Sima
2022-07-25Add basic support for building C codeBen Sima
2022-07-25Remove GHCJS support completelyBen Sima
I don't care about ghcjs anymore, the most javascript I want to do is jQuery.
2022-07-19Provision lisp repls with nixBen Sima
asdf seems to always be necessary for any other packages to work, so I just include that in the call to nix-shell, and swank is included because it's just useful to start a repl server.
2022-07-19Upgrade nixpkgs, ghc923Ben Sima
I ended up deleting miso, and consequently all files under Hero/ and Miso/, because I couldn't get miso to build with GHC 9.2. Other things: - Niv has been wrapped by Biz/Bild/Deps.hs, so I can extend it to my liking. - Apply-refact is gone because I couldn't get it to build. - Disabled python stuff.
2022-07-18Delete ShellHook.sh in favor of just using direnvBen Sima
2022-07-18Change help to tipsBen Sima
"help" is a bash builtin, "tips" isn't the best but its just what I thought of first.
2022-07-18Move sentry function to Sentry.shBen Sima
2022-07-17Add support for SBCL replBen Sima
2022-07-17Add basic Rust supportBen Sima
Support for packages and third-party imports will need to come later once I figure out how to lookup rust packages by their import statements. Until then, this works to compile "hello world".
2022-05-24Add git and remove custom shell promptBen Sima
2022-03-30Replace ci with the git pre-push hookBen Sima
2022-02-18Remove old pie program from helpBen Sima
2022-02-09Move git hooks to own folderBen Sima
Instead of symlinking, just set the local git config.
2021-12-21Enable shellcheck lint and fix its warningsBen Sima
2021-12-21Extract repl program from bildBen Sima
This is basically building on top of bild's analysis, which is great becuase it means that bild is becoming a useful tool rather than a monolithic do-everything job runner. The eventual goal is for the bild analysis to be much more useful, maybe even provide data to remote repls or language-server or whatever.
2021-12-14Add custom package db to ghcPkgFindModuleBen Sima
This means my call to ghc-pkg will look at the full package set from Hoogle.
2021-12-13Remember to delete pre-pushBen Sima
2021-12-13Add --repl for Haskell programsBen Sima
2021-11-26Fix ci script and pre-pushBen Sima
2021-11-26Update cloud servicesBen Sima
Rebuilt email server, started wireguard setup.
2021-11-26Update to ghc 8.10.4Ben Sima
This also makes some changes to the build tooling to clean up the environment a bit, and get us closer to 'bild -s'.
2021-11-26Add hmacaroonsBen Sima
2021-11-26Fix ci commandBen Sima
2021-11-26Fix GitHub OAuth argsBen Sima
This makes it explicit that we are using GitHub vs some other OAuth args. The idea is that we should be making a new type for every service, this allows us to have type safety in the implementation but a common set or pattern of names for the environment variables and record fields. Also using 'notset' instead of 'mempty' is really helpful for debugging when this breaks, as I found out.
2021-11-26Rename Devalloc to DragonsBen Sima
2021-11-26Reimplement Que with ServantBen Sima
Still todo: add authentication. But that can wait. In re-implementing this, I was able to figure out how to get the Go.mult working properly as well. The problem is that a tap from a mult channel does not remove the message from the original channel. I'm not sure if that should be a core feature or not; for now I'm just draining the channel when it's received in the Que HTTP handler. (Also, this would be a good place to put persistence: have a background job read from the original channel, and write the msg to disk via acid-state; this would obviate the need for a flush to nowhere.) Also, streaming is working now. The problem was that Scotty closes the connection after it sees a newline in the body, or something, so streaming over Scotty doesn't actually work. It's fine, Servant is better anyway.
2021-11-26Begin packaging guix for nixBen Sima