Age | Commit message (Collapse) | Author |
|
Uses git test to run CI on every commit before push.
|
|
This is a command from git-branchless that will run and verify tests on all
commits in the revset. Now that the bild is stable and fast enough, I should be
able to use this to validate all commits before publishing, perhaps even running
the pre-push CI script.
|
|
It got out of sync with the code even within commit
7597d51ed4c866f596fb690d4d53d70bc01181b4, I dunno how I let that happen.
|
|
As a followup to 6040b2ceae7e6f4a0d41052663bf7826d1e52b4a, maybe this will
improve the direnv loading time & frequency issue.
|
|
Removes my custom llama-cpp build and instead pulls in the upstream build from
nixos-23.11.
|
|
I think these were false-positives and causing unnecessary re-evals of my nix
code. So sometimes after a checkout I would end up just waiting a few seconds
for my environment to come back, and that's annoying.
|
|
Using the same methodology as in d56f05863d789423ff785cec654155d8495373a9, where
I add additional nixpkgs via an overlay, I added access to nixos-23.11. I also
renamed the nixpkgs-stable dep to be more appropriate, given that it comes from
the nixos-23.05 git branch. I'm nost totally sure about the naming of the attr
in the overlay, maybe it should be 'stable-23_11'? But I feel like for
discoverability purposes it should be the same as the name in deps, so I'll just
stick with that.
|
|
This seems to be a bug in nixos, and disabling it is easy enough and doesn't
seem to break anything.
https://github.com/NixOS/nixpkgs/issues/180175
|
|
Apparently git hooks don't get called if they have a file extention, so these
weren't getting called at all since commit
904de577261e7024373e7a42fd763184764238f9. So this renames them back to the
extension-less versions, and adds an exception in bild for files in the
core.hooksPath directory.
Unfortunately this means Lint.hs will silently ignore these files, but I guess
that's okay for now.
|
|
I just like these UI settings better is all.
|
|
I was already using .sh to refer to shell scripts. When I added .bash, I didn't
realize that the linter was set to act on .sh files and not .bash files, so all
of these bash scripts escaped the linter.
This commit renames them to .sh, removes the .bash extension support from
Biz.Namespace, and fixes all the reported shellcheck errors.
|
|
nixfmt is the soon-to-be official formatter for Nix code, as per the NixOS
GitHub group. So I figure I should just adopt it without worrying too much about
the specifics of the formatting. I just formatted everything in one go, hence
the huge diff, oh well.
|
|
I (finally) switched my ISP account from my parents into my name, and they had
to restart my modem (ONT box?) to process this. So I got a new IP address.
|
|
By default, nix will use the maximum amount of cores available to the machine.
On my machine it was maxxing out the CPUs and then actually running out of RAM
when compiling JavaScriptCore and literally shutting down my machine. So, I need
to be able to control the concurrency and parallelism.
The default settings I chose should reserve 4 cores for the user.
I also changed --json to --plan because -j makes more sense for --jobs, as its
used this way in other tools like make and nix-build.
|
|
There are just too many packages that I need that are in nixpkgs unstable and
aren't in the release branches. Using it as an overlay like this means I can
just refer to the packages I want from unstable without pulling in all the
changes.
|
|
These just helped me when I tried to use it again and it didn't work and I
wasn't immediately sure why.
|
|
|
|
This should probably be enabled everywhere... oh well.
|
|
I couldn't get my monitor to work properly in xmonad, so decided to use gnome
for a while because I'll be away and will be using it headless from my macbook
anyway.
|
|
This was leftover from work on the previous commit. I don't think its actually
needed to get my stuff working, but these headers are recommended in the docs
and the latest version supposedly has some relevant bug fixes, so I decided to
commit this.
- https://github.com/Kozea/Radicale/issues/838
- https://github.com/Kozea/Radicale/issues/954
- https://github.com/Kozea/Radicale/issues/1247
|
|
This will allow me to create a public calendar to share with people instead of
using my iCloud calendar.
|
|
I need this to get gradio, I think.
|
|
These stopped working with the Lets Encrypt integration and I don't know why.
Just got a 404 when trying to check the .well-known endpoint. Also I don't know
how to debug this. So I guess just disable and try to fix later?
|
|
Added BILD_ARGS and removed the unused 'while read' so you can just call it
directly without having to supply arguments.
|
|
Even though I have 64 cpus, when I use them all for compilation, the UI still
lags, so that's annoying. Until I start using this for inference full-time,
offload the UI stuff to the GPU.
|
|
Just for my daily usage.
|
|
I'd much rather use GPG for key infrastructure. I'm not ready yet to fully
switch over all of these keys, but this works well so far in the gitolite-admin
repo so I'll test it out for a while before removing the old keys.
|
|
I don't really want my code to be discoverable, I only want people looking at it
if I have explicitly told them about it.
I tested it like so:
ϟ curl -v https://simatime.com/git/ 2>&1 | rg x-robots
< x-robots-tag: noindex, follow
|
|
The gitolite documentation is a bit of a labyrinth, but this should allow me to
set 'gitweb.description' and whatever other git-config settings in the
gitolite.conf file directly.
I'm also disabling gerrit, because I'm not using it and the service fails to
startup for some reason.
Some relevant gitolite docs:
- https://gitolite.com/gitolite/gitweb-daemon.html#gitweb
- https://gitolite.com/gitolite/conf.html
- https://gitolite.com/gitolite/git-config
|
|
BIZ_ROOT was too specific. CODEROOT allows for other (non-biz) projects to live
in the root of the repo. I didn't want to call it GIT_ROOT because maybe someday
I won't want to use git. But I'll never not use code.
|
|
After using this for a while, I've decided that git-branchless will be the
default tool for doing trunk-based development in the omnirepo.
|
|
I finally got everything setup for the new dev machine, but I ran into a
networking problem: I can't tell my home router to expose the ssh port 22 to
multiple hosts. I could have made beryllium use a different port, but instead I
decided to use tailscale, and this seems to work well. I still don't have
hostname routing working, but maybe that's a simple config in tailscale
somewhere.
Eventually I will get all intra-networking stuff to use a vpn, but for now just
using it for beryllium is fine.
|
|
Getting beryllium setup with the omnirepo showed that a few things
needed fixed.
|
|
Setting '--time 0' will disable the timeout mechanism altogether. This
is necessary because the initial bootstrap build (without access to any
cached dependencies) takes *hours* mostly because of cuda and opencv and
things like that.
|
|
Previously, if there was a problem with the inputs and bild failed to
determine the namespace, 'fromPath' would return 'Nothing' and then
'catMaybes' would drop the error-causing input altogether. In the one
time that I had a bad input, this made debugging incredibly difficult.
It's always a bad idea to swallow errors silently, so instead lets just
kill the program if we have bad inputs.
|
|
This allows me to specify runtime dependencies, not just system or
language deps.
|
|
BIZ_ROOT was too specific. CODEROOT allows for other (non-biz) projects to live
in the root of the repo. I didn't want to call it GIT_ROOT because maybe someday
I won't want to use git. But I'll never not use code.
|
|
A build should never take more than 10 minutes. If it does, then force the
programmer to make stuff faster. This should be a forcing function to either
delete unneeded code, or improve the build system.
|
|
This implements a prototype Mynion, my chatbot which will eventually
help me write code here. In fact he's already helping me, and works
pretty well over xmpp.
The prompt is currently not checked in because I'm experimenting with it
a lot, and it should probably be a runtime parameter anyways.
In the course of writing this I added some helper libraries to get me
going, configured black (didn't even know that was possible), and added
'outlines' and its dependencies even though I didn't end up using it.
I'll keep outlines around for now, but I'm not sure how useful it really
is because afaict its just pre-defining some stop conditions. But it
took a while to get it working so I'll just keep it in for now.
|
|
Deadnix was printing a bunch of unicode characters so it could draw lines to the
source location of an error, and it would mess up my output. Anyway I didn't
find that feature useful. Now I just get the json output and print the line
number and error message for the lint failure.
Also did some refactoring where I saw fit: added a log message so you know what
linter is currently running, and cleaned up some syntax.
|
|
This is one of those things that's hard to get right because it depends
on the state of the git repo to exercise all code paths.
|
|
Previously I would lint every file individually, in serial. This took
forever. Now I group the files by extension (by first getting the Namespace) and
run each linter on all relevant files at once. This is so much faster its
stupid.
Also I added formatters back into the dev env because my editor needs them to
autoformat.
|
|
I only just now learned about watch_file.
|
|
Ruff is like a million times faster, and I mostly ignored pylint's suggestions
anyway.
I also took this opportunity to move lint tools into a runtime dependency on
Lint.hs, which meant adding a wrapper to the Haskell builder, which was easy
enough. This paves the way for proper rundeps in bild.
|
|
Turns out that gitlint by default enforces the exact commit-msg format that I
like to use. I'm enabling this because even I write poor commit messages
sometimes, and looking back on my commits from even a few days ago is sometimes
not very helpful.
I also made some minor comment and nix changes that I noticed while reviewing my
work from the last few days.
|
|
|
|
|
|
Lots of changes here but the code is much improved. The nix code is clearer and
structured better.
The Haskell code improved in response to the nix changes. I needed to use a
qualified path instead of the abspath because the BIZ_ROOT changes based on
whether bild runs in nix or runs in the user environment.
Rather than passing every argument into Builder.nix, now I just pass the json
from bild and deconstruct it in nix. This is obviously a much better design and
it only came to be after sleeping on it the other night.
|
|
Bild does not link libraries, and idk if it ever will, so just delete this for
now.
|
|
|