summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chaski/configuration.nix6
-rw-r--r--chaski/ilztal.live/geolocation/index.html179
-rw-r--r--chaski/ilztal.live/geolocation/mapview.html94
-rw-r--r--chaski/ilztal.live/geolocation/view.html77
-rw-r--r--chaski/services/geolocation.nix6
-rw-r--r--chaski/services/tracktrain.nix16
-rw-r--r--chaski/services/woitb/index.html124
-rw-r--r--chaski/services/woitb/info.html180
-rw-r--r--common/cachix.nix13
-rw-r--r--common/cachix/nix-community.nix11
-rw-r--r--common/cachix/veloren-nix.nix12
-rw-r--r--common/common.nix1
-rw-r--r--common/desktop.nix1
-rw-r--r--flake.lock85
-rw-r--r--flake.nix16
-rw-r--r--flora/configuration.nix3
-rw-r--r--flora/hardware-configuration.nix2
-rw-r--r--flora/services/daemoniones.nix34
-rw-r--r--home/home-minimal.nix6
-rw-r--r--home/home.nix12
-rw-r--r--home/packages.nix3
21 files changed, 78 insertions, 803 deletions
diff --git a/chaski/configuration.nix b/chaski/configuration.nix
index e8095c0..3618572 100644
--- a/chaski/configuration.nix
+++ b/chaski/configuration.nix
@@ -8,16 +8,12 @@
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
- # ./services/uplcg.nix
- ./services/geolocation.nix
+ ./services/uplcg.nix
./services/tracktrain.nix
];
networking.firewall.allowedTCPPorts = [ 80 443 ];
- services.nginx.package =
- (pkgs.nginxStable.override { openssl = pkgs.openssl_1_1; });
-
services.nginx.enable = true;
services.nginx.appendHttpConfig = ''
access_log off;
diff --git a/chaski/ilztal.live/geolocation/index.html b/chaski/ilztal.live/geolocation/index.html
deleted file mode 100644
index 052a9fa..0000000
--- a/chaski/ilztal.live/geolocation/index.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>geolocation tracker test</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
-
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">
- You are using an <strong>outdated</strong> browser. Please
- <a href="http://browsehappy.com/">upgrade your browser</a> to improve
- your experience.
- </p>
- <![endif]-->
-
- <button id = "initialise">Start Tracking</button><br/>
- <p id = "status"></p>
- <a id = "map-link" target="_blank"></a>
-
- <p>
- Latitude: <span id="latitude"></span><br>
- Longitude: <span id="longitude"></span><br>
- Altitude: <span id="altitude"></span><br>
- Accuracy: <span id="accuracy"></span><br>
- Speed: <span id="speed"></span><br>
- Angle: <span id="angle"></span><br>
- </p>
-
- <input id="note" placeholder="enter note here">
- <button id="submit-note">Submit</button>
-
- <p>
- <button id="download">Download Log</button>
- <button id="reset">Reset History</button>
- </p>
- <p id="error"></p>
- </body>
- <script>
-
- /* TODO:
- / - how to push things to rocket? (probably just http post for now …)
- / - how to rate-limit new positions (either count dates, or option in geolocation?)
- / - how to get closest point on path?
- */
-
- let lat = document.getElementById("latitude");
- let long = document.getElementById("longitude");
- let speed = document.getElementById("speed");
- let acc = document.getElementById("accuracy");
- let angle = document.getElementById("angle");
- let alt = document.getElementById("altitude");
-
- let status = document.querySelector('#status');
- let mapLink = document.querySelector('#map-link');
-
- function resetDisplay () {
- lat.innerText = "-";
- long.innerText = "-";
- speed.innerText = "-";
- acc.innerText = "-";
- angle.innerText = "-";
- alt.innerText = "-";
- }
-
- function init() {
-
- mapLink.href = '';
- mapLink.textContent = '';
-
- resetDisplay();
-
- if(!navigator.geolocation) {
- status.textContent = 'Error: Geolocation API is not supported!';
- } else {
- status.textContent = 'Initialising …';
- trackPosition();
- }
-
- }
- var errcount = 1;
- var geolog = [];
-
- function trackPosition() {
- function success(position) {
- const latitude = position.coords.latitude;
- const longitude = position.coords.longitude;
- errcount = 0;
-
- status.textContent = '';
- mapLink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`;
- mapLink.textContent = `Latitude: ${latitude} °, Longitude: ${longitude} °`;
-
- lat.innerText = position.coords.latitude;
- long.innerText = position.coords.longitude;
- alt.innerText = position.coords.altitude;
- acc.innerText = position.coords.accuracy;
- speed.innerText = position.coords.speed;
- angle.innerText = position.coords.heading;
-
- document.getElementById("error").innerText = JSON.stringify(position.coords);
-
- let datapoint = {
- timestamp: new Date().toISOString(),
- data: {
- latitude: position.coords.latitude,
- longitude: position.coords.longitude,
- altitude: position.coords.altitude,
- accuracy: position.coords.accuracy,
- altitudeAccuracy: position.coords.altitudeAccuracy,
- heading: position.coords.heading,
- speed: position.coords.speed
- }
- };
-
- geolog.push(datapoint);
- fetch(
- "https://ilztal.live/geoloc/push",
- { method: "POST", body: JSON.stringify(datapoint)}
- ).then(() => console.log("pushed position"))
- .catch(e => console.log("some error: ", e))
- }
-
- function error() {
- status.textContent = "("+errcount+") Error: Getting Location failed, retrying …";
- resetDisplay();
- errcount += 1;
- setTimeout(trackPosition, 3000);
- }
-
- navigator.geolocation.watchPosition(success, error);
- }
-
- function downloadHistory () {
- let json = JSON.stringify(geolog);
- let a = document.createElement("a");
- console.log("attempting download!", geolog);
- a.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(json));
- a.setAttribute("download","history.json");
- document.body.appendChild(a);
- a.click();
- document.body.removeChild(a);
- }
-
- document.getElementById("initialise").addEventListener('click', init);
-
- document.getElementById("submit-note").onclick = (a) => {
- let input = document.getElementById("note");
- let text = input.value;
- console.log("submitting note:", text);
- geolog.push(text);
- fetch("https://ilztal.live/geoloc/push",
- {method:"POST", body: JSON.stringify({
- //ty: "note",
- timestamp: new Date().toISOString(),
- data: text
- })}
- ).then(() => input.value = "")
- .catch(e => {
- document.getElementById("error").innerText = "error:" + e;
- console.log("error occurred");
- });
- };
-
- document.getElementById("download").onclick = (a) => downloadHistory();
-
- document.getElementById("reset").onclick = (a) => geolog = [];
-
- </script>
-
-
- </body>
-</html>
diff --git a/chaski/ilztal.live/geolocation/mapview.html b/chaski/ilztal.live/geolocation/mapview.html
deleted file mode 100644
index bb62f62..0000000
--- a/chaski/ilztal.live/geolocation/mapview.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>Position view</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
-
- <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css"
- integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
- crossorigin=""/>
- <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"
- integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="
- crossorigin=""></script>
-
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">
- You are using an <strong>outdated</strong> browser. Please
- <a href="http://browsehappy.com/">upgrade your browser</a> to improve
- your experience.
- </p>
- <![endif]-->
-
- <div align="justify">
- <div id="MapID2" style="height:100vh; margin-left: auto; margin-right:auto; width:80%"></div>
- </div>
- <script>
- var mymap = L.map('MapID2');
- L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoiZmVsaXg4MTgyOTMiLCJhIjoiY2p6a2h6cjdyMGpicjNvbzlzZ3UwNmloMCJ9.a4t1KM9Gid-q29ultM7HgA', {
- attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
- maxZoom: 18,
- id: 'mapbox/streets-v11',
- accessToken: 'pk.eyJ1IjoiZmVsaXg4MTgyOTMiLCJhIjoiY2p6a2h6cjdyMGpicjNvbzlzZ3UwNmloMCJ9.a4t1KM9Gid-q29ultM7HgA'
- }).addTo(mymap);
- var marker = L.marker([0,0]).addTo(mymap);
- marker.bindPopup("Hello Train!");
-
- mymap.setView([0,0], 16);
- function updateMap(pos) {
- if (pos === null) {
- console.log("no data yet?");
- return;
- }
- mymap.setView(pos);
- mymap.scrollWheelZoom.disable();
- marker.setLatLng(pos);
- }
- updateMap([48.13716,11.57540]);
-
- function fetchUpdate () {
- fetch("https://ilztal.live/geoloc/history")
- .then((data) => {
- let text = data.text().then(text => {
- let hist = JSON.parse(text);
- console.log(hist)
-
- let latlngs = hist.filter(e => e.data.latitude !== undefined).map((e) => [e.data.latitude, e.data.longitude]);
-
- console.log(latlngs);
- let polyline = L.polyline(latlngs, {color: "red"}).addTo(mymap);
-
- mymap.fitBounds(polyline.getBounds())
-
- for (idx in hist) {
- if (hist[idx].data.latitude === undefined) {
- console.log(hist[idx].data, idx, 1+parseInt(idx))
- let nidx = 1+parseInt(idx);
- if (hist[nidx] !== undefined && hist[nidx].data.latitude !== undefined) {
- let marker = L.marker([hist[nidx].data.latitude, hist[nidx].data.longitude])
- .addTo(mymap);
- marker.bindPopup(hist[idx].data);
- }
- }
- }
- });
-
- })
- .catch((e) => {
- console.log("some error!", e);
- setTimeout(fetchUpdate, 3000);
- })
- }
-
- fetchUpdate()
- </script>
-
- </body>
-</html>
diff --git a/chaski/ilztal.live/geolocation/view.html b/chaski/ilztal.live/geolocation/view.html
deleted file mode 100644
index 58b4c76..0000000
--- a/chaski/ilztal.live/geolocation/view.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>Position view</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
-
- <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css"
- integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
- crossorigin=""/>
- <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"
- integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="
- crossorigin=""></script>
-
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">
- You are using an <strong>outdated</strong> browser. Please
- <a href="http://browsehappy.com/">upgrade your browser</a> to improve
- your experience.
- </p>
- <![endif]-->
-
- <div align="justify">
- <div id="MapID2" style="height:60vh; margin-left: auto; margin-right:auto; width:80%"></div>
- </div>
- <script>
- var mymap = L.map('MapID2');
- L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoiZmVsaXg4MTgyOTMiLCJhIjoiY2p6a2h6cjdyMGpicjNvbzlzZ3UwNmloMCJ9.a4t1KM9Gid-q29ultM7HgA', {
- attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
- maxZoom: 18,
- id: 'mapbox/streets-v11',
- accessToken: 'pk.eyJ1IjoiZmVsaXg4MTgyOTMiLCJhIjoiY2p6a2h6cjdyMGpicjNvbzlzZ3UwNmloMCJ9.a4t1KM9Gid-q29ultM7HgA'
- }).addTo(mymap);
- var marker = L.marker([0,0]).addTo(mymap);
- marker.bindPopup("Hello Train!");
-
- mymap.setView([0,0], 16);
- function updateMap(pos) {
- if (pos === null) {
- console.log("no data yet?");
- return;
- }
- mymap.setView(pos);
- mymap.scrollWheelZoom.disable();
- marker.setLatLng(pos);
- }
- updateMap([48.13716,11.57540]);
-
- function fetchUpdate () {
- fetch("https://ilztal.live/geoloc/current")
- .then((data) => {
- let text = data.text().then(text => {
- let pos = JSON.parse(text);
- console.log(pos)
- updateMap(pos.pos);
- });
-
- setTimeout(fetchUpdate, 3000);
- })
- .catch((e) => {
- console.log("some error!", e);
- setTimeout(fetchUpdate, 3000);
- })
- }
-
- fetchUpdate()
- </script>
-
- </body>
-</html>
diff --git a/chaski/services/geolocation.nix b/chaski/services/geolocation.nix
deleted file mode 100644
index 9fe0973..0000000
--- a/chaski/services/geolocation.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-{
- services.nginx.virtualHosts."ilztal.live".locations."/geolocation".root =
- ../ilztal.live;
-}
diff --git a/chaski/services/tracktrain.nix b/chaski/services/tracktrain.nix
index 5887f73..34391b0 100644
--- a/chaski/services/tracktrain.nix
+++ b/chaski/services/tracktrain.nix
@@ -60,15 +60,17 @@ in
services.grafana = {
enable = true;
- domain = "tracktrain.ilztalbahn.eu";
- rootUrl = "%(protocol)s://%(domain)s:/metrics/";
- port = 2342;
- addr = "0.0.0.0";
- extraOptions.serve_from_sub_path = "true";
+ settings.server = {
+ serve_from_sub_path = true;
+ domain = "tracktrain.ilztalbahn.eu";
+ root_url = "%(protocol)s://%(domain)s:/metrics/";
+ http_port = 2342;
+ http_addr = "0.0.0.0";
+ };
provision = {
enable = true;
- datasources = [ {
+ datasources.settings.datasources = [ {
url = "http://localhost:9001";
type = "prometheus";
name = "prometheus";
@@ -98,7 +100,7 @@ in
path = [ pkgs.wget ];
script = ''
cd /tmp
- wget "https://ilztalbahn.eu/wp-content/uploads/2020/07/gtfs.zip"
+ # wget "https://ilztalbahn.eu/wp-content/uploads/2020/07/gtfs.zip"
${stripLib (((import inputs.tracktrain {nixpkgs = pkgs;}))
# have to remove version constraints because some aren't in 22.05
.overrideAttrs (old: { patchPhase = ''
diff --git a/chaski/services/woitb/index.html b/chaski/services/woitb/index.html
deleted file mode 100644
index 8d08826..0000000
--- a/chaski/services/woitb/index.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE html>
-<html lang="de"><head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>Wo ist die Ilztalbahn?</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <link rel="apple-touch-icon" href="https://ilztal.live/apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
- <style>
-
- body {
- background-color: olivedrab;
- color: white;
- font-family: "Sans Serif";
- max-width: 60em;
- margin-left: auto;
- margin-right: auto;
- margin-top: 4em;
- }
-
- body > p, #sonst p {
- text-align: center;
- margin-bottom: 4rem;
- }
-
- section > p {
- text-align: center;
- }
-
- a {
- text-decoration: none;
- }
-
- h1, h2, h3 {
- font-weight: lighter
- }
-
- h1 {
- font-size: 40pt;
- text-align: center;
- }
-
- @media only screen and (max-width: 1000px) {
- h1 {
- font-size: 30pt;
- }
- body {
- margin: 1em;
- }
- }
-
- h2 {
- font-size: 23pt;
- }
-
- tr {
- background-color: white;
- color: black;
- }
-
- td {
- margin-left: 0;
- padding: 0.5em;
- }
-
- #wo {
- color: black;
- background-color: white;
- padding: 1em;
- max-width: 40em;
- margin: auto;
- font-weight: bold;
- }
-
- #wo div h2 {
- margin-left: 2rem;
- }
-
- #wo div p {
- margin-left: 3rem;
- }
-
- #fahrplan {
- margin: auto;
- max-width: 40em;
- }
-
- #fahrplan table tr td:last-child {
- min-width: 70%;
- }
-
- #fahrplan table {
- width: 100%;
- }
-
- </style>
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">
- You are using an <strong>outdated</strong> browser. Please
- <a href="http://browsehappy.com/">upgrade your browser</a> to improve
- your experience.
- </p>
- <![endif]-->
-
- <h1>Wo ist die <a href="https://ilztalbahn.eu/">Ilztalbahn</a> gerade?</h1>
-
- <p>(es gibt eh nur eine)</p>
-
- <div id="root"><main id=""><h2 id="">Gerade nicht unterwegs</h2><div id="wo"><h2 id="">Nächste Fahrt 2022</h2><p id="">Fahrplan ist noch nicht bekannt.</p></div></main></div>
-
- <section>
- <p>Andere Abfahrten ab Passau <a href="https://marudor.de/NPA">via marudor.de</a> | <a href="https://iris.noncd.db.de/wbt/js/index.html?bhf=NPA&amp;Zeilen=20">via Iris der DB</a></p>
-
- <p style="margin-top:3em">(Diese Seite also known as "oh, die Ilztalbahn <a href="https://ilztalbahn.eu/wp-content/uploads/2020/07/gtfs.zip">hat ja Open Data</a> 😍" – <a href="https://ilztal.live/info.html">Weitere Infos</a>)</p>
- </section>
-
-
-
-</body></html>
diff --git a/chaski/services/woitb/info.html b/chaski/services/woitb/info.html
deleted file mode 100644
index e68d728..0000000
--- a/chaski/services/woitb/info.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!doctype html>
-<html lang="de">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>Wo ist die Ilztalbahn?</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
- <!-- Place favicon.ico in the root directory -->
- <style>
-
- body {
- background-color: olivedrab;
- color: white;
- font-family: "Sans Serif";
- max-width: 60em;
- margin-left: auto;
- margin-right: auto;
- margin-top: 4em;
- }
-
- body > p, #sonst p {
- text-align: center;
- margin-bottom: 4rem;
- }
-
- section > p {
- text-align: center;
- }
-
- a {
- text-decoration: none;
- }
-
- h1, h2, h3 {
- font-weight: lighter
- }
-
- h1 {
- font-size: 40pt;
- text-align: center;
- }
-
- @media only screen and (max-width: 1000px) {
- h1 {
- font-size: 30pt;
- }
- body {
- margin: 1em;
- }
- }
-
- h2 {
- font-size: 23pt;
- }
-
- tr {
- background-color: white;
- color: black;
- }
-
- td {
- margin-left: 0;
- padding: 0.5em;
- }
-
- #wo {
- color: black;
- background-color: white;
- padding: 1em;
- max-width: 40em;
- margin: auto;
- font-weight: bold;
- }
-
- #wo div h2 {
- margin-left: 2rem;
- }
-
- #wo div p {
- margin-left: 3rem;
- }
-
- #fahrplan {
- margin: auto;
- max-width: 40em;
- }
-
- #fahrplan table tr td:last-child {
- min-width: 70%;
- }
-
- #fahrplan table {
- width: 100%;
- }
-
- </style>
- </head>
- <body>
- <!--[if lt IE 8]>
- <p class="browserupgrade">
- You are using an <strong>outdated</strong> browser. Please
- <a href="http://browsehappy.com/">upgrade your browser</a> to improve
- your experience.
- </p>
- <![endif]-->
-
- <h1><a href="index.html">Wo ist die Ilztalbahn</a> – Über</h1>
-
- <main>
- <h2>Was ist das hier?</h2>
- <p>
- Diese Webseite zeigt den Fahrplan der <a href="https://ilztalbahn.eu">Ilztalbahn</a> an,
- und macht sonst nicht viel. Bitte beachtet, dass diese Seite nicht von der Ilztalbahn GmbH,
- dem Förderverein o.ä. betrieben wird, sondern nur ein privates Projekt einer einzelnen Person
- ohne jede Verfügbarkeitsgarantie ist.
- </p>
-
- <h2>Wie funktioniert das?</h2>
- <p>
- Die Ilztalbahn bietet ihren Fahrplan im offenen Standard <a href="https://gtfs.org/">GTFS</a>
- an. Weil GTFS an einigen Stellen ein manchmal schwer zu benutzender Standard ist (und nicht
- jeder Besuch dieser Webseite einen Aufruf des GTFS der Ilztalbahn triggern muss), hängt noch
- ein kleiner Server dazwischen der die relevanten Teile in JSON übersetzt.
- </p>
- <p>
- Der Fahrplan ist jeweils für einen ganzen Sommer gültig, und wird auch währenddessen
- (soweit ich sehen kann) nicht verändert oder aktualisiert — es gibt also keinerlei Garantie,
- dass die Daten hier korrekt sind!
- </p>
-
- <h2>Gibt es das auch als App?</h2>
- <p>
- Aktuell nicht. Wenn ihr die Webseite im Browser offen lasst, sollte sie sich aber auch offline
- noch automatisch aktualisieren.
- </p>
-
- <h2>Werden Verspätungen/etc. angezeigt?</h2>
- <p>
- Leider nein. Es gibt für einige Fahrten der Ilztalbahn zwar Echtzeitdaten von der DB, diese
- sind aber nicht im Datensatz der Ilztalbahn enthalten. Vielleicht kommen die hier noch
- irgendwann mit rein, solange könnt ihr sie (falls es sie gibt) bei
- <a href="https://marudor.de/Passau%20Hbf">marudor.de</a> anschauen.
- </p>
-
- <h2>Gibts hier Quellcode zu?</h2>
- <p>
- Ja klar, hier: <a href="https://stuebinm.eu/git/woitb">git-Repository</a>
- </p>
-
- <h2>Datenschutz?</h2>
- <p>
- Diese Seite läuft aktuell auf einer kleinen vps bei <a href="https://hetzner.de">Hetzner</a>,
- geloggt werden aktuell nur Zugriffe, aber keine IP-Adressen.
- </p>
-
- <h2>Wer macht das hier?</h2>
- <p>
- Auch nur so ein Mensch im Internet. Falls ihr wollt könnt ihr
- <a href="https://pleroma.stuebinm.eu/stuebinm">auf meinem Pleroma</a> vorbeischauen.
- </p>
-
- <h2>Ich hab ne Idee für ein Feature!</h2>
- <p>
- Schreibt mich über Pleroma an, vielleicht habe ich Zeit und Lust es einzubauen.
- </p>
-
- <h2>Ich hab ein Feature dazuimplementiert!</h2>
- <p>
- Cool! Schick mir gerne nen Patch! (Mail ist im Repository)
- </p>
- </main>
- <section>
- <p style="margin-top:3em;">(Diese Seite also known as "oh, die Ilztalbahn <a href="https://ilztalbahn.eu/wp-content/uploads/2020/07/gtfs.zip">hat ja Open Data</a> 😍" – <a href="info.html">Weitere Infos</a>)</p>
- </section>
-
- </body>
-</html>
diff --git a/common/cachix.nix b/common/cachix.nix
deleted file mode 100644
index 88b2f08..0000000
--- a/common/cachix.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# WARN: this file will get overwritten by $ cachix use <name>
-{ pkgs, lib, ... }:
-
-let
- folder = ./cachix;
- toImport = name: value: folder + ("/" + name);
- filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key;
- imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
-in {
- inherit imports;
- nix.binaryCaches = ["https://cache.nixos.org/"];
-}
diff --git a/common/cachix/nix-community.nix b/common/cachix/nix-community.nix
deleted file mode 100644
index 427a518..0000000
--- a/common/cachix/nix-community.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-
-{
- nix = {
- binaryCaches = [
- "https://nix-community.cachix.org"
- ];
- binaryCachePublicKeys = [
- "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
- ];
- };
-}
diff --git a/common/cachix/veloren-nix.nix b/common/cachix/veloren-nix.nix
deleted file mode 100644
index 37fb947..0000000
--- a/common/cachix/veloren-nix.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-
-{
- nix = {
- binaryCaches = [
- "https://veloren-nix.cachix.org"
- ];
- binaryCachePublicKeys = [
- "veloren-nix.cachix.org-1:zokfKJqVsNV6kI/oJdLF6TYBdNPYGSb+diMVQPn/5Rc="
- ];
- };
-}
- \ No newline at end of file
diff --git a/common/common.nix b/common/common.nix
index a5d62f4..0f8cc11 100644
--- a/common/common.nix
+++ b/common/common.nix
@@ -8,6 +8,7 @@
i18n.defaultLocale = "en_IE.UTF-8";
+ i18n.supportedLocales = [ "de_DE.UTF-8/UTF-8" "en_IE.UTF-8/UTF-8" ];
time.timeZone = "Europe/Amsterdam";
environment.systemPackages = with pkgs; [
diff --git a/common/desktop.nix b/common/desktop.nix
index 7b1f3ba..6d0999b 100644
--- a/common/desktop.nix
+++ b/common/desktop.nix
@@ -3,7 +3,6 @@
{
imports = [
./common.nix
- ./cachix.nix
];
nix.extraOptions = ''
diff --git a/flake.lock b/flake.lock
index 37c56e2..c091262 100644
--- a/flake.lock
+++ b/flake.lock
@@ -57,11 +57,11 @@
"utils": "utils"
},
"locked": {
- "lastModified": 1668166163,
- "narHash": "sha256-XCuM+n98KcG0v+DT1HolGCO3j5FOBUjV4K8YcZsVeQw=",
+ "lastModified": 1668797197,
+ "narHash": "sha256-0w6iD3GSSQbIeSFVDzAAQZB+hDq670ZTms3d9XI+BtM=",
"owner": "serokell",
"repo": "deploy-rs",
- "rev": "b011f13bc577b978f52aaefde5605332f7bca7e9",
+ "rev": "2a3c5f70eee04a465aa534d8bd4fcc9bb3c4a8ce",
"type": "github"
},
"original": {
@@ -73,6 +73,7 @@
"feeds": {
"flake": false,
"locked": {
+ "lastModified": 1665671727,
"narHash": "sha256-W9LCdDQ96pw/ewGznNpHeIv6EGYIxLfJmflmhwUdVjE=",
"path": "/home/stuebinm/nonpublic.nix",
"type": "path"
@@ -150,19 +151,20 @@
"inputs": {
"nixpkgs": [
"nixpkgs"
- ]
+ ],
+ "utils": "utils_2"
},
"locked": {
- "lastModified": 1667907331,
- "narHash": "sha256-bHkAwkYlBjkupPUFcQjimNS8gxWSWjOTevEuwdnp5m0=",
+ "lastModified": 1670156115,
+ "narHash": "sha256-L2FKLedprp3AkQ+GS+2Br7CYWeCmLCjt3zUd87p0lNQ=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "6639e3a837fc5deb6f99554072789724997bc8e5",
+ "rev": "e704ef9ec7a8ccf8711bb11ff68da06f1917a26d",
"type": "github"
},
"original": {
"owner": "nix-community",
- "ref": "release-22.05",
+ "ref": "release-22.11",
"repo": "home-manager",
"type": "github"
}
@@ -189,11 +191,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1668157555,
- "narHash": "sha256-s5rt2FSmV4PWt89rjt4cvBGOhPizStsinkIB0BXnKrk=",
+ "lastModified": 1670174919,
+ "narHash": "sha256-XdQr3BUnrvVLRFunLWrZORhwYHDG0+9jUUe0Jv1pths=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "062c3cca468a4b404ddd964fb444b665e4da982e",
+ "rev": "9d87bc030a0bf3f00e953dbf095a7d8e852dab6b",
"type": "github"
},
"original": {
@@ -203,16 +205,16 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1668281765,
- "narHash": "sha256-6Tuj9CZ9HacMk7FJ8sF9XSVTBnUhVzlSY40Jo1krIaQ=",
+ "lastModified": 1670193339,
+ "narHash": "sha256-oHTAhX4p6+uxcabq0rKL4EyKWPbDLGKec88ocPIU/2Y=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "c5091eec689acc45d4d818109236da31d3685ca2",
+ "rev": "e169cf5b3b1e6cc4a25ff15087c2621605f83409",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "release-22.05",
+ "ref": "release-22.11",
"repo": "nixpkgs",
"type": "github"
}
@@ -234,11 +236,11 @@
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1668231603,
- "narHash": "sha256-/4br947zgRqABb52iLF4DCHgD49Fw5aQ6/IdTwaM95E=",
+ "lastModified": 1670148586,
+ "narHash": "sha256-EcDfOiTHs0UBAtyGc0wxJJdhcMjrJEgWXjJutxZGA3E=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "d8f2c4d846a2e65ad3f5a5e842b672f0b81588a2",
+ "rev": "a2d2f70b82ada0eadbcb1df2bca32d841a3c1bf1",
"type": "github"
},
"original": {
@@ -343,11 +345,11 @@
"showrt": {
"flake": false,
"locked": {
- "lastModified": 1670083349,
- "narHash": "sha256-UazQOKukyPDjQr8lEQsPP6iitdbQjCh+ZhWZitvLLT8=",
+ "lastModified": 1670187823,
+ "narHash": "sha256-po1Ef3+KiNSCLX45nUNZHyRntH5bVQTrqi+ZNFaaUCc=",
"ref": "main",
- "rev": "e0ad2c4e7ddaaa60d7dc9d7f312bd69567fa5745",
- "revCount": 6,
+ "rev": "7de36af3c6ffcc25832a6ff2303ba6c4c1101de5",
+ "revCount": 7,
"type": "git",
"url": "https://stuebinm.eu/git/showrt"
},
@@ -362,14 +364,14 @@
"blobs": "blobs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-22_05": "nixpkgs-22_05",
- "utils": "utils_2"
+ "utils": "utils_3"
},
"locked": {
- "lastModified": 1658267644,
- "narHash": "sha256-NJRe1rnlF112eZwxNASlRL8/ghwD8g+lpHIYRkWQxC8=",
+ "lastModified": 1669807829,
+ "narHash": "sha256-rgQ8MYV1UD4Ynw0wzfl9hatgsV5GV7X6eM6ioSPKzls=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
- "rev": "004c229ca44c069d93c92abf67ff1619fb508c6a",
+ "rev": "694e7d34f60028f4877517e1c7c73c9527fad400",
"type": "gitlab"
},
"original": {
@@ -399,11 +401,11 @@
"traveltext": {
"flake": false,
"locked": {
- "lastModified": 1654416346,
- "narHash": "sha256-vcTVfKeX8hK1LQm8hatELtsF1WX6MBE6Ue68n2/F29Y=",
+ "lastModified": 1669618450,
+ "narHash": "sha256-Vazqj1LR5m73trgTia8I22WN2/tC9ckJ2VVW4+vfKS0=",
"ref": "main",
- "rev": "8e2213d802d74c5df3429b7e29be6b3b3fa0ba78",
- "revCount": 18,
+ "rev": "436071f0ac974f8b018e6d41143907946a97dcf9",
+ "revCount": 19,
"type": "git",
"url": "https://stuebinm.eu/git/traveltext"
},
@@ -416,11 +418,11 @@
"uplcg": {
"flake": false,
"locked": {
- "lastModified": 1638532574,
- "narHash": "sha256-diZaAMiqOUVeEyGujEY5tejbyKdpecR/dRPLcAlKLWw=",
+ "lastModified": 1670253520,
+ "narHash": "sha256-bNMKKwI2ek1xDypgCmiUq4YBY3kcWBfywDUNWI0SJTY=",
"ref": "main",
- "rev": "8c19e63eb67093f960be060f08a873a9d696d226",
- "revCount": 121,
+ "rev": "d8da28c5d80d2976f5a607013b272b960c0fcdbe",
+ "revCount": 123,
"type": "git",
"url": "https://stuebinm.eu/git/uplcg"
},
@@ -447,6 +449,21 @@
},
"utils_2": {
"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"
+ }
+ },
+ "utils_3": {
+ "locked": {
"lastModified": 1605370193,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
"owner": "numtide",
diff --git a/flake.nix b/flake.nix
index 6a6c21f..6595b93 100644
--- a/flake.nix
+++ b/flake.nix
@@ -3,10 +3,10 @@
description = "testing nix flakes for server deployment";
inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/release-22.05";
+ nixpkgs.url = "github:NixOS/nixpkgs/release-22.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- home-manager.url = "github:nix-community/home-manager/release-22.05";
+ home-manager.url = "github:nix-community/home-manager/release-22.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
peerix.url = "github:cid-chan/peerix";
peerix.inputs.nixpkgs.follows = "nixpkgs";
@@ -87,12 +87,12 @@
homeConfigurations =
let home = root: inputs.home-manager.lib.homeManagerConfiguration rec {
- system = "x86_64-linux";
- homeDirectory = "/home/stuebinm";
- username = "stuebinm";
- configuration.imports = [ root ];
- stateVersion = "21.03";
- extraSpecialArgs = { inherit inputs system; };
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ modules = [ root ];
+ extraSpecialArgs = {
+ inherit inputs;
+ system = "x86_64-linux";
+ };
};
in {
stuebinm = home ./home/home.nix;
diff --git a/flora/configuration.nix b/flora/configuration.nix
index 07d1049..7e733e2 100644
--- a/flora/configuration.nix
+++ b/flora/configuration.nix
@@ -3,12 +3,9 @@
{
imports = [
./hardware-configuration.nix
- # ./services/hedgedoc.nix
- #./services/daemoniones.nix
./services/nginx.nix
./services/pleroma.nix
./services/cgit.nix
- # ./services/surveys.nix
#./services/picarones.nix
./services/dockerhub.nix
./services/blog.nix
diff --git a/flora/hardware-configuration.nix b/flora/hardware-configuration.nix
index 2ce21f4..4dce1d1 100644
--- a/flora/hardware-configuration.nix
+++ b/flora/hardware-configuration.nix
@@ -20,6 +20,6 @@
swapDevices = [ ];
- nix.maxJobs = lib.mkDefault 1;
+ nix.settings.max-jobs = lib.mkDefault 1;
}
diff --git a/flora/services/daemoniones.nix b/flora/services/daemoniones.nix
deleted file mode 100644
index ae9d3cb..0000000
--- a/flora/services/daemoniones.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ config, pkgs, ...}:
-
-{
- systemd.services =
- let simpledaemon = name: command: {
- enable = true;
- description = name;
- wantedBy = [ "multi-user.target" ];
- serviceConfig.Type = "simple";
- script = command;
- };
- in {
- choclo = simpledaemon "choclo signalling server" "/root/simple-signalling/target/release/chaski -b 127.0.0.1:5000";
- wasi = simpledaemon "wasi backend" "/root/wasi-minimal/target/release/wasi";
-# picarones = simpledaemon "picarones backend" "/root/picarones-server/target/release/picarones -b 127.0.0.1:6000";
- };
-
- services.nginx = {
- virtualHosts =
- let websocketproxy = addr: {
- locations."/".proxyPass = addr;
- forceSSL = true;
- enableACME = true;
- locations."/".proxyWebsockets = true;
- };
- in {
- "wasi.stuebinm.eu" = websocketproxy "http://127.0.0.1:9000";
- "choclo.stuebinm.eu" = websocketproxy "http://127.0.0.1:5000";
-# "picarones.stuebinm.eu" = websocketproxy "http://127.0.0.1:6000";
- };
- };
-
-
-}
diff --git a/home/home-minimal.nix b/home/home-minimal.nix
index e744e61..3b6062a 100644
--- a/home/home-minimal.nix
+++ b/home/home-minimal.nix
@@ -8,6 +8,12 @@
./packages-minimal.nix
];
+ home = {
+ stateVersion = "21.03";
+ homeDirectory = "/home/stuebinm";
+ username = "stuebinm";
+ };
+
home.keyboard.options = [ "caps:escape" ];
programs.bash = {
diff --git a/home/home.nix b/home/home.nix
index 81d3b3e..dadf847 100644
--- a/home/home.nix
+++ b/home/home.nix
@@ -45,18 +45,6 @@
};
};
- programs.nushell = {
- enable = true;
- settings = {
- startup = [
- "mkdir ~/.cache/starship"
- "starship init nu | save ~/.cache/starship/init.nu"
- "source ~/.cache/starship/init.nu"
- ];
- prompt = "starship_prompt";
- };
- };
-
programs.fish = {
shellAliases = {
"lrz-vpn" = "sudo openconnect https://asa-cluster.lrz.de";
diff --git a/home/packages.nix b/home/packages.nix
index 7387550..e6fc57f 100644
--- a/home/packages.nix
+++ b/home/packages.nix
@@ -15,7 +15,6 @@ in
(emacsWithPackages (epkgs: [ epkgs.exwm epkgs.pdf-tools epkgs.vterm ]))
emacs-all-the-icons-fonts
- nerdfonts
# internet apps & clients
firefox keepassxc chromium signal-desktop mumble lynx
openconnect matterhorn
@@ -46,7 +45,7 @@ in
# purescript
spago purescript # nodePackages.purescript-language-server nodejs
# rust
- rls cargo rustc rust-analyzer rustfmt
+ cargo rustc rust-analyzer rustfmt
# others
gcc cachix julia_16-bin python39
# nix things