diff options
author | stuebinm | 2023-04-26 01:45:29 +0200 |
---|---|---|
committer | stuebinm | 2023-04-26 01:45:29 +0200 |
commit | 6b1290d8092ab097cefcfceef0a7755ed1197b8c (patch) | |
tree | c53da8bc6f72b755c8336982786016ca69970afc | |
parent | f1146ab5a3b3a4c0680234ba42c37dbf93f8f51c (diff) |
bahnhof.name
in gleam, because why not?
(tbf i will probably eventually rewrite this in a more sensible
language; I haven't even found any reason to use any of the OTP features
for this 🙈)
-rw-r--r-- | chaski/configuration.nix | 1 | ||||
-rw-r--r-- | chaski/services/bahnhof-name.nix | 19 | ||||
-rw-r--r-- | flake.lock | 33 | ||||
-rw-r--r-- | flake.nix | 10 | ||||
-rw-r--r-- | pkgs/overlay.nix | 13 |
5 files changed, 74 insertions, 2 deletions
diff --git a/chaski/configuration.nix b/chaski/configuration.nix index af82b98..cbc2e91 100644 --- a/chaski/configuration.nix +++ b/chaski/configuration.nix @@ -11,6 +11,7 @@ ./services/uplcg.nix ./services/tracktrain.nix ./services/chat.nix + ./services/bahnhof-name.nix ]; diff --git a/chaski/services/bahnhof-name.nix b/chaski/services/bahnhof-name.nix new file mode 100644 index 0000000..e0e2988 --- /dev/null +++ b/chaski/services/bahnhof-name.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: + +{ + systemd.services.bahnhof-name = { + enable = true; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "simple"; + path = [ pkgs.bahnhof-name ]; + script = '' + bahnhofname + ''; + }; + + services.nginx.virtualHosts."bahnhof.name" = { + enableACME = true; + forceSSL = true; + locations."/".proxyPass = "http://localhost:2345"; + }; +} @@ -16,6 +16,22 @@ "url": "https://stuebinm.eu/git/forks/almanac" } }, + "bahnhof-name": { + "flake": false, + "locked": { + "lastModified": 1682465641, + "narHash": "sha256-Xz7mkgImm5ly0xei3gXEknOlXD2QLfu+lto+kp+DMRU=", + "ref": "refs/heads/main", + "rev": "a827bb0e4d75f784f2cb26d664055c05810b096b", + "revCount": 2, + "type": "git", + "url": "https://stuebinm.eu/git/bahnhof.name" + }, + "original": { + "type": "git", + "url": "https://stuebinm.eu/git/bahnhof.name" + } + }, "blobs": { "flake": false, "locked": { @@ -223,6 +239,21 @@ "url": "https://stuebinm.eu/git/isabelle-utils" } }, + "nix-gleam": { + "locked": { + "lastModified": 1681467615, + "narHash": "sha256-pp87h+V1ByoSFRHpkWP81WqQnUtv1V9uTUkSc8ZvzWY=", + "owner": "arnarg", + "repo": "nix-gleam", + "rev": "d1d2d6bcc5be6ea6a2d31e48aa55e7ea3bd41a1f", + "type": "github" + }, + "original": { + "owner": "arnarg", + "repo": "nix-gleam", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1673540789, @@ -320,6 +351,7 @@ "root": { "inputs": { "almanac": "almanac", + "bahnhof-name": "bahnhof-name", "blog": "blog", "deploy-rs": "deploy-rs", "emacs-overlay": "emacs-overlay", @@ -327,6 +359,7 @@ "gtfsBooks": "gtfsBooks", "home-manager": "home-manager", "isabelle-utils": "isabelle-utils", + "nix-gleam": "nix-gleam", "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "playground": "playground", @@ -18,6 +18,7 @@ sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable"; sops-nix.inputs.nixpkgs-stable.follows = "nixpkgs"; + nix-gleam.url = "github:arnarg/nix-gleam"; uplcg.url = "git+https://stuebinm.eu/git/uplcg?ref=main"; uplcg.flake = false; @@ -37,6 +38,8 @@ feeds.flake = false; isabelle-utils.url = "git+https://stuebinm.eu/git/isabelle-utils"; isabelle-utils.flake = false; + bahnhof-name.url = "git+https://stuebinm.eu/git/bahnhof.name"; + bahnhof-name.flake = false; gtfsBooks.url = "git+https://stuebinm.eu/git/gtfs-books?ref=main"; gtfsBooks.flake = false; @@ -48,8 +51,11 @@ let nixpkgs = import inputs.nixpkgs { system = "x86_64-linux"; - overlays = - [ inputs.rust-overlay.overlays.default self.overlays.default ]; + overlays = [ + inputs.rust-overlay.overlays.default + inputs.nix-gleam.overlays.default + self.overlays.default + ]; }; mkConfig = imports: config: inputs.nixpkgs.lib.nixosSystem rec { diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix index 210a34d..659517d 100644 --- a/pkgs/overlay.nix +++ b/pkgs/overlay.nix @@ -1,6 +1,9 @@ { inputs, ... }: self: super: +let + unstable = inputs.nixpkgs-unstable.legacyPackages.${self.system}; # { inherit (self) system; }; +in { galmon-core = self.callPackage (import ./galmon.nix {}) {}; galmon-full = self.callPackage (import ./galmon.nix { buildAll = true; }) {}; @@ -78,4 +81,14 @@ self: super: crs-tools = self.callPackage ./crs-tools.nix {}; travelynx = self.callPackage ./travelynx.nix {}; + + gleam = unstable.gleam; + beamPackages = super.beam.packagesWith super.erlang_nox; + + bahnhof-name = (self.buildGleamApplication ) + { + version = "0.1"; + pname = "bahnhof.name"; + src = inputs.bahnhof-name; + }; } |