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:
parent
46e585ec92
commit
b6769abbe9
19
flake.nix
19
flake.nix
@ -41,6 +41,23 @@
|
|||||||
elixir --version
|
elixir --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
packages = {
|
||||||
|
default = pkgs.callPackage ./nix/package.nix {
|
||||||
|
src = ./server;
|
||||||
|
};
|
||||||
|
systant = pkgs.callPackage ./nix/package.nix {
|
||||||
|
src = ./server;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
apps = {
|
||||||
|
default = {
|
||||||
|
type = "app";
|
||||||
|
program = "${self.packages.${system}.default}/bin/systant";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
) // {
|
||||||
|
nixosModules.default = import ./nix/nixos-module.nix;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,14 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
beamPackages,
|
beamPackages,
|
||||||
fetchgit,
|
src,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
beamPackages.mixRelease rec {
|
beamPackages.mixRelease rec {
|
||||||
pname = "systant";
|
pname = "systant";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
|
|
||||||
src = fetchgit {
|
inherit src;
|
||||||
url = "https://git.ryanpandya.com/ryan/systant.git";
|
|
||||||
rev = "54f8d23945bcea17127631a81f8ac318bf7047a6";
|
|
||||||
sha256 = "sha256-1cRfSoH+JdO4a7q4hRZSkoDMk2wMCYRIyCIN56FSUgg=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Mix dependencies will be automatically fetched and cached by Nix
|
# Mix dependencies will be automatically fetched and cached by Nix
|
||||||
mixFodDeps = beamPackages.fetchMixDeps {
|
mixFodDeps = beamPackages.fetchMixDeps {
|
||||||
|
|||||||
BIN
server/_build/dev/lib/gen_state_machine/.mix/compile.elixir
Normal file
BIN
server/_build/dev/lib/gen_state_machine/.mix/compile.elixir
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/gen_state_machine/.mix/compile.elixir_scm
Normal file
BIN
server/_build/dev/lib/gen_state_machine/.mix/compile.elixir_scm
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,10 @@
|
|||||||
|
{application,gen_state_machine,
|
||||||
|
[{modules,['Elixir.GenStateMachine',
|
||||||
|
'Elixir.GenStateMachine.Application',
|
||||||
|
'Elixir.GenStateMachine.Translator']},
|
||||||
|
{optional_applications,[]},
|
||||||
|
{applications,[kernel,stdlib,elixir,logger]},
|
||||||
|
{description,"An Elixir wrapper for gen_statem."},
|
||||||
|
{registered,[]},
|
||||||
|
{vsn,"3.0.0"},
|
||||||
|
{mod,{'Elixir.GenStateMachine.Application',[]}}]}.
|
||||||
BIN
server/_build/dev/lib/jason/.mix/compile.elixir
Normal file
BIN
server/_build/dev/lib/jason/.mix/compile.elixir
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/.mix/compile.elixir_scm
Normal file
BIN
server/_build/dev/lib/jason/.mix/compile.elixir_scm
Normal file
Binary file not shown.
0
server/_build/dev/lib/jason/.mix/compile.fetch
Normal file
0
server/_build/dev/lib/jason/.mix/compile.fetch
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Codegen.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Codegen.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.DecodeError.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.DecodeError.beam
Normal file
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Decoder.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Decoder.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encode.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encode.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.EncodeError.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.EncodeError.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Any.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Any.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Atom.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Atom.beam
Normal file
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Date.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Date.beam
Normal file
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Float.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Float.beam
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.List.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.List.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Map.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Map.beam
Normal file
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Time.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.Time.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Encoder.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Formatter.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Formatter.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Fragment.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Fragment.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Helpers.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Helpers.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.OrderedObject.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.OrderedObject.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Sigil.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.Sigil.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.beam
Normal file
BIN
server/_build/dev/lib/jason/ebin/Elixir.Jason.beam
Normal file
Binary file not shown.
26
server/_build/dev/lib/jason/ebin/jason.app
Normal file
26
server/_build/dev/lib/jason/ebin/jason.app
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{application,jason,
|
||||||
|
[{modules,['Elixir.Enumerable.Jason.OrderedObject',
|
||||||
|
'Elixir.Jason','Elixir.Jason.Codegen',
|
||||||
|
'Elixir.Jason.DecodeError','Elixir.Jason.Decoder',
|
||||||
|
'Elixir.Jason.Decoder.Unescape','Elixir.Jason.Encode',
|
||||||
|
'Elixir.Jason.EncodeError','Elixir.Jason.Encoder',
|
||||||
|
'Elixir.Jason.Encoder.Any',
|
||||||
|
'Elixir.Jason.Encoder.Atom',
|
||||||
|
'Elixir.Jason.Encoder.BitString',
|
||||||
|
'Elixir.Jason.Encoder.Date',
|
||||||
|
'Elixir.Jason.Encoder.DateTime',
|
||||||
|
'Elixir.Jason.Encoder.Float',
|
||||||
|
'Elixir.Jason.Encoder.Integer',
|
||||||
|
'Elixir.Jason.Encoder.Jason.Fragment',
|
||||||
|
'Elixir.Jason.Encoder.Jason.OrderedObject',
|
||||||
|
'Elixir.Jason.Encoder.List',
|
||||||
|
'Elixir.Jason.Encoder.Map',
|
||||||
|
'Elixir.Jason.Encoder.NaiveDateTime',
|
||||||
|
'Elixir.Jason.Encoder.Time','Elixir.Jason.Formatter',
|
||||||
|
'Elixir.Jason.Fragment','Elixir.Jason.Helpers',
|
||||||
|
'Elixir.Jason.OrderedObject','Elixir.Jason.Sigil']},
|
||||||
|
{optional_applications,[decimal]},
|
||||||
|
{applications,[kernel,stdlib,elixir,decimal]},
|
||||||
|
{description,"A blazing fast JSON parser and generator in pure Elixir.\n"},
|
||||||
|
{registered,[]},
|
||||||
|
{vsn,"1.4.4"}]}.
|
||||||
BIN
server/_build/dev/lib/systant/.mix/compile.app_cache
Normal file
BIN
server/_build/dev/lib/systant/.mix/compile.app_cache
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/systant/.mix/compile.elixir
Normal file
BIN
server/_build/dev/lib/systant/.mix/compile.elixir
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/systant/.mix/compile.elixir_scm
Normal file
BIN
server/_build/dev/lib/systant/.mix/compile.elixir_scm
Normal file
Binary file not shown.
0
server/_build/dev/lib/systant/.mix/compile.lock
Normal file
0
server/_build/dev/lib/systant/.mix/compile.lock
Normal file
BIN
server/_build/dev/lib/systant/.mix/compile.protocols
Normal file
BIN
server/_build/dev/lib/systant/.mix/compile.protocols
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/systant/consolidated/Elixir.IEx.Info.beam
Normal file
BIN
server/_build/dev/lib/systant/consolidated/Elixir.IEx.Info.beam
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/systant/consolidated/Elixir.Inspect.beam
Normal file
BIN
server/_build/dev/lib/systant/consolidated/Elixir.Inspect.beam
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/systant/ebin/Elixir.Systant.beam
Normal file
BIN
server/_build/dev/lib/systant/ebin/Elixir.Systant.beam
Normal file
Binary file not shown.
9
server/_build/dev/lib/systant/ebin/systant.app
Normal file
9
server/_build/dev/lib/systant/ebin/systant.app
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{application,systant,
|
||||||
|
[{modules,['Elixir.Systant','Elixir.Systant.Application',
|
||||||
|
'Elixir.Systant.MqttClient']},
|
||||||
|
{optional_applications,[]},
|
||||||
|
{applications,[kernel,stdlib,elixir,logger,tortoise,jason]},
|
||||||
|
{description,"systant"},
|
||||||
|
{registered,[]},
|
||||||
|
{vsn,"0.1.0"},
|
||||||
|
{mod,{'Elixir.Systant.Application',[]}}]}.
|
||||||
BIN
server/_build/dev/lib/tortoise/.mix/compile.elixir
Normal file
BIN
server/_build/dev/lib/tortoise/.mix/compile.elixir
Normal file
Binary file not shown.
BIN
server/_build/dev/lib/tortoise/.mix/compile.elixir_scm
Normal file
BIN
server/_build/dev/lib/tortoise/.mix/compile.elixir_scm
Normal file
Binary file not shown.
0
server/_build/dev/lib/tortoise/.mix/compile.fetch
Normal file
0
server/_build/dev/lib/tortoise/.mix/compile.fetch
Normal file
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.App.beam
Normal file
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.App.beam
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.Events.beam
Normal file
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.Events.beam
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.Handler.beam
Normal file
BIN
server/_build/dev/lib/tortoise/ebin/Elixir.Tortoise.Handler.beam
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user