From: Ismaël Bouya Date: Thu, 2 Jul 2020 11:01:22 +0000 (+0200) Subject: Use personnal project for landing page X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=commitdiff_plain;h=67cc3b9232748a9e65ea9a3362d10881b9fff656 Use personnal project for landing page --- diff --git a/modules/private/websites/tools/tools/landing.nix b/modules/private/websites/tools/tools/landing.nix index ac5c3cf..2acc323 100644 --- a/modules/private/websites/tools/tools/landing.nix +++ b/modules/private/websites/tools/tools/landing.nix @@ -1,21 +1,29 @@ -{ stdenv, fetchFromGitHub }: -stdenv.mkDerivation rec { - pname = "homer"; - version = "v1.0"; - src = fetchFromGitHub { - owner = "bastienwirtz"; - repo = "homer"; - rev = version; - sha256 = "0pgpkbqdg4728c8xan5q3lfb8najq118wn2497mc3h0md7l09m63"; +{ sources, stdenv, yarn2nix-moretea }: +let + yarnModules = yarn2nix-moretea.mkYarnModules rec { + name = "landing"; + pname = name; + version = "v1.0.0"; + packageJSON = "${sources.webapps-landing}/package.json"; + yarnLock = "${sources.webapps-landing}/yarn.lock"; + yarnNix = ./landing/yarn-packages.nix; }; +in + stdenv.mkDerivation rec { + pname = "landing"; + version = "v1.0.0"; + src = sources.webapps-landing; - phases = ["unpackPhase" "installPhase"]; - - installPhase = '' - cp -a . $out - sed -i -e "s/vlayout: true,/vlayout: false,/" $out/app.js - cp ${./landing}/config.yml $out/ - cp ${./landing}/*.php $out/ - cp ${./landing}/icons/* $out/assets/tools/ - ''; -} + buildInputs = [ yarnModules yarn2nix-moretea.yarn ]; + configurePhase = '' + ln -s ${yarnModules}/node_modules . + ''; + buildPhase = '' + yarn build + ''; + installPhase = '' + cp -a dist $out + cp ${./landing}/*.php $out/ + ln -s service-worker.js $out/worker.js + ''; + } diff --git a/modules/private/websites/tools/tools/landing/config.yml b/modules/private/websites/tools/tools/landing/config.yml deleted file mode 100644 index e86dc19..0000000 --- a/modules/private/websites/tools/tools/landing/config.yml +++ /dev/null @@ -1,182 +0,0 @@ ---- -# Homepage configuration -# See https://fontawesome.com/icons for icons options - -title: "Websites dashboard" -subtitle: "Immae" -footer: false - -# Optional navbar -# links: [] # Allows for navbar (dark mode, layout, and search) without any links -links: - - name: "status" - icon: "fas fa-desktop" - url: "https://status.immae.eu" - - name: "DMARC status" - url: "https://tools.immae.eu/dmarc-reports" - - name: "Change password" - url: "https://tools.immae.eu/ldap_password.php" - - name: "Get your IP" - url: "https://tools.immae.eu/myip.php" - -# Services -# First level array represent a group. -# Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed). -services: - - name: "Tools" - icon: "fas fa-tools" - items: - - name: "Nextcloud" - logo: "assets/tools/nextcloud.png" - url: "https://cloud.immae.eu" - - name: "Etherpad" - logo: "assets/tools/etherpad.ico" - url: "https://ether.immae.eu" - - name: "Taskweb" - icon: "fas fa-tasks" - url: "https://task.immae.eu/taskweb" - - name: "Agenda" - icon: "fas fa-calendar-alt" - url: "https://dav.immae.eu/caldavzap" - - name: "Contacts" - icon: "fas fa-address-book" - url: "https://dav.immae.eu/carddavmate" - - name: "Kanboard" - logo: "assets/tools/kanboard.png" - url: "https://tools.immae.eu/kanboard" - - name: "Dokuwiki" - logo: "assets/tools/dokuwiki.png" - url: "https://tools.immae.eu/dokuwiki" - - name: "RompR (MPD)" - logo: "assets/tools/rompr.png" - url: "https://tools.immae.eu/rompr" - - name: "Ympd (MPD)" - icon: "far fa-play-circle" - url: "https://tools.immae.eu/mpd" - - name: "Shaarli" - logo: "assets/tools/shaarli.png" - url: "https://tools.immae.eu/Shaarli" - - name: "TT-RSS" - logo: "assets/tools/ttrss.png" - url: "https://tools.immae.eu/ttrss" - - name: "Wallabag" - logo: "assets/tools/wallabag.svg" - url: "https://tools.immae.eu/wallabag" - - name: "Grocy" - logo: "assets/tools/grocy.png" - url: "https://tools.immae.eu/grocy" - - name: "BIP39" - icon: "fab fa-bitcoin" - url: "https://tools.immae.eu/BIP39" - - name: "Social" - icon: "fas fa-users" - items: - - name: "Commento" - logo: "assets/tools/commento.svg" - url: "https://commento.immae.eu" - - name: "Diaspora" - logo: "assets/tools/diaspora.png" - url: "https://diaspora.immae.eu" - - name: "Mastodon" - logo: "assets/tools/mastodon.png" - url: "https://mastodon.immae.eu" - - name: "PhpBB" - logo: "assets/tools/phpbb.ico" - url: "https://tools.immae.eu/forum" - - name: "Instant messaging (converse)" - icon: "fas fa-comment" - url: "https://im.immae.fr/converse" - - name: "Mail (roundcube)" - logo: "assets/tools/roundcube.svg" - url: "https://mail.immae.eu/roundcube" - - name: "Mail (rainloop)" - logo: "assets/tools/rainloop.png" - url: "https://mail.immae.eu/rainloop" - - name: "Video" - icon: "fas fa-video" - items: - - name: "Peertube" - logo: "assets/tools/peertube.png" - url: "https://peertube.immae.eu" - - name: "Mediagoblin" - logo: "assets/tools/mgoblin.ico" - url: "https://mgoblin.immae.eu" - - name: "Games" - icon: "fas fa-gamepad" - items: - - name: "Codenames" - logo: "assets/tools/games_codenames.png" - #source: https://github.com/jbowens/codenamesgreen - url: "https://codenames.games.immae.eu/" - - name: "Development" - icon: "fas fa-code-branch" - items: - - name: "Gitweb" - logo: "assets/tools/gitweb.png" - url: "https://git.immae.eu" - - name: "Mantisbt" - logo: "assets/tools/mantisbt.png" - url: "https://git.immae.eu/mantisbt" - - name: "Buildbot" - logo: "assets/tools/buildbot.svg" - url: "https://git.immae.eu/buildbot/immaeEu/" - - name: "Adminer" - logo: "assets/tools/adminer.png" - url: "https://tools.immae.eu/adminer" - - name: "Release" - icon: "fas fa-running" - url: "https://release.immae.eu" - - name: "Immae" - icon: "fas fa-edit" - items: - - name: "Page principale" - icon: "fas fa-user" - url: "https://www.immae.eu" - - name: "Historique infrastructure / Changelog" - icon: "fas fa-history" - url: "https://www.immae.eu/history" - - name: "Atelier d’écriture" - icon: "fas fa-pen" - url: "https://www.immae.eu/atelier" - - name: "Blog" - icon: "fas fa-blog" - url: "https://www.immae.eu/blog" - - name: "Recherche" - icon: "fas fa-search" - url: "https://www.immae.eu/recherche" - - name: "Cours" - icon: "fas fa-school" - url: "https://www.immae.eu/cours" - - name: "Recettes" - icon: "fas fa-utensils" - url: "https://www.immae.eu/recettes" - - name: "Chapeaux de Hamming" - icon: "fas fa-hat-cowboy-side" - url: "https://www.immae.eu/chapeaux" - - name: "Configuration" - icon: "fas fa-cog" - items: - - name: "Instant messaging" - url: "https://im.immae.fr" - - name: "E-mail" - url: "https://mail.immae.eu" - - name: "Sympa" - url: "https://mail.immae.eu/sympa" - - name: "VPN" - url: "https://vpn.immae.eu" - - name: "Taskwarrior" - url: "https://task.immae.eu" - - name: "Dav" - url: "https://dav.immae.eu" - - name: "Dav acount" - url: "https://dav.immae.eu/davical" - - name: "Paste" - url: "https://tools.immae.eu/paste" - - name: "LDAP" - url: "https://tools.immae.eu/ldap" - - name: "Yourls" - url: "https://tools.immae.eu/url/admin/" - - name: "Change password" - url: "https://tools.immae.eu/ldap_password.php" - - name: "temp.immae.eu" - url: "https://temp.immae.eu" diff --git a/modules/private/websites/tools/tools/landing/icons/adminer.png b/modules/private/websites/tools/tools/landing/icons/adminer.png deleted file mode 100644 index f5923d8..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/adminer.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/buildbot.png b/modules/private/websites/tools/tools/landing/icons/buildbot.png deleted file mode 100644 index e69de29..0000000 diff --git a/modules/private/websites/tools/tools/landing/icons/buildbot.svg b/modules/private/websites/tools/tools/landing/icons/buildbot.svg deleted file mode 100644 index 4972a11..0000000 --- a/modules/private/websites/tools/tools/landing/icons/buildbot.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/private/websites/tools/tools/landing/icons/commento.svg b/modules/private/websites/tools/tools/landing/icons/commento.svg deleted file mode 100644 index 39da47a..0000000 --- a/modules/private/websites/tools/tools/landing/icons/commento.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - -assets - - - - - - diff --git a/modules/private/websites/tools/tools/landing/icons/diaspora.png b/modules/private/websites/tools/tools/landing/icons/diaspora.png deleted file mode 100644 index 7b23d5d..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/diaspora.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/dokuwiki.png b/modules/private/websites/tools/tools/landing/icons/dokuwiki.png deleted file mode 100644 index a1f4995..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/dokuwiki.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/etherpad.ico b/modules/private/websites/tools/tools/landing/icons/etherpad.ico deleted file mode 100644 index 938e955..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/etherpad.ico and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/games_codenames.png b/modules/private/websites/tools/tools/landing/icons/games_codenames.png deleted file mode 100644 index 0b2729e..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/games_codenames.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/gitweb.png b/modules/private/websites/tools/tools/landing/icons/gitweb.png deleted file mode 100644 index 4fa44bb..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/gitweb.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/grocy.png b/modules/private/websites/tools/tools/landing/icons/grocy.png deleted file mode 100644 index 40be557..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/grocy.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/kanboard.png b/modules/private/websites/tools/tools/landing/icons/kanboard.png deleted file mode 100644 index 51702e7..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/kanboard.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/mantisbt.png b/modules/private/websites/tools/tools/landing/icons/mantisbt.png deleted file mode 100644 index 729e3ea..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/mantisbt.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/mastodon.png b/modules/private/websites/tools/tools/landing/icons/mastodon.png deleted file mode 100644 index b12aa55..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/mastodon.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/mgoblin.ico b/modules/private/websites/tools/tools/landing/icons/mgoblin.ico deleted file mode 100644 index ae5a1b1..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/mgoblin.ico and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/nextcloud.png b/modules/private/websites/tools/tools/landing/icons/nextcloud.png deleted file mode 100644 index 6358068..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/nextcloud.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/peertube.png b/modules/private/websites/tools/tools/landing/icons/peertube.png deleted file mode 100644 index a42fce3..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/peertube.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/phpbb.ico b/modules/private/websites/tools/tools/landing/icons/phpbb.ico deleted file mode 100644 index bb61b89..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/phpbb.ico and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/rainloop.png b/modules/private/websites/tools/tools/landing/icons/rainloop.png deleted file mode 100644 index ce1dd1a..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/rainloop.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/rompr.png b/modules/private/websites/tools/tools/landing/icons/rompr.png deleted file mode 100644 index d7b63b1..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/rompr.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/roundcube.svg b/modules/private/websites/tools/tools/landing/icons/roundcube.svg deleted file mode 100644 index 1f50dd8..0000000 --- a/modules/private/websites/tools/tools/landing/icons/roundcube.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/modules/private/websites/tools/tools/landing/icons/shaarli.png b/modules/private/websites/tools/tools/landing/icons/shaarli.png deleted file mode 100644 index f29210c..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/shaarli.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/ttrss.png b/modules/private/websites/tools/tools/landing/icons/ttrss.png deleted file mode 100644 index 97437d2..0000000 Binary files a/modules/private/websites/tools/tools/landing/icons/ttrss.png and /dev/null differ diff --git a/modules/private/websites/tools/tools/landing/icons/wallabag.svg b/modules/private/websites/tools/tools/landing/icons/wallabag.svg deleted file mode 100644 index 7b87fed..0000000 --- a/modules/private/websites/tools/tools/landing/icons/wallabag.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/modules/private/websites/tools/tools/landing/node-packages.nix b/modules/private/websites/tools/tools/landing/node-packages.nix new file mode 100644 index 0000000..9ebf254 --- /dev/null +++ b/modules/private/websites/tools/tools/landing/node-packages.nix @@ -0,0 +1,130 @@ +# This file has been generated by node2nix 1.8.0. Do not edit! + +{nodeEnv, fetchurl, fetchgit, src, globalBuildInputs ? []}: + +let + sources = { + "@fortawesome/fontawesome-free-5.13.1" = { + name = "_at_fortawesome_slash_fontawesome-free"; + packageName = "@fortawesome/fontawesome-free"; + version = "5.13.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz"; + sha512 = "D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw=="; + }; + }; + "argparse-1.0.10" = { + name = "argparse"; + packageName = "argparse"; + version = "1.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; + sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; + }; + }; + "bulma-0.8.2" = { + name = "bulma"; + packageName = "bulma"; + version = "0.8.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bulma/-/bulma-0.8.2.tgz"; + sha512 = "vMM/ijYSxX+Sm+nD7Lmc1UgWDy2JcL2nTKqwgEqXuOMU+IGALbXd5MLt/BcjBAPLIx36TtzhzBcSnOP974gcqA=="; + }; + }; + "core-js-3.6.5" = { + name = "core-js"; + packageName = "core-js"; + version = "3.6.5"; + src = fetchurl { + url = "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz"; + sha512 = "vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="; + }; + }; + "esprima-4.0.1" = { + name = "esprima"; + packageName = "esprima"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; + sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; + }; + }; + "js-yaml-3.14.0" = { + name = "js-yaml"; + packageName = "js-yaml"; + version = "3.14.0"; + src = fetchurl { + url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz"; + sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A=="; + }; + }; + "lodash.merge-4.6.2" = { + name = "lodash.merge"; + packageName = "lodash.merge"; + version = "4.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"; + sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="; + }; + }; + "register-service-worker-1.7.1" = { + name = "register-service-worker"; + packageName = "register-service-worker"; + version = "1.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.1.tgz"; + sha512 = "IdTfUZ4u8iJL8o1w8es8l6UMGPmkwHolUdT+UmM1UypC80IB4KbpuIlvwWVj8UDS7eJwkEYRcKRgfRX+oTmJsw=="; + }; + }; + "sprintf-js-1.0.3" = { + name = "sprintf-js"; + packageName = "sprintf-js"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + }; + "vue-2.6.11" = { + name = "vue"; + packageName = "vue"; + version = "2.6.11"; + src = fetchurl { + url = "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz"; + sha512 = "VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="; + }; + }; + }; + args = { + name = "homer"; + packageName = "homer"; + version = "20.06.1"; + inherit src; + dependencies = [ + sources."@fortawesome/fontawesome-free-5.13.1" + sources."argparse-1.0.10" + sources."bulma-0.8.2" + sources."core-js-3.6.5" + sources."esprima-4.0.1" + sources."js-yaml-3.14.0" + sources."lodash.merge-4.6.2" + sources."register-service-worker-1.7.1" + sources."sprintf-js-1.0.3" + sources."vue-2.6.11" + ]; + buildInputs = globalBuildInputs; + meta = { + license = "Apache-2.0"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; +in +{ + args = args; + sources = sources; + tarball = nodeEnv.buildNodeSourceDist args; + package = nodeEnv.buildNodePackage args; + shell = nodeEnv.buildNodeShell args; +} diff --git a/modules/private/websites/tools/tools/landing/report_csp_violation.php b/modules/private/websites/tools/tools/landing/report_csp_violation.php new file mode 100644 index 0000000..13a3234 --- /dev/null +++ b/modules/private/websites/tools/tools/landing/report_csp_violation.php @@ -0,0 +1,19 @@ +