Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

begin ash conversion, sqlite -> pgsql

+369 -134
+8 -1
.formatter.exs
··· 1 1 [ 2 - import_deps: [:ecto, :ecto_sql, :phoenix], 2 + import_deps: [ 3 + :ash, 4 + :ash_phoenix, 5 + :ash_postgres, 6 + :ecto, 7 + :ecto_sql, 8 + :phoenix 9 + ], 3 10 subdirectories: ["priv/*/migrations"], 4 11 plugins: [Phoenix.LiveView.HTMLFormatter], 5 12 inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/seeds.exs"]
+2 -2
config/config.exs
··· 7 7 # General application configuration 8 8 import Config 9 9 10 - config :sower, 11 - ecto_repos: [Sower.Repo] 10 + config :sower, ecto_repos: [Sower.Repo] 11 + config :sower, ash_domains: [Sower] 12 12 13 13 # Configures the endpoint 14 14 config :sower, SowerWeb.Endpoint,
+8 -1
config/dev.exs
··· 1 1 import Config 2 2 3 3 # Configure your database 4 - config :sower, Sower.Repo, database: "./_build/dev.db" 4 + config :sower, Sower.Repo, 5 + username: "postgres", 6 + password: "postgres", 7 + hostname: "localhost", 8 + database: "sower_dev", 9 + port: 5432, 10 + show_sensitive_data_on_connection_error: true, 11 + pool_size: 10 5 12 6 13 # For development, we disable any cache and enable 7 14 # debugging and code reloading.
+5 -6
config/runtime.exs
··· 25 25 working_dir: System.get_env("SOWER_WORKDIR", "#{File.cwd() |> elem(1)}/tmp") 26 26 27 27 if config_env() == :prod do 28 - database_path = 29 - System.get_env("SOWER_DATABASE_PATH") || 28 + database_url = 29 + System.get_env("SOWER_DATABASE_URL") || 30 30 raise """ 31 - environment variable SOWER_DATABASE_PATH is missing. 32 - For example: /var/lib/sower/sower.db 31 + environment variable SOWER_DATABASE_URL is missing. 32 + For example: ecto://postgres:postgres@localhost/ecto_simple 33 33 """ 34 34 35 - maybe_ipv6 = if System.get_env("ECTO_IPV6") in ~w(true 1), do: [:inet6], else: [] 36 - config :sower, Sower.Repo, database: database_path, socket_options: maybe_ipv6 35 + config :sower, Sower.Repo, url: database_url, socket_options: [:inet6] 37 36 38 37 # The secret key base is used to sign/encrypt cookies and other secrets. 39 38 # A default value is used in config/dev.exs and config/test.exs but you
+1 -1
flake.nix
··· 72 72 pkgs.mix2nix 73 73 pkgs.nvfetcher 74 74 pkgs.process-compose 75 - pkgs.sqlite 75 + pkgs.postgresql 76 76 77 77 pkgs.cargo 78 78 pkgs.rustc
+4 -6
lib/sower.ex
··· 1 1 defmodule Sower do 2 - @moduledoc """ 3 - Sower keeps the contexts that define your domain 4 - and business logic. 2 + use Ash.Domain 5 3 6 - Contexts are also responsible for managing your data, regardless 7 - if it comes from the database, an external API or others. 8 - """ 4 + resources do 5 + resource Sower.Seed 6 + end 9 7 end
+6 -3
lib/sower/repo.ex
··· 1 1 defmodule Sower.Repo do 2 - use Ecto.Repo, 3 - otp_app: :sower, 4 - adapter: Ecto.Adapters.SQLite3 2 + use AshPostgres.Repo, otp_app: :sower 3 + 4 + # Installs Postgres extensions that ash commonly uses 5 + def installed_extensions do 6 + ["uuid-ossp", "citext"] 7 + end 5 8 end
+48 -30
lib/sower/seed.ex
··· 1 1 defmodule Sower.Seed do 2 - import Ecto.Query 3 - alias Sower.Repo 2 + use Ash.Resource, 3 + data_layer: AshPostgres.DataLayer, 4 + domain: Sower 4 5 5 - def list_seeds do 6 - Repo.all(Sower.Seed.Instance) 7 - end 6 + actions do 7 + defaults([:read, :create, :destroy]) 8 8 9 - def create_or_insert_seed(attrs \\ %{}) do 10 - %Sower.Seed.Instance{} 11 - |> Sower.Seed.Instance.changeset(attrs) 12 - |> Repo.insert( 13 - on_conflict: {:replace, [:updated_at]}, 14 - conflict_target: [:name, :type, :out_path] 15 - ) 9 + create :new do 10 + accept([:name, :type]) 11 + end 16 12 end 17 13 18 - def find_latest_seed(name, type) do 19 - Sower.Seed.Instance 20 - |> where([s], s.name == ^name) 21 - |> where([s], s.type == ^type) 22 - |> order_by([s], desc: s.updated_at) 23 - |> first() 24 - |> Repo.all() 25 - |> List.first() 26 - end 14 + attributes do 15 + uuid_primary_key(:id) 27 16 28 - def get_seed!(id), do: Repo.get!(Sower.Seed.Instance, id) 17 + attribute :name, :string do 18 + allow_nil?(false) 19 + public?(true) 20 + end 29 21 30 - def update_seed(id, attrs \\ %{}) do 31 - seed = get_seed!(id) 22 + attribute :type, :atom do 23 + allow_nil?(false) 24 + public?(true) 25 + constraints(one_of: [:nixos, :home_manager, :nix_darwin]) 26 + end 27 + end 32 28 33 - seed 34 - |> Sower.Seed.Instance.changeset(attrs) 35 - |> Repo.update() 29 + code_interface do 30 + define(:new, args: [:name, :type]) 36 31 end 37 32 38 - def delete_seed(id) do 39 - get_seed!(id) 40 - |> Repo.delete() 33 + postgres do 34 + table("seeds") 35 + repo(Sower.Repo) 41 36 end 37 + 38 + # relationships do 39 + # belongs_to :tree, Sower.Tree 40 + # end 42 41 end 42 + 43 + # def create_or_insert_seed(attrs \\ %{}) do 44 + # %Sower.Seed.Instance{} 45 + # |> Sower.Seed.Instance.changeset(attrs) 46 + # |> Repo.insert( 47 + # on_conflict: {:replace, [:updated_at]}, 48 + # conflict_target: [:name, :type, :out_path] 49 + # ) 50 + # end 51 + # 52 + # def find_latest_seed(name, type) do 53 + # Sower.Seed.Instance 54 + # |> where([s], s.name == ^name) 55 + # |> where([s], s.type == ^type) 56 + # |> order_by([s], desc: s.updated_at) 57 + # |> first() 58 + # |> Repo.all() 59 + # |> List.first() 60 + # end
+6 -4
mix.exs
··· 26 26 27 27 defp deps do 28 28 [ 29 + {:ash, "~> 3.0.0-rc.17"}, 30 + {:ash_postgres, "~> 2.0.0-rc.5"}, 31 + {:ash_phoenix, "~> 2.0.0-rc.4"}, 29 32 {:bandit, "~> 1.0"}, 30 - {:ecto_sqlite3, "~> 0.13"}, 31 33 {:esbuild, "~> 0.8", runtime: Mix.env() == :dev}, 32 34 {:finch, "~> 0.13"}, 33 35 {:floki, ">= 0.30.0", only: :test}, ··· 36 38 {:makeup, "~> 1.1"}, 37 39 {:makeup_json, "~> 0.1.0"}, 38 40 {:phoenix_ecto, "~> 4.4"}, 39 - {:phoenix_html, "~> 3.3"}, 41 + {:phoenix_html, "~> 4.1.1"}, 40 42 {:phoenix_live_dashboard, "~> 0.8.0"}, 41 43 {:phoenix_live_reload, "~> 1.2", only: :dev}, 42 - {:phoenix_live_view, "~> 0.19.0"}, 44 + {:phoenix_live_view, "~> 0.20.0"}, 43 45 {:phoenix, "~> 1.7.7"}, 44 46 {:postgrex, ">= 0.0.0"}, 45 47 {:swoosh, "~> 1.3"}, 46 48 {:tailwind, "~> 0.2.0", runtime: Mix.env() == :dev}, 47 49 {:telemetry_metrics, "~> 0.6"}, 48 - {:telemetry_poller, "~> 1.0"} 50 + {:telemetry_poller, "~> 1.1.0"} 49 51 ] 50 52 end 51 53
+16 -7
mix.lock
··· 1 1 %{ 2 + "ash": {:hex, :ash, "3.0.0-rc.17", "15082789095c6f479b6d84dade09957d2ace18433957f917732c720cd68f2c93", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, ">= 0.8.1 and < 1.0.0-0", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.1.7 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.6", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "73f2b7db8b11d52995b1ad629b7f78d00f3de97b882d50c443e404227fbd1141"}, 3 + "ash_phoenix": {:hex, :ash_phoenix, "2.0.0-rc.4", "d48417f8341ec2a6ea39f44131c49de8234af73f926397f8d19021328fb9f470", [:mix], [{:ash, "~> 3.0.0-rc", [hex: :ash, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.5.6 or ~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.3", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "d735e445405361dbbc7e93df99246b48bd8d6bd1dbf6e55490d3ba21b5b8f7ca"}, 4 + "ash_postgres": {:hex, :ash_postgres, "2.0.0-rc.5", "cc87eada130887143dd39a7875e955a84556ab0237b6bd76150332c995768842", [:mix], [{:ash, "~> 3.0.0-rc", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_sql, "~> 0.1.1-rc.3", [hex: :ash_sql, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}], "hexpm", "9577ea507ea9024d6255a1072f54098d923e347b33853b7f46f3b384cdba519c"}, 5 + "ash_sql": {:hex, :ash_sql, "0.1.1-rc.4", "74ef18e2057621e48a8930d2b765219eabf9424382e571dd2566009fe2ee76ab", [:mix], [{:ash, "~> 3.0.0-rc", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}], "hexpm", "329065f9d119f55444908933cfb9e4a47ea82bfd23ac46c040d517f669d9d385"}, 2 6 "bandit": {:hex, :bandit, "1.4.2", "a1475c8dcbffd1f43002797f99487a64c8444753ff2b282b52409e279488e1f5", [:mix], [{:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "3db8bacea631bd926cc62ccad58edfee4252d1b4c5cccbbad9825df2722b884f"}, 3 7 "castore": {:hex, :castore, "1.0.6", "ffc42f110ebfdafab0ea159cd43d31365fa0af0ce4a02ecebf1707ae619ee727", [:mix], [], "hexpm", "374c6e7ca752296be3d6780a6d5b922854ffcc74123da90f2f328996b962d33a"}, 4 - "cc_precompiler": {:hex, :cc_precompiler, "0.1.10", "47c9c08d8869cf09b41da36538f62bc1abd3e19e41701c2cea2675b53c704258", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "f6e046254e53cd6b41c6bacd70ae728011aa82b2742a80d6e2214855c6e06b22"}, 8 + "comparable": {:hex, :comparable, "1.0.0", "bb669e91cedd14ae9937053e5bcbc3c52bb2f22422611f43b6e38367d94a495f", [:mix], [{:typable, "~> 0.1", [hex: :typable, repo: "hexpm", optional: false]}], "hexpm", "277c11eeb1cd726e7cd41c6c199e7e52fa16ee6830b45ad4cdc62e51f62eb60c"}, 5 9 "db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"}, 6 10 "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, 7 11 "ecto": {:hex, :ecto, "3.11.2", "e1d26be989db350a633667c5cda9c3d115ae779b66da567c68c80cfb26a8c9ee", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3c38bca2c6f8d8023f2145326cc8a80100c3ffe4dcbd9842ff867f7fc6156c65"}, 8 12 "ecto_sql": {:hex, :ecto_sql, "3.11.1", "e9abf28ae27ef3916b43545f9578b4750956ccea444853606472089e7d169470", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.11.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ce14063ab3514424276e7e360108ad6c2308f6d88164a076aac8a387e1fea634"}, 9 - "ecto_sqlite3": {:hex, :ecto_sqlite3, "0.15.1", "40f2fbd9e246455f8c42e7e0a77009ef806caa1b3ce6f717b2a0a80e8432fcfd", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.11", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.11", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:exqlite, "~> 0.19", [hex: :exqlite, repo: "hexpm", optional: false]}], "hexpm", "28b16e177123c688948357176662bf9ff9084daddf950ef5b6baf3ee93707064"}, 10 - "elixir_make": {:hex, :elixir_make, "0.8.3", "d38d7ee1578d722d89b4d452a3e36bcfdc644c618f0d063b874661876e708683", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.0", [hex: :certifi, repo: "hexpm", optional: true]}], "hexpm", "5c99a18571a756d4af7a4d89ca75c28ac899e6103af6f223982f09ce44942cc9"}, 11 13 "esbuild": {:hex, :esbuild, "0.8.1", "0cbf919f0eccb136d2eeef0df49c4acf55336de864e63594adcea3814f3edf41", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "25fc876a67c13cb0a776e7b5d7974851556baeda2085296c14ab48555ea7560f"}, 14 + "ets": {:hex, :ets, "0.9.0", "79c6a6c205436780486f72d84230c6cba2f8a9920456750ddd1e47389107d5fd", [:mix], [], "hexpm", "2861fdfb04bcaeff370f1a5904eec864f0a56dcfebe5921ea9aadf2a481c822b"}, 12 15 "expo": {:hex, :expo, "0.5.2", "beba786aab8e3c5431813d7a44b828e7b922bfa431d6bfbada0904535342efe2", [:mix], [], "hexpm", "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"}, 13 - "exqlite": {:hex, :exqlite, "0.21.0", "8d06c60b3d6df42bb4cdeb4dce4bc804788e227cead7dc190c3ffaba50bffbb4", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.8", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "b177180bb2788b761ddd5949763640aef92ed06db80d70a1130b6bede180b45f"}, 14 16 "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"}, 15 17 "finch": {:hex, :finch, "0.18.0", "944ac7d34d0bd2ac8998f79f7a811b21d87d911e77a786bc5810adb75632ada4", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "69f5045b042e531e53edc2574f15e25e735b522c37e2ddb766e15b979e03aa65"}, 16 18 "floki": {:hex, :floki, "0.36.1", "712b7f2ba19a4d5a47dfe3e74d81876c95bbcbee44fe551f0af3d2a388abb3da", [:mix], [], "hexpm", "21ba57abb8204bcc70c439b423fc0dd9f0286de67dc82773a14b0200ada0995f"}, 17 19 "gettext": {:hex, :gettext, "0.24.0", "6f4d90ac5f3111673cbefc4ebee96fe5f37a114861ab8c7b7d5b30a1108ce6d8", [:mix], [{:expo, "~> 0.5.1", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"}, 18 20 "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, 19 21 "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, 22 + "libgraph": {:hex, :libgraph, "0.16.0", "3936f3eca6ef826e08880230f806bfea13193e49bf153f93edcf0239d4fd1d07", [:mix], [], "hexpm", "41ca92240e8a4138c30a7e06466acc709b0cbb795c643e9e17174a178982d6bf"}, 20 23 "makeup": {:hex, :makeup, "1.1.1", "fa0bc768698053b2b3869fa8a62616501ff9d11a562f3ce39580d60860c3a55e", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"}, 21 24 "makeup_json": {:hex, :makeup_json, "0.1.1", "44204f3f023ff3daca682cc0b1dc372098514460064599979cb4cde5926cff70", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "3879d78117e37a9b1e567b9cc76c1b5b51b9efc5f4f4301ea5e53fb70c59c718"}, 22 25 "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, ··· 26 29 "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, 27 30 "phoenix": {:hex, :phoenix, "1.7.11", "1d88fc6b05ab0c735b250932c4e6e33bfa1c186f76dcf623d8dd52f07d6379c7", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"}, 28 31 "phoenix_ecto": {:hex, :phoenix_ecto, "4.5.1", "6fdbc334ea53620e71655664df6f33f670747b3a7a6c4041cdda3e2c32df6257", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "ebe43aa580db129e54408e719fb9659b7f9e0d52b965c5be26cdca416ecead28"}, 29 - "phoenix_html": {:hex, :phoenix_html, "3.3.3", "380b8fb45912b5638d2f1d925a3771b4516b9a78587249cabe394e0a5d579dc9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"}, 32 + "phoenix_html": {:hex, :phoenix_html, "4.1.1", "4c064fd3873d12ebb1388425a8f2a19348cef56e7289e1998e2d2fa758aa982e", [:mix], [], "hexpm", "f2f2df5a72bc9a2f510b21497fd7d2b86d932ec0598f0210fed4114adc546c6f"}, 30 33 "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"}, 31 34 "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.5.3", "f2161c207fda0e4fb55165f650f7f8db23f02b29e3bff00ff7ef161d6ac1f09d", [:mix], [{:file_system, "~> 0.3 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "b4ec9cd73cb01ff1bd1cac92e045d13e7030330b74164297d1aee3907b54803c"}, 32 - "phoenix_live_view": {:hex, :phoenix_live_view, "0.19.5", "6e730595e8e9b8c5da230a814e557768828fd8dfeeb90377d2d8dbb52d4ec00a", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"}, 35 + "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.14", "70fa101aa0539e81bed4238777498f6215e9dda3461bdaa067cad6908110c364", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "82f6d006c5264f979ed5eb75593d808bbe39020f20df2e78426f4f2d570e2402"}, 33 36 "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"}, 34 37 "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"}, 35 38 "plug": {:hex, :plug, "1.15.3", "712976f504418f6dff0a3e554c40d705a9bcf89a7ccef92fc6a5ef8f16a30a97", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"}, 36 39 "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, 37 40 "postgrex": {:hex, :postgrex, "0.17.5", "0483d054938a8dc069b21bdd636bf56c487404c241ce6c319c1f43588246b281", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "50b8b11afbb2c4095a3ba675b4f055c416d0f3d7de6633a595fc131a828a67eb"}, 41 + "reactor": {:hex, :reactor, "0.8.1", "1aec71d16083901277727c8162f6dd0f07e80f5ca98911b6ef4f2c95e6e62758", [:mix], [{:libgraph, "~> 0.16", [hex: :libgraph, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.2", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ae3936d97a3e4a316744f70c77b85345b08b70da334024c26e6b5eb8ede1246b"}, 42 + "sourceror": {:hex, :sourceror, "1.0.2", "c5e86fdc14881f797749d1fe5df017ca66727a8146e7ee3e736605a3df78f3e6", [:mix], [], "hexpm", "832335e87d0913658f129d58b2a7dc0490ddd4487b02de6d85bca0169ec2bd79"}, 43 + "spark": {:hex, :spark, "2.1.13", "5c002181eed1c4336942267da20f4614b35c40aa347d35183190a7496196f802", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.0", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "2d5580313bbf6717d650a27554a66c83e10d164e7087e3c4082cdb23b5dc5c64"}, 44 + "splode": {:hex, :splode, "0.2.2", "cda6709f829e3fe39a9550e8c8bc11821f994ecd660b5a0d60452770f227b9ca", [:mix], [], "hexpm", "8e02f47fac4bff7cfd29a65611ee3ab728dcc9c70a5c2e438addb8f25713265a"}, 45 + "stream_data": {:hex, :stream_data, "0.6.0", "e87a9a79d7ec23d10ff83eb025141ef4915eeb09d4491f79e52f2562b73e5f47", [:mix], [], "hexpm", "b92b5031b650ca480ced047578f1d57ea6dd563f5b57464ad274718c9c29501c"}, 38 46 "swoosh": {:hex, :swoosh, "1.16.3", "4ab7dc429e84afaf8ffe1c7c06ce1acbc7ddde758d2cb9152dd2ac32289d5498", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.1.0", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.4 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ff70980087650a72951ebd109a286d83c270e2b6610aba447140562adff8cf0a"}, 39 47 "tailwind": {:hex, :tailwind, "0.2.2", "9e27288b568ede1d88517e8c61259bc214a12d7eed271e102db4c93fcca9b2cd", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "ccfb5025179ea307f7f899d1bb3905cd0ac9f687ed77feebc8f67bdca78565c4"}, 40 48 "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, 41 49 "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.2", "2caabe9344ec17eafe5403304771c3539f3b6e2f7fb6a6f602558c825d0d0bfb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"}, 42 - "telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"}, 50 + "telemetry_poller": {:hex, :telemetry_poller, "1.1.0", "58fa7c216257291caaf8d05678c8d01bd45f4bdbc1286838a28c4bb62ef32999", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f"}, 43 51 "thousand_island": {:hex, :thousand_island, "1.3.5", "6022b6338f1635b3d32406ff98d68b843ba73b3aa95cfc27154223244f3a6ca5", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"}, 52 + "typable": {:hex, :typable, "0.3.0", "0431e121d124cd26f312123e313d2689b9a5322b15add65d424c07779eaa3ca1", [:mix], [], "hexpm", "880a0797752da1a4c508ac48f94711e04c86156f498065a83d160eef945858f8"}, 44 53 "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"}, 45 54 "websock_adapter": {:hex, :websock_adapter, "0.5.6", "0437fe56e093fd4ac422de33bf8fc89f7bc1416a3f2d732d8b2c8fd54792fe60", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "e04378d26b0af627817ae84c92083b7e97aca3121196679b73c73b99d0d133ea"}, 46 55 }
+168 -51
nix/mix.nix
··· 8 8 self = packages // (overrides self packages); 9 9 10 10 packages = with beamPackages; with self; { 11 + ash = buildMix rec { 12 + name = "ash"; 13 + version = "3.0.0-rc.17"; 14 + 15 + src = fetchHex { 16 + pkg = "ash"; 17 + version = "${version}"; 18 + sha256 = "73f2b7db8b11d52995b1ad629b7f78d00f3de97b882d50c443e404227fbd1141"; 19 + }; 20 + 21 + beamDeps = [ comparable decimal ecto ets jason plug reactor spark splode stream_data telemetry ]; 22 + }; 23 + 24 + ash_phoenix = buildMix rec { 25 + name = "ash_phoenix"; 26 + version = "2.0.0-rc.4"; 27 + 28 + src = fetchHex { 29 + pkg = "ash_phoenix"; 30 + version = "${version}"; 31 + sha256 = "d735e445405361dbbc7e93df99246b48bd8d6bd1dbf6e55490d3ba21b5b8f7ca"; 32 + }; 33 + 34 + beamDeps = [ ash phoenix phoenix_html phoenix_live_view ]; 35 + }; 36 + 37 + ash_postgres = buildMix rec { 38 + name = "ash_postgres"; 39 + version = "2.0.0-rc.5"; 40 + 41 + src = fetchHex { 42 + pkg = "ash_postgres"; 43 + version = "${version}"; 44 + sha256 = "9577ea507ea9024d6255a1072f54098d923e347b33853b7f46f3b384cdba519c"; 45 + }; 46 + 47 + beamDeps = [ ash ash_sql ecto ecto_sql jason postgrex ]; 48 + }; 49 + 50 + ash_sql = buildMix rec { 51 + name = "ash_sql"; 52 + version = "0.1.1-rc.4"; 53 + 54 + src = fetchHex { 55 + pkg = "ash_sql"; 56 + version = "${version}"; 57 + sha256 = "329065f9d119f55444908933cfb9e4a47ea82bfd23ac46c040d517f669d9d385"; 58 + }; 59 + 60 + beamDeps = [ ash ecto ecto_sql ]; 61 + }; 62 + 11 63 bandit = buildMix rec { 12 64 name = "bandit"; 13 65 version = "1.4.2"; ··· 34 86 beamDeps = []; 35 87 }; 36 88 37 - cc_precompiler = buildMix rec { 38 - name = "cc_precompiler"; 39 - version = "0.1.10"; 89 + comparable = buildMix rec { 90 + name = "comparable"; 91 + version = "1.0.0"; 40 92 41 93 src = fetchHex { 42 - pkg = "cc_precompiler"; 94 + pkg = "comparable"; 43 95 version = "${version}"; 44 - sha256 = "f6e046254e53cd6b41c6bacd70ae728011aa82b2742a80d6e2214855c6e06b22"; 96 + sha256 = "277c11eeb1cd726e7cd41c6c199e7e52fa16ee6830b45ad4cdc62e51f62eb60c"; 45 97 }; 46 98 47 - beamDeps = [ elixir_make ]; 99 + beamDeps = [ typable ]; 48 100 }; 49 101 50 102 db_connection = buildMix rec { ··· 99 151 beamDeps = [ db_connection ecto postgrex telemetry ]; 100 152 }; 101 153 102 - ecto_sqlite3 = buildMix rec { 103 - name = "ecto_sqlite3"; 104 - version = "0.15.1"; 105 - 106 - src = fetchHex { 107 - pkg = "ecto_sqlite3"; 108 - version = "${version}"; 109 - sha256 = "28b16e177123c688948357176662bf9ff9084daddf950ef5b6baf3ee93707064"; 110 - }; 111 - 112 - beamDeps = [ decimal ecto ecto_sql exqlite ]; 113 - }; 114 - 115 - elixir_make = buildMix rec { 116 - name = "elixir_make"; 117 - version = "0.8.3"; 118 - 119 - src = fetchHex { 120 - pkg = "elixir_make"; 121 - version = "${version}"; 122 - sha256 = "5c99a18571a756d4af7a4d89ca75c28ac899e6103af6f223982f09ce44942cc9"; 123 - }; 124 - 125 - beamDeps = [ castore ]; 126 - }; 127 - 128 154 esbuild = buildMix rec { 129 155 name = "esbuild"; 130 156 version = "0.8.1"; ··· 138 164 beamDeps = [ castore jason ]; 139 165 }; 140 166 141 - expo = buildMix rec { 142 - name = "expo"; 143 - version = "0.5.2"; 167 + ets = buildMix rec { 168 + name = "ets"; 169 + version = "0.9.0"; 144 170 145 171 src = fetchHex { 146 - pkg = "expo"; 172 + pkg = "ets"; 147 173 version = "${version}"; 148 - sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"; 174 + sha256 = "2861fdfb04bcaeff370f1a5904eec864f0a56dcfebe5921ea9aadf2a481c822b"; 149 175 }; 150 176 151 177 beamDeps = []; 152 178 }; 153 179 154 - exqlite = buildMix rec { 155 - name = "exqlite"; 156 - version = "0.21.0"; 180 + expo = buildMix rec { 181 + name = "expo"; 182 + version = "0.5.2"; 157 183 158 184 src = fetchHex { 159 - pkg = "exqlite"; 185 + pkg = "expo"; 160 186 version = "${version}"; 161 - sha256 = "b177180bb2788b761ddd5949763640aef92ed06db80d70a1130b6bede180b45f"; 187 + sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"; 162 188 }; 163 189 164 - beamDeps = [ cc_precompiler db_connection elixir_make ]; 190 + beamDeps = []; 165 191 }; 166 192 167 193 file_system = buildMix rec { ··· 242 268 beamDeps = [ decimal ]; 243 269 }; 244 270 271 + libgraph = buildMix rec { 272 + name = "libgraph"; 273 + version = "0.16.0"; 274 + 275 + src = fetchHex { 276 + pkg = "libgraph"; 277 + version = "${version}"; 278 + sha256 = "41ca92240e8a4138c30a7e06466acc709b0cbb795c643e9e17174a178982d6bf"; 279 + }; 280 + 281 + beamDeps = []; 282 + }; 283 + 245 284 makeup = buildMix rec { 246 285 name = "makeup"; 247 286 version = "1.1.1"; ··· 361 400 362 401 phoenix_html = buildMix rec { 363 402 name = "phoenix_html"; 364 - version = "3.3.3"; 403 + version = "4.1.1"; 365 404 366 405 src = fetchHex { 367 406 pkg = "phoenix_html"; 368 407 version = "${version}"; 369 - sha256 = "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"; 408 + sha256 = "f2f2df5a72bc9a2f510b21497fd7d2b86d932ec0598f0210fed4114adc546c6f"; 370 409 }; 371 410 372 - beamDeps = [ plug ]; 411 + beamDeps = []; 373 412 }; 374 413 375 414 phoenix_live_dashboard = buildMix rec { ··· 400 439 401 440 phoenix_live_view = buildMix rec { 402 441 name = "phoenix_live_view"; 403 - version = "0.19.5"; 442 + version = "0.20.14"; 404 443 405 444 src = fetchHex { 406 445 pkg = "phoenix_live_view"; 407 446 version = "${version}"; 408 - sha256 = "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"; 447 + sha256 = "82f6d006c5264f979ed5eb75593d808bbe39020f20df2e78426f4f2d570e2402"; 409 448 }; 410 449 411 - beamDeps = [ jason phoenix phoenix_html phoenix_template telemetry ]; 450 + beamDeps = [ floki jason phoenix phoenix_html phoenix_template plug telemetry ]; 412 451 }; 413 452 414 453 phoenix_pubsub = buildMix rec { ··· 476 515 beamDeps = [ db_connection decimal jason ]; 477 516 }; 478 517 518 + reactor = buildMix rec { 519 + name = "reactor"; 520 + version = "0.8.1"; 521 + 522 + src = fetchHex { 523 + pkg = "reactor"; 524 + version = "${version}"; 525 + sha256 = "ae3936d97a3e4a316744f70c77b85345b08b70da334024c26e6b5eb8ede1246b"; 526 + }; 527 + 528 + beamDeps = [ libgraph spark splode telemetry ]; 529 + }; 530 + 531 + sourceror = buildMix rec { 532 + name = "sourceror"; 533 + version = "1.0.2"; 534 + 535 + src = fetchHex { 536 + pkg = "sourceror"; 537 + version = "${version}"; 538 + sha256 = "832335e87d0913658f129d58b2a7dc0490ddd4487b02de6d85bca0169ec2bd79"; 539 + }; 540 + 541 + beamDeps = []; 542 + }; 543 + 544 + spark = buildMix rec { 545 + name = "spark"; 546 + version = "2.1.13"; 547 + 548 + src = fetchHex { 549 + pkg = "spark"; 550 + version = "${version}"; 551 + sha256 = "2d5580313bbf6717d650a27554a66c83e10d164e7087e3c4082cdb23b5dc5c64"; 552 + }; 553 + 554 + beamDeps = [ jason sourceror ]; 555 + }; 556 + 557 + splode = buildMix rec { 558 + name = "splode"; 559 + version = "0.2.2"; 560 + 561 + src = fetchHex { 562 + pkg = "splode"; 563 + version = "${version}"; 564 + sha256 = "8e02f47fac4bff7cfd29a65611ee3ab728dcc9c70a5c2e438addb8f25713265a"; 565 + }; 566 + 567 + beamDeps = []; 568 + }; 569 + 570 + stream_data = buildMix rec { 571 + name = "stream_data"; 572 + version = "0.6.0"; 573 + 574 + src = fetchHex { 575 + pkg = "stream_data"; 576 + version = "${version}"; 577 + sha256 = "b92b5031b650ca480ced047578f1d57ea6dd563f5b57464ad274718c9c29501c"; 578 + }; 579 + 580 + beamDeps = []; 581 + }; 582 + 479 583 swoosh = buildMix rec { 480 584 name = "swoosh"; 481 585 version = "1.16.3"; ··· 530 634 531 635 telemetry_poller = buildRebar3 rec { 532 636 name = "telemetry_poller"; 533 - version = "1.0.0"; 637 + version = "1.1.0"; 534 638 535 639 src = fetchHex { 536 640 pkg = "telemetry_poller"; 537 641 version = "${version}"; 538 - sha256 = "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"; 642 + sha256 = "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f"; 539 643 }; 540 644 541 645 beamDeps = [ telemetry ]; ··· 552 656 }; 553 657 554 658 beamDeps = [ telemetry ]; 659 + }; 660 + 661 + typable = buildMix rec { 662 + name = "typable"; 663 + version = "0.3.0"; 664 + 665 + src = fetchHex { 666 + pkg = "typable"; 667 + version = "${version}"; 668 + sha256 = "880a0797752da1a4c508ac48f94711e04c86156f498065a83d160eef945858f8"; 669 + }; 670 + 671 + beamDeps = []; 555 672 }; 556 673 557 674 websock = buildMix rec {
-7
nix/server-package.nix
··· 29 29 esbuild = prev.esbuild.override (old: { 30 30 patches = [ ./esbuild-loadpaths.patch ]; 31 31 }); 32 - exqlite = prev.exqlite.override (old: { 33 - env = (old.env or { }) // { 34 - EXQLITE_USE_SYSTEM = "1"; 35 - EXQLITE_SYSTEM_CFLAGS = "-I${sqlite.dev}/include"; 36 - EXQLITE_SYSTEM_LDFLAGS = "-L${sqlite.out}/lib -lsqlite3"; 37 - }; 38 - }); 39 32 tailwind = prev.tailwind.override (old: { 40 33 patches = [ ./tailwind-loadpaths.patch ]; 41 34 });
-15
priv/repo/migrations/20240122011031_add_seeds_table.exs
··· 1 - defmodule Sower.Repo.Migrations.AddSeedsTable do 2 - use Ecto.Migration 3 - 4 - def change do 5 - create table(:seeds) do 6 - add :name, :string 7 - add :type, :string 8 - add :out_path, :string 9 - 10 - timestamps() 11 - end 12 - 13 - create unique_index(:seeds, [:name, :type, :out_path], name: :seeds_unique_indexy) 14 - end 15 - end
+21
priv/repo/migrations/20240409161421_install_2_extensions.exs
··· 1 + defmodule Sower.Repo.Migrations.Install2Extensions20240409161420 do 2 + @moduledoc """ 3 + Installs any extensions that are mentioned in the repo's `installed_extensions/0` callback 4 + 5 + This file was autogenerated with `mix ash_postgres.generate_migrations` 6 + """ 7 + 8 + use Ecto.Migration 9 + 10 + def up do 11 + execute("CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"") 12 + execute("CREATE EXTENSION IF NOT EXISTS \"citext\"") 13 + end 14 + 15 + def down do 16 + # Uncomment this if you actually want to uninstall the extensions 17 + # when this migration is rolled back: 18 + # execute("DROP EXTENSION IF EXISTS \"uuid-ossp\"") 19 + # execute("DROP EXTENSION IF EXISTS \"citext\"") 20 + end 21 + end
+21
priv/repo/migrations/20240409161423_add_seeds.exs
··· 1 + defmodule Sower.Repo.Migrations.AddSeeds do 2 + @moduledoc """ 3 + Updates resources based on their most recent snapshots. 4 + 5 + This file was autogenerated with `mix ash_postgres.generate_migrations` 6 + """ 7 + 8 + use Ecto.Migration 9 + 10 + def up do 11 + create table(:seeds, primary_key: false) do 12 + add :id, :uuid, null: false, default: fragment("gen_random_uuid()"), primary_key: true 13 + add :name, :text, null: false 14 + add :type, :text, null: false 15 + end 16 + end 17 + 18 + def down do 19 + drop table(:seeds) 20 + end 21 + end
+6
priv/resource_snapshots/repo/extensions.json
··· 1 + { 2 + "installed": [ 3 + "uuid-ossp", 4 + "citext" 5 + ] 6 + }
+49
priv/resource_snapshots/repo/seeds/20240409161423.json
··· 1 + { 2 + "attributes": [ 3 + { 4 + "allow_nil?": false, 5 + "default": "fragment(\"gen_random_uuid()\")", 6 + "generated?": false, 7 + "primary_key?": true, 8 + "references": null, 9 + "size": null, 10 + "source": "id", 11 + "type": "uuid" 12 + }, 13 + { 14 + "allow_nil?": false, 15 + "default": "nil", 16 + "generated?": false, 17 + "primary_key?": false, 18 + "references": null, 19 + "size": null, 20 + "source": "name", 21 + "type": "text" 22 + }, 23 + { 24 + "allow_nil?": false, 25 + "default": "nil", 26 + "generated?": false, 27 + "primary_key?": false, 28 + "references": null, 29 + "size": null, 30 + "source": "type", 31 + "type": "text" 32 + } 33 + ], 34 + "base_filter": null, 35 + "check_constraints": [], 36 + "custom_indexes": [], 37 + "custom_statements": [], 38 + "has_create_action": true, 39 + "hash": "0F5E8736401D84FE0BF9060442ABB0DDF37472FF531C56261F567B6990C07285", 40 + "identities": [], 41 + "multitenancy": { 42 + "attribute": null, 43 + "global": null, 44 + "strategy": null 45 + }, 46 + "repo": "Elixir.Sower.Repo", 47 + "schema": null, 48 + "table": "seeds" 49 + }