diff --git a/modules/hosts/loptland/nginx.nix b/modules/hosts/loptland/nginx.nix index 0ceda04..99215ff 100644 --- a/modules/hosts/loptland/nginx.nix +++ b/modules/hosts/loptland/nginx.nix @@ -46,7 +46,7 @@ proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; ''; - proxyPass = "http://nixberry:8123"; + proxyPass = "http://100.86.23.74:8123"; }; }; diff --git a/modules/hosts/nixberry/default.nix b/modules/hosts/nixberry/default.nix index f0faca4..490e496 100644 --- a/modules/hosts/nixberry/default.nix +++ b/modules/hosts/nixberry/default.nix @@ -46,7 +46,6 @@ topLevel: { # System modules base server - bluetooth cholli root diff --git a/modules/hosts/nixberry/homeassistant.nix b/modules/hosts/nixberry/homeassistant.nix index 9df3dca..bdfe215 100644 --- a/modules/hosts/nixberry/homeassistant.nix +++ b/modules/hosts/nixberry/homeassistant.nix @@ -48,6 +48,28 @@ mobile_app = ""; recorder = ""; + lovelace = { + # mode = "yaml"; + resources = [ + { + url = "/local/nixos-lovelace-modules/vacuum-card.js"; + type = "module"; + } + { + url = "/local/nixos-lovelace-modules/bubble-card.js"; + type = "module"; + } + { + url = "/local/nixos-lovelace-modules/clock-weather-card.js"; + type = "module"; + } + { + url = "/local/nixos-lovelace-modules/mushroom.js"; + type = "module"; + } + ]; + }; + http = { use_x_forwarded_for = true; trusted_proxies = [ @@ -55,212 +77,6 @@ ]; }; }; - - lovelaceConfigWritable = true; - lovelaceConfig = [ - { - tile = "main-dashboard"; - views = [ - { - title = "Home"; - sections = [ - { - type = "grid"; - cards = [ - { - type = "map"; - entities = [ - { entity = "person.christoph_hollizeck"; } - { entity = "person.kuralay_aman"; } - { entity = "zone.home"; } - ]; - theme_mode = "auto"; - grid_options = { - columns = "full"; - rows = 6; - }; - } - { - show_current = true; - show_forecast = true; - type = "weather-forecast"; - entity = "weather.forecast_home"; - forecast_type = "hourly"; - forecast_slots = 5; - } - { - display_order = "duedate_asc"; - type = "todo-list"; - entity = "todo.shopping_list"; - title = "Shopping List"; - hide_completed = true; - } - ]; - } - ]; - badges = [ - { - type = "entity"; - show_name = true; - show_state = true; - show_icon = true; - entity = "person.christoph_hollizeck"; - name = { - type = "entity"; - }; - show_entity_picture = true; - } - { - type = "entity"; - show_name = true; - show_state = true; - show_icon = true; - entity = "person.kuralay_aman"; - show_entity_picture = true; - } - ]; - header = { - layout = "center"; - badges_position = "bottom"; - badges_wrap = "scroll"; - card = { - type = "markdown"; - text_only = true; - content = "# Hello {{ user }}\n"; - }; - }; - } - { - type = "sections"; - max_columns = 2; - title = "living-room"; - path = "living-room"; - sections = [ - { - type = "grid"; - cards = [ - { - type = "history-graph"; - entities = [ { entity = "sensor.living_room_temperature"; } ]; - title = "Temperature"; - } - ]; - } - { - type = "grid"; - cards = [ - { - type = "history-graph"; - entities = [ { entity = "sensor.living_room_humidity"; } ]; - title = "Humidity"; - } - ]; - } - ]; - cards = [ ]; - } - { - type = "sections"; - max_columns = 3; - title = "kitchen"; - path = "kitchen"; - sections = [ - { - type = "grid"; - cards = [ - { - type = "thermostat"; - entity = "climate.kueche_radiator"; - } - ]; - } - { - type = "grid"; - cards = [ - { - type = "custom:vacuum-card"; - entity = "vacuum.sl60d"; - } - ]; - } - { - type = "grid"; - cards = [ - { - type = "glance"; - entities = [ - { - entity = "switch.kettle_socket_1"; - name = { - type = "device"; - }; - show_last_changed = true; - } - { entity = "sensor.kettle_total_energy"; } - ]; - } - { - show_name = true; - show_icon = true; - show_state = true; - type = "glance"; - entities = [ - { - entity = "switch.shelf_socket_1"; - show_last_changed = true; - name = { - type = "device"; - }; - } - { entity = "sensor.shelf_total_energy"; } - ]; - state_color = true; - } - ]; - } - ]; - } - { - type = "sections"; - max_columns = 3; - title = "bedroom"; - path = "bedroom"; - sections = [ - { - type = "grid"; - cards = [ - { - type = "thermostat"; - entity = "climate.bedroom_radiator"; - } - ]; - } - { - type = "grid"; - cards = [ - { - type = "history-graph"; - entities = [ { entity = "sensor.bedroom_temperature"; } ]; - title = "Temperature"; - } - ]; - } - { - type = "grid"; - cards = [ - { - type = "history-graph"; - entities = [ { entity = "sensor.bedroom_humidity"; } ]; - title = "Humidity"; - } - ]; - } - ]; - } - ]; - - } - ]; openFirewall = true; }; }; diff --git a/modules/hosts/yggdrasil/default.nix b/modules/hosts/yggdrasil/default.nix index b627bff..f6b36ce 100644 --- a/modules/hosts/yggdrasil/default.nix +++ b/modules/hosts/yggdrasil/default.nix @@ -63,21 +63,8 @@ topLevel: { root ]; - sops.secrets = { - "remotebuild/private-key" = { - sopsFile = ../../../secrets/secrets.yaml; - owner = "cholli"; - mode = "0400"; - }; - - "cholli/private-key" = { - sopsFile = ../../../secrets/secrets.yaml; - mode = "0600"; - }; - }; - fileSystems."/mnt/pi_share" = { - device = "cholli@192.168.178.2:/storage/"; + device = "cholli@nixberry:/storage/"; fsType = "sshfs"; options = [ @@ -89,10 +76,17 @@ topLevel: { # SSH options "reconnect" # handle connection drops "ServerAliveInterval=15" # keep connections alive - "IdentityFile=${config.sops.secrets."cholli/private-key".path}" ]; }; + sops.secrets = { + "remotebuild/private-key" = { + sopsFile = ../../../secrets/secrets.yaml; + owner = "cholli"; + mode = "0400"; + }; + }; + nix = { distributedBuilds = true; settings.builders-use-substitutes = true; diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index 970b646..e46596b 100644 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -3,8 +3,6 @@ samba: cholli: ENC[AES256_GCM,data:x2fZ8VcSAcelCj9/Tjp2I1KNeLo=,iv:66Je1+TL6jtnC+LZS3747yq/c6zI4FwlBXH1BjIFeDk=,tag:+vujtFcdKTcsyBisC/UyNA==,type:str] remotebuild: private-key: ENC[AES256_GCM,data:kLF+Mo5EIS5mu8be0nDVRTAb7mzt6dtEL56aG4mV2BxLRcyUZXs7eCbj7j7sOpjqz0k8m+1lHAouvNjyzxANeH10/R3Fy3GZqeWtgJSOEQE3biZaD3dqz0e3Gv3ib/Y0yNYTafosCmn6CmPIsVfiE/dfS1oM2Ksrf/AQ3ufPKIdV0h+p5SK6LnhpBqxgIf7s3MFbBzR+iEgxn1jnmCLaoVqNXhO2tmQqgmRHyh2kHruFj9ZwUi6mWDBie7zX7qlOt/m9p5QN/v5KWn4CfMDWzMlSTYdjEd6lUlP8UC35MJafVT59ioF+ueqePhr4DyDR7d+Cg6Z/iNHWiSH1z17p4Rxt3D4IAverqcd1i8c92C8S4NJKvtWRyfMgZMB3/iG2ZqrLcJXlxrZZKZ9X5B+y5a0Ljb+Vg00V68ktFISt7vAsK79Qy/QjHCotXY0uugkeaGnxS1qhig5tmXdxD+OKk/cJt0kqYEyUFKVQf9unr6xaD2IuOkFKyp/fYhU5LfS0uiAt99ENrfNrIRdHAsUvgWW6Sq7qSVmjkLfU,iv:mlYWlmFT0Ybmn26Spqri5E9zRkrBweV6bWvvByLnIvs=,tag:tdB7dw+GMnr5/8fXoem10w==,type:str] -cholli: - private-key: ENC[AES256_GCM,data:RN/SV4FLyA8KgDfZb4pcN0lsTolpXEaTmTN0WKQ+rzeYiHKKCOqPswnABEcTylgkQk+E2Jup0O7jeNlvcLd5tnVW+K/a+rmGTlyCaLcZE69JjCPvnA+p4ionwkhKHc/jdvZ8YkO5B4I6rnGanBXs3g5WbHjZ4jfLW71hR4IAjXAj5BVGhZiWjViAEfsyIqISXzqPwcbvW6mfJPN5QOP7V+oCTrJVkUPxYrVetrooNgf2/n67qumkRT3RQF12h05zLLdOFWVVX0na5iX/M4Ajl7XTOsA6OnqkDLwRd43QYW29Mu7OYwVlPAsf/qv096cYDKY8lAa6EXgiBi89i4fDjWZ27D7/C/TDbbewCjlZ2dm/T/A9YT9lg7BLBBGywnWm0Xjjt2lNsf+0YEuBxl7IQOU4/pmhMllT5HBomYsBwIdqv+yujVbRd9UW/lelBZftfKxJv5GAkhTENcLchHb/ZlE4Z4n0xELtKx0kgahjhO2C6R2mj3vd1KXP6YFWZkcaYEmq,iv:QiORyyu8SOxn1co8wUySpVU24GkyN19DaYWXpxgApgI=,tag:kzs1tjlmBrN86pCECVMfjg==,type:str] sops: age: - recipient: age1pc92kl38mfr0j68dxww7tpzvqp3lpw6lwfylj6hn2k3rf4rddgtsjxdx47 @@ -43,7 +41,7 @@ sops: SzFFeFVFcVBzWWRIajQrSHhjTzR6U1kKml6XZjf2DeNqfLazpCU3qXN0ak+kIbM6 7wuEOmWZCTD++CI/Fdb/TjgAJeJ7u3Dtd1I4+xi0f/9BEL4+mwFxWA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-12-05T08:30:43Z" - mac: ENC[AES256_GCM,data:LTyEkbTw+SVqAqpB2Zl8slxMM18OOIY3R76iPySkhhtUfwnki7fMExjuniq7tsMJfT4Ssp2jvSsNERsxbhxs/96OnH/CQtDva7N64yW3AM7nn5Ha6vb82YeNWcq2+aEqt1l2AF1Kva6lFzBz4tWT6lfHpfEQonpAOdLxT55dspo=,iv:dTnvZOKZUPYYGKqWS6TbrQMOJnzSCrBcZ0Tul56Da2c=,tag:32HcHZhjLHvov+Rb+cNkcw==,type:str] + lastmodified: "2025-12-04T08:42:30Z" + mac: ENC[AES256_GCM,data:xXdrF1yI19G06GMmL9ZpOVIQGTN0uYpru5weMyFnvSc6Igt+GLznht9V4qIRHLW8gRhd+sfSfNvXptn0FbS9HdI5MfIDTvLLC1nVRVtvPPcWiYPKo5lqiFnCh5HV/3UBNVO+7Wz1/m1JtXEptc1cYhpx2JmFPSvH9dQXedGSgec=,iv:iyc2s2CNYNL1XsryV0a5hQN3Woc5bCjrVtfH7bLDVoo=,tag:4B03cEYJstryEJwHxWhrDw==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0