aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock192
-rw-r--r--flake.nix109
-rw-r--r--nixos/configurations/errol.nix40
-rw-r--r--nixos/configurations/lipwig.nix21
-rw-r--r--nixos/modules/homeassistant.nix8
-rw-r--r--pkgs/default.nix7
6 files changed, 209 insertions, 168 deletions
diff --git a/flake.lock b/flake.lock
index 1396c78..f1e6fde 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index 0ab9f2e..e4401f0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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 {