Restructure as monorepo and add flake packages/apps

- Move Elixir code to server/ subdirectory for monorepo structure
- Update flake.nix to provide packages and apps outputs for nix run support
- Update nix/package.nix to accept src parameter instead of fetchgit
- Add NixOS module export for easy consumption

Now supports: nix run, nix build, and nix develop from git repo

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-02 19:54:17 -07:00
co-authored by Claude
parent 46e585ec92
commit b6769abbe9
197 changed files with 9555 additions and 7 deletions
@@ -0,0 +1,60 @@
{application,tortoise,
[{modules,['Elixir.Collectable.Tortoise.Package.Subscribe',
'Elixir.Enumerable.Tortoise.Package.Subscribe',
'Elixir.Tortoise','Elixir.Tortoise.App',
'Elixir.Tortoise.Connection',
'Elixir.Tortoise.Connection.Backoff',
'Elixir.Tortoise.Connection.Controller',
'Elixir.Tortoise.Connection.Inflight',
'Elixir.Tortoise.Connection.Inflight.Track',
'Elixir.Tortoise.Connection.Receiver',
'Elixir.Tortoise.Connection.Supervisor',
'Elixir.Tortoise.Decodable',
'Elixir.Tortoise.Decodable.BitString',
'Elixir.Tortoise.Decodable.List',
'Elixir.Tortoise.Encodable',
'Elixir.Tortoise.Encodable.Tortoise.Package.Connack',
'Elixir.Tortoise.Encodable.Tortoise.Package.Connect',
'Elixir.Tortoise.Encodable.Tortoise.Package.Disconnect',
'Elixir.Tortoise.Encodable.Tortoise.Package.Pingreq',
'Elixir.Tortoise.Encodable.Tortoise.Package.Pingresp',
'Elixir.Tortoise.Encodable.Tortoise.Package.Puback',
'Elixir.Tortoise.Encodable.Tortoise.Package.Pubcomp',
'Elixir.Tortoise.Encodable.Tortoise.Package.Publish',
'Elixir.Tortoise.Encodable.Tortoise.Package.Pubrec',
'Elixir.Tortoise.Encodable.Tortoise.Package.Pubrel',
'Elixir.Tortoise.Encodable.Tortoise.Package.Suback',
'Elixir.Tortoise.Encodable.Tortoise.Package.Subscribe',
'Elixir.Tortoise.Encodable.Tortoise.Package.Unsuback',
'Elixir.Tortoise.Encodable.Tortoise.Package.Unsubscribe',
'Elixir.Tortoise.Events','Elixir.Tortoise.Handler',
'Elixir.Tortoise.Handler.Default',
'Elixir.Tortoise.Handler.Logger',
'Elixir.Tortoise.Package',
'Elixir.Tortoise.Package.Connack',
'Elixir.Tortoise.Package.Connect',
'Elixir.Tortoise.Package.Disconnect',
'Elixir.Tortoise.Package.Meta',
'Elixir.Tortoise.Package.Pingreq',
'Elixir.Tortoise.Package.Pingresp',
'Elixir.Tortoise.Package.Puback',
'Elixir.Tortoise.Package.Pubcomp',
'Elixir.Tortoise.Package.Publish',
'Elixir.Tortoise.Package.Pubrec',
'Elixir.Tortoise.Package.Pubrel',
'Elixir.Tortoise.Package.Suback',
'Elixir.Tortoise.Package.Subscribe',
'Elixir.Tortoise.Package.Unsuback',
'Elixir.Tortoise.Package.Unsubscribe',
'Elixir.Tortoise.Pipe','Elixir.Tortoise.Registry',
'Elixir.Tortoise.Supervisor',
'Elixir.Tortoise.Transport',
'Elixir.Tortoise.Transport.SSL',
'Elixir.Tortoise.Transport.Tcp']},
{optional_applications,[]},
{applications,[kernel,stdlib,elixir,logger,ssl,
gen_state_machine]},
{description,"A MQTT client for Elixir.\n"},
{registered,[]},
{vsn,"0.9.9"},
{mod,{'Elixir.Tortoise.App',[]}}]}.