diff --git a/docs/exe-penis.txt b/docs/exe-penis.txt index 562a961..da8412b 100644 --- a/docs/exe-penis.txt +++ b/docs/exe-penis.txt @@ -1,5 +1,7 @@ http://www.boomlings.com/database -> http://localhost:8080/asdfasdfasd +http://gdpstest.oat.zone/amoungus aHR0cDovL3d3dy5ib29tbGluZ3MuY29tL2RhdGFiYXNl -> base64 http://localhost:8080/asdfasdfasd -aHR0cDovL2xvY2FsaG9zdDo4MDgwL2FzZGZhc2RmYXNk \ No newline at end of file +aHR0cDovL2xvY2FsaG9zdDo4MDgwL2FzZGZhc2RmYXNk +aHR0cDovL2dkcHN0ZXN0Lm9hdC56b25lL2Ftb3VuZ3Vz \ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..3cbf13e --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1672350804, + "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8259b69 --- /dev/null +++ b/flake.nix @@ -0,0 +1,47 @@ + +{ + description = "Geometry Dash server reimplementation in Crystal"; + + inputs = { + flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = { self, nixpkgs, flake-utils }: + (with flake-utils.lib; eachSystem defaultSystems) (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + rec { + packages = flake-utils.lib.flattenTree rec { + crystal-gauntlet = pkgs.crystal.buildCrystalPackage { + pname = "crystal-gauntlet"; + version = "0.1.0"; + + src = ./.; + + format = "shards"; + lockFile = ./shard.lock; + shardsFile = ./shards.nix; + + buildInputs = with pkgs; [ openssl ]; + + nativeBuildInputs = with pkgs; [ pkg-config ]; + }; + }; + + defaultPackage = packages.crystal-gauntlet; + + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + openssl + ]; + + nativeBuildInputs = with pkgs; [ + pkgconfig + crystal + shards + ]; + }; + }); +} \ No newline at end of file diff --git a/shards.nix b/shards.nix new file mode 100644 index 0000000..f90b660 --- /dev/null +++ b/shards.nix @@ -0,0 +1,32 @@ +{ + db = { + url = "https://github.com/crystal-lang/crystal-db.git"; + rev = "v0.6.0"; + sha256 = "1gf6ylzcb8ywpy6m7w7d49xnvn6q636xb86f3vh292s1kml3vm99"; + }; + dotenv = { + url = "https://github.com/gdotdesign/cr-dotenv.git"; + rev = "v1.0.0"; + sha256 = "00pdawysns1w1iqwh6j3shilpwh41ljz1chsqkacn6dj2yn21n0r"; + }; + migrate = { + url = "https://github.com/oatmealine/migrate.cr.git"; + rev = "31af921c4a0ba1d42c4bff8047c5d91584082158"; + sha256 = "0hp8w0n6cqrxawmkm7rr5dq4bllx1al69f99ks3li8wrpmx590p4"; + }; + sqlite3 = { + url = "https://github.com/crystal-lang/crystal-sqlite3.git"; + rev = "v0.13.0"; + sha256 = "0myd9vvz40wnwl5ij1n1sva63nnmdbfv6xka5fb4y7v77l512y7c"; + }; + time_format = { + url = "https://github.com/vladfaust/time_format.cr.git"; + rev = "v0.1.1"; + sha256 = "0mmssnabf476i07sajm7s3rlvfcav4lkh0n8g12rybxr6c9f683v"; + }; + toml = { + url = "https://github.com/crystal-community/toml.cr.git"; + rev = "4b6325e2a378bac4abc98ee4d5734d57a6a55554"; + sha256 = "0w6w9f75njm1s7x0fshs313ykgcz7z2dzi1659jg7n9dq6wmq422"; + }; +}