diff options
-rw-r--r-- | flake.lock | 192 | ||||
-rw-r--r-- | flake.nix | 109 | ||||
-rw-r--r-- | nixos/configurations/errol.nix | 40 | ||||
-rw-r--r-- | nixos/configurations/lipwig.nix | 21 | ||||
-rw-r--r-- | nixos/modules/homeassistant.nix | 8 | ||||
-rw-r--r-- | pkgs/default.nix | 7 |
6 files changed, 209 insertions, 168 deletions
@@ -76,14 +76,14 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_5" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -91,34 +91,36 @@ "type": "indirect" } }, - "flake-utils_4": { + "flakepy": { "inputs": { - "systems": "systems_4" + "nixpkgs": "nixpkgs_6", + "systems": "systems_3" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" + "lastModified": 1751271815, + "narHash": "sha256-TrMceYyeUXdQZlj/qZCznJB4iHdKj+d1cHXzcaoi3ig=", + "owner": "Cynerd", + "repo": "flakepy", + "rev": "d59cf207f55256163badc539a65669ad9bb1ba95", + "type": "gitlab" }, "original": { - "id": "flake-utils", - "type": "indirect" + "owner": "Cynerd", + "repo": "flakepy", + "type": "gitlab" } }, - "flakepy": { + "flakepy_2": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_8", + "systems": "systems_4" }, "locked": { - "lastModified": 1746516935, - "narHash": "sha256-JGUkSDpEJg+tBsZw8EQpq35blzrupTDDQb8FDygLY4o=", + "lastModified": 1751271815, + "narHash": "sha256-TrMceYyeUXdQZlj/qZCznJB4iHdKj+d1cHXzcaoi3ig=", "owner": "Cynerd", "repo": "flakepy", - "rev": "3fcf434e7989b4ee6d29852e945256dc75b16f8d", + "rev": "d59cf207f55256163badc539a65669ad9bb1ba95", "type": "gitlab" }, "original": { @@ -150,11 +152,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752666637, - "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", + "lastModified": 1753122741, + "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", + "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", "type": "github" }, "original": { @@ -196,6 +198,20 @@ "type": "github" } }, + "nixpkgs_10": { + "locked": { + "lastModified": 1707877513, + "narHash": "sha256-sp0w2apswd3wv0sAEF7StOGHkns3XUQaO5erhWFZWXk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "89653a03e0915e4a872788d10680e7eec92f8600", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1744096231, @@ -212,11 +228,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -255,11 +271,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1743568003, - "narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=", + "lastModified": 1751180975, + "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7ba7f9f45c5cd0d8625e9e217c28f8eb6a19a76", + "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5", "type": "github" }, "original": { @@ -269,11 +285,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1746397377, - "narHash": "sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX+GGtN9f/n4lU=", + "lastModified": 1753091883, + "narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8", + "rev": "2baf8e1658cba84a032c3a8befb1e7b06629242a", "type": "github" }, "original": { @@ -283,11 +299,25 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1707877513, - "narHash": "sha256-sp0w2apswd3wv0sAEF7StOGHkns3XUQaO5erhWFZWXk=", + "lastModified": 1751180975, + "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89653a03e0915e4a872788d10680e7eec92f8600", + "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1753091883, + "narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2baf8e1658cba84a032c3a8befb1e7b06629242a", "type": "github" }, "original": { @@ -315,11 +345,11 @@ }, "personal-secret": { "locked": { - "lastModified": 1753114457, - "narHash": "sha256-LXS93E46n/whB1iNfcA8l545pFGq8hbkD+QzwlOG5OM=", + "lastModified": 1753116365, + "narHash": "sha256-ilY/TB/McunFYw5P8MEICMopP/BnCoB8NrRc0Y0ReyE=", "ref": "refs/heads/master", - "rev": "27eb0905e0523eb2d4273b0f8bf41d02eff5610c", - "revCount": 135, + "rev": "0266c14d8f1a57153be83ed12dae57861f222e28", + "revCount": 136, "type": "git", "url": "ssh://git@cynerd.cz/nixos-personal-secret" }, @@ -334,11 +364,30 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1750864795, - "narHash": "sha256-yf1jgf2HYA62b/9qt8IXVe9ROJs9BqduUuH6/wEvDro=", + "lastModified": 1753438446, + "narHash": "sha256-CPF/qCTzxUNbuZo6C/coefYOVVYQqTzvSa5KuznutIM=", "owner": "silicon-heaven", "repo": "pyshv", - "rev": "b0dd4bf41a42760f7f76683332e5393111341201", + "rev": "7f56bca6560641f2de6efb839be99a08465c51d3", + "type": "gitlab" + }, + "original": { + "owner": "silicon-heaven", + "repo": "pyshv", + "type": "gitlab" + } + }, + "pyshv_2": { + "inputs": { + "flakepy": "flakepy_2", + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1753438446, + "narHash": "sha256-CPF/qCTzxUNbuZo6C/coefYOVVYQqTzvSa5KuznutIM=", + "owner": "silicon-heaven", + "repo": "pyshv", + "rev": "7f56bca6560641f2de6efb839be99a08465c51d3", "type": "gitlab" }, "original": { @@ -387,11 +436,11 @@ "pyshv": "pyshv" }, "locked": { - "lastModified": 1751894675, - "narHash": "sha256-H5Iz9uiD8oXsWrnCd6mmstgWDLiz/rANa9t8EY/VmZM=", + "lastModified": 1753439134, + "narHash": "sha256-z+8sH7VG0a9JtAWqm+9qA/iQr1rPquFHGINdE7stlio=", "owner": "silicon-heaven", "repo": "shvcli", - "rev": "74815810d4b17c5da64114e422cc39764e59e5b1", + "rev": "3b2c365e205e8bf3d2338f88b0afd2dffab0f762", "type": "github" }, "original": { @@ -402,16 +451,14 @@ }, "shvcli-ell": { "inputs": { - "shvcli": [ - "shvcli" - ] + "shvcli": "shvcli_2" }, "locked": { - "lastModified": 1747829065, - "narHash": "sha256-w/SihkUfMAlyxHAOsUnZPR6AJHoNdvJGhN4/hEv+A7A=", + "lastModified": 1753439820, + "narHash": "sha256-0QFazrPFTIFhOvLNXgaehwjfHSO9/W8a/y1hzIcMj9w=", "owner": "elektroline-predator", "repo": "shvcli-ell", - "rev": "0e4eab274b9aa9e832aed10ba0001b7a35f2ec7e", + "rev": "9de977746f1aba386a58121e527bdfbf60286451", "type": "gitlab" }, "original": { @@ -420,6 +467,24 @@ "type": "gitlab" } }, + "shvcli_2": { + "inputs": { + "pyshv": "pyshv_2" + }, + "locked": { + "lastModified": 1753439134, + "narHash": "sha256-z+8sH7VG0a9JtAWqm+9qA/iQr1rPquFHGINdE7stlio=", + "owner": "silicon-heaven", + "repo": "shvcli", + "rev": "3b2c365e205e8bf3d2338f88b0afd2dffab0f762", + "type": "gitlab" + }, + "original": { + "owner": "silicon-heaven", + "repo": "shvcli", + "type": "gitlab" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -460,12 +525,25 @@ "type": "github" }, "original": { + "id": "systems", + "type": "indirect" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" + }, + "original": { + "id": "systems", + "type": "indirect" } }, - "systems_4": { + "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -482,8 +560,8 @@ }, "usbkey": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_8" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1744029480, @@ -501,11 +579,11 @@ }, "vpsadminos": { "locked": { - "lastModified": 1752871255, - "narHash": "sha256-AXVmZEAtGjlUkeatG13DIukGoFoygli+r0jg0QDjLmE=", + "lastModified": 1753881559, + "narHash": "sha256-1GBdBzn7UXDXVhxjdoNsajd2tYGVq0x4f1FRxhaiOSA=", "owner": "vpsfreecz", "repo": "vpsadminos", - "rev": "80c62a7cdf5899aba5935ec0e741711e624cdaec", + "rev": "f0580af94a38240ed88da3de980ac3332612b255", "type": "github" }, "original": { @@ -10,10 +10,7 @@ agenix.url = "github:ryantm/agenix"; shvcli.url = "github:silicon-heaven/shvcli"; - shvcli-ell = { - url = "gitlab:elektroline-predator/shvcli-ell"; - inputs.shvcli.follows = "shvcli"; - }; + shvcli-ell.url = "gitlab:elektroline-predator/shvcli-ell"; usbkey.url = "gitlab:cynerd/usbkey"; @@ -23,69 +20,75 @@ outputs = { self, - flake-utils, + systems, nixpkgs, nixosdeploy, personal-secret, shellrc, agenix, + shvcli, shvcli-ell, usbkey, nixturris, ... }: let - inherit (flake-utils.lib) eachDefaultSystem filterPackages; - inherit (nixpkgs.lib) mapAttrs' nameValuePair filterAttrs; - in - { - overlays = { - lib = final: prev: import ./lib final prev; - pkgs = final: prev: import ./pkgs final prev; - default = nixpkgs.lib.composeManyExtensions [ - agenix.overlays.default - nixosdeploy.overlays.default - self.overlays.pkgs - shellrc.overlays.default - shvcli-ell.overlays.default - usbkey.overlays.default - ]; - }; + inherit (nixpkgs.lib) genAttrs mapAttrs' nameValuePair filterAttrs; + forSystems = genAttrs (import systems); + withPkgs = func: forSystems (system: func self.legacyPackages.${system}); + + osFilterMap = system: attr: + mapAttrs' (n: v: let + os = + if v.config.nixpkgs.hostPlatform.system == system + then v + else (v.extendModules {modules = [{nixpkgs.buildPlatform.system = system;}];}); + in + nameValuePair "${attr}-${n}" os.config.system.build."${attr}") + (filterAttrs (_: v: v.config.system.build ? "${attr}") + self.nixosConfigurations); + in { + overlays = { + lib = final: prev: import ./lib final prev; + pkgs = final: prev: import ./pkgs final prev; + default = nixpkgs.lib.composeManyExtensions [ + agenix.overlays.default + nixosdeploy.overlays.default + self.overlays.pkgs + shellrc.overlays.default + shvcli.overlays.default + shvcli-ell.overlays.packages + usbkey.overlays.default + ]; + }; + + nixosModules = import ./nixos/modules { + inherit (nixpkgs) lib; + default_modules = [ + nixosdeploy.nixosModules.default + nixturris.nixosModules.default + personal-secret.nixosModules.default + shellrc.nixosModules.default + usbkey.nixosModules.default + ]; + }; - nixosModules = import ./nixos/modules { - inherit (nixpkgs) lib; - default_modules = [ - nixosdeploy.nixosModules.default - nixturris.nixosModules.default - personal-secret.nixosModules.default - shellrc.nixosModules.default - usbkey.nixosModules.default - ]; - }; + nixosConfigurations = import ./nixos/configurations self; + lib = import ./lib nixpkgs.lib; - nixosConfigurations = import ./nixos/configurations self; - lib = import ./lib nixpkgs.lib; - } - // eachDefaultSystem (system: let - pkgs = nixpkgs.legacyPackages."${system}".extend self.overlays.default; + legacyPackages = + forSystems (system: + nixpkgs.legacyPackages.${system}.extend self.overlays.default); - osFilterMap = attr: - mapAttrs' (n: v: let - os = - if v.config.nixpkgs.hostPlatform.system == system - then v - else (v.extendModules {modules = [{nixpkgs.buildPlatform.system = system;}];}); - in - nameValuePair "${attr}-${n}" os.config.system.build."${attr}") - (filterAttrs (_: v: v.config.system.build ? "${attr}") - self.nixosConfigurations); - in { - packages = + packages = forSystems ( + system: {inherit (nixosdeploy.packages.${system}) default;} // (osFilterMap "toplevel") // (osFilterMap "tarball") - // (osFilterMap "firmware"); - legacyPackages = pkgs; - devShells = filterPackages system (import ./devShells pkgs); - formatter = pkgs.alejandra; - }); + // (osFilterMap "firmware") + ); + + devShells = withPkgs (import ./devShells); + + formatter = withPkgs (pkgs: pkgs.alejandra); + }; } diff --git a/nixos/configurations/errol.nix b/nixos/configurations/errol.nix index f986631..defacf3 100644 --- a/nixos/configurations/errol.nix +++ b/nixos/configurations/errol.nix @@ -1,11 +1,4 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib) mkDefault; -in { +{pkgs, ...}: { system.stateVersion = "24.05"; nixpkgs.hostPlatform.system = "x86_64-linux"; deploy.enable = true; @@ -96,36 +89,5 @@ in { enable = true; dataDir = "/home/cynerd"; }; - - home-assistant = { - enable = true; - openFirewall = true; - configDir = "/var/lib/hass"; - config = { - homeassistant = { - name = "SPT"; - latitude = "!secret latitude"; - longitude = "!secret longitude"; - elevation = "!secret elevation"; - time_zone = "Europe/Prague"; - country = "CZ"; - }; - http.server_port = 8808; - mqtt = { - sensor = import ../home-assistant/sensors.nix; - light = import ../home-assistant/light.nix; - }; - default_config = {}; - automation = "!include automations.yaml"; - }; - extraComponents = ["met"]; - package = pkgs.home-assistant.override { - extraPackages = pkgs: - with pkgs; [ - securetar - pyipp - ]; - }; - }; }; } diff --git a/nixos/configurations/lipwig.nix b/nixos/configurations/lipwig.nix index ab61898..2f5e242 100644 --- a/nixos/configurations/lipwig.nix +++ b/nixos/configurations/lipwig.nix @@ -107,10 +107,6 @@ forceSSL = true; useACMEHost = "cynerd.cz"; }; - "office.cynerd.cz" = { - forceSSL = true; - useACMEHost = "cynerd.cz"; - }; "grafana.cynerd.cz" = { forceSSL = true; useACMEHost = "cynerd.cz"; @@ -248,7 +244,6 @@ maps memories notes - onlyoffice phonetrack previewgenerator spreed @@ -257,6 +252,11 @@ ; # Additional modules can be fetched with: # NEXTCLOUD_VERSIONS=31 nix run nixpkgs#nc4nix -- -apps "passwords,money,integration_github,integration_gitlab" + fileslibreofficeedit = pkgs.fetchNextcloudApp { + url = "https://github.com/allotropia/nextcloud_files_libreoffice_edit/releases/download/v2.0.1/fileslibreofficeedit.tar.gz"; + hash = "sha256-Xqx5snQWintYJG3Q1Crw22TkNw18DdADXkurMQqt3X8="; + license = "agpl3Plus"; + }; integration_github = pkgs.fetchNextcloudApp { url = "https://github.com/nextcloud-releases/integration_github/releases/download/v3.2.1/integration_github-v3.2.1.tar.gz"; hash = "sha256-iBWphFaXmQHNxgoi9qkfV7vCTChwtk6yg0aVr9Lhn4c="; @@ -273,17 +273,12 @@ license = "agpl3Plus"; }; passwords = pkgs.fetchNextcloudApp { - url = "https://git.mdns.eu/api/v4/projects/45/packages/generic/passwords/2025.5.1/passwords.tar.gz"; - hash = "sha256-v4IVpqbTN3TKORESFX+sJsiSrLkUc0b5Stj8CmznSIw="; + url = "https://git.mdns.eu/api/v4/projects/45/packages/generic/passwords/2025.7.0/passwords.tar.gz"; + hash = "sha256-SVItAtFRO/CbZ203ZS86inCZ+ZpGy0NUS3y2Xj1b+LI="; license = "agpl3Plus"; }; }; }; - # OnlyOffice ############################################################### - services.onlyoffice = { - enable = true; - hostname = "office.cynerd.cz"; - }; # Postgresql ############################################################### services.postgresql = { @@ -366,7 +361,7 @@ } ]; }; - runInUwsgi = true; + configureUwsgi = true; uwsgiConfig = { socket = "/run/searx/searx.sock"; chmod-socket = "660"; diff --git a/nixos/modules/homeassistant.nix b/nixos/modules/homeassistant.nix index 000e6c4..f7ebe9c 100644 --- a/nixos/modules/homeassistant.nix +++ b/nixos/modules/homeassistant.nix @@ -25,13 +25,9 @@ in { containers.homeassistant = { volumes = ["home-assistant:/config" "/run/dbus:/run/dbus:ro"]; environment.TZ = "Europe/Prague"; - image = "ghcr.io/home-assistant/armv7-homeassistant:stable"; + image = "ghcr.io/home-assistant/armv7-homeassistant:latest"; extraOptions = - [ - "--privileged" - "--pull=always" - "--network=host" - ] + ["--privileged" "--network=host"] ++ cnf.extraOptions; }; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index 78c142c..be1ab6b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -75,6 +75,13 @@ final: prev: { extraMeta.platforms = ["aarch64-linux"]; filesToInstall = ["u-boot.bin"]; }; + wolfssl = prev.wolfssl.overrideAttrs (oldAttrs: rec { + version = "5.8.2"; + src = oldAttrs.src.override { + tag = "v${version}-stable"; + hash = "sha256-rWBfpI6tdpKvQA/XdazBvU5hzyai5PtKRBpM4iplZDU="; + }; + }); # Older version of packages flac134 = prev.flac.overrideAttrs { |