summaryrefslogtreecommitdiff
path: root/Biz
AgeCommit message (Collapse)Author
2023-08-16Run lintBen Sima
Idk why these missed the linter. Probably packages updated in the nixpkgs version bump.
2023-08-16Lint concurrentlyBen Sima
Roughly a 2x speedup.
2023-08-16Add llama-cpp and exllamaBen Sima
2023-08-16Update nixpkgs to 23.05Ben Sima
2023-08-10Allow underscores in namespacesBen Sima
2023-08-07Get ava.py running with nixified buildsBen Sima
I had to redo some of my python overrides and crib the bitsandbytes.nix from upstream. Ava is failing because: ValueError: Tokenizer class LlamaTokenizer does not exist or is not currently imported. I think this means I need to update my nixpkgs pin, so I'm gonna snapshot my work in git, do the update, and that might obviate the local bitsandbytes.nix anyway.
2023-08-07Working nixified python buildBen Sima
This represents quite a few evenings of hacking. It doesn't build all of my Python code, because my Python code is not up to snuff, but it builds the examples and pulls in third party dependencies. Some design points: - I'm using buildPythonApplication in Builder.nix because it was getting way too annoying to wrap the Python script and set PYTHONPATH myself. Easier and more robust to just use the upstream nix builder - Because of this, I had to generate a setup.py. Maybe switch to pyproject.toml in the future, whatever. - Also because of this, Target.wrapper is becoming redundant. I'll just remove it when I get Guile built in nix. - Biz/Bild.nix is getting messy and could use a refactor. - In Builder.nix, I worked around the empty directories bug by just finding and deleting empty directories after unpacking. If its stupid but works it ain't stupid! - I had to touch __init__.py files in all directories before building. Annoying! - `repl` just works, which is awesome - To ensure good Python code, I moved lints and added type checking to the build. So I can't build anything unless it passes those checks. This seems restrictive, but if I want to run some non-passing code, I can still use `repl`, so it's actually not inhibitory.
2023-08-07Add hostname to LocalBen Sima
2023-08-07Set BIZ_ROOT in nix builderBen Sima
2023-08-07Remove unneeded nix-instantiate argumentsBen Sima
2023-08-07Documentation improvementsBen Sima
2023-08-03Add packageSet argumentBen Sima
2023-08-03Move buildPhase to a nix-instantiate argumentBen Sima
2023-08-02Better log messageBen Sima
2023-08-02Some notes on Biz.LogBen Sima
2023-08-02Fix nix syntax to include pkgsBen 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-31Capture and return stdout from procBen Sima
2023-07-31Add srcs to TargetBen Sima
Only fully implemented for Haskell at the moment but that is okay.
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-07-28Fix tags generation in git hookBen Sima
2023-07-28Add NIX_CFLAGS_COMPILE and some depsBen Sima
2023-07-12Fix sabten portBen Sima
2023-05-03Add C indent linterBen Sima
2023-05-03Wipbase implemented by GPT-4Ben Sima
2023-04-28Add patched autogen for guile 3Ben Sima
2023-04-28Parse more meta in scheme codeBen Sima
2023-04-28Default to Guile 3.0 everywhereBen Sima
Without this, Guile libraries like SDL2 will use Guile 2.0 instead.
2023-04-28Reorganize to Biz/Cloud/CommsBen Sima
2023-04-28Setup meshhub for funBen Sima
2023-04-07Add bitcoin rpc portBen Sima
2023-01-09Reorganize some Auth/App stuffBen Sima
2023-01-06Use str instead of Text.packBen Sima
2023-01-06Fix guile lib building bugBen Sima
I need to guard on the existence of `out`. This should properly be a `Maybe FilePath`, but to make that change requires a lot of refactoring that I don't want to do right now. Instead, I added it to my todo list for later.
2023-01-06Expose some packages in the nix libraryBen Sima
At least one namespace (Biz/Dragons/Analysis.nix) needs this.
2023-01-05Fix a bug where I couldn't bild from a subdirBen Sima
I need to use the absPath, and the `makeAbsolute` function doesn't actually verify that the path is correct, it just prepends the CWD to the given path.
2023-01-05Also log bild output to a fileBen Sima
2023-01-05Enable nostr nip-5 verificationBen Sima
2023-01-04Deploy nostr relay serviceBen Sima
2023-01-03Add mumble and botamusique servicesBen Sima
2023-01-03Add nl to push logging outputBen Sima
2023-01-03Remove devalloc.io (expired domain)Ben Sima
2023-01-02Add m.youtube redirectBen Sima
2023-01-01Add black and pylintBen Sima
2023-01-01Support -h in Biz.CliBen 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-16Stub ava chatbotBen Sima
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.