diff options
author | polwex <polwex@sortug.com> | 2025-01-26 04:59:01 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-01-26 04:59:01 +0700 |
commit | fb39334bcdac65a1ff1d95e7e4db2e28eabcc2d6 (patch) | |
tree | d33193f5bac097f7cf0642c3041744eff09bdda2 | |
parent | 44857f873bf0de923b9078b593391d4ff6908acb (diff) |
m
-rw-r--r-- | flake.lock | 248 | ||||
-rw-r--r-- | flake.nix | 9 | ||||
-rw-r--r-- | hosts/cloud/sortug/configuration.nix | 2 | ||||
-rw-r--r-- | hosts/cloud/sortug/nginx.nix | 47 | ||||
-rw-r--r-- | hosts/cloud/span/mail.nix | 34 | ||||
-rw-r--r-- | hosts/linux.nix | 13 | ||||
-rw-r--r-- | hosts/local/fw11/configuration.nix | 11 | ||||
-rw-r--r-- | hosts/local/fw11/keyboard.nix | 3 | ||||
-rw-r--r-- | hosts/nixos.nix | 4 | ||||
-rw-r--r-- | hosts/unfree.nix | 10 |
10 files changed, 264 insertions, 117 deletions
@@ -64,6 +64,29 @@ "type": "gitlab" } }, + "claude-desktop": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-unfree" + ] + }, + "locked": { + "lastModified": 1736624144, + "narHash": "sha256-wsI1tjN/dQ+yeLurOHwk7RASm/KVqxUXCNd3QSBN3pA=", + "owner": "k3d3", + "repo": "claude-desktop-linux-flake", + "rev": "83fa37319f07bca47278f344b45af1d46ce2feca", + "type": "github" + }, + "original": { + "owner": "k3d3", + "repo": "claude-desktop-linux-flake", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1725409566, @@ -81,11 +104,11 @@ }, "crane_2": { "locked": { - "lastModified": 1727974419, - "narHash": "sha256-WD0//20h+2/yPGkO88d2nYbb23WMWYvnRyDQ9Dx4UHg=", + "lastModified": 1737563566, + "narHash": "sha256-GLJvkOG29XCynQm8XWPyykMRqIhxKcBARVu7Ydrz02M=", "owner": "ipetkov", "repo": "crane", - "rev": "37e4f9f0976cb9281cd3f0c70081e5e0ecaee93f", + "rev": "849376434956794ebc7a6b487d31aace395392ba", "type": "github" }, "original": { @@ -139,11 +162,11 @@ ] }, "locked": { - "lastModified": 1736711425, - "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=", + "lastModified": 1737038063, + "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", "owner": "nix-community", "repo": "disko", - "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07", + "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", "type": "github" }, "original": { @@ -370,11 +393,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -402,6 +425,24 @@ } }, "flake-utils_4": { + "inputs": { + "systems": "systems_5" + }, + "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_5": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -416,9 +457,9 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_6": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1701680307, @@ -434,9 +475,9 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_7": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1731533236, @@ -459,11 +500,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -540,16 +581,16 @@ "helix": { "inputs": { "crane": "crane_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs_2", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1736956623, - "narHash": "sha256-EiXiH9achp3FT9awsI/Bx5brMjB/RQGZnSdLqD44BaA=", + "lastModified": 1737677675, + "narHash": "sha256-a6VO9JFCif+4ipdszBcQO772QLmBtj9Ai5iAgi/4+/U=", "owner": "helix-editor", "repo": "helix", - "rev": "3318953bf6b3f7c054e971aec61bf22fd2a05104", + "rev": "a63a2ad281b5f651effd29efa4e34f504507d0da", "type": "github" }, "original": { @@ -643,11 +684,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1734994463, - "narHash": "sha256-S9MgfQjNt4J3I7obdLOVY23h+Yl/hnyibwGfOl+1uOE=", + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "93e6f0d77548be8757c11ebda5c4235ef4f3bc67", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", "type": "github" }, "original": { @@ -658,15 +699,15 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_7", "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1736684024, - "narHash": "sha256-FYJ4iFD/2L1CFN/aHjI8HxxSxuPNy4OvW+VCBh41Lzk=", + "lastModified": 1737288694, + "narHash": "sha256-e9MsdkHidgepQpF0InyRSpeD6YujQcaB0uUzeXVvW+I=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "917882a0186d7731a61ede986c701e272f744750", + "rev": "e07594822638004d96f100febbe947189c42e8a9", "type": "github" }, "original": { @@ -677,7 +718,7 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs_6", "spectrum": "spectrum" }, @@ -702,11 +743,11 @@ ] }, "locked": { - "lastModified": 1736819234, - "narHash": "sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP+5FgbiSwI=", + "lastModified": 1737504076, + "narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bd921223ba7cdac346477d7ea5204d6f4736fcc6", + "rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3", "type": "github" }, "original": { @@ -719,7 +760,7 @@ "inputs": { "flake-parts": "flake-parts_4", "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_12", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -743,11 +784,11 @@ "umu": "umu" }, "locked": { - "lastModified": 1736818546, - "narHash": "sha256-rehuAIJzjQ5/vBar7xvPzHzqrxcHHDBHqqhsDZHu55M=", + "lastModified": 1737596278, + "narHash": "sha256-OEdGZ6TTHXGB791VvhErq4Nro54NQzzDAO0G0WfK2kw=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "1a9c52cd7517137c9cc74d4b73dfd63678e17c5f", + "rev": "10f37dc9be5d79fec72b46b670ece4783a83a13a", "type": "github" }, "original": { @@ -810,7 +851,7 @@ }, "nixos-cn": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixpkgs" ] @@ -837,11 +878,11 @@ ] }, "locked": { - "lastModified": 1736730523, - "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", + "lastModified": 1737057290, + "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", + "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", "type": "github" }, "original": { @@ -874,11 +915,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736977469, - "narHash": "sha256-iE8tO5ik9EqLA7r/+6vRAV2d0b3HpPZjF4IUPRhw964=", + "lastModified": 1737590910, + "narHash": "sha256-qM/y6Dtpu9Wmf5HqeZajQdn+cS0aljdYQQQnrvx+LJE=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "91c1069cbab1fe3fda523bba05627200dca3f54d", + "rev": "9368027715d8dde4b84c79c374948b5306fdd2db", "type": "github" }, "original": { @@ -898,11 +939,11 @@ "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1735230346, - "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=", + "lastModified": 1737201600, + "narHash": "sha256-JBh5+g8oQteQdQqbO07dGHBRQo/NGI61JPlTjdfQ1pk=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b", + "rev": "ade37b2765032f83d2d4bd50b6204a40a4c05eb4", "type": "gitlab" }, "original": { @@ -913,7 +954,7 @@ }, "nixos-rk3588": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_6", "nixos-generators": "nixos-generators_2", "nixpkgs": "nixpkgs_8", "pre-commit-hooks": "pre-commit-hooks" @@ -1025,11 +1066,11 @@ }, "nixpkgs-lib_3": { "locked": { - "lastModified": 1736643958, - "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", + "lastModified": 1737248590, + "narHash": "sha256-6SWtDeYJS3bS7QyJrGKyd6FpROEN0JCMgakSX8yPbyA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", + "rev": "977f49fd8cf854416f82987696784717acd6e817", "type": "github" }, "original": { @@ -1070,6 +1111,25 @@ "type": "github" } }, + "nixpkgs-unfree": { + "inputs": { + "nixpkgs": "nixpkgs_11" + }, + "locked": { + "lastModified": 1737555756, + "narHash": "sha256-3LUuooq/dlkRpm+1+i1iu/AKLci9iDsICdLHXroHoy4=", + "owner": "numtide", + "repo": "nixpkgs-unfree", + "rev": "5da80ccf5e3ea5a5d5fa429bf499f17c40dc3b74", + "type": "github" + }, + "original": { + "owner": "numtide", + "ref": "nixos-unstable", + "repo": "nixpkgs-unfree", + "type": "github" + } + }, "nixpkgs-wayland": { "inputs": { "flake-compat": "flake-compat_5", @@ -1080,11 +1140,11 @@ ] }, "locked": { - "lastModified": 1736965550, - "narHash": "sha256-u34e02DgidNBbJ2ZPUWlNZeqQTo7tCGT8LN9dZphNAY=", + "lastModified": 1737481114, + "narHash": "sha256-SrpaK5R4nMqq6ZDNm/G2Bj53xHEsouz9w7ZiMDqb0Bc=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "8f3a889a1bb60d58f42fc671d8a0b73496ede51c", + "rev": "c52a529dd1585cad4ccd5951b10ba27366aa3cee", "type": "github" }, "original": { @@ -1095,11 +1155,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1737632463, + "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", "type": "github" }, "original": { @@ -1111,6 +1171,20 @@ }, "nixpkgs_11": { "locked": { + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_12": { + "locked": { "lastModified": 1736042175, "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", "owner": "NixOS", @@ -1125,13 +1199,13 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1737632463, + "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", "type": "github" }, "original": { @@ -1141,7 +1215,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1702151865, "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", @@ -1159,11 +1233,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { @@ -1239,11 +1313,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1736420959, - "narHash": "sha256-dMGNa5UwdtowEqQac+Dr0d2tFO/60ckVgdhZU9q2E2o=", + "lastModified": 1737003892, + "narHash": "sha256-RCzJE9wKByLCXmRBp+z8LK9EgdW+K+W/DXnJS4S/NVo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32af3611f6f05655ca166a0b1f47b57c762b5192", + "rev": "ae06b9c2d83cb5c8b12d7d0e32692e93d1379713", "type": "github" }, "original": { @@ -1288,15 +1362,15 @@ "nur": { "inputs": { "flake-parts": "flake-parts_5", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_13", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736974055, - "narHash": "sha256-ordp2Xy3qJrqSZGEvmydloKBjlITb14+E2z2tF3kttg=", + "lastModified": 1737719148, + "narHash": "sha256-ycZZghpy+/Hpnzaw252ovAelilVo8/Kz6ah/l9DfdIQ=", "owner": "nix-community", "repo": "NUR", - "rev": "4dff81fd8603cf7592a7b4dedc0ae7952d288e82", + "rev": "44b2880e3f1b5a877b74c3a893dfa03dc1caf238", "type": "github" }, "original": { @@ -1384,8 +1458,10 @@ "root": { "inputs": { "agenix": "agenix", + "claude-desktop": "claude-desktop", "disko": "disko", "flake-parts": "flake-parts", + "flake-utils": "flake-utils_2", "git-hooks": "git-hooks", "helix": "helix", "homix": "homix", @@ -1404,6 +1480,7 @@ "nixpkgs": "nixpkgs_10", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unfree": "nixpkgs-unfree", "nixpkgs-wayland": "nixpkgs-wayland", "nur": "nur", "polybar-themes": "polybar-themes", @@ -1440,11 +1517,11 @@ ] }, "locked": { - "lastModified": 1728268235, - "narHash": "sha256-lJMFnMO4maJuNO6PQ5fZesrTmglze3UFTTBuKGwR1Nw=", + "lastModified": 1737599167, + "narHash": "sha256-S2rHCrQWCDVp63XxL/AQbGr1g5M8Zx14C7Jooa4oM8o=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "25685cc2c7054efc31351c172ae77b21814f2d42", + "rev": "38374302ae9edf819eac666d1f276d62c712dd06", "type": "github" }, "original": { @@ -1580,6 +1657,21 @@ "type": "github" } }, + "systems_7": { + "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": { "inputs": { "nixpkgs": [ @@ -1632,11 +1724,11 @@ }, "locked": { "dir": "packaging/nix", - "lastModified": 1736534482, - "narHash": "sha256-aHDxVKA4GgohIPCDUX9zMF4UnLQR7U6Dj9mOmhZYSoc=", + "lastModified": 1737161836, + "narHash": "sha256-v20q0DeglyrsIAbqwqOSxdzZ4JhEWtU9muWPlPz3Few=", "ref": "refs/heads/main", - "rev": "e9cb4d764013d4c8c3d1166f59581da8f56a3d83", - "revCount": 896, + "rev": "3fd4ef90e8427cfc74d94914654a288912edb2cf", + "revCount": 901, "submodules": true, "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" @@ -1671,7 +1763,7 @@ }, "wrapper-manager": { "inputs": { - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1724503599, @@ -5,10 +5,13 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-24.05-darwin"; + nixpkgs-unfree.url = "github:numtide/nixpkgs-unfree?ref=nixos-unstable"; nix-darwin = { url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs-darwin"; }; + flake-utils.url = "github:numtide/flake-utils"; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; nixos-hardware.url = "github:nixos/nixos-hardware/master"; #secure book @@ -75,6 +78,12 @@ flake = false; }; + claude-desktop = { + url = "github:k3d3/claude-desktop-linux-flake"; + inputs.nixpkgs.follows = "nixpkgs-unfree"; + inputs.flake-utils.follows = "flake-utils"; + }; + ########### secrets ################# # mysecrets = { # url = "git+ssh://git@git.sortug.com/polwex/nix-secrets.git"; diff --git a/hosts/cloud/sortug/configuration.nix b/hosts/cloud/sortug/configuration.nix index 308f010..ee15cd5 100644 --- a/hosts/cloud/sortug/configuration.nix +++ b/hosts/cloud/sortug/configuration.nix @@ -1,6 +1,7 @@ { modulesPath, lib, + pkgs, ... }: { imports = @@ -24,6 +25,7 @@ loader.grub.enable = true; # loader.grub.device = "/dev/sda"; }; + environment.systemPackages = [pkgs.devenv]; services.do-agent.enable = true; networking = { diff --git a/hosts/cloud/sortug/nginx.nix b/hosts/cloud/sortug/nginx.nix index b075c22..78e93b8 100644 --- a/hosts/cloud/sortug/nginx.nix +++ b/hosts/cloud/sortug/nginx.nix @@ -26,19 +26,30 @@ virtualHosts."ai.sortug.com" = { enableACME = true; forceSSL = true; - locations."/" = { + locations."/stt" = { proxyPass = "http://127.0.0.1:8000"; - proxyWebsockets = true; # needed if you need to use WebSocket + extraConfig = '' + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + send_timeout 300s; + ''; }; - }; - virtualHosts."kino.sortug.com" = { - enableACME = true; - forceSSL = true; - locations."/" = { - proxyPass = "http://127.0.0.1:8095"; - proxyWebsockets = true; # needed if you need to use WebSocket + locations."/tts" = { + proxyPass = "http://127.0.0.1:8001"; + }; + locations."/embed" = { + proxyPass = "http://127.0.0.1:8002"; }; }; + # virtualHosts."kino.sortug.com" = { + # enableACME = true; + # forceSSL = true; + # locations."/" = { + # proxyPass = "http://127.0.0.1:8095"; + # proxyWebsockets = true; # needed if you need to use WebSocket + # }; + # }; virtualHosts."u.sortug.com" = { enableACME = true; forceSSL = true; @@ -65,6 +76,24 @@ proxy_cache off; ''; }; + virtualHosts."line.sortug.com" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:8924"; + # proxyWebsockets = true; # needed if you need to use WebSocket + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header Forwarded $proxy_add_x_forwarded_for; + ''; + }; + extraConfig = '' + proxy_http_version 1.1; + chunked_transfer_encoding off; + proxy_buffering off; + proxy_cache off; + ''; + }; virtualHosts."ntfy.sortug.com" = { enableACME = true; forceSSL = true; diff --git a/hosts/cloud/span/mail.nix b/hosts/cloud/span/mail.nix index d020fec..9cc44a7 100644 --- a/hosts/cloud/span/mail.nix +++ b/hosts/cloud/span/mail.nix @@ -1,4 +1,8 @@ -{ config, pkgs, ... }: { +{ + config, + pkgs, + ... +}: { imports = [ (builtins.fetchTarball { url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/nixos-23.11/nixos-mailserver-nixos-23.11.tar.gz"; @@ -9,11 +13,11 @@ }) ]; - services.dovecot2.sieve.extensions = [ "fileinto" ]; + services.dovecot2.sieve.extensions = ["fileinto"]; mailserver = { enable = true; fqdn = "mail.spandrell.ch"; - domains = [ "spandrell.ch" ]; + domains = ["spandrell.ch"]; # A list of all login accounts. To create the password hashes, use # nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt' @@ -28,7 +32,7 @@ hashedPasswordFile = "/home/span/mail.key"; }; "lol@spandrell.ch" = { - hashedPasswordFile = "/home/span/mail.key"; + hashedPasswordFile = "/home/span/mail2.key"; }; "sub@spandrell.ch" = { hashedPasswordFile = "/home/span/mail.key"; @@ -51,17 +55,17 @@ security.acme.acceptTerms = true; security.acme.defaults.email = "security@spandrell.ch"; services.roundcube = { - enable = true; - # this is the url of the vhost, not necessarily the same as the fqdn of - # the mailserver - hostName = "mail.spandrell.ch"; - extraConfig = '' - # starttls needed for authentication, so the fqdn required to match - # the certificate - $config['smtp_server'] = "tls://${config.mailserver.fqdn}"; - $config['smtp_user'] = "%u"; - $config['smtp_pass'] = "%p"; - ''; + enable = true; + # this is the url of the vhost, not necessarily the same as the fqdn of + # the mailserver + hostName = "mail.spandrell.ch"; + extraConfig = '' + # starttls needed for authentication, so the fqdn required to match + # the certificate + $config['smtp_server'] = "tls://${config.mailserver.fqdn}"; + $config['smtp_user'] = "%u"; + $config['smtp_pass'] = "%p"; + ''; }; services.nginx.enable = true; } diff --git a/hosts/linux.nix b/hosts/linux.nix index 95049ff..70ff0c9 100644 --- a/hosts/linux.nix +++ b/hosts/linux.nix @@ -4,7 +4,6 @@ ./users.nix ./editors.nix ./pkgs.nix - ./unfree.nix ./network.nix # ./yubikey.nix ]; @@ -35,10 +34,10 @@ }; ## Bluetooth -# hardware.enableAllFirmware = true; -# hardware.bluetooth.enable = true; -# hardware.bluetooth.settings = {General = {Experimental = true;};}; -# hardware.bluetooth.disabledPlugins = ["sap"]; -# hardware.bluetooth.package = pkgs.bluez; -# services.blueman.enable = true; + # hardware.enableAllFirmware = true; + # hardware.bluetooth.enable = true; + # hardware.bluetooth.settings = {General = {Experimental = true;};}; + # hardware.bluetooth.disabledPlugins = ["sap"]; + # hardware.bluetooth.package = pkgs.bluez; + # services.blueman.enable = true; } diff --git a/hosts/local/fw11/configuration.nix b/hosts/local/fw11/configuration.nix index 8574868..ad8fffd 100644 --- a/hosts/local/fw11/configuration.nix +++ b/hosts/local/fw11/configuration.nix @@ -22,9 +22,10 @@ in { # Include the results of the hardware scan. ../../base.nix ../../linux.nix - ../wayland.nix - ../../syncthing.nix - ./keyboard.nix + # ../../syncthing.nix + ../../unfree.nix + # ../wayland.nix + # ./keyboard.nix # ../android.nix ]; @@ -44,8 +45,8 @@ in { boot.loader.efi.canTouchEfiVariables = true; # boot.supportedFilesystems = ["ntfs"]; # boot.kernelPackages = lib.mkForce unfreePkgs.linuxKernel.packages.linux_xanmod_latest; - boot.kernelPackages = pkgs.linuxPackages_latest; - # boot.kernelPackages = pkgs.linuxPackages_6_11; + # boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = pkgs.linuxPackages_6_12; services.fprintd.enable = true; networking = { diff --git a/hosts/local/fw11/keyboard.nix b/hosts/local/fw11/keyboard.nix index 7aef3c4..ce875dd 100644 --- a/hosts/local/fw11/keyboard.nix +++ b/hosts/local/fw11/keyboard.nix @@ -34,7 +34,8 @@ config = builtins.readFile ./framework.kbd; }; usbThinkpad = { - device = "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd"; + # device = "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd"; + device = "/dev/input/by-id/usb-Lenovo_TrackPoint_Keyboard_II-event-kbd"; config = builtins.readFile ./thinkpad.kbd; }; }; diff --git a/hosts/nixos.nix b/hosts/nixos.nix index e85a2a9..1b7b55c 100644 --- a/hosts/nixos.nix +++ b/hosts/nixos.nix @@ -2,7 +2,9 @@ mkNixosSystem = system: path: inputs.nixpkgs.lib.nixosSystem { inherit system; - specialArgs = {inherit inputs;}; + specialArgs = { + inherit inputs; + }; modules = import (./. + "/${path}") inputs; }; in { diff --git a/hosts/unfree.nix b/hosts/unfree.nix index d3e889d..73c4a8a 100644 --- a/hosts/unfree.nix +++ b/hosts/unfree.nix @@ -1,9 +1,16 @@ -{pkgs, ...}: { +{ + pkgs, + inputs, + ... +}: { # allow unfree nixpkgs.config = { allowUnfree = true; + allowUnfreePredicate = _: true; chromium.enableWideVine = true; }; + + # https://stackoverflow.com/questions/77585228/how-to-allow-unfree-packages-in-nix-for-each-situation-nixos-nix-nix-wit environment.systemPackages = with pkgs; [ # opera spotify @@ -15,6 +22,7 @@ steamcmd steam-run protonup-qt + # inputs.claude-desktop.packages.x86_64-linux.claude-desktop ]; # fucking vscode requires this for github copilot |