| Age | Commit message (Collapse) | Author |
|
Updated namespace handling to use the Omni.Namespace module: - Import
Omni.Namespace in Task CLI - Parse and validate namespace strings
using fromHaskellModule - Convert to proper path format using toPath -
Ensures namespaces are well-formed (e.g., Omni/Task -> Omni/Task.hs)
Example:
task create "Fix bug" project --namespace="Omni/Task" # Creates
task with validated namespace Omni/Task.hs
This provides type safety and ensures all task namespaces correspond
to actual code namespaces in the monorepo.
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
|
|
Tasks can now be associated with specific namespaces in the monorepo:
- Added taskNamespace (Maybe Text) field to Task data type - Updated
createTask to accept optional namespace parameter - Added --namespace
CLI option to task create command - Display namespace in task list
output (e.g., [Omni/Task]) - Updated tests to pass Nothing for
namespace - Updated AGENTS.md documentation
Example usage:
task create "Fix bug" project --namespace="Omni/Task"
Completed task: t-j0k1L2
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
|
|
Implemented a dependency-aware task tracker inspired by beads: - Task
CRUD operations (create, list, update, ready) - Dependency tracking
and ready work detection - JSONL storage with git sync via hooks -
Export/import for cross-machine synchronization - Short base62-encoded
task IDs (e.g., t-1ky7gJ2)
Added comprehensive AGENTS.md documentation: - Task manager usage and
workflows - Development tools (bild, lint, repl.sh) - Git-branchless
workflow guidelines - Coding conventions
Integrated with git hooks for auto-sync: - post-merge/post-checkout:
import tasks - pre-commit/pre-push: export tasks
Also includes beads design analysis document for reference.
Completed tasks: - t-a1b2c3: Show help text when invoked without args
- t-d4e5f6: Move dev instructions to AGENTS.md - t-g7h8i9: Implement
shorter task IDs - t-p6q7r8: Add git-branchless workflow docs
https: //ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
|
|
Without this, my custom git commit template will get mangled
into the commit message with the call to fmt. I guess git strips
all of this stuff *after* it runs the commit-msg hook. Oy vey.
diff --git a/Omni/Ide/hooks/commit-msg b/Omni/Ide/hooks/commit-msg
index c15b4a1..bfbb06f 100755 --- a/Omni/Ide/hooks/commit-msg +++
b/Omni/Ide/hooks/commit-msg @@ -1,6 +1,7 @@
#!/usr/bin/env bash temp=$(mktemp)
-fmt -w 72 -u "$1" > "$temp" +# strip comment lines and everything
after >8 cut line +sed '/^#/d; /^# -\+ >8 -\+/,$d' "$1" | fmt -w 72
-u > "$temp"
mv "$temp" "$1" if ! gitlint --ignore-stdin --staged --msg-filename
"$1" run-hook; then
backup="$CODEROOT"/.git/COMMIT_EDITMSG.backup
|
|
Check to prevent processing of large articles, truncate oversized
content, defer jobs during high memory usage, use streaming TTS
generation and upload to minimize memory consumption.
|
|
The -s and -u flags tell fmt to fill the paragraph by merging
lines. Without this, fmt might just add line breaks, and this is
no good.
|
|
Moved the Admin related stuff to a separate file. Removed the
repetitive
`db_path` arg everywhere and replaced it with correct assumptions,
similar to
whats in other apps.
|
|
When I deploy, I get an error like this:
Error: Failed to open dbus connection
Caused by: Failed to connect to socket /run/user/1000/bus:
Connection refused
According to Claude, this is because dbus is trying to do stuff while
I'm running the `systemd-run` command, but that loses my user context so
dbus errors out, and I can disable dbus by setting this variable to
nothing. I guess we'll see if it works!
|
|
Sometimes aider will write commit messages without wrapping them at 80 chars,
and then the commit fails the gitlint hook, and aider can't finish the commit.
To fix this I can just auto-wrap before we check it.
|
|
According to Claude, the nixos-unstable branch has more stuff in it's binary
cache than nixos-unstable-small. Idk, let's try it and find out.
|
|
This implements a working prototype of PodcastItLater. It basically just works
for a single user currently, but the articles are nice to listen to and this is
something that we can start to build with.
|
|
If there are no lints to fix, this should just exit without starting aider.
|
|
This runs a repl and calls mypy to typecheck the given target. Not only is
this *much* faster than using bild to typecheck stuff, but it also produces less
noise in the logs, so I can have aider call this and the output won't overwhelm
the llm.
|
|
This is actually useful because nix only shows the last 25 log lines, so I'd
like to know how deep the problems go with a summary.
|
|
The colored output is not decoded by the nix log accumulator, so you just get
these control characters. Get rid of them for more readable output.
|
|
This took quite a bit of work to package, and it's not a perfect package, but I
think it will do to get Biz/Astrologer.py working.
|
|
This needs to be a separate mailbox so I don't get a bunch of dmarc reports in
my inbox.
|
|
I think storage is not a problem, and not having all the transactions means I
might not get the correct balance if the wallet has really old transactions (I
think).
|
|
This just fixes my lint errors for me which is awesome. Very useful.
|
|
This just fixes my lint errors for me which is awesome. Very useful.
|
|
Introduce a new systemd service that pulls the latest open-webui
Docker image and restarts the associated container. This ensures that
the application is always running the most recent version. Additionally,
a timer is added to schedule this update process to occur every Sunday
at 3 AM, automating the maintenance of the service without manual
intervention. This change enhances the reliability and freshness of
the application deployment.
|
|
This domain is not actually useful.
|
|
I had to update nixos-unstable-small and nixos-24_11 and disable a bunch of
tests, and then re-compile like the whole world, but aider is actually working,
finally.
|
|
Introduce a new container definition for the Open Web UI AI Chat service
in `OpenWebui.nix`, specifying its Docker image, volume, and environment
variables. This change includes the addition of a new port in `Ports.nix`
to facilitate communication with the service.
Furthermore, configure Nginx to serve the AI Chat application by adding
a new virtual host entry in `Web.nix`, ensuring SSL is enforced and
websocket support is enabled. This setup allows for a seamless
integration of the AI Chat service into the existing infrastructure,
improving accessibility and security.
|
|
This change removes "mail.bensima.com" from the list of allowed hosts
in the Web.nix configuration. The removal is likely due to a decision
to restrict access or because the mail service is no longer in use.
This helps to tighten security and ensure that only necessary hosts
are permitted.
|
|
This was the old username.
|
|
Not sure if this will help but I figure one more substituter can't hurt.
|
|
Basically every time I try to run CI it times out, so just disable timeout on CI
jobs for now.
|
|
Also improves the Example.py a bit with a real test case and example of how to
use Omni.Test.
|
|
I have this script I have to run on startup that sets these interactively, which
is fine, but I haven't changed this script in like 3 years so lets just make it
permanent at this point.
|
|
obs-do is a command line tool fro controlling obs over a socket, I plan to use
it for keyboard-driven automations. Helvum is just not necessary, qpwgraph is
better anyway.
|
|
I think this was causing feedback from my microphone.
|
|
This does all of the audio routing stuff that I need to combine my mic audio
with application audio into a virtual source that meeting software or OBS can
select as an input source. This way I can share what I'm listening to or
watching in a meeting.
I think the routes are not quite correct, and I'm not sure that the
`context.exec` is even a reliable way to setup the routes. I've also been using
`qpwgraph` to visually setup the routes, and that's helpful. I'll tweak this as
needed over time.
|
|
This is needed to use the OBS virtual camera thing.
|
|
Pydantic-ai is an agent framework that seems simple and good: well-typed with
pydantic, tool usage is just an `@tool` decorator on a function, and so
on. While building these I realized there were some deps they needed that were
already in nixpkgs unstable, so I just switched to that instead of trying to
backport all the versions and stuff.
|
|
This adds a kernel module that allows the virtual camera to work.
https://nixos.wiki/wiki/OBS_Studio
|
|
I need this to make my yubikey work.
|
|
Trying to learn about dmarc and improve my mail setup some more, I also added
the `rua` to my DNS entry so hopefully I get some reports.
|
|
I guess GPT-4 or whatever assistant I used got the wrong syntax the first time.
|
|
This moves syncthing from the cloud only, and onto Beryllium as well. Also it
gets rid of the nginx config because I don't really need access to it remotely
like that.
|
|
I'm honestly not sure what the correct call is here, I guess what I had was
Python 2 syntax? And Python 3 doesn't need arguments? Anyway this broke during
one of the nixpkgs updates and this seems to have fixed it.
|
|
This commit configures Nginx as a reverse proxy for the Syncthing web
interface, making it accessible via syncthing.bensima.com with SSL
encryption. The configuration includes proper header forwarding and
WebSocket support for the Syncthing GUI.
Additionally, this commit explicitly opens the required firewall ports
for Syncthing's operation, including the GUI port, sync port (22000),
and discovery broadcast port (21027).
|
|
Moved Syncthing configuration from Lithium's configuration file to a
dedicated module in Cloud directory. This change improves organization
by placing the service with other cloud-related configurations.
The new module includes comprehensive Syncthing setup with proper user
configuration, firewall rules, and default settings. It's now imported
in Cloud.nix to make it available to the cloud infrastructure.
|
|
Having this in its own file makes it easier to work on. Then I was able to
figure out (with lots of debugging and trial+error with Claude) the actual
permissions settings that result in a shared calendar. It's very fiddly because
it is matching on usernames and directories using regex, and I think it's
order-dependent as well.
|
|
This does the full transition: web server, mail server, xmpp. I expect some
disruption, but hopefully this is everything and it just switches over without
any problem.
|
|
I prefer et over mosh, so I tend to reach for it. Might as well just enable it
everywhere, at the Os/Base.nix level rather than individual systems.
|
|
Added header checks for optaltechtld.com domain to block incoming spam
emails claiming to be from MetaMask. The configuration includes checks
for Received, From, Return-Path, and Sender headers containing this
domain, rejecting any matching messages at the mail server level.
|
|
These are broken in upstream nixpkgs. Updating didn't fix them, so I'm just
gonna disable them for now. I'm using pipx to install aider anyway.
Also: Remove _ literal from GLOBIGNORE. I think it was causing the **/* glob to
include stuff in the cabdir, idk why.
|
|
This is just so I can run gemma3. Ollama has more than just a src hash, it needs
the godeps hash as well, so I can't simply track it with `deps` unfortunately.
|
|
This commit adds the novastells.com.es domain to our mail server's
blocklist by configuring Postfix header checks to reject messages
from this domain. The implementation checks for the domain in
multiple mail headers (Received, From, Return-Path, and Sender)
to ensure comprehensive blocking.
The commit also improves the comment above the headerChecks section
to better reflect its purpose of blocking multiple unwanted domains.
|