Misc updates
This commit is contained in:
parent
0b5ca6d22c
commit
f51256c3ae
235
flake.lock
235
flake.lock
|
@ -27,20 +27,14 @@
|
||||||
},
|
},
|
||||||
"catppuccin": {
|
"catppuccin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"catppuccin-v1_1": "catppuccin-v1_1",
|
"nixpkgs": "nixpkgs"
|
||||||
"catppuccin-v1_2": "catppuccin-v1_2",
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"home-manager-stable": "home-manager-stable",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"nuscht-search": "nuscht-search"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736957255,
|
"lastModified": 1741732420,
|
||||||
"narHash": "sha256-qZZ/K5XheRMjCNYgle90QESuys0PIFJNPJJswMJ0GEA=",
|
"narHash": "sha256-szO/TCc+UrjEtxi4K3GyoAv5/DKDkUeRtpTZTJY+zI4=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "f06fcadf9a61b6581b392e72f230fa6783fe36e4",
|
"rev": "a3f70463fb5e3df32d2d52a2705606db03843de2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -49,34 +43,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"catppuccin-v1_1": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734055249,
|
|
||||||
"narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=",
|
|
||||||
"rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7",
|
|
||||||
"revCount": 326,
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"catppuccin-v1_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734734291,
|
|
||||||
"narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=",
|
|
||||||
"rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8",
|
|
||||||
"revCount": 344,
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"deploy-rs": {
|
"deploy-rs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
@ -209,7 +175,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
|
@ -227,7 +193,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils-plus": {
|
"flake-utils-plus": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3"
|
"flake-utils": "flake-utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715533576,
|
"lastModified": 1715533576,
|
||||||
|
@ -248,24 +214,6 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_3": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694529238,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
@ -334,58 +282,15 @@
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"catppuccin",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736508663,
|
"lastModified": 1741701235,
|
||||||
"narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
|
"narHash": "sha256-gBlb8R9gnjUAT5XabJeel3C2iEUiBHx3+91651y3Sqo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
|
"rev": "c630dfa8abcc65984cc1e47fb25d4552c81dd37e",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager-stable": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"catppuccin",
|
|
||||||
"nixpkgs-stable"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736373539,
|
|
||||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"ref": "release-24.11",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1737188535,
|
|
||||||
"narHash": "sha256-O2ttwW1/dUc/Y+Rf48Njtr4tZpRJhy8FhafikekIjMY=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "1e36429705f9af2d00a517ba46a4f21ef8a8194f",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -395,7 +300,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_3": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
|
@ -418,34 +323,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ixx": {
|
"ixx": {
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"catppuccin",
|
|
||||||
"nuscht-search",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"catppuccin",
|
|
||||||
"nuscht-search",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729958008,
|
|
||||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "ixx",
|
|
||||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"ref": "v0.0.6",
|
|
||||||
"repo": "ixx",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ixx_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
|
@ -520,11 +397,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737057290,
|
"lastModified": 1740947705,
|
||||||
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
|
"narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
|
"rev": "507911df8c35939050ae324caccc7cf4ffb76565",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -535,11 +412,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736978406,
|
"lastModified": 1741325094,
|
||||||
"narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=",
|
"narHash": "sha256-RUAdT8dZ6k/486vnu3tiNRrNW6+Q8uSD2Mq7gTX4jlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "b678606690027913f3434dea3864e712b862dde5",
|
"rev": "b48cc4dab0f9711af296fc367b6108cf7b8ccb16",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -551,11 +428,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736012469,
|
"lastModified": 1741246872,
|
||||||
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
|
"narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
|
"rev": "10069ef4cf863633f57238f179a0297de84bd8d3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -577,29 +454,13 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736061677,
|
|
||||||
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-24.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737062831,
|
"lastModified": 1741513245,
|
||||||
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
|
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
|
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -654,7 +515,7 @@
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"home-manager": "home-manager_3",
|
"home-manager": "home-manager_2",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nuschtosSearch": "nuschtosSearch",
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
|
@ -674,33 +535,10 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nuscht-search": {
|
"nuschtosSearch": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"ixx": "ixx",
|
"ixx": "ixx",
|
||||||
"nixpkgs": [
|
|
||||||
"catppuccin",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735854821,
|
|
||||||
"narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "search",
|
|
||||||
"rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "search",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nuschtosSearch": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"ixx": "ixx_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"nixvim",
|
"nixvim",
|
||||||
|
@ -724,11 +562,11 @@
|
||||||
"powerlevel10k": {
|
"powerlevel10k": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736162665,
|
"lastModified": 1738157299,
|
||||||
"narHash": "sha256-6tWuayZgQd9pUrD3xKlUSmOFQCgZ96G3DB8ojgZ/a78=",
|
"narHash": "sha256-isxgLWpbBuNoETXCOlJ4nwGSxMwCjoVF5D0dMZWtM5s=",
|
||||||
"owner": "romkatv",
|
"owner": "romkatv",
|
||||||
"repo": "powerlevel10k",
|
"repo": "powerlevel10k",
|
||||||
"rev": "3e2053a9341fe4cf5ab69909d3f39d53b1dfe772",
|
"rev": "8fa10f43a0f65a5e15417128be63e68e1d5b1f66",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -743,7 +581,7 @@
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"deploy-rs": "deploy-rs",
|
"deploy-rs": "deploy-rs",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
@ -835,21 +673,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -874,7 +697,7 @@
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1701680307,
|
||||||
|
|
|
@ -4,12 +4,19 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
namespace,
|
namespace,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkIf
|
||||||
|
mkEnableOption
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
cfg = config.${namespace}.services.homeassistant;
|
cfg = config.${namespace}.services.homeassistant;
|
||||||
hass_cfg = config.services.home-assistant;
|
hass_cfg = config.services.home-assistant;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.${namespace}.services.homeassistant = {
|
options.${namespace}.services.homeassistant = {
|
||||||
enable = mkEnableOption "home assistant";
|
enable = mkEnableOption "home assistant";
|
||||||
acmeCertName = mkOption {
|
acmeCertName = mkOption {
|
||||||
|
@ -25,14 +32,24 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = python3packages:
|
extraPackages =
|
||||||
with python3packages; [
|
python3packages: with python3packages; [
|
||||||
# postgresql support
|
# postgresql support
|
||||||
psycopg2
|
psycopg2
|
||||||
|
|
||||||
|
# homekit support
|
||||||
|
hap-python
|
||||||
];
|
];
|
||||||
|
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
|
"3_day_blinds"
|
||||||
|
"motion_blinds"
|
||||||
|
|
||||||
|
"opower"
|
||||||
|
"smud"
|
||||||
|
|
||||||
"cast"
|
"cast"
|
||||||
|
"homekit_controller"
|
||||||
"hue"
|
"hue"
|
||||||
"met"
|
"met"
|
||||||
"mqtt"
|
"mqtt"
|
||||||
|
@ -46,10 +63,10 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
default_config = {};
|
default_config = { };
|
||||||
http = {
|
http = {
|
||||||
use_x_forwarded_for = true;
|
use_x_forwarded_for = true;
|
||||||
trusted_proxies = ["127.0.0.1"];
|
trusted_proxies = [ "127.0.0.1" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
recorder.db_url = "postgresql://@/hass";
|
recorder.db_url = "postgresql://@/hass";
|
||||||
|
@ -75,7 +92,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
ensureDatabases = ["hass"];
|
ensureDatabases = [ "hass" ];
|
||||||
ensureUsers = [
|
ensureUsers = [
|
||||||
{
|
{
|
||||||
name = "hass";
|
name = "hass";
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
cfg = config.aa.services.nextcloud;
|
cfg = config.aa.services.nextcloud;
|
||||||
secrets = config.age.secrets;
|
secrets = config.age.secrets;
|
||||||
|
|
||||||
|
@ -15,7 +16,8 @@
|
||||||
group = "nextcloud";
|
group = "nextcloud";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.aa.services.nextcloud = with lib; {
|
options.aa.services.nextcloud = with lib; {
|
||||||
enable = mkEnableOption "nextcloud";
|
enable = mkEnableOption "nextcloud";
|
||||||
acmeCertName = mkOption {
|
acmeCertName = mkOption {
|
||||||
|
@ -29,7 +31,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
age.secrets = builtins.listToAttrs (builtins.map (attrs: mkNextcloudSecret attrs) [
|
age.secrets = builtins.listToAttrs (
|
||||||
|
builtins.map (attrs: mkNextcloudSecret attrs) [
|
||||||
{
|
{
|
||||||
name = "restic/password";
|
name = "restic/password";
|
||||||
path = ../../../../secrets/nextcloud_restic_password.age;
|
path = ../../../../secrets/nextcloud_restic_password.age;
|
||||||
|
@ -46,11 +49,12 @@ in {
|
||||||
name = "nextcloud_admin";
|
name = "nextcloud_admin";
|
||||||
path = ../../../../secrets/nextcloud_admin.age;
|
path = ../../../../secrets/nextcloud_admin.age;
|
||||||
}
|
}
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud30;
|
package = pkgs.nextcloud31;
|
||||||
hostName = "nextcloud.kilonull.com";
|
hostName = "nextcloud.kilonull.com";
|
||||||
https = true;
|
https = true;
|
||||||
database.createLocally = true;
|
database.createLocally = true;
|
||||||
|
@ -75,7 +79,9 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
# nextcloud module configures nginx, just need to specify SSL stuffs here
|
# nextcloud module configures nginx, just need to specify SSL stuffs here
|
||||||
services.nginx.virtualHosts.${config.services.nextcloud.hostName} = lib.mkIf (cfg.acmeCertName != "") {
|
services.nginx.virtualHosts.${config.services.nextcloud.hostName} =
|
||||||
|
lib.mkIf (cfg.acmeCertName != "")
|
||||||
|
{
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = cfg.acmeCertName;
|
useACMEHost = cfg.acmeCertName;
|
||||||
};
|
};
|
||||||
|
@ -84,7 +90,7 @@ in {
|
||||||
nextcloud = {
|
nextcloud = {
|
||||||
user = "nextcloud";
|
user = "nextcloud";
|
||||||
initialize = true;
|
initialize = true;
|
||||||
paths = [config.services.nextcloud.datadir];
|
paths = [ config.services.nextcloud.datadir ];
|
||||||
environmentFile = secrets."restic/env".path;
|
environmentFile = secrets."restic/env".path;
|
||||||
repositoryFile = secrets."restic/repo".path;
|
repositoryFile = secrets."restic/repo".path;
|
||||||
passwordFile = secrets."restic/password".path;
|
passwordFile = secrets."restic/password".path;
|
||||||
|
@ -93,10 +99,18 @@ in {
|
||||||
Persistent = true;
|
Persistent = true;
|
||||||
RandomizedDelaySec = "5h";
|
RandomizedDelaySec = "5h";
|
||||||
};
|
};
|
||||||
pruneOpts = ["--keep-daily 7" "--keep-weekly 5" "--keep-monthly 12" "--keep-yearly 9001"];
|
pruneOpts = [
|
||||||
|
"--keep-daily 7"
|
||||||
|
"--keep-weekly 5"
|
||||||
|
"--keep-monthly 12"
|
||||||
|
"--keep-yearly 9001"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [80 443];
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./zfs.nix
|
./zfs.nix
|
||||||
|
@ -62,7 +63,10 @@
|
||||||
system.zfs.enable = true;
|
system.zfs.enable = true;
|
||||||
system.monitoring.enable = true;
|
system.monitoring.enable = true;
|
||||||
|
|
||||||
user.extraGroups = ["dialout" "libvirtd"];
|
user.extraGroups = [
|
||||||
|
"dialout"
|
||||||
|
"libvirtd"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [
|
services.udev.packages = [
|
||||||
|
@ -110,12 +114,18 @@
|
||||||
|
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = ["aarch64-linux" "armv6l-linux"];
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"armv6l-linux"
|
||||||
|
];
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "gospel";
|
hostName = "gospel";
|
||||||
useDHCP = false;
|
|
||||||
defaultGateway = "192.168.113.1";
|
defaultGateway = "192.168.113.1";
|
||||||
nameservers = ["192.168.113.13" "1.1.1.1"];
|
networkmanager.enable = true;
|
||||||
|
nameservers = [
|
||||||
|
"192.168.113.1"
|
||||||
|
"1.1.1.1"
|
||||||
|
];
|
||||||
interfaces.eno1.ipv4.addresses = [
|
interfaces.eno1.ipv4.addresses = [
|
||||||
{
|
{
|
||||||
address = "192.168.113.69"; # nice
|
address = "192.168.113.69"; # nice
|
||||||
|
@ -123,6 +133,11 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.winbox = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
programs.nm-applet.enable = true;
|
||||||
|
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./zfs.nix
|
./zfs.nix
|
||||||
|
@ -24,10 +25,6 @@
|
||||||
configureServerRouting = true;
|
configureServerRouting = true;
|
||||||
};
|
};
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.adguardhome = {
|
|
||||||
enable = true;
|
|
||||||
acmeCertName = "kilonull.com";
|
|
||||||
};
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
acmeCertName = "kilonull.com";
|
acmeCertName = "kilonull.com";
|
||||||
|
@ -75,32 +72,16 @@
|
||||||
apps.yubikey.enable = true;
|
apps.yubikey.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Rewrite specific to this machine (didn't want to put this in my adguardhome
|
services.avahi = {
|
||||||
# module incase I want to reuse it for something else later)
|
enable = true;
|
||||||
services.adguardhome.settings.filtering.rewrites = [
|
nssmdns4 = true;
|
||||||
{
|
};
|
||||||
domain = "octoprint.kilonull.com";
|
|
||||||
answer = "192.168.113.42";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
domain = "hydra.kilonull.com";
|
|
||||||
answer = "192.168.113.69";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
domain = "cache.kilonull.com";
|
|
||||||
answer = "192.168.113.69";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
domain = "*.kilonull.com";
|
|
||||||
answer = "192.168.113.13";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
security.pam.sshAgentAuth = {
|
security.pam.sshAgentAuth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Addresses issue 31611
|
# Addresses issue 31611
|
||||||
# See: https://github.com/NixOS/nixpkgs/issues/31611
|
# See: https://github.com/NixOS/nixpkgs/issues/31611
|
||||||
authorizedKeysFiles = lib.mkForce ["/etc/ssh/authorized_keys.d/%u"];
|
authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ];
|
||||||
};
|
};
|
||||||
security.pam.services.${config.aa.user.name}.sshAgentAuth = true;
|
security.pam.services.${config.aa.user.name}.sshAgentAuth = true;
|
||||||
|
|
||||||
|
@ -115,7 +96,10 @@
|
||||||
hostName = "node";
|
hostName = "node";
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
defaultGateway = "192.168.113.1";
|
defaultGateway = "192.168.113.1";
|
||||||
nameservers = ["127.0.0.1" "1.1.1.1"];
|
nameservers = [
|
||||||
|
"192.168.113.1"
|
||||||
|
"1.1.1.1"
|
||||||
|
];
|
||||||
interfaces.enp7s0.ipv4.addresses = [
|
interfaces.enp7s0.ipv4.addresses = [
|
||||||
{
|
{
|
||||||
address = "192.168.113.13";
|
address = "192.168.113.13";
|
||||||
|
@ -124,20 +108,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Running own DNS resolver on same system. This prevents DNS issues with ACME
|
|
||||||
systemd.services = let
|
|
||||||
dependency = ["adguardhome.service"];
|
|
||||||
in
|
|
||||||
lib.mapAttrs'
|
|
||||||
(name: _:
|
|
||||||
lib.nameValuePair "acme-${name}" {
|
|
||||||
after = dependency;
|
|
||||||
preStart = ''
|
|
||||||
sleep 10
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
config.security.acme.certs;
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
Loading…
Reference in a new issue