Compare commits

...

5 Commits

Author SHA1 Message Date
230547eb92 feat: extend ghostty shader, add shadps4 builds, update nix, homepage
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-01-21 20:21:25 +05:30
3beb85c474 chore(flake): update flake.lock 2026-01-21 10:41:33 +05:30
101331cbc9 refactor: switch ping to siteMonitor and enable GLSL analyzer 2026-01-21 02:09:15 +05:30
d803dd9dc8 refactor(nixos): add ping to homepage 2026-01-20 17:00:57 +05:30
509a9b49ed feat(nixos): enable immich ml; bind localhost; add ollama env 2026-01-18 21:35:15 +05:30
14 changed files with 364 additions and 161 deletions

210
flake.lock generated
View File

@@ -106,11 +106,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1764756094,
"narHash": "sha256-KEEJLERvo04AsPo/SWHFJUmHaGGOVjUoGwA9e8GVIQQ=",
"lastModified": 1768853490,
"narHash": "sha256-y7H5/HTL9vdBzvRXe06t15AQ5nbpUdUDvN+G9hajBso=",
"owner": "anyrun-org",
"repo": "anyrun",
"rev": "cacdf2e00cf95211bd2c7971c4037b21870bc2c9",
"rev": "d79c3d3990ca283ccddbd4863bebe2521872f9b0",
"type": "github"
},
"original": {
@@ -651,11 +651,11 @@
"csshacks": {
"flake": false,
"locked": {
"lastModified": 1767805548,
"narHash": "sha256-XRDYJlnvaPFTRQSAfG5xgb7PpsGuLPcZS1pS263MyEs=",
"lastModified": 1768572660,
"narHash": "sha256-VlxdEeMqgRclKQqnKDhBXQ+19ce35ZFdC6SaKg2skUk=",
"owner": "MrOtherGuy",
"repo": "firefox-csshacks",
"rev": "021da269f0a0b3da3fac9f14d04a2d51c2afd7dc",
"rev": "bcb85f04764802557fc1d1dff6f53461065e4893",
"type": "github"
},
"original": {
@@ -755,11 +755,11 @@
]
},
"locked": {
"lastModified": 1746728054,
"narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=",
"lastModified": 1768920986,
"narHash": "sha256-CNzzBsRhq7gg4BMBuTDObiWDH/rFYHEuDRVOwCcwXw4=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff442f5d1425feb86344c028298548024f21256d",
"rev": "de5708739256238fb912c62f03988815db89ec9a",
"type": "github"
},
"original": {
@@ -777,11 +777,11 @@
]
},
"locked": {
"lastModified": 1768314315,
"narHash": "sha256-/AMVsb3seXZYsHng0dKGpfoN2cpPOmQ2PfcEc/DniQM=",
"lastModified": 1768915371,
"narHash": "sha256-DQPp4lpQBbth2N5RQU2E7RrwdtGEzPKp/ir7+NlPb2M=",
"owner": "christo-auer",
"repo": "eilmeldung",
"rev": "a4d11513f8d94f8a8b4c82dca3a6e21e0ad274ad",
"rev": "6f547938f14330b58faadb793bc9de19d6e3767e",
"type": "github"
},
"original": {
@@ -1088,11 +1088,11 @@
"nixpkgs-lib": "nixpkgs-lib_5"
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github"
},
"original": {
@@ -1656,11 +1656,11 @@
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1768402060,
"narHash": "sha256-ANOIaPo+oL0Gls/C0Fh6rU7wkLP3KcguO35EGj99rM0=",
"lastModified": 1768941500,
"narHash": "sha256-vDQA2tC62UrOISlFed1PRmNHrVEbbj5e728DJdTtlk4=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "2fd3efd6cdf0629f57572af58dff0ae9115ce919",
"rev": "fabfe4b9447c088c664f5d9540244009991f35ae",
"type": "github"
},
"original": {
@@ -1813,11 +1813,11 @@
]
},
"locked": {
"lastModified": 1768362851,
"narHash": "sha256-9a6F6AetLuyiSTRfFvOj5StK0j5FiqHvf2nQoUj/FBA=",
"lastModified": 1768541590,
"narHash": "sha256-02n/U1b1phd/jhe4DOXdGBZZnp3h/W1t4q8HtH6kIpw=",
"owner": "tale",
"repo": "headplane",
"rev": "42ffe694864ab48b4661621f1fa07e59b976f94e",
"rev": "403f9c9b0bdc12dade137250be48c8bc7f51bdbb",
"type": "github"
},
"original": {
@@ -1854,11 +1854,11 @@
]
},
"locked": {
"lastModified": 1767910483,
"narHash": "sha256-MOU5YdVu4DVwuT5ztXgQpPuRRBjSjUGIdUzOQr9iQOY=",
"lastModified": 1768603898,
"narHash": "sha256-vRV1dWJOCpCal3PRr86wE2WTOMfAhTu6G7bSvOsryUo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "82fb7dedaad83e5e279127a38ef410bcfac6d77c",
"rev": "2a63d0e9d2c72ac4d4150ebb242cf8d86f488c8c",
"type": "github"
},
"original": {
@@ -1875,11 +1875,11 @@
]
},
"locked": {
"lastModified": 1768410656,
"narHash": "sha256-9CfEGvHgQ8KdhBI5x6RVkuvqCCM7KiVxCM1n9e3lVBA=",
"lastModified": 1768927746,
"narHash": "sha256-zyMpWHqcpKVmRc1W2NEK7DAuyVJZV62Jdjqudg70b1k=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "85c83f70968516f571015e260fb21c774e586c0b",
"rev": "63a87808f5f9b6e4195a1d33f6ea25d23f4aa0df",
"type": "github"
},
"original": {
@@ -1896,11 +1896,11 @@
]
},
"locked": {
"lastModified": 1767104570,
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=",
"lastModified": 1768434960,
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf",
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
"type": "github"
},
"original": {
@@ -2015,11 +2015,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1768319076,
"narHash": "sha256-is65o80lB9tWMekx77O4+GCQxLeB2kiA60hejzpA+HA=",
"lastModified": 1768919552,
"narHash": "sha256-ixrDZEr5iwbzjGMbrknWSt8mb+EevYGZ0r291zo/KWg=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "e0cf88809de12c39ad8a1ad1c0194967b0029ec8",
"rev": "c44292c72339b3d7820ca7444d45bab7e34ec74e",
"type": "github"
},
"original": {
@@ -2393,11 +2393,11 @@
]
},
"locked": {
"lastModified": 1768397716,
"narHash": "sha256-HxnWyAYvZeACyB8044iRWotZ1OXzJSqE1mfkZQbH818=",
"lastModified": 1768916331,
"narHash": "sha256-TdS9wvqAnq2RbxkPexV5XzKgMOVGT/VtVgvvC/u0LEY=",
"owner": "ikawrakow",
"repo": "ik_llama.cpp",
"rev": "cb1063f6cdeca094c0c898b5db0ebd107b071636",
"rev": "6f1a69352f3079bcd1e7d13d6970fa2c2aeaf601",
"type": "github"
},
"original": {
@@ -2416,11 +2416,11 @@
]
},
"locked": {
"lastModified": 1768259597,
"narHash": "sha256-KVaiQhl8C/0t7nGuQ1F73SRW1hnQUYg7sexl+ZEe+24=",
"lastModified": 1768924267,
"narHash": "sha256-WIV80zpo1aGQDe+7U9FibjOBobenGApt6HGrg1eTOas=",
"owner": "JakeStanger",
"repo": "ironbar",
"rev": "f232bac6b04e53985d31b3d6061360d35ee62b26",
"rev": "637d8320dc52f7987fc8efc816267a60982860ed",
"type": "github"
},
"original": {
@@ -2614,11 +2614,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1768186715,
"narHash": "sha256-vC0jcQLBHSbWQdbnEzjGzZ6Ys2pd1AJCrIAkJ9F6fGI=",
"lastModified": 1768617936,
"narHash": "sha256-WWnJR02A/f3Ck4zpYlV26hjL6IKT/Y5wsd4kw/2m0gI=",
"owner": "numtide",
"repo": "nix-auth",
"rev": "b3be3b2dc0b8760cdeca589a08082d9de015a3c1",
"rev": "12c1214af739c118ce5987c6db0bffa92df56b34",
"type": "github"
},
"original": {
@@ -2634,11 +2634,11 @@
]
},
"locked": {
"lastModified": 1768220509,
"narHash": "sha256-8wMrJP/Xk5Dkm0TxzaERLt3eGFEhHTWaJKUpK3AoL4o=",
"lastModified": 1768764703,
"narHash": "sha256-5ulSDyOG1U+1sJhkJHYsUOWEsmtLl97O0NTVMvgIVyc=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "7b1d394e7d9112d4060e12ef3271b38a7c43e83b",
"rev": "0fc4e7ac670a0ed874abacf73c4b072a6a58064b",
"type": "github"
},
"original": {
@@ -2839,11 +2839,11 @@
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1767357537,
"narHash": "sha256-2asmdcI7HWEb3UYcoLDOBJtZYTSQ3keSaFdJL0VtJ58=",
"lastModified": 1768599442,
"narHash": "sha256-y3HowshuCKVBjBFoDeVSz+LwqBIgELt17o1AcwbVl34=",
"owner": "nvmd",
"repo": "nixos-raspberrypi",
"rev": "f517fc39419afb6fbec31f9a44de7d41e3a9ad76",
"rev": "debda1e1c80544a78157353225013afff2343034",
"type": "github"
},
"original": {
@@ -2925,11 +2925,11 @@
},
"nixpkgs-lib_5": {
"locked": {
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"type": "github"
},
"original": {
@@ -2940,11 +2940,11 @@
},
"nixpkgs-master": {
"locked": {
"lastModified": 1768417121,
"narHash": "sha256-Lf1csETc+Tz9ygesd20UR4d7HtwUxcLcUEKiIIRaTEc=",
"lastModified": 1768941004,
"narHash": "sha256-OeXjBYhFM18OLLmk/SpmQTFiLVPQG8/Wc2A8gc542gU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c88b7058bbe09dc88150441cc5af0fca27c2065a",
"rev": "8040737180863e734049f88550a342cec402cbc1",
"type": "github"
},
"original": {
@@ -2956,11 +2956,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1768323494,
"narHash": "sha256-yBXJLE6WCtrGo7LKiB6NOt6nisBEEkguC/lq/rP3zRQ=",
"lastModified": 1768773494,
"narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2c3e5ec5df46d3aeee2a1da0bfedd74e21f4bf3a",
"rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2",
"type": "github"
},
"original": {
@@ -2982,11 +2982,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1767948200,
"narHash": "sha256-phU4/JrtliPo7VznNgvVNVYNYzNodvdCfq5kBYQMAV4=",
"lastModified": 1768873557,
"narHash": "sha256-gbH6l4liUkBtfZjL26iMBkw4MtZSzi8vVed02OLP1RY=",
"owner": "nix-community",
"repo": "nixpkgs-xr",
"rev": "df098c5ff75e641d010c472d8321391db4e90eb9",
"rev": "77bd9e44e5a0842f1d2583edfc103d0576f97403",
"type": "github"
},
"original": {
@@ -3029,11 +3029,11 @@
},
"nixpkgs_12": {
"locked": {
"lastModified": 1768127708,
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
@@ -3138,11 +3138,11 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1767323696,
"narHash": "sha256-6preRiqOYkAVsZmCIaVqiyAwEpbtfVUC5HYfN6sJsrc=",
"lastModified": 1768599367,
"narHash": "sha256-Wi4Wv7ltAAj7Ik8PGJkpUmpjO+K4eRZsWAEYrDd37YA=",
"owner": "nvmd",
"repo": "nixpkgs",
"rev": "31926ce9afb1c915fa4190b77ca9be389ccaf18e",
"rev": "c5f954e9abf64be4b07415cad77f8a4965a7bffb",
"type": "github"
},
"original": {
@@ -3154,11 +3154,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1768127708,
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
@@ -3191,11 +3191,11 @@
"systems": "systems_19"
},
"locked": {
"lastModified": 1767906546,
"narHash": "sha256-AoSWS8+P+7hQ/jIdv0wBjgH1MvnerdWBFXO4GV3JoQs=",
"lastModified": 1768910181,
"narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "7eb8f36f085b85a2aeff929aff52d0f6aa14e000",
"rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3",
"type": "github"
},
"original": {
@@ -3216,11 +3216,11 @@
"norg-meta": "norg-meta"
},
"locked": {
"lastModified": 1768355248,
"narHash": "sha256-aHEix9LYhwMsbn5R/oSLRWB6CmEGxnmVYtRvZ/CezOs=",
"lastModified": 1768811489,
"narHash": "sha256-X4T9kEdydrWwAvtXqJKo34kGtpR18yJVNDIMCzq9vI0=",
"owner": "nvim-neorg",
"repo": "nixpkgs-neorg-overlay",
"rev": "241c70771b4bfda50f80decc7994052907a0519b",
"rev": "63be329003f43bcac855c3c1c2feedb224ef0555",
"type": "github"
},
"original": {
@@ -3276,11 +3276,11 @@
"nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1768418904,
"narHash": "sha256-394aNZ2/VEeUMDWOvHR/g3bDGcC4HEo4kx1Xdd2nLf0=",
"lastModified": 1768940629,
"narHash": "sha256-61xS93fnF3ns1jKhjb5/TWDGoFhMYn7RPPFa/kvHHLw=",
"owner": "nix-community",
"repo": "nur",
"rev": "941e8bffe444830c4a185106ecaf0ca3dec30e8b",
"rev": "7fc8becb4f880fdf011c7b798d11af50bb09fce8",
"type": "github"
},
"original": {
@@ -3767,11 +3767,11 @@
]
},
"locked": {
"lastModified": 1768359079,
"narHash": "sha256-a016mOfKconYrYo3fZLN6c2cnmqYYd44g2bUrBZAsQc=",
"lastModified": 1768877311,
"narHash": "sha256-abSDl0cNr0B+YCsIDpO1SjXD9JMxE4s8EFnhLEFVovI=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "0357d1826057686637e41147545402cbbda420ce",
"rev": "59e4ab96304585fde3890025fd59bd2717985cc1",
"type": "github"
},
"original": {
@@ -3808,11 +3808,11 @@
]
},
"locked": {
"lastModified": 1768271704,
"narHash": "sha256-jJqlW8A3OZ5tYbXphF7U8P8g/3Cn8PPwPa4YlJ/9agg=",
"lastModified": 1768863606,
"narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "691b8b6713855d0fe463993867291c158472fc6f",
"rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2",
"type": "github"
},
"original": {
@@ -3842,11 +3842,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1768403292,
"narHash": "sha256-9DCTgR4Dhzzh5zldoHltJRx33tVuy5eHOd5T5+w05JI=",
"lastModified": 1768744881,
"narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=",
"owner": "nix-community",
"repo": "stylix",
"rev": "3894cae75cf50d9a8f707768b229c90e2654d8bc",
"rev": "06684f00cfbee14da96fd4307b966884de272d3a",
"type": "github"
},
"original": {
@@ -3876,11 +3876,11 @@
"tinted-zed": "tinted-zed_2"
},
"locked": {
"lastModified": 1767983286,
"narHash": "sha256-zuS1vcjZjtipzH1MgQUp/lRURIp6CXOVjGHQMQ1UBFI=",
"lastModified": 1768493544,
"narHash": "sha256-9qk2W/6GJWLAFXNruK/zdJ0bm3bfP50vJFbtuAjQpa4=",
"owner": "nix-community",
"repo": "stylix",
"rev": "5ad96253be7ee7f66298d28a24ac8faba8e0fe54",
"rev": "362306faaa7459bebf8eabf135879785f3da9bd2",
"type": "github"
},
"original": {
@@ -4588,11 +4588,11 @@
]
},
"locked": {
"lastModified": 1767801790,
"narHash": "sha256-QfX6g3Wj2vQe7oBJEbTf0npvC6sJoDbF9hb2+gM5tf8=",
"lastModified": 1768158989,
"narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "778a1d691f1ef45dd68c661715c5bf8cbf131c80",
"rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca",
"type": "github"
},
"original": {
@@ -4641,11 +4641,11 @@
"systems": "systems_25"
},
"locked": {
"lastModified": 1768039142,
"narHash": "sha256-/0CnNbAEdMgyPlaABtgwach+M9MDIHD+A2wr90jxcHU=",
"lastModified": 1768856963,
"narHash": "sha256-u5bWDuwk6oieTnvm1YjNotcYK8iJSddH5+S68+X4TSc=",
"owner": "vicinaehq",
"repo": "vicinae",
"rev": "a4d6d7fa459ffe66192ff88276379246294b43c6",
"rev": "934bc0ad47be6dbd6498a0dac655c4613fd0ab27",
"type": "github"
},
"original": {
@@ -4678,11 +4678,11 @@
]
},
"locked": {
"lastModified": 1765545649,
"narHash": "sha256-RLeszcBAT7wWqokkfYMuru5acDlka+Mi5FgHhPB/RuU=",
"lastModified": 1768925888,
"narHash": "sha256-4qoP9b3OxBYriZbcyzwlBDJ5Rv0U3UC/pavTPEEqqDM=",
"owner": "uttarayan21",
"repo": "wivrn",
"rev": "6230c3e9a6a0590f831a976303684501b018bd1f",
"rev": "cdb57f087ada064c6892811a43623f25cdc98dbd",
"type": "github"
},
"original": {
@@ -4735,11 +4735,11 @@
"yabai": {
"flake": false,
"locked": {
"lastModified": 1765322155,
"narHash": "sha256-bQenrG2KJN9sF0CvvNrufvMS/XPVyL40nyeLLW200yo=",
"lastModified": 1768665206,
"narHash": "sha256-IVVwlqMlkfkgqmZegVeVwt/YRSIfaH+swTWAikl64wY=",
"owner": "koekeishiya",
"repo": "yabai",
"rev": "996e26da7bef444d170d4f82fcc9fa5fdabba5ff",
"rev": "5bde933ec85a4a601a186163b7db04aa3bf6c3b1",
"type": "github"
},
"original": {
@@ -4756,11 +4756,11 @@
]
},
"locked": {
"lastModified": 1768379550,
"narHash": "sha256-z94S29l5V86h11LZbPIMbHTJyksDG63aqISsZkTTuJY=",
"lastModified": 1768919538,
"narHash": "sha256-w10iy/aqd5LtD78NDWWG+eKGzkb+cGhAAo7PVciLbWE=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "06f61b4e4f4f6ba8027c96a5611c63dc0db12b90",
"rev": "37149a5b77e8fd2b5332e8cec9edf39ca5b8e8bc",
"type": "github"
},
"original": {

View File

@@ -12,10 +12,63 @@
"Hasklug Nerd Font Mono"
];
window-decoration = false;
title = "";
title = "ghostty";
command = "fish";
background-opacity = 0.8;
theme = "catppuccin-mocha";
custom-shader = "~/.config/ghostty/shader.glsl";
# custom-shader = toString (pkgs.writeText "shader.glsl"
# /*
# glsl
# */
# ''
# const float CURSOR_ANIMATION_SPEED = 150.0; // ms
# const float TRAILING_CURSORS = 3.0;
# bool at_pos(vec2 fragCoord, vec2 pos, vec2 size) {
# return (pos.x <= fragCoord.x && fragCoord.x <= pos.x + size.x &&
# pos.y - size.y <= fragCoord.y && fragCoord.y <= pos.y);
# }
# void mainImage(out vec4 fragColor, in vec2 fragCoord) {
# // Normalized pixel coordinates (from 0 to 1)
# vec2 uv = fragCoord / iResolution.xy;
# vec2 current_cursor = iCurrentCursor.xy;
# vec2 previous_cursor = iPreviousCursor.xy;
# float time_passed = (iTime - iTimeCursorChange) * 1000.0; // in ms
#
# if (time_passed > CURSOR_ANIMATION_SPEED) {
# // No animation, just render normally
# fragColor = texture(iChannel0, uv);
# return;
# }
# // Animate cursor meovement
# vec4 col = texture(iChannel0, uv);
# // linear interpolation between current and previous cursor position based on time passed
# vec2 animated_cursor_pos = mix(previous_cursor, current_cursor, time_passed / CURSOR_ANIMATION_SPEED);
# // make 3 trailing cursors for smoother animation
# for (int i = 1; i <= int(TRAILING_CURSORS); i++) {
# float t = float(i) / TRAILING_CURSORS;
# vec2 trail_pos = mix(previous_cursor, current_cursor, (time_passed / CURSOR_ANIMATION_SPEED) * t);
# if (at_pos(fragCoord, trail_pos, iCurrentCursor.zw)) {
# col = mix(col, iCurrentCursorColor, t);
# }
# }
#
# // vec4 cursor_color = mix(iPreviousCursorColor, iCurrentCursorColor, time_passed / CURSOR_ANIMATION_SPEED);
# vec4 cursor_color = iCurrentCursorColor; // no color animation for now
# vec2 cursor_size = iCurrentCursor.zw;
# // check if fragCoord is within the animated cursor rectangle
# // y is in the negative direction
# // if (animated_cursor_pos.x <= fragCoord.x && fragCoord.x <= animated_cursor_pos.x + cursor_size.x &&
# // animated_cursor_pos.y - cursor_size.y <= fragCoord.y && fragCoord.y <= animated_cursor_pos.y) {
# // col = cursor_color;
# // }
# if (at_pos(fragCoord, animated_cursor_pos, cursor_size)) {
# col = cursor_color;
# }
#
# fragColor = col;
# }
# '');
};
systemd.enable = true;
themes = {

View File

@@ -2,12 +2,122 @@
pkgs,
lib,
...
}: {
}: let
shadps4_qtlauncher = pkgs.fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadps4-qtlauncher";
rev = "1f4e59f6110d5f991cead5a3e9f72671fced2c70";
sha256 = "sha256-AAxj3Eqp7iGJgRgJki/93fln5Z6ae8AydJLGZ6Dbb00=";
fetchSubmodules = true;
};
# diegolixShadps4 = pkgs.fetchFromGitHub {
# owner = "diegolix";
# repo = "shadps4-qtlauncher";
# rev = "a1b2c3d4e5f67890123456789abcdef01234567";
# sha256 = "sha256-PLACEHOLDERFORHASHVALUE1234567890ABCDEFGH=";
# fetchSubmodules = true;
# };
bblauncher = pkgs.fetchFromGitHub {
owner = "rainmakerv3";
repo = "BB_Launcher";
rev = "2280c90974d2d741ce927dfc88f0ecf98c8bd2df";
sha256 = "sha256-jPcIQp2EBAEiaTLvC/OBH0BgcfYv3zo2H7akHJSlPaI=";
fetchSubmodules = true;
};
in {
home.packages = lib.optionals pkgs.stdenv.isLinux [
(pkgs.shadps4.overrideAttrs
(oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [pkgs.cudatoolkit];
buildInputs = oldAttrs.buildInputs ++ [pkgs.cudatoolkit];
}))
(pkgs.stdenv.mkDerivation {
pname = "shadps4-qt";
version = "1.0.0";
src = shadps4_qtlauncher;
nativeBuildInputs = [
pkgs.cmake
pkgs.pkg-config
pkgs.qt6.wrapQtAppsHook
];
buildInputs = [
pkgs.alsa-lib
pkgs.ffmpeg
pkgs.fmt
pkgs.glslang
pkgs.jack2
pkgs.libedit
pkgs.libevdev
pkgs.libpng
pkgs.libpulseaudio
pkgs.libxkbcommon
pkgs.openal
pkgs.openssl
pkgs.qt6.qtbase
pkgs.qt6.qtmultimedia
pkgs.qt6.qttools
pkgs.qt6.qtwayland
pkgs.SDL2
pkgs.sdl3
pkgs.sndio
pkgs.stb
pkgs.udev
pkgs.vulkan-headers
pkgs.vulkan-tools
pkgs.vulkan-utility-libraries
pkgs.wayland
pkgs.wayland-protocols
pkgs.xorg.libxcb
pkgs.xorg.xcbutil
pkgs.xorg.xcbutilkeysyms
pkgs.xorg.xcbutilwm
pkgs.zlib
];
})
(pkgs.stdenv.mkDerivation {
pname = "BBLauncher";
version = "1.0.0";
src = bblauncher;
nativeBuildInputs = [
pkgs.cmake
pkgs.pkg-config
pkgs.qt6.wrapQtAppsHook
];
buildInputs = [
pkgs.alsa-lib
pkgs.ffmpeg
pkgs.fmt
pkgs.glslang
pkgs.jack2
pkgs.libedit
pkgs.libevdev
pkgs.libpng
pkgs.libpulseaudio
pkgs.libxkbcommon
pkgs.openal
pkgs.openssl
pkgs.qt6.qtbase
pkgs.qt6.qtmultimedia
pkgs.qt6.qttools
pkgs.qt6.qtwayland
pkgs.qt6.qtwebview
pkgs.SDL2
pkgs.sdl3
pkgs.sndio
pkgs.stb
pkgs.udev
pkgs.vulkan-headers
pkgs.vulkan-tools
pkgs.vulkan-utility-libraries
pkgs.wayland
pkgs.wayland-protocols
pkgs.xorg.libxcb
pkgs.xorg.xcbutil
pkgs.xorg.xcbutilkeysyms
pkgs.xorg.xcbutilwm
pkgs.zlib
];
})
];
}

View File

@@ -190,8 +190,8 @@
];
bind = [
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
"$mainMod, Return, exec, ${lib.getExe pkgs.wezterm}"
"$mainModShift, Return, exec, ${lib.getExe pkgs.kitty}"
"$mainMod, Return, exec, ${lib.getExe pkgs.kitty}"
"$mainModShift, Return, exec, ${lib.getExe pkgs.ghostty}"
# "$mainModShift, Return, exec, ${pkgs.foot}/bin/foot"
"$mainModShift, Q, killactive,"
"$mainModShift, s, exec, ${lib.getExe pkgs.hyprshot} -m region -o ~/Pictures/Screenshots/"

View File

@@ -548,6 +548,7 @@ in {
pyright.enable = true;
slint_lsp.enable = true;
wgsl_analyzer.enable = true;
glsl_analyzer.enable = true;
# sourcekit.enable = true;
openscad_lsp.enable = true;
tinymist.enable = true;

View File

@@ -1,7 +1,8 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
wlx-overlay-s
wayvr-dashboard
wayvr
# wlx-overlay-s
# wayvr-dashboard
# bs-manager
monado-vulkan-layers
# envision

View File

@@ -67,7 +67,7 @@
dates = "daily";
options = "--delete-older-than +5";
};
package = pkgs.nixVersions.latest; # deploy-rs doesn't work with nix >= 2.32
package = pkgs.nixVersions.nix_2_32; # deploy-rs doesn't work with nix >= 2.33
buildMachines = [
../../builders/tako.nix
../../builders/shiro.nix

View File

@@ -2,12 +2,11 @@
port = 3003;
in {
virtualisation.oci-containers = {
backend = "docker";
containers = {
immich-machine-learning = {
image = "ghcr.io/immich-app/immich-machine-learning:v${pkgs.immich.version}-cuda";
ports = [
"0.0.0.0:${toString port}:3003"
"127.0.0.1:${toString port}:3003"
];
volumes = [
"model-cache:/cache"
@@ -20,7 +19,4 @@ in {
nvidia-docker
nvidia-container-toolkit
];
# services.caddy.virtualHosts."ml.ryu.darksailor.dev".extraConfig = ''
# reverse_proxy localhost:${toString port}
# '';
}

View File

@@ -1,26 +1,26 @@
{...}: {
imports = [
# ./rsyncd.nix
# ./sunshine.nix
# ./zerotier.nix
# ./dnscrypt.nix
./ollama.nix
./tailscale.nix
./samba.nix
./mullvad.nix
./openrgb.nix
./command-runner.nix
./resolved.nix
./minecraft.nix
./fwupd.nix
./caddy.nix
./monitoring.nix
./wivrn.nix
./sshd.nix
./fprintd.nix
./handoff.nix
./gstreamer.nix
./command-runner.nix
./dualsense.nix
./fprintd.nix
./fwupd.nix
./gstreamer.nix
./handoff.nix
./minecraft.nix
./monitoring.nix
./mullvad.nix
./ollama.nix
./openrgb.nix
./openssh.nix
./resolved.nix
./samba.nix
./sshd.nix
# ./sunshine.nix
./tailscale.nix
./wivrn.nix
];
}

View File

@@ -25,6 +25,8 @@
OLLAMA_LLM_LIBRARY = "cuda";
LD_LIBRARY_PATH = "run/opengl-driver/lib";
HTTP_PROXY = "https://ollama.darksailor.dev";
OLLAMA_CONTEXT_LENGTH = "32000";
OLLAMA_KEEP_ALIVE = "30m";
};
package = pkgs.ollama-cuda;
};

View File

@@ -65,7 +65,7 @@
dates = "daily";
options = "--delete-older-than 5d";
};
package = pkgs.nixVersions.latest; # deploy-rs doesn't work with nix >= 2.32
package = pkgs.nixVersions.nix_2_32; # deploy-rs doesn't work with nix >= 2.32
distributedBuilds = true;
};

View File

@@ -0,0 +1,19 @@
{
device,
config,
...
}: {
services = {
blocky = {
enable = true;
settings = {
ports.dns = 53;
ports.http = 83838;
ports.dohPath = "/dns-query";
};
};
caddy.virtualHosts."blocky.${device.domain}".extraConfig = ''
reverse_proxy localhost:83838
'';
};
}

View File

@@ -24,6 +24,7 @@
icon = "jellyfin.png";
description = "Jellyfin Media Server";
href = "https://jellyfin.tsuba.darksailor.dev";
siteMonitor = "https://jellyfin.tsuba.darksailor.dev";
};
}
{
@@ -31,6 +32,7 @@
icon = "sonarr.png";
description = "Sonarr: TV Series Management";
href = "https://sonarr.tsuba.darksailor.dev";
siteMonitor = "https://sonarr.tsuba.darksailor.dev";
};
}
{
@@ -38,6 +40,7 @@
icon = "bazarr.png";
description = "Bazarr: Subtitles and Metadata";
href = "https://bazarr.tsuba.darksailor.dev";
siteMonitor = "https://bazarr.tsuba.darksailor.dev";
};
}
{
@@ -45,6 +48,7 @@
icon = "radarr.png";
description = "Radarr: Movie Management";
href = "https://radarr.tsuba.darksailor.dev";
siteMonitor = "https://radarr.tsuba.darksailor.dev";
};
}
{
@@ -52,13 +56,7 @@
icon = "deluge.png";
description = "Deluge: Torrent Client";
href = "https://deluge.tsuba.darksailor.dev";
};
}
{
"Prowlarr" = {
icon = "prowlarr.png";
description = "Prowlarr: Indexer Manager";
href = "https://prowlarr.tsuba.darksailor.dev";
siteMonitor = "https://deluge.tsuba.darksailor.dev";
};
}
{
@@ -66,6 +64,15 @@
icon = "home-assistant.png";
description = "Home Automation";
href = "https://home.darksailor.dev";
siteMonitor = "https://home.darksailor.dev";
};
}
{
"Pi Hole" = {
icon = "pi-hole.png";
description = "Pi-hole: Network-wide Ad Blocker";
href = "https://pihole.darksailor.dev";
siteMonitor = "https://pihole.darksailor.dev";
};
}
];
@@ -77,6 +84,7 @@
icon = "gitea.png";
description = "Gitea Code Hosting";
href = "https://git.darksailor.dev";
siteMonitor = "https://git.darksailor.dev";
};
}
{
@@ -84,6 +92,7 @@
icon = "nextcloud.png";
description = "Nextcloud Suite";
href = "https://cloud.darksailor.dev";
siteMonitor = "https://cloud.darksailor.dev";
};
}
{
@@ -91,13 +100,15 @@
icon = "immich.png";
description = "Immich: Self-hosted Photo and Video Backup";
href = "https://photos.darksailor.dev";
siteMonitor = "https://photos.darksailor.dev";
};
}
{
"Excalidraw" = {
icon = "excalidraw.png";
description = "Excalidraw: Self-hosted Collaborative Whiteboard";
description = "Excalidraw: Self-hosted Whiteboard";
href = "https://draw.darksailor.dev";
siteMonitor = "https://draw.darksailor.dev";
};
}
{
@@ -105,13 +116,23 @@
icon = "navidrome.png";
description = "A self-hosted music server and streamer.";
href = "https://music.darksailor.dev";
siteMonitor = "https://music.darksailor.dev";
};
}
{
"OpenwebUI" = {
icon = "openwebui.png";
icon = "open-webui.png";
description = "OpenwebUI: Self-hosted AI chat interface";
href = "https://chat.darksailor.dev";
siteMonitor = "https://chat.darksailor.dev";
};
}
{
"Prowlarr" = {
icon = "prowlarr.png";
description = "Prowlarr: Indexer Manager";
href = "https://prowlarr.darksailor.dev";
siteMonitor = "https://prowlarr.darksailor.dev";
};
}
];
@@ -166,23 +187,22 @@
};
caddy = {
virtualHosts."dashboard.darksailor.dev".extraConfig = ''
# import auth
reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort}
'';
};
authelia = {
instances.darksailor = {
settings = {
access_control = {
rules = [
{
domain = "dashboard.darksailor.dev";
policy = "one_factor";
}
];
};
};
};
};
# authelia = {
# instances.darksailor = {
# settings = {
# access_control = {
# rules = [
# {
# domain = "dashboard.darksailor.dev";
# policy = "one_factor";
# }
# ];
# };
# };
# };
# };
};
}

View File

@@ -3,8 +3,9 @@
secrets."llama/api_key".owner = config.services.caddy.user;
secrets."openai/api_key" = {};
templates = {
"LLAMA_API_KEY.env".content = ''
"ollama.env".content = ''
LLAMA_API_KEY=${config.sops.placeholder."llama/api_key"}
OPENAI_API_KEYS=${config.sops.placeholder."openai/api_key"}
'';
};
};
@@ -21,7 +22,7 @@
WEBUI_URL = "https://chat.darksailor.dev";
OLLAMA_BASE_URL = "https://ollama.darksailor.dev";
};
environmentFile = "${config.sops.templates."LLAMA_API_KEY.env".path}";
environmentFile = "${config.sops.templates."ollama.env".path}";
};
caddy = {
@@ -47,7 +48,7 @@
};
systemd.services.caddy = {
serviceConfig = {
EnvironmentFile = config.sops.templates."LLAMA_API_KEY.env".path;
EnvironmentFile = config.sops.templates."ollama.env".path;
};
};
}