mirror of
https://github.com/dump-dvb/nix-config.git
synced 2024-06-14 11:56:57 +02:00
Merge branch 'another-refactor'
This commit is contained in:
commit
d0faa8923a
|
@ -2,6 +2,6 @@
|
|||
"name": "Zentralwerk",
|
||||
"lat": 51.0810632,
|
||||
"lon": 13.7280758,
|
||||
"id": "61ef8e8b-f4d8-4d1d-8fa8-1a1d3d48888e",
|
||||
"region": 14612000
|
||||
"id": "8aa034af-3545-4c36-b235-17e46cad6f07",
|
||||
"region": 0
|
||||
}
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
"name": "Mobile",
|
||||
"lat": 0,
|
||||
"lon": 0,
|
||||
"station_id": 1000,
|
||||
"region": "dresden"
|
||||
"id": "285a6f4e-9123-4fcf-beeb-092463256c74",
|
||||
"region": 0
|
||||
}
|
||||
|
|
|
@ -1,405 +0,0 @@
|
|||
{
|
||||
"102": {
|
||||
"name": "LSA Anton-/Leipziger Straße",
|
||||
"lat": 51.063033,
|
||||
"lon": 13.736958
|
||||
},
|
||||
"103": {
|
||||
"name": "Anton-/Zur Eisenbahnstraße",
|
||||
"lat": 51.064067,
|
||||
"lon": 13.736935
|
||||
},
|
||||
"104": {
|
||||
"name": "Schlesischer Platz",
|
||||
"lat": 51.064783,
|
||||
"lon": 13.740362
|
||||
},
|
||||
"107": {
|
||||
"name": "Albertplatz",
|
||||
"lat": 51.063252,
|
||||
"lon": 13.746367
|
||||
},
|
||||
"108": {
|
||||
"name": "Albertplatz West",
|
||||
"lat": 51.064241,
|
||||
"lon": 13.744951
|
||||
},
|
||||
"109": {
|
||||
"name": "Bautzner/Rothenburger",
|
||||
"lat": 51.062925,
|
||||
"lon": 13.751871
|
||||
},
|
||||
"119": {
|
||||
"name": "Straßburger Platz",
|
||||
"lat": 51.046078,
|
||||
"lon": 13.754815
|
||||
},
|
||||
"120": {
|
||||
"name": "Lennéstraße/Hauptallee",
|
||||
"lat": 51.042455,
|
||||
"lon": 13.751296
|
||||
},
|
||||
"121": {
|
||||
"name": "Lennéplatz",
|
||||
"lat": 51.038294,
|
||||
"lon": 13.746646
|
||||
},
|
||||
"136": {
|
||||
"name": "Könneritzstraße/Jahnstraße",
|
||||
"lat": 51.055101,
|
||||
"lon": 13.723554
|
||||
},
|
||||
|
||||
"200": {
|
||||
"name": "Synagoge",
|
||||
"lat": 51.052611,
|
||||
"lon": 13.747128
|
||||
},
|
||||
"201": {
|
||||
"name": "St. Petersburger Straße/Pulmann-Newa",
|
||||
"lat": 51.042306,
|
||||
"lon": 13.736348
|
||||
},
|
||||
"203": {
|
||||
"name": "Pirnaischer Platz",
|
||||
"lat": 51.049434,
|
||||
"lon": 13.744379
|
||||
},
|
||||
"204": {
|
||||
"name": "Rathenauplatz",
|
||||
"lat": 51.051463,
|
||||
"lon": 13.747008
|
||||
},
|
||||
"205": {
|
||||
"name": "Carolaplatz",
|
||||
"lat": 51.057410,
|
||||
"lon": 13.745794
|
||||
},
|
||||
"206": {
|
||||
"name": "Neustädter Markt",
|
||||
"lat": 51.057757,
|
||||
"lon": 13.741322
|
||||
},
|
||||
"207": {
|
||||
"name": "Robert-Blum-Straße / Große Meißner Str.",
|
||||
"lat": 51.061568,
|
||||
"lon": 13.737761
|
||||
},
|
||||
"208": {
|
||||
"name": "Bodenbacher / Zwinglistraße",
|
||||
"lat": 51.033500,
|
||||
"lon": 13.782810
|
||||
},
|
||||
"268": {
|
||||
"name": "Albertplatz Süd",
|
||||
"lat": 51.061454,
|
||||
"lon": 13.746032
|
||||
},
|
||||
"305": {
|
||||
"name": "Karcherallee",
|
||||
"lat": 51.0370345,
|
||||
"lon": 13.7781818
|
||||
},
|
||||
"307": {
|
||||
"name": "Stübelallee/Zwinglistraße",
|
||||
"lat": 51.0346967,
|
||||
"lon": 13.7840746
|
||||
},
|
||||
"308": {
|
||||
"name": "Zwinglistraße",
|
||||
"lat": 51.0340625,
|
||||
"lon": 13.7833343
|
||||
},
|
||||
"310": {
|
||||
"name": "Rennplatzstraße",
|
||||
"lat": 51.0272979,
|
||||
"lon": 13.8004320
|
||||
},
|
||||
"311": {
|
||||
"name": "Marienberger Straße",
|
||||
"lat": 51.0256244,
|
||||
"lon": 13.8052278
|
||||
},
|
||||
"324": {
|
||||
"name": "Fetscherplatz",
|
||||
"lat": 51.046367,
|
||||
"lon": 13.770653
|
||||
},
|
||||
"330": {
|
||||
"name": "Schandauer Straße/Alternberger Straße",
|
||||
"lat": 51.0394224,
|
||||
"lon": 13.8059762
|
||||
},
|
||||
"346": {
|
||||
"name": "Schillerplatz",
|
||||
"lat": 51.052175,
|
||||
"lon": 13.805205
|
||||
},
|
||||
"357": {
|
||||
"name": "Hepkestraße",
|
||||
"lat": 51.0327378,
|
||||
"lon": 13.8052781
|
||||
},
|
||||
"363": {
|
||||
"name": "Blasewitzer/Fetscherstraße",
|
||||
"lat": 51.052881,
|
||||
"lon": 13.777738
|
||||
},
|
||||
"387": {
|
||||
"name": "Seidnitz Center",
|
||||
"lat": 51.0297010,
|
||||
"lon": 13.8024819
|
||||
},
|
||||
"405": {
|
||||
"name": "Caspar-David-Friedrich-Straße",
|
||||
"lat": 51.0264364,
|
||||
"lon": 13.7556769
|
||||
},
|
||||
"406": {
|
||||
"name": "Heinrich-Zille-Straße",
|
||||
"lat": 51.0255861,
|
||||
"lon": 13.7572326
|
||||
},
|
||||
"421": {
|
||||
"name": "Wasaplatz",
|
||||
"lat": 51.027979,
|
||||
"lon": 13.759444
|
||||
},
|
||||
"429": {
|
||||
"name": "Moränenende/Breitscheidstraße",
|
||||
"lat": 51.0135254,
|
||||
"lon": 13.8110393
|
||||
},
|
||||
"435": {
|
||||
"name": "Moränenende/Wilhelm-Liebknecht-Straße",
|
||||
"lat": 51.0125937,
|
||||
"lon": 13.8100717
|
||||
},
|
||||
"452": {
|
||||
"name": "Tiergartenstraße",
|
||||
"lat": 51.0298346,
|
||||
"lon": 13.7711960
|
||||
},
|
||||
"453": {
|
||||
"name": "Karchallee/Winterbergstraße",
|
||||
"lat": 51.0331947,
|
||||
"lon": 13.7745916
|
||||
},
|
||||
"454": {
|
||||
"name": "Dresden Grunaer Weg",
|
||||
"lat": 51.0309016,
|
||||
"lon": 13.7803976
|
||||
},
|
||||
"455": {
|
||||
"name": "Winderbergstraße",
|
||||
"lat": 51.0241871,
|
||||
"lon": 13.7973314
|
||||
},
|
||||
"459": {
|
||||
"name": "Mügelner Straße/Moränenende",
|
||||
"lat": 51.0112617,
|
||||
"lon": 13.8079246
|
||||
},
|
||||
"504": {
|
||||
"name": "Reichenbachstraße",
|
||||
"lat": 51.0348507,
|
||||
"lon": 13.7312898
|
||||
},
|
||||
"506": {
|
||||
"name": "Fritz-Foerster-Platz",
|
||||
"lat": 51.0301741,
|
||||
"lon": 13.7307460
|
||||
},
|
||||
"552": {
|
||||
"name": "Zellescher Weg",
|
||||
"lat": 51.0284316,
|
||||
"lon": 13.7459510
|
||||
},
|
||||
"604": {
|
||||
"name": "Nürnberger/Budapester Str.",
|
||||
"lat": 51.0369342,
|
||||
"lon": 13.7157618
|
||||
},
|
||||
"606": {
|
||||
"name": "Chemnitzer/Nöthritzer Str.",
|
||||
"lat": 51.0292989,
|
||||
"lon": 13.7071278
|
||||
},
|
||||
"651": {
|
||||
"name": "Nürnberger Platz",
|
||||
"lat": 51.0323243,
|
||||
"lon": 13.7261459
|
||||
},
|
||||
"804": {
|
||||
"name": "Tharandter/Kesselsdorfer Straße",
|
||||
"lat": 51.0436693,
|
||||
"lon": 13.7043013
|
||||
},
|
||||
"851": {
|
||||
"name": "Löbtauer Straße/Fröbelstraße",
|
||||
"lat": 51.0500279,
|
||||
"lon": 13.7126293
|
||||
},
|
||||
"1101": {
|
||||
"name": "Louisenstraße",
|
||||
"lat": 51.0680048,
|
||||
"lon": 13.7477077
|
||||
},
|
||||
"1102": {
|
||||
"name": "Bischofsweg",
|
||||
"lat": 51.0713760,
|
||||
"lon": 13.7506816
|
||||
},
|
||||
"1103": {
|
||||
"name": "Tannenstraße",
|
||||
"lat": 51.0737276,
|
||||
"lon": 13.7528442
|
||||
},
|
||||
"1151": {
|
||||
"name": "Bischofsplatz",
|
||||
"lat": 51.071993,
|
||||
"lon": 13.746973
|
||||
},
|
||||
"1104": {
|
||||
"name": "Staufenbergallee",
|
||||
"lat": 51.0766329,
|
||||
"lon": 13.7555318
|
||||
},
|
||||
"1202": {
|
||||
"name": "LSA Bautzner Straße/Pulsnitzer",
|
||||
"lat": 51.0633708,
|
||||
"lon": 13.7578833
|
||||
},
|
||||
"1203": {
|
||||
"name": "Pulsnitzer Straße",
|
||||
"lat": 51.063314,
|
||||
"lon": 13.757515
|
||||
},
|
||||
"1205": {
|
||||
"name": "Diakonissenkrankenhaus",
|
||||
"lat": 51.0641348,
|
||||
"lon": 13.7621847
|
||||
},
|
||||
"1220": {
|
||||
"name": "Nordstraße",
|
||||
"lat": 51.0661350,
|
||||
"lon": 13.7694067
|
||||
},
|
||||
|
||||
"1301": {
|
||||
"name": "Körnerplatz/Grundstr.",
|
||||
"lat": 51.0539600,
|
||||
"lon": 13.8150960
|
||||
},
|
||||
|
||||
"1501": {
|
||||
"name": "Hansastraße/Eisenbahnstraße",
|
||||
"lat": 51.0657888,
|
||||
"lon": 13.7381732
|
||||
},
|
||||
"3402": {
|
||||
"name": "Dresden Johannisfriedhof",
|
||||
"lat": 51.0368414,
|
||||
"lon": 13.8125265
|
||||
},
|
||||
"408": {
|
||||
"name": "Corinthstraße",
|
||||
"lat": 51.0213106,
|
||||
"lon": 13.7643742
|
||||
},
|
||||
"403": {
|
||||
"name": "Stehlener Platz",
|
||||
"lat": 51.0331333,
|
||||
"lon": 13.7488785
|
||||
},
|
||||
"402": {
|
||||
"name": "Gerhart-Hauptmann-Straße/Tiergartenstraße",
|
||||
"lat": 51.0374158,
|
||||
"lon": 13.7487953
|
||||
},
|
||||
"401": {
|
||||
"name": "Lenneplatz",
|
||||
"lat": 51.0380162,
|
||||
"lon": 13.7474113
|
||||
},
|
||||
"121": {
|
||||
"name": "Leneestraße/Gellerstraße",
|
||||
"lat": 51.0383636,
|
||||
"lon": 13.7466174
|
||||
},
|
||||
"123": {
|
||||
"name": "Gret-Palucca-Straße",
|
||||
"lat": 51.0389626,
|
||||
"lon": 13.7394281
|
||||
},
|
||||
"501": {
|
||||
"name": "Fritz-Löffler-Straße/Stehlener Straße",
|
||||
"lat": 51.0389726,
|
||||
"lon": 13.7332578
|
||||
},
|
||||
"192": {
|
||||
"name": "Hauptbahnhof",
|
||||
"lat": 51.0396540,
|
||||
"lon": 13.7337835
|
||||
},
|
||||
"302": {
|
||||
"name": "Comeniusplatz",
|
||||
"lat": 51.0416777,
|
||||
"lon": 13.7666030
|
||||
},
|
||||
"1504": {
|
||||
"name": "Dresden Grossenhainer Platz",
|
||||
"lat": 51.074117,
|
||||
"lon": 13.738611
|
||||
},
|
||||
"1404": {
|
||||
"name": "Dresden Grossenhainer Strasse / Frintz-Reuter-Strasse",
|
||||
"lat": 51.075230,
|
||||
"lon": 13.734514
|
||||
},
|
||||
"1270": {
|
||||
"name": "Stauffenbergalle / Hans-Oster-Strasse",
|
||||
"lat": 51.075896,
|
||||
"lon": 13.757962
|
||||
},
|
||||
"1293": {
|
||||
"name":"Hans-Oster-Strasse",
|
||||
"lat": 51.074884,
|
||||
"lon": 13.760771
|
||||
},
|
||||
"1257": {
|
||||
"name":"Marienallee",
|
||||
"lat": 51.073226,
|
||||
"lon": 13.765502
|
||||
},
|
||||
"1271": {
|
||||
"name":"Landesdirektion Sachsen",
|
||||
"lat": 51.071685,
|
||||
"lon": 13.770473
|
||||
},
|
||||
"1258": {
|
||||
"name":"Waldschloesschenstrasse",
|
||||
"lat": 51.069858,
|
||||
"lon": 13.775674
|
||||
},
|
||||
"1206": {
|
||||
"name":"Waldschloesschen",
|
||||
"lat": 51.067329,
|
||||
"lon": 13.776489
|
||||
},
|
||||
"1276": {
|
||||
"name": "Jaegerpark Heideblick",
|
||||
"lat": 51.070416,
|
||||
"lon": 13.788827
|
||||
},
|
||||
"1301": {
|
||||
"name": "Koernerplatz",
|
||||
"lat": 51.054347,
|
||||
"lon": 13.814161
|
||||
},
|
||||
"112": {
|
||||
"name": "Rosa-Luxemburg-Platz",
|
||||
"lat": 51.059115,
|
||||
"lon": 13.752996
|
||||
}
|
||||
}
|
411
flake.lock
411
flake.lock
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"nodes": {
|
||||
"click": {
|
||||
<<<<<<< HEAD
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
|
@ -48,14 +49,47 @@
|
|||
"clicky-bunty-server_2": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_4",
|
||||
=======
|
||||
"inputs": {
|
||||
>>>>>>> another-refactor
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"stops": "stops_4",
|
||||
"utils": "utils_5"
|
||||
},
|
||||
"locked": {
|
||||
=======
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657401201,
|
||||
"narHash": "sha256-59C4mIKZ5ZCE5c5PiUL1TEOsOGm0fWOuiG6oJwM0tGw=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "click",
|
||||
"rev": "7ba2ec99d39e6e95b10940ab33712d91742a765e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "dump-dvb",
|
||||
"repo": "click",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"clicky-bunty-server": {
|
||||
"inputs": {
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
"stops": "stops",
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
>>>>>>> another-refactor
|
||||
"lastModified": 1657398177,
|
||||
"narHash": "sha256-3QEvHevT/gjLKuYP4KTFlOuNQb3fvVBpXEXbICX+aRY=",
|
||||
"owner": "dump-dvb",
|
||||
|
@ -73,6 +107,7 @@
|
|||
"inputs": {
|
||||
"naersk": "naersk_2",
|
||||
"nixpkgs": [
|
||||
<<<<<<< HEAD
|
||||
"nixpkgs"
|
||||
],
|
||||
"stops": "stops_2",
|
||||
|
@ -101,6 +136,13 @@
|
|||
],
|
||||
"stops": "stops_5",
|
||||
"utils": "utils_6"
|
||||
=======
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
"stops": "stops_2",
|
||||
"utils": "utils_3"
|
||||
>>>>>>> another-refactor
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657403938,
|
||||
|
@ -120,6 +162,7 @@
|
|||
"inputs": {
|
||||
"naersk": "naersk_3",
|
||||
"nixpkgs": [
|
||||
<<<<<<< HEAD
|
||||
"nixpkgs"
|
||||
],
|
||||
"stops": "stops_3",
|
||||
|
@ -155,6 +198,20 @@
|
|||
"owner": "dump-dvb",
|
||||
"repo": "decode-server",
|
||||
"rev": "c1e24573c71fff0919cae7fb5af53153c11a1532",
|
||||
=======
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
"stops": "stops_3",
|
||||
"utils": "utils_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657479879,
|
||||
"narHash": "sha256-nrrlUCO2A1UL13RRGVmWasIenAh8g2i13LVD/Mj0Uy8=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "decode-server",
|
||||
"rev": "7731fbc37a76d49569eff63525ff0a960e3ec5e4",
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -187,9 +244,15 @@
|
|||
"dump-dvb": {
|
||||
"inputs": {
|
||||
"click": "click",
|
||||
<<<<<<< HEAD
|
||||
"clicky-bunty-server": "clicky-bunty-server_2",
|
||||
"data-accumulator": "data-accumulator_2",
|
||||
"decode-server": "decode-server_2",
|
||||
=======
|
||||
"clicky-bunty-server": "clicky-bunty-server",
|
||||
"data-accumulator": "data-accumulator",
|
||||
"decode-server": "decode-server",
|
||||
>>>>>>> another-refactor
|
||||
"docs": "docs",
|
||||
"dvb-api": "dvb-api",
|
||||
"funnel": "funnel",
|
||||
|
@ -197,16 +260,28 @@
|
|||
"nixpkgs"
|
||||
],
|
||||
"radio-conf": "radio-conf",
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_11",
|
||||
=======
|
||||
"utils": "utils_8",
|
||||
>>>>>>> another-refactor
|
||||
"wartrammer": "wartrammer",
|
||||
"windshield": "windshield"
|
||||
},
|
||||
"locked": {
|
||||
<<<<<<< HEAD
|
||||
"lastModified": 1657469990,
|
||||
"narHash": "sha256-k7mhrWfYJtc/i/B+4Gm668v5Ao+eMjO6xDqFpf8bEDA=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "dump-dvb.nix",
|
||||
"rev": "c50aacb2cdfb625c5b64a4b69051346075853fd9",
|
||||
=======
|
||||
"lastModified": 1657482866,
|
||||
"narHash": "sha256-sgZLBYAm92SdCJSb62cC3oa+fQluaiXEx4kgHtCpCqg=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "dump-dvb.nix",
|
||||
"rev": "c45da1511414fba143e3136450247444d6aba703",
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -217,12 +292,16 @@
|
|||
},
|
||||
"dvb-api": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_7",
|
||||
"naersk": "naersk_4",
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_8"
|
||||
=======
|
||||
"utils": "utils_5"
|
||||
>>>>>>> another-refactor
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657370165,
|
||||
|
@ -230,6 +309,7 @@
|
|||
"owner": "dump-dvb",
|
||||
"repo": "dvb-api",
|
||||
"rev": "ee21584244a3af9154efa90832784e9f98e852be",
|
||||
<<<<<<< HEAD
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -252,6 +332,8 @@
|
|||
"owner": "dump-dvb",
|
||||
"repo": "dvb-api",
|
||||
"rev": "ee21584244a3af9154efa90832784e9f98e852be",
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -277,11 +359,12 @@
|
|||
},
|
||||
"funnel": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_8",
|
||||
"naersk": "naersk_5",
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_9"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -312,6 +395,16 @@
|
|||
"owner": "dump-dvb",
|
||||
"repo": "funnel",
|
||||
"rev": "e1f146f7bd5cf91fcf18c67b02260e575431ca71",
|
||||
=======
|
||||
"utils": "utils_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657482444,
|
||||
"narHash": "sha256-YSfcekPeUVZ9oZDPi69Q5ZqfcHoPRf5vSdZMOlxS7wU=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "funnel",
|
||||
"rev": "2b4480fde563596971c0d250ba2ad6502d19ec2e",
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -359,80 +452,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_10": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1652722411,
|
||||
"narHash": "sha256-FxzNgYiH9c91hUVAntcjrqY//KOTUPP2a4e8Wyuysxg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "94beb7a3edfeb3bcda65fa3f2ebc48ec6b40bf72",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_11": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_11"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655042882,
|
||||
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_12": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655042882,
|
||||
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_13": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_13"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1652722411,
|
||||
"narHash": "sha256-FxzNgYiH9c91hUVAntcjrqY//KOTUPP2a4e8Wyuysxg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "94beb7a3edfeb3bcda65fa3f2ebc48ec6b40bf72",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
|
@ -473,60 +492,6 @@
|
|||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1653413650,
|
||||
"narHash": "sha256-wojDHjb+eU80MPH+3HQaK0liUy8EgR95rvmCl24i58Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "69daaceebe12c070cd5ae69ba38f277bbf033695",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_5": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1653413650,
|
||||
"narHash": "sha256-wojDHjb+eU80MPH+3HQaK0liUy8EgR95rvmCl24i58Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "69daaceebe12c070cd5ae69ba38f277bbf033695",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_6": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655042882,
|
||||
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_7": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1652722411,
|
||||
"narHash": "sha256-FxzNgYiH9c91hUVAntcjrqY//KOTUPP2a4e8Wyuysxg=",
|
||||
|
@ -541,9 +506,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_8": {
|
||||
"naersk_5": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655042882,
|
||||
|
@ -559,9 +524,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk_9": {
|
||||
"naersk_6": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1652722411,
|
||||
|
@ -607,6 +572,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1652840887,
|
||||
|
@ -665,6 +631,8 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1653326962,
|
||||
|
@ -694,48 +662,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1653326962,
|
||||
"narHash": "sha256-W8feCYqKTsMre4nAEpv5Kx1PVFC+hao/LwqtB2Wci/8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41cc1d5d9584103be4108c1815c350e07c807036",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1653326962,
|
||||
"narHash": "sha256-W8feCYqKTsMre4nAEpv5Kx1PVFC+hao/LwqtB2Wci/8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41cc1d5d9584103be4108c1815c350e07c807036",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1656936967,
|
||||
"narHash": "sha256-7EWfyOpyS33v5WsaIxm9Rw5yUBkoBZLHds8SsS0Mr/4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e0db4edff65df3bd12012adb36244a9409d7a754",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1652840887,
|
||||
"narHash": "sha256-gEK4NNa4GwIgTZE63kt/4WTFAWRTJVSa30+h4ZjFh9U=",
|
||||
|
@ -749,7 +675,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1657413868,
|
||||
"narHash": "sha256-qDC9kUZhGhoDtOzhd6kIMUQHRZNys6/xsJAWrJB+gqU=",
|
||||
|
@ -763,7 +689,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1652840887,
|
||||
"narHash": "sha256-gEK4NNa4GwIgTZE63kt/4WTFAWRTJVSa30+h4ZjFh9U=",
|
||||
|
@ -777,13 +703,48 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1657296039,
|
||||
"narHash": "sha256-Ghh39+aS+pw5sTP/ZO8VIKE6sBhMadDaQZtf+3yu4Vc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "71d7a4c037dc4f3e98d5c4a81b941933cf5bf675",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
<<<<<<< HEAD
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1657413868,
|
||||
"narHash": "sha256-qDC9kUZhGhoDtOzhd6kIMUQHRZNys6/xsJAWrJB+gqU=",
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.05",
|
||||
"repo": "nixpkgs",
|
||||
<<<<<<< HEAD
|
||||
"rev": "7802f1b6479d6f04bea5cc94e8290ea61e210ecf",
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"radio-conf": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_10"
|
||||
=======
|
||||
"utils": "utils_7"
|
||||
>>>>>>> another-refactor
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657130203,
|
||||
|
@ -799,6 +760,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"radio-conf_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -825,17 +787,21 @@
|
|||
"clicky-bunty-server": "clicky-bunty-server",
|
||||
"data-accumulator": "data-accumulator",
|
||||
"decode-server": "decode-server",
|
||||
=======
|
||||
"root": {
|
||||
"inputs": {
|
||||
>>>>>>> another-refactor
|
||||
"dump-dvb": "dump-dvb",
|
||||
"dvb-api": "dvb-api_2",
|
||||
"funnel": "funnel_2",
|
||||
"microvm": "microvm",
|
||||
"naersk": "naersk_12",
|
||||
"nixpkgs": "nixpkgs_12",
|
||||
"radio-conf": "radio-conf_2",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"sops-nix": "sops-nix",
|
||||
<<<<<<< HEAD
|
||||
"stops": "stops_7",
|
||||
"wartrammer": "wartrammer_2",
|
||||
"windshield": "windshield_2"
|
||||
=======
|
||||
"stops": "stops_4"
|
||||
>>>>>>> another-refactor
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
|
@ -846,11 +812,19 @@
|
|||
"nixpkgs-22_05": "nixpkgs-22_05"
|
||||
},
|
||||
"locked": {
|
||||
<<<<<<< HEAD
|
||||
"lastModified": 1657468625,
|
||||
"narHash": "sha256-yNDWBqCtERVPyoUgxB/txYQiKzXLn4SgkA/Oj/vLZp8=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "11c61acdd6dec70cf2c3e200d16d7fec00b2edbe",
|
||||
=======
|
||||
"lastModified": 1657474083,
|
||||
"narHash": "sha256-AVs6Tnu5E81VrT4jPzkkUdBnV2YEoHao7/JI2XBC04U=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "2c898a6d760c0c47fecd76317175206951ab884d",
|
||||
>>>>>>> another-refactor
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -910,10 +884,11 @@
|
|||
"stops_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1652912878,
|
||||
"narHash": "sha256-HexjCe/egqPy+pgJniQB+EgFc04lH0HCuZ7kNzRsBJU=",
|
||||
"lastModified": 1657469803,
|
||||
"narHash": "sha256-Iuu1wcSfqXog9AZpE6CRyWSVjQy342a0XhTX42YfUII=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "stop-names",
|
||||
<<<<<<< HEAD
|
||||
"rev": "17c22c4d4908f08166e7a737abc65dee5d46dcc4",
|
||||
"type": "github"
|
||||
},
|
||||
|
@ -962,6 +937,8 @@
|
|||
"narHash": "sha256-Iuu1wcSfqXog9AZpE6CRyWSVjQy342a0XhTX42YfUII=",
|
||||
"owner": "dump-dvb",
|
||||
"repo": "stop-names",
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"rev": "373f443980a4bbefb7a8eb8eb358e0ed7a88856b",
|
||||
"type": "github"
|
||||
},
|
||||
|
@ -973,6 +950,7 @@
|
|||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
<<<<<<< HEAD
|
||||
"lastModified": 1652776076,
|
||||
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
|
||||
"owner": "numtide",
|
||||
|
@ -1003,6 +981,8 @@
|
|||
},
|
||||
"utils_11": {
|
||||
"locked": {
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"owner": "numtide",
|
||||
|
@ -1016,6 +996,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"utils_12": {
|
||||
"locked": {
|
||||
"lastModified": 1652776076,
|
||||
|
@ -1107,6 +1088,9 @@
|
|||
}
|
||||
},
|
||||
"utils_18": {
|
||||
=======
|
||||
"utils_10": {
|
||||
>>>>>>> another-refactor
|
||||
"locked": {
|
||||
"lastModified": 1649676176,
|
||||
"narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=",
|
||||
|
@ -1138,11 +1122,11 @@
|
|||
},
|
||||
"utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"lastModified": 1652776076,
|
||||
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1213,6 +1197,7 @@
|
|||
},
|
||||
"utils_8": {
|
||||
"locked": {
|
||||
<<<<<<< HEAD
|
||||
"lastModified": 1652776076,
|
||||
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
|
||||
"owner": "numtide",
|
||||
|
@ -1230,6 +1215,10 @@
|
|||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
=======
|
||||
"lastModified": 1653893745,
|
||||
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
|
||||
>>>>>>> another-refactor
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
|
@ -1241,14 +1230,48 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils_8": {
|
||||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils_9": {
|
||||
"locked": {
|
||||
"lastModified": 1652776076,
|
||||
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wartrammer": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_9",
|
||||
"naersk": "naersk_6",
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_12"
|
||||
=======
|
||||
"utils": "utils_9"
|
||||
>>>>>>> another-refactor
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657129381,
|
||||
|
@ -1264,6 +1287,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"wartrammer_2": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_13",
|
||||
|
@ -1286,13 +1310,19 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
"windshield": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dump-dvb",
|
||||
"nixpkgs"
|
||||
],
|
||||
<<<<<<< HEAD
|
||||
"utils": "utils_13"
|
||||
=======
|
||||
"utils": "utils_10"
|
||||
>>>>>>> another-refactor
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657126666,
|
||||
|
@ -1307,6 +1337,7 @@
|
|||
"repo": "windshield",
|
||||
"type": "github"
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
},
|
||||
"windshield_2": {
|
||||
"inputs": {
|
||||
|
@ -1328,6 +1359,8 @@
|
|||
"repo": "windshield",
|
||||
"type": "github"
|
||||
}
|
||||
=======
|
||||
>>>>>>> another-refactor
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
128
flake.nix
128
flake.nix
|
@ -1,44 +1,19 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = github:NixOS/nixpkgs/nixos-22.05;
|
||||
|
||||
dump-dvb = {
|
||||
url = github:dump-dvb/dump-dvb.nix;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
naersk = {
|
||||
url = github:nix-community/naersk;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
microvm = {
|
||||
url = github:astro/microvm.nix;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
radio-conf = {
|
||||
url = github:dump-dvb/radio-conf;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixpkgs.url = github:NixOS/nixpkgs/nixos-22.05;
|
||||
|
||||
data-accumulator = {
|
||||
url = github:dump-dvb/data-accumulator;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
decode-server = {
|
||||
url = github:dump-dvb/decode-server;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
dvb-api = {
|
||||
url = github:dump-dvb/dvb-api;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
funnel = {
|
||||
url = github:dump-dvb/funnel;
|
||||
sops-nix = {
|
||||
url = github:Mic92/sops-nix;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
@ -46,48 +21,27 @@
|
|||
url = github:dump-dvb/stop-names;
|
||||
flake = false;
|
||||
};
|
||||
|
||||
windshield = {
|
||||
url = github:dump-dvb/windshield;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
wartrammer = {
|
||||
url = github:dump-dvb/wartrammer-40k;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
clicky-bunty-server = {
|
||||
url = github:dump-dvb/clicky-bunty-server;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
sops-nix = {
|
||||
url = github:Mic92/sops-nix;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, dump-dvb, nixpkgs, microvm, radio-conf, data-accumulator, decode-server, dvb-api, funnel, stops, windshield, wartrammer, clicky-bunty-server, sops-nix, ... }@inputs:
|
||||
outputs =
|
||||
inputs@{ self
|
||||
, dump-dvb
|
||||
, microvm
|
||||
, nixpkgs
|
||||
, sops-nix
|
||||
, stops
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
||||
lib = pkgs.lib;
|
||||
|
||||
data-hoarder-modules = [
|
||||
./modules/base.nix
|
||||
./modules/data-hoarder/data-accumulator.nix
|
||||
./modules/data-hoarder/nginx.nix
|
||||
./modules/data-hoarder/api.nix
|
||||
./modules/data-hoarder/socket.nix
|
||||
./modules/data-hoarder/map.nix
|
||||
./modules/data-hoarder/file_sharing.nix
|
||||
./modules/data-hoarder/grafana.nix
|
||||
./modules/data-hoarder/website.nix
|
||||
./modules/data-hoarder/documentation.nix
|
||||
./modules/data-hoarder/clicky-bunty.nix
|
||||
./modules/data-hoarder/secrets.nix
|
||||
./modules/data-hoarder
|
||||
./modules/dump-dvb
|
||||
sops-nix.nixosModules.sops
|
||||
dump-dvb.nixosModules.default
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
dump-dvb.overlays.default
|
||||
|
@ -123,6 +77,7 @@
|
|||
modules = [
|
||||
diskModule
|
||||
sops-nix.nixosModules.sops
|
||||
dump-dvb.nixosModules.default
|
||||
./hosts/traffic-stop-boxes/configuration.nix
|
||||
./hosts/traffic-stop-boxes/hardware-configuration.nix
|
||||
./hardware/configuration-dell-wyse-3040.nix
|
||||
|
@ -156,10 +111,7 @@
|
|||
data-hoarder = self.nixosConfigurations.data-hoarder.config.system.build.vm;
|
||||
mobile-box-vm = self.nixosConfigurations.mobile-box.config.system.build.vm;
|
||||
mobile-box-disk = self.nixosConfigurations.mobile-box.config.system.build.diskImage;
|
||||
user-stop-box-wyse-3040-image = self.nixosConfigurations.user-stop-box-wyse-3040.config.system.build.diskImage;
|
||||
user-stop-box-rpi4-image = self.nixosConfigurations.user-stop-box-rpi4.config.system.build.diskImage;
|
||||
staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner;
|
||||
decode-server = decode-server.packages."x86_64-linux".telegram-decoder;
|
||||
} // (import ./pkgs/deployment.nix { inherit self pkgs; systems = stop_boxes; });
|
||||
in
|
||||
{
|
||||
|
@ -171,20 +123,18 @@
|
|||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
diskModule
|
||||
dump-dvb.nixosModules.default
|
||||
./hosts/mobile-box/configuration.nix
|
||||
./hosts/mobile-box/hardware-configuration.nix
|
||||
./hardware/configuration-dell-wyse-3040.nix
|
||||
./modules/base.nix
|
||||
./modules/traffic-stop-boxes/mobile-box.nix
|
||||
./modules/traffic-stop-boxes/mobile-box-dresden.nix
|
||||
./modules/dump-dvb
|
||||
./user-config.nix
|
||||
sops-nix.nixosModules.sops
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
dump-dvb.overlays.default
|
||||
];
|
||||
dump-dvb.stopsJson = "${stops}/stops.json";
|
||||
dump-dvb.systemNumber = 130;
|
||||
dump-dvb.telegramDecoder.configFile = "${self}/configs/mobile_box.json";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
@ -208,45 +158,6 @@
|
|||
}
|
||||
] ++ data-hoarder-modules;
|
||||
};
|
||||
user-stop-box-wyse-3040 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
diskModule
|
||||
./hosts/user-stop-box/configuration.nix
|
||||
./hosts/user-stop-box/hardware-configuration.nix
|
||||
./hardware/configuration-dell-wyse-3040.nix
|
||||
./modules/base.nix
|
||||
./modules/dump-dvb
|
||||
./modules/user-stop-box/user.nix
|
||||
./user-config.nix
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
dump-dvb.overlays.default
|
||||
];
|
||||
dump-dvb.stopsJson = "${stops}/stops.json";
|
||||
}
|
||||
];
|
||||
};
|
||||
user-stop-box-rpi4 = nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
diskModule
|
||||
./hosts/user-stop-box-rpi4/configuration.nix
|
||||
./hosts/user-stop-box-rpi4/hardware-configuration.nix
|
||||
./hardware/configuration-rpi-4b.nix
|
||||
./user-config.nix
|
||||
./modules/base.nix
|
||||
./modules/dump-dvb
|
||||
./modules/user-stop-box/user.nix
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
dump-dvb.overlays.default
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
hydraJobs = {
|
||||
|
@ -255,10 +166,7 @@
|
|||
traffic-stop-box-0."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.toplevel;
|
||||
traffic-stop-box-0-disk."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.diskImage;
|
||||
mobile-box."x86_64-linux" = self.nixosConfigurations.mobile-box.config.system.build.toplevel;
|
||||
user-stop-box-wyse-3040-image."x86_64-linux" = self.nixosConfigurations.user-stop-box-wyse-3040.config.system.build.diskImage;
|
||||
user-stop-box-rpi4-image."x86_64-linux" = self.nixosConfigurations.user-stop-box-rpi4.config.system.build.diskImage;
|
||||
sops-binaries."x86_64-linux" = sops-nix.packages."x86_64-linux".sops-install-secrets;
|
||||
decode-server."x86_64-linux" = self.packages."x86_64-linux".decode-server;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,16 +26,12 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ influxdb ];
|
||||
|
||||
networking.defaultGateway = "192.109.108.61";
|
||||
networking.nameservers = [ "9.9.9.9" ];
|
||||
|
||||
sops.defaultSopsFile = ../../secrets/data-hoarder/secrets.yaml;
|
||||
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 22 51820 ];
|
||||
networking.firewall.trustedInterfaces = [ "wg-dvb" ];
|
||||
|
|
6
hosts/mobile-box/default.nix
Normal file
6
hosts/mobile-box/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
}
|
|
@ -3,9 +3,6 @@
|
|||
{
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
hardware.hackrf.enable = true;
|
||||
hardware.rtl-sdr.enable = true;
|
||||
|
||||
networking.hostName = "traffic-stop-box-${toString config.dump-dvb.systemNumber}"; # Define your hostname.
|
||||
|
||||
# Set your time zone.
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
hardware.hackrf.enable = true;
|
||||
hardware.rtl-sdr.enable = true;
|
||||
|
||||
networking.hostName = "user-station-box"; # Define your hostname.
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
documentation.enable = false;
|
||||
|
||||
nix = {
|
||||
buildCores = 1;
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "daily";
|
||||
};
|
||||
};
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=5M
|
||||
'';
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "21.11"; # Did you read the comment?
|
||||
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" "sdhci_acpi" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
autoResize = true;
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
hardware.hackrf.enable = true;
|
||||
hardware.rtl-sdr.enable = true;
|
||||
|
||||
networking.hostName = "user-station-box"; # Define your hostname.
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
documentation.enable = false;
|
||||
|
||||
nix = {
|
||||
buildCores = 1;
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "daily";
|
||||
};
|
||||
};
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=5M
|
||||
'';
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.systemd-boot.configurationLimit = 1;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "21.11"; # Did you read the comment?
|
||||
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" "sdhci_acpi" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
autoResize = true;
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
}
|
|
@ -1,23 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.root.initialPassword = "rewt";
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
autoOptimiseStore = true;
|
||||
binaryCaches = [
|
||||
"https://dump-dvb.cachix.org"
|
||||
"https://nix-serve.hq.c3d2.de"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"dump-dvb.cachix.org-1:+Dq7gqpQG4YlLA2X3xJsG1v3BrlUGGpVtUKWk0dTyUU="
|
||||
"nix-serve.hq.c3d2.de:KZRGGnwOYzys6pxgM8jlur36RmkJQ/y8y62e52fj1ps="
|
||||
];
|
||||
};
|
||||
|
||||
# Select internationalisation properties.
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "uk";
|
||||
|
@ -30,6 +21,24 @@
|
|||
"C.UTF-8/UTF-8"
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
htop
|
||||
tmux
|
||||
(vim_configurable.override {
|
||||
guiSupport = false;
|
||||
luaSupport = false;
|
||||
perlSupport = false;
|
||||
pythonSupport = false;
|
||||
rubySupport = false;
|
||||
cscopeSupport = false;
|
||||
netbeansSupport = false;
|
||||
})
|
||||
wget
|
||||
git-crypt
|
||||
iftop
|
||||
];
|
||||
|
||||
users.users.root = {
|
||||
openssh.authorizedKeys.keyFiles = [
|
||||
../keys/ssh/revol-xut
|
||||
|
@ -40,22 +49,9 @@
|
|||
../keys/ssh/astro
|
||||
];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
htop
|
||||
tmux
|
||||
(vim_configurable.override { guiSupport = false; luaSupport = false; perlSupport = false; pythonSupport = false; rubySupport = false; cscopeSupport = false; netbeansSupport = false; })
|
||||
wget
|
||||
git-crypt
|
||||
iftop
|
||||
];
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "prohibit-password";
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
programs.mosh.enable = true;
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
{ pkgs, config, ... }: {
|
||||
systemd = {
|
||||
services = {
|
||||
"dvb-api" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${pkgs.dvb-api}/bin/dvb-api &";
|
||||
|
||||
environment = {
|
||||
"GRPC_HOST" = "127.0.0.1:50051";
|
||||
"HTTP_PORT" = "9001";
|
||||
"GRAPH_FILE" = "${config.dump-dvb.graphJson}";
|
||||
"STOPS_FILE" = "${config.dump-dvb.stopsJson}";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "dvb-api";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts = {
|
||||
"api.${config.dump-dvb.domain}" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:9001/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# user accounts for systemd units
|
||||
users.users = {
|
||||
dvb-api = {
|
||||
name = "dvb-api";
|
||||
description = "public dvb api serive";
|
||||
isNormalUser = true;
|
||||
extraGroups = [ ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,46 +1,14 @@
|
|||
/*
|
||||
This file contains the configuration for the gnuradio sdr decoding pipeline
|
||||
*/
|
||||
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
port = 8070;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./postgres.nix
|
||||
];
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
"clicky-bunty-server" = {
|
||||
enable = true;
|
||||
|
||||
description = "dvbdump managment service";
|
||||
requires = [ "influxdb.service" ];
|
||||
after = [ "influxdb.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
export RUST_BACKTRACE=FULL
|
||||
export SALT_PATH=${config.sops.secrets.postgres_password_hash_salt.path}
|
||||
export POSTGRES_PASSWORD=$(cat ${config.sops.secrets.postgres_password_dvbdump.path})
|
||||
exec ${pkgs.clicky-bunty-server}/bin/clicky-bunty-server --host 127.0.0.1 --port ${toString port}&
|
||||
'';
|
||||
|
||||
environment = {
|
||||
"POSTGRES_HOST" = "127.0.0.1";
|
||||
"POSTGRES_PORT" = "5432";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "clicky-bunty-server";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
{ config, ... }: {
|
||||
dump-dvb.clickyBuntyServer = {
|
||||
enable = true;
|
||||
host = "127.0.0.1";
|
||||
port = 8070;
|
||||
postgresHost = "127.0.0.1";
|
||||
postgresPort = 5423;
|
||||
postgresPasswordFile = config.sops.secrets.postgres_password_dvbdump.path;
|
||||
saltFile = config.sops.secrets.postgres_password_hash_salt.path;
|
||||
user = "clicky-bunty-server";
|
||||
group = config.users.groups.postgres-dvbdump.name;
|
||||
};
|
||||
|
||||
services = {
|
||||
|
@ -53,7 +21,7 @@ in
|
|||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:${toString port}/";
|
||||
proxyPass = with config.dump-dvb.clickyBuntyServer; "http://${host}:${toString port}/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
|
@ -61,15 +29,4 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
# user accounts for systemd units
|
||||
users.users = {
|
||||
clicky-bunty-server = {
|
||||
name = "clicky-bunty-server";
|
||||
description = "";
|
||||
isSystemUser = true;
|
||||
group = config.users.groups.postgres-dvbdump.name;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,61 +1,27 @@
|
|||
/*
|
||||
This file contains the configuration for the gnuradio sdr decoding pipeline
|
||||
*/
|
||||
|
||||
{ pkgs, config, lib, ... }: {
|
||||
imports = [
|
||||
./postgres.nix
|
||||
];
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
"data-accumulator" = {
|
||||
enable = true;
|
||||
requires = [ "influxdb.service" ];
|
||||
after = [ "influxdb.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
export POSTGRES_TELEGRAMS_PASSWORD=$(cat ${config.sops.secrets.postgres_password_telegrams.path})
|
||||
export POSTGRES_DVBDUMP_PASSWORD=$(cat ${config.sops.secrets.postgres_password_dvbdump.path})
|
||||
exec ${pkgs.data-accumulator}/bin/data-accumulator --host 0.0.0.0 --port 8080&
|
||||
'';
|
||||
|
||||
environment = {
|
||||
"INFLUX_HOST" = "http://localhost:8086";
|
||||
"GRPC_HOST" = "http://127.0.0.1:50051";
|
||||
"POSTGRES_HOST" = "127.0.0.1";
|
||||
"POSTGRES_PORT" = "5432";
|
||||
"DATABASE_BACKEND" = "POSTGRES";
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "data-accumulator";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
"influxdb" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkForce "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
influxdb = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# user accounts for systemd units
|
||||
users.users = {
|
||||
data-accumulator = {
|
||||
name = "data-accumulator";
|
||||
description = "";
|
||||
isNormalUser = false;
|
||||
isSystemUser = true;
|
||||
group = config.users.groups.postgres-dvbdump.name;
|
||||
{ config, ... }:
|
||||
{
|
||||
dump-dvb.dataAccumulator = {
|
||||
enable = true;
|
||||
host = "0.0.0.0";
|
||||
port = 8080;
|
||||
DB = {
|
||||
backend = "POSTGRES";
|
||||
host = "127.0.0.1";
|
||||
port = 5432;
|
||||
telegramsPasswordFile = config.sops.secrets.postgres_password_telegrams.path;
|
||||
dvbPasswordFile = config.sops.secrets.postgres_password_dvbdump.path;
|
||||
};
|
||||
GRPC = [
|
||||
{
|
||||
name = "FUNNEL";
|
||||
host = "127.0.0.1";
|
||||
port = 50051;
|
||||
}
|
||||
{
|
||||
name = "API";
|
||||
host = "127.0.0.1";
|
||||
port = 9002;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
14
modules/data-hoarder/default.nix
Normal file
14
modules/data-hoarder/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, ... }: {
|
||||
imports = [
|
||||
./clicky-bunty.nix
|
||||
./data-accumulator.nix
|
||||
./documentation.nix
|
||||
./file_sharing.nix
|
||||
./grafana.nix
|
||||
./map.nix
|
||||
./nginx.nix
|
||||
./secrets.nix
|
||||
./socket.nix
|
||||
./website.nix
|
||||
];
|
||||
}
|
|
@ -14,30 +14,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
cron = {
|
||||
enable = true;
|
||||
systemCronJobs = [
|
||||
"0 0 0 * * cd /var/lib/data-accumulator/ && cp ./formatted.csv ./data/$(date +\"%d-%m-%Y\")-raw-data.csv"
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.dump-csv = {
|
||||
path = with pkgs; [ influxdb gzip ];
|
||||
script = ''
|
||||
cd /tmp
|
||||
TMPFILE=$(mktemp telegrams.XXXXX.csv.gz)
|
||||
TIMESTAMP=$(date +"%Y%m%d-%H%M")
|
||||
influx -precision rfc3339 -database dvbdump -execute "SELECT * FROM telegram_r_09 WHERE time > now()-1h" -format csv | gzip -c > $TMPFILE
|
||||
chmod a+r $TMPFILE
|
||||
|
||||
mv $TMPFILE /var/lib/data-accumulator/data/telegrams-''${TIMESTAMP}.csv.gz
|
||||
'';
|
||||
};
|
||||
systemd.timers.dump-csv = {
|
||||
partOf = [ "dump-csv.service" ];
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig.OnCalendar = "hourly";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
{ config, ... }:
|
||||
{ config, ... }:
|
||||
let
|
||||
clicky-bunty-user = config.dump-dvb.clickyBuntyServer.user;
|
||||
data-accumulator-user = config.dump-dvb.dataAccumulator.user;
|
||||
in
|
||||
{
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
||||
users.groups = {
|
||||
postgres-dvbdump = {
|
||||
name = "postgres-dvbdump";
|
||||
members = [ config.users.users.clicky-bunty-server.name config.users.users.data-accumulator.name ];
|
||||
members = [ clicky-bunty-user data-accumulator-user ];
|
||||
};
|
||||
postgres-telegrams = {
|
||||
name = "postgres-telegrams";
|
||||
members = [ config.users.users.clicky-bunty-server.name config.users.users.data-accumulator.name ];
|
||||
members = [ clicky-bunty-user data-accumulator-user ];
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -17,7 +21,7 @@
|
|||
sops.secrets = {
|
||||
wg-seckey = { };
|
||||
postgres_password_hash_salt = {
|
||||
owner = config.users.users.clicky-bunty-server.name;
|
||||
owner = clicky-bunty-user;
|
||||
};
|
||||
postgres_password_dvbdump = {
|
||||
group = config.users.groups.postgres-dvbdump.name;
|
||||
|
|
|
@ -1,28 +1,15 @@
|
|||
{ pkgs, config, ... }: {
|
||||
systemd = {
|
||||
services = {
|
||||
"funnel" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${pkgs.funnel}/bin/funnel &";
|
||||
|
||||
environment = {
|
||||
"GRPC_HOST" = "127.0.0.1:50052";
|
||||
"DEFAULT_WEBSOCKET_HOST" = "127.0.0.1:9002";
|
||||
"GRAPH_FILE" = "${config.dump-dvb.graphJson}";
|
||||
"STOPS_FILE" = "${config.dump-dvb.stopsJson}";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "funnel";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
dump-dvb.funnel = {
|
||||
enable = true;
|
||||
GRPC = {
|
||||
host = "127.0.0.1";
|
||||
port = 9002;
|
||||
};
|
||||
defaultWebsocket = {
|
||||
host = "127.0.0.1";
|
||||
port = 50052;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
nginx = {
|
||||
enable = true;
|
||||
|
@ -33,7 +20,7 @@
|
|||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:9002/";
|
||||
proxyPass = with config.dump-dvb.funnel.GRPC; "http://${host}:${toString port}/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
|
@ -41,14 +28,4 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
# user accounts for systemd units
|
||||
users.users = {
|
||||
funnel = {
|
||||
name = "funnel";
|
||||
description = "public websocket serive";
|
||||
isNormalUser = true;
|
||||
extraGroups = [ ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
{ }
|
|
@ -1,7 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./gnuradio.nix
|
||||
./telegram-decoder.nix
|
||||
./general-options.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,26 +1,18 @@
|
|||
{ lib, ... }:
|
||||
with lib; {
|
||||
options.dump-dvb.systemNumber = mkOption {
|
||||
type = types.int;
|
||||
default = 0;
|
||||
description = "number of the system";
|
||||
};
|
||||
options.dump-dvb.stopsJson = mkOption {
|
||||
type = types.path;
|
||||
default = ../configs/stops.json;
|
||||
description = "stops conig json";
|
||||
};
|
||||
options.dump-dvb.graphJson = mkOption {
|
||||
type = types.path;
|
||||
default = ../configs/graph.json;
|
||||
description = "graph json containing the network graphs";
|
||||
};
|
||||
options = {
|
||||
dump-dvb.systemNumber = mkOption {
|
||||
type = types.int;
|
||||
default = 0;
|
||||
description = "number of the system";
|
||||
};
|
||||
|
||||
options.dump-dvb.domain = mkOption {
|
||||
dump-dvb.domain = mkOption {
|
||||
type = types.str;
|
||||
default = "dvb.solutions";
|
||||
description = "domain the server is running on";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
receiver = pkgs.gnuradio-decoder;
|
||||
cfg = config.dump-dvb.services.gnuradio;
|
||||
in
|
||||
{
|
||||
options.dump-dvb.services.gnuradio = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''Wether to enable dump-dvb gnuradio reciever'';
|
||||
};
|
||||
device = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
example = "hackrf=0";
|
||||
description = ''Device string to pass to gnuradio'';
|
||||
};
|
||||
frequency = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 170795000;
|
||||
description = ''Frequency to tune radio to'';
|
||||
};
|
||||
offset = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 19550;
|
||||
description = ''Offset of the signal from center frequency'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.dump-dvb.services.gnuradio.enable {
|
||||
|
||||
systemd.services."gnuradio" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${receiver}/bin/gnuradio-decoder-cpp ${toString cfg.frequency} ${toString cfg.offset} ${cfg.device} &";
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "gnuradio";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.gnuradio = { };
|
||||
users.users.gnuradio = {
|
||||
name = "gnuradio";
|
||||
description = "gnu radio service user";
|
||||
isNormalUser = true;
|
||||
group = "gnuradio";
|
||||
extraGroups = [ "plugdev" ];
|
||||
};
|
||||
|
||||
security.wrappers.gnuradio-decode = {
|
||||
owner = "gnuradio";
|
||||
group = "users";
|
||||
capabilities = "cap_sys_nice+eip";
|
||||
source = "${receiver}/bin/gnuradio-decoder-cpp";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
binaryCaches = [
|
||||
"https://dump-dvb.cachix.org"
|
||||
"https://nix-serve.hq.c3d2.de"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"dump-dvb.cachix.org-1:+Dq7gqpQG4YlLA2X3xJsG1v3BrlUGGpVtUKWk0dTyUU="
|
||||
"nix-serve.hq.c3d2.de:KZRGGnwOYzys6pxgM8jlur36RmkJQ/y8y62e52fj1ps="
|
||||
];
|
||||
}
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.dump-dvb.services.telegram-decoder;
|
||||
in
|
||||
{
|
||||
options.dump-dvb.services.telegram-decoder = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''Wether to enable dump-dvb telegram-decoder'';
|
||||
};
|
||||
server = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ "https://dump.dvb.solutions/" ];
|
||||
description = ''URL of the dump-dvb websocket'';
|
||||
};
|
||||
configFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/etc/telegram-decoder/settings.json";
|
||||
description = ''Path to telegram-decoder config'';
|
||||
};
|
||||
authTokenFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/etc/telegram-decoder/token";
|
||||
description = ''Path to telegram-decoder auth token'';
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = lib.mkIf config.dump-dvb.services.telegram-decoder.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.telegram-decoder ];
|
||||
|
||||
users.groups.telegram-decoder = { };
|
||||
|
||||
users.users.telegram-decoder = {
|
||||
name = "telegram-decoder";
|
||||
description = "gnu radio service user";
|
||||
group = "telegram-decoder";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
systemd.services."telegram-decoder" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${pkgs.telegram-decoder}/bin/telegram-decode --config ${cfg.configFile} --server ${(builtins.concatStringsSep " " cfg.server)} &";
|
||||
|
||||
environment = {
|
||||
AUTHENTICATION_TOKEN_PATH = cfg.authTokenFile;
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "telegram-decoder";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
33
modules/traffic-stop-boxes/mobile-box-dresden.nix
Normal file
33
modules/traffic-stop-boxes/mobile-box-dresden.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
dump-dvb = {
|
||||
gnuradio = {
|
||||
enable = true;
|
||||
device = "hackrf=0";
|
||||
frequency = 170795000;
|
||||
offset = 19550;
|
||||
};
|
||||
telegramDecoder = {
|
||||
enable = true;
|
||||
server = [ "http://127.0.0.1:8080" ];
|
||||
};
|
||||
dataAccumulator = {
|
||||
enable = true;
|
||||
host = "0.0.0.0";
|
||||
port = 8080;
|
||||
DB.backend = "CSVFILE";
|
||||
CSVFile = "/var/lib/data-accumulator/formatted.csv";
|
||||
};
|
||||
};
|
||||
dump-dvb.wartrammer.enable = true;
|
||||
systemd.services."start-wifi-hotspot" = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
};
|
||||
script = ''
|
||||
${pkgs.linux-router}/bin/lnxrouter --ap wlp0s20u2 dump-dvb -g 10.3.141.1 -p trolling-dvb
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
|
@ -1,133 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
file = ../../configs/mobile_box.json;
|
||||
in
|
||||
{
|
||||
systemd = {
|
||||
services = {
|
||||
"gnuradio" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${pkgs.gnuradio-decoder}/bin/gnuradio-decoder-cpp 170795000 19550 &";
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "gnuradio";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
};
|
||||
"telegram-decoder" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = "exec ${pkgs.telegram-decoder}/bin/telegram-decode --config ${file} --server http://127.0.0.1:8080 &";
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "telegram-decoder";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
};
|
||||
"data-accumulator" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
exec ${pkgs.data-accumulator}/bin/data-accumulator --host 0.0.0.0 --port 8080&
|
||||
'';
|
||||
|
||||
environment = {
|
||||
"CSV_FILE" = "/var/lib/data-accumulator/formatted.csv";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "data-accumulator";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
};
|
||||
"wartrammer" = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
exec ${pkgs.wartrammer-backend}/bin/wartrammer-40k --port 7680
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
User = "wartrammer";
|
||||
Restart = "on-failure";
|
||||
StartLimitBurst = "2";
|
||||
StartLimitIntervalSec = "150s";
|
||||
};
|
||||
|
||||
};
|
||||
"start-wifi-hotspot" = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
};
|
||||
script = ''
|
||||
${pkgs.linux-router}/bin/lnxrouter --ap wlp0s20u2 dump-dvb -g 10.3.141.1 -p trolling-dvb
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
services = {
|
||||
nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts = {
|
||||
"wartrammer" = {
|
||||
locations = {
|
||||
"/" = {
|
||||
root = "${pkgs.wartrammer-frontend}/bin/";
|
||||
index = "index.html";
|
||||
};
|
||||
"/api" = {
|
||||
proxyPass = "http://127.0.0.1:7680";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
usbutils
|
||||
hackrf
|
||||
iw
|
||||
tcpdump
|
||||
];
|
||||
|
||||
# user accounts for systemd units
|
||||
users.users = {
|
||||
data-accumulator = {
|
||||
name = "data-accumulator";
|
||||
description = "";
|
||||
isNormalUser = true;
|
||||
};
|
||||
wartrammer = {
|
||||
name = "wartrammer";
|
||||
description = "";
|
||||
isNormalUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.wrappers = {
|
||||
gnuradio-decode = {
|
||||
owner = "gnuradio";
|
||||
group = "users";
|
||||
capabilities = "cap_sys_nice+eip";
|
||||
source = "${pkgs.gnuradio-decoder}/bin/gnuradio-decoder-cpp";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -13,13 +13,13 @@ let
|
|||
receiver_config = lib.elemAt receiver_configs config.dump-dvb.systemNumber;
|
||||
in
|
||||
{
|
||||
dump-dvb.services.gnuradio = {
|
||||
dump-dvb.gnuradio = {
|
||||
enable = true;
|
||||
frequency = receiver_config.frequency;
|
||||
offset = receiver_config.offset;
|
||||
device = receiver_config.device;
|
||||
};
|
||||
dump-dvb.services.telegram-decoder = {
|
||||
dump-dvb.telegramDecoder = {
|
||||
enable = true;
|
||||
server = [ "http://10.13.37.1:8080" "http://10.13.37.5:8080" ];
|
||||
configFile = file;
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
dump-dvb.services.gnuradio = {
|
||||
enable = true;
|
||||
# frequency = 105200000;
|
||||
# offset = 1100;
|
||||
# device = "";
|
||||
};
|
||||
dump-dvb.services.telegram-decoder = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user