yep, more dotfiles

server: add hypixel bank tracker instances

wiro.world c4133975 f18818c5

verified
+138 -8
+71 -6
flake.lock
··· 335 335 "gitignore_2": { 336 336 "inputs": { 337 337 "nixpkgs": [ 338 + "hypixel-bank-tracker", 339 + "nixpkgs" 340 + ] 341 + }, 342 + "locked": { 343 + "lastModified": 1762808025, 344 + "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=", 345 + "owner": "hercules-ci", 346 + "repo": "gitignore.nix", 347 + "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", 348 + "type": "github" 349 + }, 350 + "original": { 351 + "owner": "hercules-ci", 352 + "repo": "gitignore.nix", 353 + "type": "github" 354 + } 355 + }, 356 + "gitignore_3": { 357 + "inputs": { 358 + "nixpkgs": [ 338 359 "lanzaboote", 339 360 "pre-commit-hooks-nix", 340 361 "nixpkgs" ··· 354 375 "type": "github" 355 376 } 356 377 }, 357 - "gitignore_3": { 378 + "gitignore_4": { 358 379 "inputs": { 359 380 "nixpkgs": [ 360 381 "wakatime-ls", ··· 459 480 "url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2" 460 481 } 461 482 }, 483 + "hypixel-bank-tracker": { 484 + "inputs": { 485 + "gitignore": "gitignore_2", 486 + "nixpkgs": [ 487 + "nixpkgs" 488 + ], 489 + "rust-overlay": "rust-overlay_2" 490 + }, 491 + "locked": { 492 + "lastModified": 1763289634, 493 + "narHash": "sha256-NbaPpZFy3A14TIPGry09TGvO2u0/iu0lJE/Nmef6AiU=", 494 + "owner": "pixilie", 495 + "repo": "hypixel-bank-tracker", 496 + "rev": "d8907749d733f7dd5d9e08f4c4b69c0f55bf1935", 497 + "type": "github" 498 + }, 499 + "original": { 500 + "owner": "pixilie", 501 + "repo": "hypixel-bank-tracker", 502 + "type": "github" 503 + } 504 + }, 462 505 "ibm-plex-mono-src": { 463 506 "flake": false, 464 507 "locked": { ··· 510 553 "unixpkgs" 511 554 ], 512 555 "pre-commit-hooks-nix": "pre-commit-hooks-nix", 513 - "rust-overlay": "rust-overlay_2" 556 + "rust-overlay": "rust-overlay_3" 514 557 }, 515 558 "locked": { 516 559 "lastModified": 1762205063, ··· 624 667 "lanzaboote", 625 668 "flake-compat" 626 669 ], 627 - "gitignore": "gitignore_2", 670 + "gitignore": "gitignore_3", 628 671 "nixpkgs": [ 629 672 "lanzaboote", 630 673 "nixpkgs" ··· 650 693 "disko": "disko", 651 694 "git-leave": "git-leave", 652 695 "home-manager": "home-manager", 696 + "hypixel-bank-tracker": "hypixel-bank-tracker", 653 697 "lanzaboote": "lanzaboote", 654 698 "nix-darwin": "nix-darwin", 655 699 "nixos-hardware": "nixos-hardware", ··· 686 730 "rust-overlay_2": { 687 731 "inputs": { 688 732 "nixpkgs": [ 733 + "hypixel-bank-tracker", 734 + "nixpkgs" 735 + ] 736 + }, 737 + "locked": { 738 + "lastModified": 1763087910, 739 + "narHash": "sha256-eB9Z1mWd1U6N61+F8qwDggX0ihM55s4E0CluwNukJRU=", 740 + "owner": "oxalica", 741 + "repo": "rust-overlay", 742 + "rev": "cf4a68749733d45c0420726596367acd708eb2e8", 743 + "type": "github" 744 + }, 745 + "original": { 746 + "owner": "oxalica", 747 + "repo": "rust-overlay", 748 + "type": "github" 749 + } 750 + }, 751 + "rust-overlay_3": { 752 + "inputs": { 753 + "nixpkgs": [ 689 754 "lanzaboote", 690 755 "nixpkgs" 691 756 ] ··· 704 769 "type": "github" 705 770 } 706 771 }, 707 - "rust-overlay_3": { 772 + "rust-overlay_4": { 708 773 "inputs": { 709 774 "nixpkgs": [ 710 775 "wakatime-ls", ··· 974 1039 }, 975 1040 "wakatime-ls": { 976 1041 "inputs": { 977 - "gitignore": "gitignore_3", 1042 + "gitignore": "gitignore_4", 978 1043 "nixpkgs": [ 979 1044 "nixpkgs" 980 1045 ], 981 - "rust-overlay": "rust-overlay_3" 1046 + "rust-overlay": "rust-overlay_4" 982 1047 }, 983 1048 "locked": { 984 1049 "lastModified": 1761849542,
+3
flake.nix
··· 36 36 git-leave.url = "github:mrnossiom/git-leave"; 37 37 git-leave.inputs.nixpkgs.follows = "nixpkgs"; 38 38 39 + hypixel-bank-tracker.url = "github:pixilie/hypixel-bank-tracker"; 40 + hypixel-bank-tracker.inputs.nixpkgs.follows = "nixpkgs"; 41 + 39 42 tangled.url = "git+https://tangled.org/@tangled.org/core"; 40 43 tangled.inputs.nixpkgs.follows = "unixpkgs"; 41 44
+30 -1
nixos/profiles/server.nix
··· 6 6 }: 7 7 8 8 let 9 - inherit (self.inputs) unixpkgs srvos tangled; 9 + inherit (self.inputs) unixpkgs srvos hypixel-bank-tracker tangled; 10 10 11 11 json-format = pkgs.formats.json { }; 12 12 ··· 86 86 miniflux-port = 3012; 87 87 miniflux-hostname = "news.wiro.world"; 88 88 89 + hbt-main-port = 3013; 90 + hbt-banana-port = 3014; 91 + 89 92 prometheus-port = 9001; 90 93 prometheus-node-exporter-port = 9002; 91 94 headscale-metrics-port = 9003; ··· 100 103 srvos.nixosModules.mixins-terminfo 101 104 102 105 self.nixosModules.headscale 106 + 107 + hypixel-bank-tracker.nixosModules.default 103 108 104 109 tangled.nixosModules.knot 105 110 tangled.nixosModules.spindle ··· 263 268 264 269 virtualHosts.${miniflux-hostname}.extraConfig = '' 265 270 reverse_proxy http://localhost:${toString miniflux-port} 271 + ''; 272 + 273 + virtualHosts."hypixel-bank-tracker.xyz".extraConfig = '' 274 + reverse_proxy http://localhost:${toString hbt-main-port} 275 + ''; 276 + 277 + virtualHosts."banana.hypixel-bank-tracker.xyz".extraConfig = '' 278 + reverse_proxy http://localhost:${toString hbt-banana-port} 266 279 ''; 267 280 }; 268 281 ··· 674 687 # NetNewsWire is a very good iOS oss client that integrates well 675 688 # https://b.j4.lc/2025/05/05/setting-up-netnewswire-with-miniflux/ 676 689 }; 690 + }; 691 + 692 + age.secrets.hypixel-bank-tracker-main.file = ../../secrets/hypixel-bank-tracker-main.age; 693 + services.hypixel-bank-tracker.instances.main = { 694 + enable = true; 695 + 696 + port = hbt-main-port; 697 + environmentFile = config.age.secrets.hypixel-bank-tracker-main.path; 698 + }; 699 + 700 + age.secrets.hypixel-bank-tracker-banana.file = ../../secrets/hypixel-bank-tracker-banana.age; 701 + services.hypixel-bank-tracker.instances.banana = { 702 + enable = true; 703 + 704 + port = hbt-banana-port; 705 + environmentFile = config.age.secrets.hypixel-bank-tracker-banana.path; 677 706 }; 678 707 }; 679 708 }
+5 -1
pkgs/default.nix
··· 1 1 { self, system, ... }@pkgs: 2 2 3 3 let 4 - inherit (self.inputs) agenix git-leave wakatime-ls; 4 + inherit (self.inputs) 5 + agenix 6 + git-leave 7 + wakatime-ls 8 + ; 5 9 in 6 10 { 7 11 asak = pkgs.callPackage ./asak.nix { };
+13
secrets/hypixel-bank-tracker-banana.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 sMF1bg L4Bb77BNTN5+2CVUxkUrYNrAj6FqaT3DkH84qqjiQxE 3 + 7qBoMysStcR8/TpQFAVMhDT59uKrNg80oIJruRO7sLo 4 + -> ssh-ed25519 SmMcWg L5YrRltkxQF4wukSrg5QmOmGSfNqFQ/Q+MjDIarpqBk 5 + wVMUhK3WnVyRq2whgZP1OFlS94NOHFhDm4GNqG+SD2Q 6 + -> ssh-ed25519 Q8rMFA hfofGpblCvt5hkhAvq3eIXHCIKUt0y9HYRDXGu1pDB0 7 + vB5xSjAJNfX4t224hDyxGAiUrN54ZTqA7dFUXnnAoNc 8 + -> @UtB#-grease 9 + tzHnzFDaCXfotjJH27bFWHSx6BkcuZi9kRC/XxzegMfScde08g84Lq0uwcIJBQv6 10 + jnOLVfcHrtl+80V6D63x+rDmHV3QRhW7uXl4XRKEPYfRLVzkGdG69fDADg 11 + --- UxCVaHhB7UXfuUiLRZ8tk7vJ8Iu9SpaWOpOoZslvMDg 12 + Acv�������B��/3t���#ȝ���Os�9��� <�w��K� ��_�c,������K���p Y ��I�)׫ 13 + $�RB�x�� �=��fՍ�- ��&��!��njG�-�8i����a��5�*u��#��s
+13
secrets/hypixel-bank-tracker-main.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 sMF1bg 2rKzzE4Pua0+TwAn9yZsdhXziinxzJF5Whezuc6DPl4 3 + qUPSXShxUf/7jDh0X5TnvfeUC+m83jmWSrP8/lweftc 4 + -> ssh-ed25519 SmMcWg O5/Uj+Ds1S4G0VfTQs9jwUX+Dfcca2Yv3wk8g0N4Xls 5 + HNIW22wiacVbCEPsxoC8zhVBzwNosJbJDFsUvB2EvcI 6 + -> ssh-ed25519 Q8rMFA zVH1aTPabm7ede9LnUaS7jPRuwquRme1zL8zERbHC0s 7 + BzsHGkLWh58yr369Qj4D/QAbaYBkL5dyw4spnGrhPXA 8 + -> l-grease 9 + RQnVuYNAWukXav0qt8jW2vHHvStxUyDcBWjxn9r20cqb9pcEqX8YmmY0fGxvq59V 10 + EA 11 + --- 2HqXUZzs3uyQ9g4jKAu55emz7/CQvK5AI/NQ8ONxjuk 12 + � ��}F 13 + �~���T�c������Ym��'>�"0q���������Z�����H}�ϛ'����� ��k/���t�v��Q�p,�ڝ�X� Ȉ6�g�'�̍ή�$}۷��\"،4F`�C�HŴ�@�q��D��k��~F=�n)�z
+3
secrets/secrets.nix
··· 32 32 # Defines `SMTP_PASSWORD` 33 33 "vaultwarden-env.age".publicKeys = deploy; 34 34 "miniflux-oidc-secret.age".publicKeys = deploy; 35 + # Defines `HYPIXEL_API_KEY`, `PROFILE_UUID` 36 + "hypixel-bank-tracker-main.age".publicKeys = deploy; 37 + "hypixel-bank-tracker-banana.age".publicKeys = deploy; 35 38 36 39 # Not used in config but useful 37 40 "pgp-ca5e.age".publicKeys = users;