diff options
-rw-r--r-- | flake.lock | 6 | ||||
-rw-r--r-- | kartei/makefu/default.nix | 12 | ||||
-rw-r--r-- | kartei/makefu/retiolum/savarcast.pub | 8 | ||||
-rw-r--r-- | kartei/makefu/retiolum/savarcast_ed25519.pub | 1 | ||||
-rw-r--r-- | kartei/makefu/wiregrill/savarcast.pub | 1 | ||||
-rw-r--r-- | kartei/makefu/wiregrill/telex.pub | 2 | ||||
-rw-r--r-- | kartei/palo/default.nix | 81 | ||||
-rw-r--r-- | krebs/1systems/puyak/config.nix | 4 | ||||
-rw-r--r-- | krebs/1systems/puyak/net.nix | 2 | ||||
-rw-r--r-- | krebs/2configs/news-host.nix | 3 | ||||
-rw-r--r-- | krebs/2configs/shack/esphome.nix | 7 | ||||
-rw-r--r-- | krebs/2configs/shack/glados/default.nix | 13 | ||||
-rw-r--r-- | krebs/2configs/shack/glados/zigbee-quirks/__init__.py | 0 | ||||
-rw-r--r-- | krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py | 96 | ||||
-rw-r--r-- | krebs/2configs/shack/glados/zigbee.nix | 5 | ||||
-rw-r--r-- | krebs/3modules/git.nix | 10 | ||||
-rw-r--r-- | krebs/3modules/zones.nix | 3 | ||||
-rw-r--r-- | krebs/5pkgs/haskell/hack.nix | 21 | ||||
-rw-r--r-- | krebs/5pkgs/simple/cabal-read.nix | 39 | ||||
-rw-r--r-- | krebs/5pkgs/simple/krebs-pages/fixtures/index.html | 2 |
20 files changed, 212 insertions, 104 deletions
diff --git a/flake.lock b/flake.lock index 9a05f5a3c..faadbeea2 100644 --- a/flake.lock +++ b/flake.lock @@ -18,11 +18,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707956935, - "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "lastModified": 1715447595, + "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", "type": "github" }, "original": { diff --git a/kartei/makefu/default.nix b/kartei/makefu/default.nix index f215f1fcb..d6134cd8d 100644 --- a/kartei/makefu/default.nix +++ b/kartei/makefu/default.nix @@ -96,6 +96,16 @@ in { retiolum.ip4.addr = "10.243.0.212"; }; }; + savarcast = rec { + nets = { + retiolum.ip4 = { + addr = "10.243.136.238"; + }; + retiolum.aliases = [ + "sava.r" + ]; + }; + }; x = { syncthing.id = "OA36OF6-JEFCUJQ-OEYVTMH-DPCACQI-3AJRE5G-BFVMOUG-RPYJQE3-4ZCUWA5"; nets = { @@ -127,6 +137,7 @@ in { aliases = [ "omo.r" "dcpp.omo.r" + "hass.omo.r" "backup.makefu.r" "torrent.omo.r" "music.omo.r" @@ -239,6 +250,7 @@ in { ul.work.euer IN A ${nets.internet.ip4.addr} music.euer IN A ${nets.internet.ip4.addr} ntfy.euer IN A ${nets.internet.ip4.addr} + paper.euer IN A ${nets.internet.ip4.addr} ''; }; nets = rec { diff --git a/kartei/makefu/retiolum/savarcast.pub b/kartei/makefu/retiolum/savarcast.pub new file mode 100644 index 000000000..65da0d5f9 --- /dev/null +++ b/kartei/makefu/retiolum/savarcast.pub @@ -0,0 +1,8 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvxhCwL7g+p3rp2aelJHKHowLLcDZVqZnsuViW5jzQ5kQuDB6Rc7f +IiUXXzg6/BL2o7jUW1gRrHbiVy7360HxsTwQvV8j0/s+UsCQCybWclGE2NlsjCUM +xi/zTn/R523o43J4t6L7ohDlJVBCPMVJu5ZWVIlMAWSHI45WFu9JAyKOZJnPEYQb +eyw8P93ztZyijoRTV1SEYK9FiSsfmNgGIqPlE6QPE1S+oR6j+718WSrmQjcBO8uO +cbj4ZPEgokYRF+WH4m9fPfkTWH6qQ1idqiWZfeUR2TfLLDQ+zDpJpoXlXk/JOqMu +7kdx3dfuiulI93pUDVeGXh0YCyTmVvavdQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/kartei/makefu/retiolum/savarcast_ed25519.pub b/kartei/makefu/retiolum/savarcast_ed25519.pub new file mode 100644 index 000000000..e08b7f1b7 --- /dev/null +++ b/kartei/makefu/retiolum/savarcast_ed25519.pub @@ -0,0 +1 @@ +Ed25519PublicKey = s/m2cdP6VguKTzTFLdoHMG7t4+94NNT/+ZHYcmSxSVP diff --git a/kartei/makefu/wiregrill/savarcast.pub b/kartei/makefu/wiregrill/savarcast.pub new file mode 100644 index 000000000..f6153f5f8 --- /dev/null +++ b/kartei/makefu/wiregrill/savarcast.pub @@ -0,0 +1 @@ +mM/QKHTnLlC5qyClRY9WZKg3TK4F+WpLIKRtjCmCCHM= diff --git a/kartei/makefu/wiregrill/telex.pub b/kartei/makefu/wiregrill/telex.pub index 12a42177e..4a5f666cc 100644 --- a/kartei/makefu/wiregrill/telex.pub +++ b/kartei/makefu/wiregrill/telex.pub @@ -1 +1 @@ -T7Cr80dBbtPFCPdz4OS7whDlQJzn2Orclq5rLVtD+Ds= +yAKvxTvcEVdn+MeKsmptZkR3XSEue+wSyLxwcjBYxxo= diff --git a/kartei/palo/default.nix b/kartei/palo/default.nix index 6004c42ce..bdb61ec5d 100644 --- a/kartei/palo/default.nix +++ b/kartei/palo/default.nix @@ -18,53 +18,78 @@ let in { hosts = mapAttrs hostDefaults { - sol = { + chungus = { owner = config.krebs.users.palo; nets = { retiolum = { tinc.port = 720; - aliases = [ "sol.r" ]; + aliases = [ "chungus.r" ]; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- - MIICCgKCAgEAxrvdMSAcOJXM1TbIIDZ+zPojrcRG3RVMfPC2/0DasRpBFSuS+L60 - mQEs0l0ptAL6Sbr4+9gfaHkdETfYpeKB4Q4lCPahMq88YfTyB1f3tEOqW3vP22nC - Z+Yf+W/sTLWVRoDoS/Eok6wS95R1IQ74vr37YXdbJTD/eeX6sAJkn2I2RV5PD6Bu - lHsMuunAj+PyhAgqb2P393h7FN4exL0xM6UbHbgsd9OSp5qKTjZE3jeOyWmounK1 - 7n+8pyRjI0VE47ontnj/GANwpsxRFFtRGmG/S5KhUBXMv7wZr/vaVETRphAu+KhT - NqdclmGkQlB/YBodzJID7C21Zz4b33kcn12TU3nc6AL5u9j3sU2sEu/22fAZBWLV - yOZ9l/Qe4aJkIbdL70Gvp9G8m7+M4vkdM+e/nA5cZT0N9ArI2D5ltJRd7VLVzxef - Y0t/bS9bVOcNt2Sgd81Ubg0OmF2paHGGboAAMqXhf3afwCMyXcDsP6sgPXOIEu7Q - hjuo5rg6Fu8eK9edAAQ2afl52GiFUawzjHbjGANwVyea1JTQ3uR6eBtxGOEaYpkr - vbl75CxLwE0YA0L3VwhJTNLMVldTrUi2M76QedjzyePkJHMijHT5+0nqTlsmjcNg - uv89Mh9shNKdqulfGjTAFyKjTCuUe/rCprJ5CeZWBaEuQKYkcZuMkJsCAwEAAQ== + MIICCgKCAgEAv/6TryKLg/fy14ZRnJht9fQIrzwJW5UikQGjd0Au9ITau1AtoAhO + 6/xgdR4ME8EFckVrmjLoFuZNjVQUOyUJcX6OEX+Fl8veyUn+osgLA9jw4TVpi/DM + JIb7tNd+OkBbthLu5CiLiBwc+BX1dfSYhUxzxshSIrZ8jln6hUH6hWwi6C0GNfg0 + CBEBjUft31pTGyr/bQUIBsCWDb7+R6UD2wLxXbo1zSAlitNiXoKSA2NvXTbFC4J2 + HpxnhTLlJx8dkwjHn00RGUUrfh8Io/qFdjBEfCmynE+Q6v7a/eJdKxIyAtrzLFBz + 07cG9kM+/H+ldIF1PMqMI/QMbc12HG96/saVfCkTA8Xh+H+9abWfsvrYrQngdahX + Ubw52yV1lRA+grlzRFmjHyE6iaxlwzJ90Aq5BnnlxpK/P/FKCtd36x1RbhE+rBZO + VR3ENQRmNowakXdgc+0uS8N5naZIrmO+ficMyBI+Z+CrR0GuDPn++gN833D6KOrs + NeCHN5C9zi56nDBcS6KLtYWj/Amo5ZEokWqTAB/zCJu+rVACoS7fi3/6pj9fyNaz + BPEOPKGwROFNq+Bn9jh2jdVmZlO/h+wL8FuxyxaduxWzrZTDo+Pj2iHr1l8cr2VU + i7zdL3jS4LqE693FHCQE8DufSowa0soYe2+dbalVmKsnt5u9mKuAoj0CAwEAAQ== -----END RSA PUBLIC KEY----- ''; - tinc.pubkey_ed25519 = "qCJvjlNz5YNOz5IEiwGaoK3InSVCL76uNl+xVBUa/AP"; + tinc.pubkey_ed25519 = "iOJzv56xCoUaqbIe3DfjIqB7In6ZWFbr2DT2jvdLYsM"; }; }; }; - centauri = { + cream = { owner = config.krebs.users.palo; nets = { retiolum = { tinc.port = 720; - aliases = [ "centauri.r" ]; + aliases = [ "cream.r" ]; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- - MIICCgKCAgEAxrvdMSAcOJXM1TbIIDZ+zPojrcRG3RVMfPC2/0DasRpBFSuS+L60 - mQEs0l0ptAL6Sbr4+9gfaHkdETfYpeKB4Q4lCPahMq88YfTyB1f3tEOqW3vP22nC - Z+Yf+W/sTLWVRoDoS/Eok6wS95R1IQ74vr37YXdbJTD/eeX6sAJkn2I2RV5PD6Bu - lHsMuunAj+PyhAgqb2P393h7FN4exL0xM6UbHbgsd9OSp5qKTjZE3jeOyWmounK1 - 7n+8pyRjI0VE47ontnj/GANwpsxRFFtRGmG/S5KhUBXMv7wZr/vaVETRphAu+KhT - NqdclmGkQlB/YBodzJID7C21Zz4b33kcn12TU3nc6AL5u9j3sU2sEu/22fAZBWLV - yOZ9l/Qe4aJkIbdL70Gvp9G8m7+M4vkdM+e/nA5cZT0N9ArI2D5ltJRd7VLVzxef - Y0t/bS9bVOcNt2Sgd81Ubg0OmF2paHGGboAAMqXhf3afwCMyXcDsP6sgPXOIEu7Q - hjuo5rg6Fu8eK9edAAQ2afl52GiFUawzjHbjGANwVyea1JTQ3uR6eBtxGOEaYpkr - vbl75CxLwE0YA0L3VwhJTNLMVldTrUi2M76QedjzyePkJHMijHT5+0nqTlsmjcNg - uv89Mh9shNKdqulfGjTAFyKjTCuUe/rCprJ5CeZWBaEuQKYkcZuMkJsCAwEAAQ== + MIICCgKCAgEAxqrCGJriL5L1ehBf7CrdpL6Ao/ssyj5ZoPdlTP47WtBRahQcp8e0 + xWkAACyiSW2rdvK9hBE4Z7cXHenm8obABl69Q6rLdkxIOM7GBK08cX7ZZrRAdyA1 + Bp9FQWoeHZFq4zBayp889HjPgauglguVlPiXaxh5NhqQkKX4Bkcp4f+OtBMvV0Uf + kf80J5pknliV/I85VDt0Ofyuuvot9p4GAegeaGaTgIpMrbGvqdpnB+ZiI9lFylCf + tubRvrX1TsaqrWzFu8B2XL6ZXGCY0IrJXs7P0RsG9OysCK7N9WPVrpX+zGFSCCk+ + 3UuKan9AFVOWA72Jj+glIU2i2d3D+Re8kvNmLCQ9GCM2c8Gy+r38UPN1/WTEe7az + 94ivkczOgg4tIzMCN2JuAYLtoy3JK46Bbexk3i9KgtX5acNrKilQBDKHktqr0oJ8 + Bz53kFP/X7oY+0RIPePL9OPQu8LRyFXeWeuQQUBgqDmttoWBtHEO6vicKFgwN0bl + 5J6urUJQYC7aabfYO4aDfgVSRr7cELZkbIsx6Lkj5bOrraaJ2pS5H3QGSBUFifAq + mUdKKkBsYltKe8BsqKvQEysT3cGaGlkeP5OaKHN4qG7hGvLk71YjrYlWlIswdMAp + D2UgJ5/fcDswSAnFBlLYIqQwC7vMLoqTZPkQ0AN/DxHJCuXfRoU2vhkCAwEAAQ== -----END RSA PUBLIC KEY----- ''; - tinc.pubkey_ed25519 = "qCJvjlNz5YNOz5IEiwGaoK3InSVCL76uNl+xVBUa/AP"; + tinc.pubkey_ed25519 = "lkvs1E4lCXt+Q7lvg/vU2JQyDfqseYo68Ecbb/Hg8YA"; + }; + }; + }; + cherry = { + owner = config.krebs.users.palo; + nets = { + retiolum = { + tinc.port = 720; + aliases = [ "cherry.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIICCgKCAgEAuDU2RZX+Hwa0sI/ZjnPd/gBLFs/KsS8SE18GEB8X/EH5D11qvRGi + myAYbHdx5hWbFuJ6GyUL/k99y0vV3VI+IGLyZ3FmVUdPF5fK495+qas68GzBMwhw + FilessbI1UvBjUITIpVibDW4jSt5ex5SeGSm7ZGpamVFNe442SYgL48V5B3nDRrf + jdfwxXuBW5iYi7wxuUncfVkFHrh/HNhOQhqHDhWIlgckymsGMszz0sPNfZZOVw8g + 7OA0c4Pduc140icyTaNQzNQZ4KipeZpjUXWn2oGP9ZIb3AiB07BZv3b2x6NrHucW + vWKtRkpBOMtYrIhVSuGE3MYHSCxrCR+e4moeeTUjpI5hPe9qtRwagKgchq3sxwWq + p1FfT3zEjZKT2tYRu3w/DWgOize+HvF8GDFTNAcp6APUsyE3mTJkpgsAfG8Lkq+f + RbrtEOqqqwKCz7IgJDnRSVHlaLP8v3LarhTVIqCkgveyd7wd9bh8fvpWc8fdnWXw + +WnIOj+KFxLIGr2xReRPbfi9SRnwTtt0E+oXEPC2tUrcWXGNMeiBmVUGH66pRnFP + wzMBn1q4GzqlG2TVsbXL6Nbzw8caDKH3MGPUUxikJXUODk7PtnQ9TThlsg8xdMGr + JCrPwL32VNXwXhxJ9vgxaXIfxIanye45j8lxwdnMkx5laULGWVq53bECAwEAAQ== + -----END RSA PUBLIC KEY----- + ''; + tinc.pubkey_ed25519 = "QvtcXLmAviX/uv0FPrFak1WV+U2WwyO5dGciRlPB2lG"; }; }; }; diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 60c1c941a..d3891af82 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ ./net.nix @@ -73,6 +73,7 @@ # hass.shack <stockholm/krebs/2configs/shack/glados> + <stockholm/krebs/2configs/shack/esphome.nix> # connect to git.shackspace.de as group runner for rz <stockholm/krebs/2configs/shack/gitlab-runner.nix> @@ -170,4 +171,5 @@ isNormalUser = true; shell = "/run/current-system/sw/bin/zsh"; }; + system.stateVersion = lib.mkForce "24.05"; } diff --git a/krebs/1systems/puyak/net.nix b/krebs/1systems/puyak/net.nix index 59b22b380..fe2fd238e 100644 --- a/krebs/1systems/puyak/net.nix +++ b/krebs/1systems/puyak/net.nix @@ -14,7 +14,7 @@ in { interfaces."${ext-if}".ipv4.addresses = [ { address = shack-ip; - prefixLength = 22; + prefixLength = 20; } ]; diff --git a/krebs/2configs/news-host.nix b/krebs/2configs/news-host.nix index 81922ef87..9b8627d61 100644 --- a/krebs/2configs/news-host.nix +++ b/krebs/2configs/news-host.nix @@ -1,5 +1,6 @@ -{ config, ... }: +{ config,lib, ... }: { + nixpkgs.config.allowUnfree = true; # "consul-1.18.0" krebs.sync-containers3.containers.news = { sshKey = "${config.krebs.secret.directory}/news.sync.key"; }; diff --git a/krebs/2configs/shack/esphome.nix b/krebs/2configs/shack/esphome.nix new file mode 100644 index 000000000..b6bcbce3e --- /dev/null +++ b/krebs/2configs/shack/esphome.nix @@ -0,0 +1,7 @@ +{ + services.esphome = { + enable = true; + address = "0.0.0.0"; + openFirewall = true; + }; +} diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index 236b5000d..e8ed18f0d 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -3,29 +3,26 @@ let kodi-host = "192.168.8.11"; confdir = "/var/lib/homeassistant-docker"; in { - imports = [ - ]; + imports = [ ./zigbee.nix ]; - # networking.firewall.allowedTCPPorts = [ 8123 ]; + networking.firewall.allowedTCPPorts = [ 8123 ]; virtualisation.oci-containers.containers.hass = { image = "homeassistant/home-assistant:latest"; environment = { TZ = "Europe/Berlin"; - # TODO create unique users - PUID = toString config.users.users.news_container.uid; - PGID = toString config.users.groups.news_container.gid; UMASK = "007"; }; - extraOptions = ["--net=host" ]; + extraOptions = ["--net=host" "--device=/dev/zigbee" ]; volumes = [ "${confdir}:/config" + "${./zigbee-quirks}:/quirks" #"${confdir}/docker-run:/etc/services.d/home-assistant/run:" ]; }; systemd.tmpfiles.rules = [ #"f ${confdir}/docker-run 0770 kiosk kiosk - -" # TODO: - "d ${confdir} 0770 news_container news_container - -" + "d ${confdir} 0770 root root - -" ]; services.nginx.virtualHosts."hass.shack" = { diff --git a/krebs/2configs/shack/glados/zigbee-quirks/__init__.py b/krebs/2configs/shack/glados/zigbee-quirks/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee-quirks/__init__.py diff --git a/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py new file mode 100644 index 000000000..b520fe947 --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py @@ -0,0 +1,96 @@ +"""TS011F plug.""" + +from zigpy.profiles import zgp, zha +from zigpy.quirks import CustomDevice +from zigpy.zcl.clusters.general import ( + Basic, + GreenPowerProxy, + Groups, + Identify, + OnOff, + Ota, + Scenes, + Time, +) +from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement +from zigpy.zcl.clusters.lightlink import LightLink +from zigpy.zcl.clusters.measurement import TemperatureMeasurement +from zigpy.zcl.clusters.smartenergy import Metering + +from zhaquirks.const import ( + DEVICE_TYPE, + ENDPOINTS, + INPUT_CLUSTERS, + MODEL, + MODELS_INFO, + OUTPUT_CLUSTERS, + PROFILE_ID, +) +from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF +from zhaquirks.tuya import ( + EnchantedDevice, + TuyaNewManufCluster, + TuyaZB1888Cluster, + TuyaZBE000Cluster, + TuyaZBElectricalMeasurement, + TuyaZBExternalSwitchTypeCluster, + TuyaZBMeteringCluster, + TuyaZBMeteringClusterWithUnit, + TuyaZBOnOffAttributeCluster, +) + +class Plug_v2l(EnchantedDevice): + """Another TS011F Tuya plug. First one using this definition is _TZ3000_okaz9tjs.""" + + quirk_id = TUYA_PLUG_ONOFF + + signature = { + MODEL: "TS011F", + ENDPOINTS: { + # "profile_id": 260, + # "device_type": "0x0100", + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0702", "0x0b04", "0xe001"], + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x000a", "0x0702", "0x0b04", "0x1000", "0xe000", "0xe001"], + # "out_clusters": [] + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + OnOff.cluster_id, + Time.cluster_id, + Metering.cluster_id, + ElectricalMeasurement.cluster_id, + LightLink.cluster_id, + TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster.cluster_id, + ], + OUTPUT_CLUSTERS: [], + }, + }, + } + replacement = { + ENDPOINTS: { + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.SMART_PLUG, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + TuyaZBOnOffAttributeCluster, + Time.cluster_id, + TuyaZBMeteringClusterWithUnit, + TuyaZBElectricalMeasurement, + LightLink.cluster_id, + TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster, + ], + OUTPUT_CLUSTERS: [], + }, + }, + } diff --git a/krebs/2configs/shack/glados/zigbee.nix b/krebs/2configs/shack/glados/zigbee.nix new file mode 100644 index 000000000..a8967cc37 --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee.nix @@ -0,0 +1,5 @@ +{ + services.udev.extraRules = '' + SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="zigbee", MODE="0666" + ''; +} diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index 347a2c32b..961b217e1 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -468,6 +468,16 @@ let include ${pkgs.nginx}/conf/fastcgi_params; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT ${cfg.dataDir}; + fastcgi_param HOME ${pkgs.write "git-http-backend.home" { + "/.gitconfig".text = /* ini */ '' + [safe] + directory = . + ${concatMapStrings + (repo: "directory = ${cfg.dataDir}/${repo.name}\n") + (attrValues cfg.repos) + } + ''; + }}; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME ${pkgs.git}/bin/git-http-backend; fastcgi_pass unix:${config.services.fcgiwrap.socketAddress}; diff --git a/krebs/3modules/zones.nix b/krebs/3modules/zones.nix index 7a9cf5be1..51e559d88 100644 --- a/krebs/3modules/zones.nix +++ b/krebs/3modules/zones.nix @@ -21,6 +21,9 @@ with lib; { panda NS panda panda A 130.61.237.100 + + xkey A 217.197.83.17 + xkey AAAA 2a0a:4580:5011::1 ''; }; }; diff --git a/krebs/5pkgs/haskell/hack.nix b/krebs/5pkgs/haskell/hack.nix deleted file mode 100644 index df3343818..000000000 --- a/krebs/5pkgs/haskell/hack.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ mkDerivation, base, blessings, containers, data-default, fetchgit -, lens, lib, mtl, old-locale, process, scanner, time, unix, zippers -}: -mkDerivation { - pname = "hack"; - version = "1.0.1"; - src = fetchgit { - url = "https://cgit.krebsco.de/hack"; - sha256 = "0ry5ikn89ij512qvk1xhdhfz4s8a6b9yawgx6lxgnw5jkiyjd7ka"; - rev = "f3ea150aca5cc86878fa10bc5b1f0918fc154e2a"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base ]; - executableHaskellDepends = [ - base blessings containers data-default lens mtl old-locale process - scanner time unix zippers - ]; - license = lib.licenses.mit; -} diff --git a/krebs/5pkgs/simple/cabal-read.nix b/krebs/5pkgs/simple/cabal-read.nix deleted file mode 100644 index 03b42ef2c..000000000 --- a/krebs/5pkgs/simple/cabal-read.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ writeHaskellPackage }: - -# Because `sed -n 's/.*\<ghc-options:\s\+\(.*\)/\1/p'` is too simple. -writeHaskellPackage "cabal-read" { - executables.ghc-options = { - extra-depends = ["Cabal"]; - text = /* haskell */ '' - {-# LANGUAGE CPP #-} - module Main (main) where - import Data.List - import Data.Maybe - import Distribution.Compiler - import Distribution.PackageDescription.Parsec - import Distribution.Types.BuildInfo - import Distribution.Types.CondTree - import Distribution.Types.Executable - import Distribution.Types.GenericPackageDescription - import Distribution.Types.UnqualComponentName - import Distribution.Verbosity - import System.Environment - main :: IO () - main = do - [path, name] <- getArgs - - desc <- readGenericPackageDescription normal path - - case lookup (mkUnqualComponentName name) (condExecutables desc) of - Just exe -> - putStrLn . intercalate " " . fromMaybe [] . lookup GHC - #if MIN_VERSION_Cabal(3,0,0) - . perCompilerFlavorToList - #endif - . options . buildInfo . condTreeData $ exe - - Nothing -> - error ("executable " <> name <> " not found in " <> path) - ''; - }; -} diff --git a/krebs/5pkgs/simple/krebs-pages/fixtures/index.html b/krebs/5pkgs/simple/krebs-pages/fixtures/index.html index 68b2cbad6..040580520 100644 --- a/krebs/5pkgs/simple/krebs-pages/fixtures/index.html +++ b/krebs/5pkgs/simple/krebs-pages/fixtures/index.html @@ -26,7 +26,7 @@ <body> <p><a href='https://cgit.krebsco.de/krops/about/'>krops</a></p> <p><a href='https://github.com/krebs/cholerab/blob/master/thesauron.adoc'>Thesauron</a></p> - <p><a href='https://nixos.wiki/'>Project: The new NixOS wiki</a></p> + <p><a href='https://wiki.nixos.org/'>Project: The new NixOS wiki</a></p> <p><a target="_blank" href="https://www.amazon.de/?&_encoding=UTF8&tag=krebscode06-21&linkCode=ur2&linkId=d4430b368b8aceeca92101cd4a4cdd1d&camp=1638&creative=6742">Go through this amazon affiliate link and generate krebsgold</a><img src="//ir-de.amazon-adsystem.com/e/ir?t=krebscode06-21&l=ur2&o=3" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p> <p> <a href="https://s.click.aliexpress.com/e/_A5luNt" target="_parent">Go through this aliexpress affiliate link and generate krebsgold</a></p> |