summaryrefslogtreecommitdiff
path: root/Biz/Dev
AgeCommit message (Collapse)Author
3 daysRe-namespace some stuff to OmniBen Sima
I was getting confused about what is a product and what is internal infrastructure; I think it is good to keep those things separate. So I moved a bunch of stuff to an Omni namespace, actually most stuff went there. Only things that are explicitly external products are still in the Biz namespace.
3 daysUse newer ollama in system serviceBen Sima
Ollama releases often, and nixos-24.05 has a very old version, it was preventing me from doing work. Here I'm putting the newer nixos unstable as an overlay into the 24.05 version so I can backpull versions as needed.
3 daysEnable jack and wireplumberBen Sima
Trying to enable reaper and my microphone.
3 daysEnable the zsa voyager keyboardBen Sima
The voyager needed some special udev rules, and a program to do the flashing. I also made the barrier port explicit by moving to Ports.nix.
3 daysDon't auto-suspend-to-RAMBen Sima
I don't want the machine to suspend after some time period, instead I want to manually turn off the monitors.
3 daysUpgrade to nixos-24.05Ben Sima
I think this is the only "supported" nixos version now. But in any case scipy seemed to be broken on the older version, and I couldn't build my code that uses llm. Also, this allows me to get rid of the bild.os-unstable thing for Beryllium, which was just a sitting timebomb of breaking stuff. There are a lot of changes here because ruff updated to the very latest, and it changed some minor lint things. Also with the new nixos I get a proper cgit module, and some other breaking changes needed fixing.
2024-05-20Setup ollama API serviceBen Sima
This superceedes exllama and tabbyAPI which I could never get working fully. Unfortunately I had to switch to NixOS unstable to get all the Go builder stuff to work, so this is a cause of yet another version drift, but I guess it's inevitable and I should just learn to mitigate it with my nixpkgs shenanigans.
2024-05-09Switch to nixpkgs-23.11, ghc 9.6.3Ben Sima
This brings a bunch of improvements. I got rid of some custom packages, I can now build exllama without using a non-default cuda version. Oh yeah and I get to use GHC 9.6.2 now, a huge upgrade from 9.4. Unfortunately I also updated ormolu and some unrelated formatting changed, but that's life I guess.
2024-04-10Explicitly pass Bild.nix to nix builds & expose references to stableBen Sima
This change was motivated by my testing of tabbyAPI. I kept doing like `nix-build -A pkgs.tabbyAPI` and I thought, can't bild just do this? So I wrote a file called TabbyAPI.nix with the following contents:: { bild }: bild.pkgs.tabbyAPI and it worked, I just needed this change to Bild.hs to supply the `bild` argument. The benefit of using bild here is that I can get the logging, concurrency settings, and linking to _/nix etc all by default. Plus, using a standalone nix file like TabbyAPI.nix might be a good way to pin some package in the build system and make sure it continues to build, test, and so on. Also, thie means I don't sprinkle relative paths to the Bild.nix library throughout the repo, which is bad practice anyway. Re: explicitly exposing refernces to stable: This keeps things a bit more tidy and less confusing when working on the nix library.
2024-04-10Reorganize and update nixpkgs upstreamsBen Sima
This patch does a few things: 1. Switches from nixpkgs-unstable to nixos-unstable{,-small}, simply because nixpkgs-unstable is not in cache.nixos.org, but nixos-unstable is, and -small is the same but requires all tests to pass. So we should prefer nixos-unstable-small, whenever possible. 2. Reorganizes the nixpkgs import code such that Nixpkgs.nix returns an attrset of all the nixpkgs that I want to use, rather than putting other nixpkgs branches into the main one as an overlay. This is much simpler and explicit, but it meant I had to change a lot of usages throughtout the nix codebase. 3. As a consequence of 2, moves the overlays into separate files so they can be re-used across nixpkgs branches.
2024-04-01Disable NetworkManager-wait-online.serviceBen Sima
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
2024-04-01Add nixfmt to Lint.hsBen Sima
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.
2024-03-25Add some video modules for OBSBen Sima
2024-01-10Enable eternal terminal on berylliumBen Sima
This should probably be enabled everywhere... oh well.
2024-01-06Switch to gnome in berylliumBen Sima
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.
2023-10-27Use nvidia GPU for graphicsBen Sima
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.
2023-10-27Configure clight on BerylliumBen Sima
Just for my daily usage.
2023-10-10Add beryllium and connect via VPNBen Sima
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.
2023-10-10Don't swallow namespace-parsing errorsBen Sima
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.
2023-08-21Refactor the build system for readabilityBen Sima
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.
2023-08-16Update nixpkgs to 23.05Ben Sima
2023-04-07Add bitcoin rpc portBen Sima
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-10-11Add sd.simatime.com proxyBen Sima
2022-10-10Fix networkBen Sima
2022-08-25Prototype DNS support locallyBen Sima
This works when I route from lithium, including with 'dig', but when I try to 'dig @lithium router.home' from helium, for example, it times out. So my thought is that the firewall is blocking, but that doesn't seem to be the problem. So maybe my router is doing something? Hopefully when I migrate this to my APU router this will all just work, but idk.
2022-08-10Add dnsmasq for .home networkBen Sima
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-07-27Upgrade nixpkgsBen Sima
2022-07-25Run deadnix as a linterBen Sima
2022-02-09Get tor working againBen Sima
2022-01-06Start syncthing serviceBen Sima
2021-12-21Reorganize some nix codeBen Sima
2021-12-01Run k3s, and provide bild.imageBen 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-26Enable jupyter, consolidate ports, open bitcoindBen Sima
2021-11-26Begin packaging guix for nixBen Sima
2021-11-26Enable eternal-terminalBen Sima
2021-11-26Upgrade to nixos-21.05Ben Sima
Getting me closer to the latest GHC. This release also includes my own packages that I submitted some time ago. GHCJS is not present in 21.05 for some reason, but I think it's back in master, so I might do another upgrade soon, but for now I just disabled my GHCJS support. I'm not really using it anyway. I also had to bring it string-quote, update nixos-mailserver, and a few other things.
2021-11-26Add minidlnaBen Sima
2021-11-26Open ports for tor, mpd, and mpd-streamBen Sima
2021-11-26Enable torBen Sima
2021-11-26Fix wemux packageBen Sima
I also upstreamed this to nixpkgs-dev
2021-03-30Manually specify nameserversBen Sima
My router's DNS service likes to die, then I can't lookup any names, so let's just use the public ones.
2021-02-17Trying to fix lithium touchscreen and power managementBen Sima
2021-01-04Support multiple keys per userBen Sima
Every key is just a new line in the $USER.pub file. This is not automatically reflected to gitolite, which uses a separate config, so I'll need to come up with a way to replace gitolite someday.
2021-01-04Enable bitcoindBen Sima
2021-01-03Biz.Dev: mount campbell automaticallyBen Sima
2020-12-30bild: build everytingBen Sima
Now bild knows how to determine between modules that require ghcjs and ghc. It also knows what *not* to build, meaning it won't try to build non-buildable nix targets, for example (unfortunately this is just hardcoded for now), but it also won't build scm or py targets that I haven't implemented yet. It just silently fails, which is fine, because it means I can do `bild **/*` and everything just works. Of course, if I want to build scm code then I will have to implement that, but that's not a priority right now.