Compare commits

...

54 Commits

Author SHA1 Message Date
Azalea Gardenia e367d4bf1d i think i managed to disable SSL on promotions 2024-04-23 09:28:50 +02:00
Azalea Gardenia 5867be43d4 woopsie daisies 2024-04-19 21:22:47 +02:00
Azalea Gardenia 5e7a0da84a Added promotional.yugoslavia.best 2024-04-19 21:20:08 +02:00
Jill 9abbf2d8ac chore: (quite late) weekly flake update 2024-02-23 13:05:03 +01:00
Jill 906a61cae8 nidobyte package 2024-02-23 12:47:40 +01:00
Jill 2e8bce0379 minecraft stuff 2024-02-23 12:47:32 +01:00
Jill 99d6d67129 nlw-api, grafana, other stuff 2024-02-23 12:47:14 +01:00
Jill efc8872b55 + oatmealine@seven-red-suns 2024-02-23 12:46:41 +01:00
Jill d5a1e9ce50 fix nitter ???!?? 2024-02-23 12:45:47 +01:00
Jill b25bdd94a0 update flake 2024-02-23 12:45:34 +01:00
Jill ebdf499ffe more modfest build serv stuff 2024-01-02 15:13:00 +01:00
Jill e826bc5100 chore: update flake 2023-12-22 08:59:30 +01:00
Jill 0894041f4e minecraft refactors woo woo 2023-12-18 06:56:27 +01:00
Jill d5285d9249 promtail 2023-12-14 14:48:09 +01:00
Jill a5038dc4c0 set up modfest-build mc server 2023-12-14 14:46:37 +01:00
Jill ba4b977388 upgrade to NixOS 23.11
code-server has been Expunged. forgejo themes dropped for the time being since they were buggy anyways
2023-12-08 12:07:04 +01:00
Jill df817fa2c1 attempts to get nextcloud to work 2023-12-08 09:14:07 +01:00
Azalea Gardenia ebbb7538fc fulfilled promise to star of yugoslaiva subdomain 2023-11-28 18:10:16 +01:00
Jill f428081a8c chore: weekly flake update 2023-11-24 08:51:45 +01:00
Jill 749bbcd236 dendrite & nextcloud stuff, jillo.oat.zone 2023-11-24 08:48:12 +01:00
Jill c2837a6ac0 disable jmusicbot update alerts 2023-11-17 08:46:30 +01:00
Jill bee47b8402 chore: weekly flake update 2023-11-17 08:39:19 +01:00
Jill 0107a38b56 starbound port 2 2023-11-03 08:02:15 +01:00
Jill 4bf1b580ce chore: weekly flake update 2023-11-03 08:02:00 +01:00
Jill a8cfb4188c fully nuke ghost & isso 2023-10-24 12:28:57 +02:00
Jill 50dd0ef901 i don't think the tilde dir thing is happening 2023-10-24 12:27:08 +02:00
Jill 7c36864787 ghost package is no more 2023-10-23 09:50:21 +02:00
Jill e3211a77f5 lucent-firepit: femboy.industries subdomains 2023-10-23 09:40:28 +02:00
Jill 5785936437 I AM NOT OATMEALINE, IT SAID ITS OK IF I IMPERSONATE THEM also i updated the webapps 2023-10-14 14:52:42 +02:00
Jill fb9b61a7e1 chore: weekly flake update 2023-10-12 21:31:36 +02:00
Jill a9e3f4eb83 + oatmealine@boykisser 2023-10-02 07:41:16 +02:00
Jill 7705d4db8b chore: weekly flake update 2023-09-29 07:54:23 +02:00
Jill 5a8966ee20 chore: weekly??? flake update 2023-09-23 12:07:03 +02:00
Jill ba741af134 dendrite stuff 2023-09-23 12:02:09 +02:00
Jill 5f047aeca6 chore: weekly flake update, but once again delayed 2023-08-25 20:40:47 +02:00
Jill 11c7016bcf chore: weekly flake update, but slightly delayed, whoops 2023-08-20 03:09:52 +02:00
Jill cc0cf5d6b3 update cohost-blogger 2023-08-20 03:05:55 +02:00
Jill 6dbe0e7df6 chore: weekly flake update 2023-08-10 20:08:35 +02:00
Jill 09502ea7a3 chore: weekly flake update 2023-08-04 15:32:02 +02:00
Jill 5186976ead chore: weekly flake update 2023-07-28 06:27:06 +02:00
Jill 588c8fe993 chore: weekly flake update 2023-07-21 03:42:30 +02:00
Jill cf64285cc1 chore: weekly flake update 2023-07-13 18:26:31 +02:00
Jill 176370a814 chore: weekly flake update 2023-07-06 22:36:10 +02:00
Jill 972e627b5d ipv6 attempt 2023-07-06 21:43:00 +02:00
Jill 358992dd25 chore: weekly flake update 2023-06-29 18:04:03 +02:00
Jill 16bd68fdd0 add gh actions token to remote 2023-06-29 18:00:49 +02:00
Jill 56f3fb72c2 + femboy.industries 2023-06-28 17:36:20 +02:00
Jill a79fc22f57 get rid of tac.yugoslavia.best 2023-06-22 11:25:00 +02:00
Jill 90c8a0c450 no more winter 2023-06-22 11:24:13 +02:00
Jill f741de6ceb chore: weekly flake update 2023-06-22 11:23:18 +02:00
Jill b99c047395 swap jmusicbot to gmusicbot 2023-06-22 11:15:08 +02:00
Jill 623d4040a5 forgejo actions!!!!!!!! 2023-06-08 22:50:58 +02:00
Jill a1f413b045 chore: weekly flake update 2023-06-08 21:38:38 +02:00
Jill b9eb3ed895 Merge pull request 'NixOS 23.05' (#2) from nixos-23 into main
Reviewed-on: #2
2023-06-08 20:50:59 +02:00
32 changed files with 977 additions and 539 deletions

View File

@ -7,8 +7,8 @@ PASSWORD_CHECK_PWN = true
DEFAULT_BRANCH = "main"
[ui]
DEFAULT_THEME = "catppuccin-mocha"
THEMES="forgejo-auto,forgejo-light,forgejo-dark,arc-green,arc-pink,darkred,gitea-blue,gitea-modern,github,catppuccin-latte,catppuccin-frappe,catppuccin-macchiato,catppuccin-mocha"
DEFAULT_THEME = "forgejo-auto"
THEMES="forgejo-auto,forgejo-light,forgejo-dark"
CUSTOM_EMOJIS = "blurry_eyes,horny,acab,tastymilk,gluttony,soul_of_fright,soul_of_night,soul_of_blight,bottom,spongesad,Tainted_John_F_Kennedy,John_F_Kennedy_Tainted,John_F_Kennedy,plumspin,despair,ihaveyourip,peeeh,penis,twister,speed,deadchat,housj,dothejej,b_,trollgecommence,nervous,coffee,dilf,closer,slugclose,pls,x3,observer,zamiel_approves,i_see_pizza,cutely_blushes,babytime,sleeby,zonkerdoodle,whenyoubigshit,the_cowboy,stupib,soul_of_might,scripulous_fingore_point,scripulous_fingore,rusty50,pickle,orang,oralpleasure,ohgod,michael,i_see_chicory,he,hapykity,handsr,handsl,slugloafspin,gamer_boi,feddynite,cock,feddy_glamcock,face,entropy,elonmusk,eeeeeeeeee,child,ancapistanian,aiki,gloopy,lamb,YOU,slightYOU,citat,ionn,eede,ed,blank,michael,BABAXD,BABA,EyesPepe,spamdance,pickledance,BABA_IS_OO,wieldr,wieldl,cinnamon,jillo,she,hydrogenperoxide,ObedientCitizen,misinformation,maenod,Snowsgiving22_AnimatedEmojis_mal"
[mailer]

View File

@ -4,14 +4,15 @@
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"systems": "systems"
},
"locked": {
"lastModified": 1684153753,
"narHash": "sha256-PVbWt3qrjYAK+T5KplFcO+h7aZWfEj1UtyoKlvcDxh0=",
"lastModified": 1707830867,
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
"owner": "ryantm",
"repo": "agenix",
"rev": "db5637d10f797bb251b94ef9040b237f4702cde3",
"rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
"type": "github"
},
"original": {
@ -26,11 +27,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1685653986,
"narHash": "sha256-6NTJpW9CAGHUuijiFby4SZszv/DWjOOtXWhjsB42mlI=",
"lastModified": 1692493363,
"narHash": "sha256-Y/nefO52W64AtXdEGFVMMBwXw+3m1SswOaO7Dq8b5UA=",
"ref": "refs/heads/main",
"rev": "abe288a9b6ef0823be30f24c4b8b5f7f3de90dc1",
"revCount": 17,
"rev": "5fd335bbf5026e81e9dd3b4dacc13e93eb980112",
"revCount": 21,
"type": "git",
"url": "https://git.oat.zone/oat/cohost-blogger"
},
@ -47,11 +48,11 @@
]
},
"locked": {
"lastModified": 1673295039,
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
"lastModified": 1700795494,
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github"
},
"original": {
@ -68,11 +69,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1685643624,
"narHash": "sha256-thnUc3S+c79l6RJ4RqSYKmnj9AqYRvRgQAgrEZBFwnM=",
"lastModified": 1708679224,
"narHash": "sha256-V66NAQSTakocPST2GYv4SKK+ALBg3sgCNq0jIOpNkpc=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "669d63975489ace6915437e04546edf300f7a847",
"rev": "841abef01afbd293aa80130bcbd811e4102d5770",
"type": "github"
},
"original": {
@ -99,7 +100,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1681202837,
@ -117,14 +118,14 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
@ -135,7 +136,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
"systems": "systems_5"
},
"locked": {
"lastModified": 1681202837,
@ -153,7 +154,25 @@
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
"systems": "systems_6"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_7"
},
"locked": {
"lastModified": 1681202837,
@ -177,11 +196,11 @@
]
},
"locked": {
"lastModified": 1682203081,
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
"lastModified": 1703113217,
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
"type": "github"
},
"original": {
@ -195,16 +214,16 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1685599623,
"narHash": "sha256-Tob4CMOVHue0D3RzguDBCtUmX5ji2PsdbQDbIOIKvsc=",
"lastModified": 1706981411,
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "93db05480c0c0f30382d3e80779e8386dcb4f9dd",
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"ref": "release-23.11",
"repo": "home-manager",
"type": "github"
}
@ -212,16 +231,18 @@
"hyprland": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_5",
"systems": "systems_4",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1685632091,
"narHash": "sha256-RAfDARolNWT4ZF8IH6WwVd2s0jMuaA9zUPeb+I8/L1A=",
"lastModified": 1708650152,
"narHash": "sha256-OZUS5FED7KKAPpNaJYQr4BPGXQzGrDFgkKVg9U2aZh8=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "9cf72a30fc040f0bd2fb4651ec7f8e82df962278",
"rev": "8c3613632a6ccebf9fb797ec756ecfce99514eec",
"type": "github"
},
"original": {
@ -235,14 +256,18 @@
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1684265364,
"narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=",
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"type": "github"
},
"original": {
@ -251,16 +276,78 @@
"type": "github"
}
},
"hyprpaper": {
"hyprlang": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1708005943,
"narHash": "sha256-9TT3xk++LI5/SPYgjYX34xZ4ebR93c1uerIq+SE/ues=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "aeb3e012adc7b3235335c540b214b82267c2b983",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_2": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704287638,
"narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "6624f2bb66d4d27975766e81f77174adbe58ec97",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_3": {
"inputs": {
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1685378141,
"narHash": "sha256-/ehJbAtSJS86NlqHVOeR2ViBKlImKH4guFVPacTmCr8=",
"lastModified": 1704230242,
"narHash": "sha256-S8DM+frECqmAdaUb3y5n3RjY73ajZcL5rnmx5YO+CkY=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "db5e1399b90d5a339330bdd49c5bca6fe58d6f60",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprpaper": {
"inputs": {
"hyprlang": "hyprlang_3",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1708532919,
"narHash": "sha256-G4PX7NlRLIlBYTDisbWx/Sif01SLSVzLThGU6v6Wrgg=",
"owner": "hyprwm",
"repo": "hyprpaper",
"rev": "cd86c196f3500f20539754d347c8378349ca0974",
"rev": "897cf0ae26c7c54ce15c4946efe63970be75dadb",
"type": "github"
},
"original": {
@ -271,14 +358,14 @@
},
"hyprpicker": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1685380198,
"narHash": "sha256-k+rG5AZjz47Q6bpVcTK7r4s7Avg3O+1iw+skK+cn0rk=",
"lastModified": 1703987863,
"narHash": "sha256-MHhAk74uk0qHVwSkLCcXLXMe4478M2oZEFPXwjSoo2E=",
"owner": "hyprwm",
"repo": "hyprpicker",
"rev": "deaca6a4d8e307d90b1f5b1033a8ea6c83b9b260",
"rev": "2ef703474fb96e97e03e66e8820f213359f29382",
"type": "github"
},
"original": {
@ -291,14 +378,14 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1685585448,
"narHash": "sha256-7onuCglc3yR5FDmH+PIMn+VhdP7lmjKD9eoIcI7/Wvw=",
"lastModified": 1708650820,
"narHash": "sha256-O6nq8oHT4iPrWuBoKH0/9B7QC91N/zPnns8QYxPJniY=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "873f6b9ddd2018190830d3608a1522d7a511cf76",
"rev": "fe3753b7025fd7f3a302be698a0896e70ea24450",
"type": "github"
},
"original": {
@ -309,11 +396,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1684899633,
"narHash": "sha256-NtwerXX8UFsoNy6k+DukJMriWtEjQtMU/Urbff2O2Dg=",
"lastModified": 1708594753,
"narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "4cc688ee711159b9bcb5a367be44007934e1a49d",
"rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958",
"type": "github"
},
"original": {
@ -324,11 +411,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1677676435,
"narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=",
"lastModified": 1703013332,
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169",
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
"type": "github"
},
"original": {
@ -340,27 +427,27 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1685468986,
"narHash": "sha256-YSj3K71KjRZgeL0hS3sYLYHI0g8aIVIf9lcsRMCIW2A=",
"lastModified": 1708566995,
"narHash": "sha256-e/THimsoxxMAHSbwMKov5f5Yg+utTj6XVGEo24Lhx+0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9af373a61647257d16ae6062cddaa9094d24920c",
"rev": "3cb4ae6689d2aa3f363516234572613b31212b78",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.11",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1685564631,
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
"lastModified": 1708475490,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
"type": "github"
},
"original": {
@ -370,6 +457,37 @@
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1708566995,
"narHash": "sha256-e/THimsoxxMAHSbwMKov5f5Yg+utTj6XVGEo24Lhx+0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3cb4ae6689d2aa3f363516234572613b31212b78",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.11",
"type": "indirect"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1706826059,
"narHash": "sha256-N69Oab+cbt3flLvYv8fYnEHlBsWwdKciNZHUbynVEOA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "25e3d4c0d3591c99929b1ec07883177f6ea70c9d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
@ -401,11 +519,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1685383865,
"narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=",
"lastModified": 1708475490,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce",
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
"type": "github"
},
"original": {
@ -417,27 +535,27 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1685564631,
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
"owner": "nixos",
"lastModified": 1705331948,
"narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
"rev": "b8dd8be3c790215716e7c12b247f45ca525867e2",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1685383865,
"narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=",
"lastModified": 1707546158,
"narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce",
"rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0",
"type": "github"
},
"original": {
@ -449,11 +567,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1683014792,
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
"owner": "NixOS",
"lastModified": 1702645756,
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0",
"type": "github"
},
"original": {
@ -464,6 +582,22 @@
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1703637592,
"narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1683014792,
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
@ -479,13 +613,13 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1683408522,
"narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=",
"lastModified": 1698318101,
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7",
"rev": "63678e9f3d3afecfeafa0acead6239cdb447574c",
"type": "github"
},
"original": {
@ -495,19 +629,23 @@
"type": "github"
}
},
"nixpkgs_9": {
"nlw-api": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1685533922,
"narHash": "sha256-y4FCQpYafMQ42l1V+NUrMel9RtFtZo59PzdzflKR/lo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3a70dd92993182f8e514700ccf5b1ae9fc8a3b8d",
"type": "github"
"lastModified": 1708639350,
"narHash": "sha256-g7LL658p4deIme0fPq+WceTNGigXcN6uPNrVraZN3RY=",
"ref": "refs/heads/main",
"rev": "704581d013b9d16fda5dc8e30d448b358c4e127d",
"revCount": 23,
"type": "git",
"url": "https://git.oat.zone/oat/nlw-api"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.05",
"type": "indirect"
"type": "git",
"url": "https://git.oat.zone/oat/nlw-api"
}
},
"root": {
@ -521,8 +659,9 @@
"hyprpicker": "hyprpicker",
"nix-minecraft": "nix-minecraft",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_9",
"nixpkgs": "nixpkgs_10",
"nixpkgs-unstable": "nixpkgs-unstable",
"nlw-api": "nlw-api",
"vscode-server": "vscode-server"
}
},
@ -572,6 +711,51 @@
}
},
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"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"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -588,8 +772,8 @@
},
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_10"
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1684517665,
@ -609,17 +793,18 @@
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
"lastModified": 1685491729,
"narHash": "sha256-YfpP8tKpcr0Lxlr3PdoMaY3GD/uJRl6E5pp5KQCEuzg=",
"lastModified": 1708558866,
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=",
"owner": "wlroots",
"repo": "wlroots",
"rev": "3f0487d310974f6ff889ca80e4fb4005553814ed",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
"type": "gitlab"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
"type": "gitlab"
}
},
@ -629,17 +814,22 @@
"hyprland",
"hyprland-protocols"
],
"hyprlang": "hyprlang_2",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1685385764,
"narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=",
"lastModified": 1706521509,
"narHash": "sha256-AInZ50acOJ3wzUwGzNr1TmxGTMx+8j6oSTzz4E7Vbp8=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1",
"rev": "c06fd88b3da492b8f9067be021b9184f7012b5a8",
"type": "github"
},
"original": {

View File

@ -2,12 +2,12 @@
description = "Frosted Flakes";
inputs = {
nixpkgs.url = "nixpkgs/nixos-23.05";
nixpkgs.url = "nixpkgs/nixos-23.11";
# WARNING: Where possible, prefer the stable branch of nixpkgs as nixpkgs-unstable may have incompatable or vulnerable software.
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-23.05";
home-manager.url = "github:nix-community/home-manager/release-23.11";
#home-manager.inputs.nixpkgs.follows = "nixpkgs";
# agenix - age-encrypted secrets
@ -31,6 +31,8 @@
#inputs.nixpkgs.follows = "nixpkgs";
};
nlw-api.url = "git+https://git.oat.zone/oat/nlw-api";
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
#inputs.nixpkgs.follows = "nixpkgs";
@ -54,7 +56,7 @@
vscode-server.url = "github:nix-community/nixos-vscode-server";
};
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nix-minecraft, cohost-blogger, /* hyprland, hyprpaper, hyprpicker, */ ... }:
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nix-minecraft, /* hyprland, hyprpaper, hyprpicker, */ ... }:
let
system = "x86_64-linux";

View File

@ -23,6 +23,14 @@
{ hostname = "oatmealine@dark-firepit";
ssh = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKz3Zkhrht1EX32LIbkSvql1p15EXqxTy/4xQKlj0CUx oatmealine@disroot.org";
}
{ hostname = "oatmealine@boykisser";
ssh = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDhgwhNQuM+iozuHk4OH+s5xS7U93W6hVtkpgF6arKPsWM6CUIUCyOwpNnGGH/HpBlFwYf4jN+NapVZ3bL8YHLUDayNO6uTfLLNvtaGeE65U/S0xGXhTyE0+bn7KWBFUlbO8CdjuBGGym0JVa0SMH4ppFBNJVR4HCe9fC83fD0T7gDZc5koApgxZfCyCu3bE03ulhRc5P8cKnTZAG0pVqK0doOIO7ociCbh4HhjTC83xRbfI9tlf52Y3xo14odpQhfXsPNNqxP0FzkC3zAOyT7iyrpQk1bgSLx/GzWh0KkljjJYGdMiiY6cVBxVYxjgrG7vDh/h3xMwBEhue4L9jmD4K4Eb5RZTxMyK83eHcomqZYigZjFKJ75TKdL17HbKgFGmfs9P0VhZUDUMp5Xm1yTVJqm6cQEhot1mT0F8FRYDiEadjw6vFZqz5dPzh2FRXsectNf60AiPRqF5HbitntgYvsLKZWAViOojbBc9gdQutu2AyuivteTEVG6Uq/LwE70= oatmealine@boykisser";
wg = "MPZLxzy+rvDvgZiaCwWjb+5hhhvWC3PH6cWLDv1Ga0U=";
}
{ hostname = "oatmealine@seven-red-suns";
ssh = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOVBLBD/JrGFMvPNiiX/QFixSWXyGjDT6vDHVWg9cE5D oatmealine@seven-red-suns";
wg = "HQfsS+DUdgmDvliIv7yNnf4T9Q3YIN9ObSXhrNuQUi8=";
}
# mayflower
{ hostname = "mayflower@BMW-M550d-xDrive";

View File

@ -16,6 +16,7 @@ in {
inputs.nix-minecraft.nixosModules.minecraft-servers
#inputs.watch-party.nixosModules.watch-party
inputs.cohost-blogger.nixosModules.cohost-blogger
inputs.nlw-api.nixosModules.nlw-api
inputs.vscode-server.nixosModules.default
];
@ -28,19 +29,16 @@ in {
];
};
services.logrotate.checkConfig = false;
users.groups.dotfiles = {};
users.groups.yugoslavia = {};
# TODO: temporary fix; please find root cause. i'm begging you
nixpkgs.config.permittedInsecurePackages = [
"nodejs-16.20.0"
];
normalUsers = {
# aether??? is that... reference.../.??? aether https://www.curseforge.com/minecraft/mc-mods/aether mod Curseforge minecraft Forge Patreon Chat twitter code license Assets license All rights reserved categories Last Updated apr 17 2021 Game Version 1.12.2 aether
aether = {
conf = {
packages = with pkgs; [ bat duf broot helix nil ];
packages = with pkgs; [ bat duf broot helix nil packwiz ];
shell = pkgs.unstable.fish;
extraGroups = [ "wheel" "nix-users" "dotfiles" ];
initialHashedPassword = "!";
@ -69,6 +67,8 @@ in {
openssh.authorizedKeys.keys = fetchSSHKeys [
"oatmealine@void-defragmented"
"oatmealine@beppy-phone"
"oatmealine@boykisser"
"oatmealine@seven-red-suns"
];
};
@ -101,17 +101,17 @@ in {
};
};
winter = {
conf = {
packages = with pkgs; [ micro ];
shell = pkgs.unstable.fish;
extraGroups = [ "wheel" "nix-users" "dotfiles" ];
initialHashedPassword = "!";
openssh.authorizedKeys.keys = fetchSSHKeys [
"lilith@bms-cab"
];
};
};
#winter = {
# conf = {
# packages = with pkgs; [ micro ];
# shell = pkgs.unstable.fish;
# extraGroups = [ "wheel" "nix-users" "dotfiles" ];
# initialHashedPassword = "!";
# openssh.authorizedKeys.keys = fetchSSHKeys [
# "lilith@bms-cab"
# ];
# };
#};
};
keyboard = {
@ -134,6 +134,7 @@ in {
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBKMXTLBJ5iIPiO9jiN+AHWxpgG1kcdI0h23+G1FLMnK+xhkmaP9Vjr9QbqQ4mmRqfGERfJW5H2/OvTEUXnrkAp1Jc8oPrc14/auwKivtbMC5tsWzioDMbcAYKrcP37D3Kw1P7nzSyAz3QsRXBRx26OE5NeTo4YfGl/TOkQnoBCDTt8kcziWEvUVeOgnHf3hnszs2H4P6RAyOqjuOH6BWhtbKsCHThTHaAadLgeH5nB1WXLYqG2N1KEzAhj8WBBzPmeZcMMRr5xkqYVj14cd+9syEaenV+wXapoPyDtOb6YtOKArN9RkT0OOqQk17OzxvGqHUEXQ4eGmNgc8BLsGJn rsa-key-20230402"
#fetchSSH "oatmealine@void-defragmented"
#fetchSSH "oatmealine@beppy-phone"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIAIphRdy+g7zfj+KxfONoD24lzk+/mGhQ0EnOe8QGf8 oatmealine@disroot.org" # gh actions
];
packages = with pkgs; [ tmux micro ];
shell = pkgs.unstable.fish;
@ -157,6 +158,11 @@ in {
interfaces."wg0" = import ./wireguardInterface.nix;
};
dendrite = {
enable = true;
hostDomain = "dark-firepit.cloud";
};
terraria = {
enable = false;
port = 7777; # port-forwarded
@ -167,6 +173,11 @@ in {
dataDir = "/var/lib/terraria";
};
nextcloud = {
enable = false;
domain = "nextcloud.dark-firepit.cloud";
};
jmusicbot = let
baseOptions = {
owner = 276416332894044160;
@ -182,6 +193,7 @@ in {
npimages = true;
stayinchannel = true;
updatealerts = false;
aliases = {
nowplaying = [ "np" "current" ];
@ -192,13 +204,15 @@ in {
forceskip = [ "fs" ];
movetrack = [ "move" "m" ];
};
queuetype = "REGULAR";
};
in {
enable = true;
instances = {
"jomble" = {
enable = true;
package = pkgs.unstable.jmusicbot;
package = pkgs._.gmusicbot;
options = baseOptions // {
token = lib.removeSuffix "\n" (builtins.readFile /etc/jomble_token);
@ -207,7 +221,7 @@ in {
};
"jillo" = {
enable = true;
package = pkgs.unstable.jmusicbot;
package = pkgs._.gmusicbot;
options = baseOptions // {
token = lib.removeSuffix "\n" (builtins.readFile /etc/jillo_token);
@ -225,6 +239,7 @@ in {
extraRules = [
{ users = [ "aether" ]; noPass = false; persist = true; keepEnv = true; }
{ users = [ "oatmealine" ]; noPass = true; persist = false; keepEnv = true; }
{ users = [ "remote" ]; noPass = true; persist = false; keepEnv = true; }
];
};
@ -239,39 +254,37 @@ in {
# https://nixos.org/manual/nixos/stable/options.html#opt-networking.enableB43Firmware
# temporarily disabled
enableIPv6 = false;
# enableIPv6 = true;
usePredictableInterfaceNames = false;
interfaces.eth0.ipv4.addresses = [
{ address = "46.4.96.113";
interfaces.eth0 = {
ipv4.addresses = [{
address = "46.4.96.113";
# prefixLength = 27;
prefixLength = 24;
}
];
}];
/*
ipv6.addresses = [{
address = "2a01:4f8:140::1";
prefixLength = 64;
}];
*/
};
defaultGateway = "46.4.96.97";
/*
defaultGateway6 = {
address = "fe80::1";
interface = "eth0";
};
*/
nameservers = [ "8.8.8.8" "1.1.1.1" ];
#interfaces.eno1.ipv6.addresses = [
# { address = "2001:41d0:0700:3308::";
# prefixLength = 64;
# }
#
# { address = "2001:41d0:0700:33ff::";
# prefixLength = 64;
# }
#];
#defaultGateway6 = {
# address = "2001:41d0:0700:33ff:00ff:00ff:00ff:00ff";
# address = "33ff::1";
# address = "2001::1";
# interface = "eno1";
#};
firewall.allowPing = true;
# minecraft proximity voice chat
firewall.allowedTCPPorts = [ 24454 24464 25567 25577 4499 21025 ];
firewall.allowedUDPPorts = [ 24454 24464 25567 25577 4499 21025 ];
firewall.allowedTCPPorts = [ 24454 24464 25567 25577 4499 21025 21027 ];
firewall.allowedUDPPorts = [ 24454 24464 25567 25577 4499 21025 21027 ];
};
# environment.etc."dhcpcd.duid".text = "d0:50:99:d4:04:68:d0:50:99:d4:04:68";

View File

@ -4,8 +4,8 @@ with lib;
let
# https://git.sleeping.town/unascribed/unsup/releases
unsup = pkgs.fetchurl {
url = "https://git.sleeping.town/attachments/c521d178-8938-40a5-b21b-0333eef4099e";
sha256 = "c5bd49784392b651e4bc71fe57976f5b4fb14f09e0e23183ae5b94a821ae4756";
url = "https://git.sleeping.town/unascribed/unsup/releases/download/v0.2.3/unsup-0.2.3.jar";
hash = "sha256-DBMxiZwfUUiLqXYOMD8EUz4HubAZIEjAPmk32T0NYtA=";
};
mkUnsupINI = { url, extraConfig ? "" }: pkgs.writeTextFile {
@ -43,7 +43,7 @@ in {
"gayrats" = import ./gayrats.nix {
inherit pkgs;
enable = true;
enable = false;
server-port = 25565;
inherit unsup;
@ -55,7 +55,7 @@ in {
"gayrats-creative" = import ./gayrats-creative.nix {
inherit pkgs;
enable = true;
enable = false;
server-port = 25575;
inherit unsup;
@ -64,10 +64,22 @@ in {
unsupINI = mkUnsupINI { url = "https://oat.zone/f/gayrats-creative/pack.toml"; };
};
"n3ko-test" = import ./n3ko-test.nix {
"gay-capybaras" = import ./gay-capybaras.nix {
inherit pkgs;
enable = true;
server-port = 25505;
inherit unsup;
inherit (gayrats) whitelist;
unsupINI = mkUnsupINI { url = "https://aether.gay/f/gay-capybaras/pack.toml"; };
};
"n3ko-test" = import ./n3ko-test.nix {
inherit pkgs;
enable = false;
server-port = 25595;
};
@ -75,7 +87,7 @@ in {
inherit pkgs;
inherit lib;
enable = true;
enable = false;
server-port = 25535;
inherit unsup;
@ -89,6 +101,35 @@ in {
'';
};
};
"modfest-build" = let
unsupINI = mkUnsupINI {
url = "https://raw.githack.com/ModFest/modfest-1-20/main/pack/pack.toml";
};
in {
enable = false;
package = pkgs.fabricServers."fabric-1_20_4".override { loaderVersion = "0.15.3"; };
jvmOpts = ((import ./mc-flags.nix) "4G") + " -javaagent:${unsup}";
openFirewall = true;
serverProperties = {
server-port = 25525;
gamemode = 1;
motd = "modfest build server !";
white-list = true;
max-players = 128;
allow-flight = true;
enable-command-block = true;
enforce-secure-profile = false;
snooper-enabled = false;
spawn-protection = 0;
};
symlinks = {
"unsup.ini" = unsupINI;
};
};
};
systemd.services.minecraft-server-dark-firepit.serviceConfig = {

View File

@ -0,0 +1,29 @@
{ pkgs, enable ? false, server-port, whitelist, unsup, unsupINI, ... }:
{
inherit enable;
autoStart = true;
openFirewall = true;
inherit whitelist;
serverProperties = {
inherit server-port;
gamemode = 0;
motd = "dark-firepit, 1.20.1 Fabric";
white-list = true;
max-players = 8;
allow-flight = true;
enable-command-block = true;
enforce-secure-profile = false;
snooper-enabled = false;
spawn-protection = 0;
};
symlinks = { "unsup.ini" = unsupINI; };
package = pkgs.fabricServers."fabric-1_20_1".override { loaderVersion = "0.15.6"; };
# package = pkgs.fabricServers."fabric-1_20_1";
jvmOpts = "-Xmx6G -javaagent:${unsup}";
}

View File

@ -21,6 +21,7 @@
symlinks = { "unsup.ini" = unsupINI; };
package = pkgs.minecraftServers.fabric-1_19_2;
package = pkgs.fabricServers."fabric-1_19_2".override { loaderVersion = "0.14.17"; };
jvmOpts = "-Xmx6G -javaagent:${unsup}";
}
}

View File

@ -21,6 +21,8 @@
symlinks = { "unsup.ini" = unsupINI; };
package = pkgs.minecraftServers.fabric-1_19_2;
package = pkgs.fabricServers."fabric-1_19_2".override { loaderVersion = "0.14.17"; };
jvmOpts = "-Xmx6G -javaagent:${unsup}";
}
}

View File

@ -0,0 +1 @@
memory: "-Xms${memory} -Xmx${memory} -XX:+UseShenandoahGC"

View File

@ -9,6 +9,22 @@ in {
domain = "blog.oat.zone";
port = 3500;
};
services.nlw-api = {
enable = true;
domain = "nlw.oat.zone";
apiKey = builtins.readFile /etc/sheets-api-key;
#apiKey = "";
port = 1995;
};
services.cardgen = {
enable = true;
port = 25290;
};
services.gd-icon-renderer-web = {
enable = true;
port = 3435;
domain = "gdicon.oat.zone";
};
modules = {
services = {
@ -28,6 +44,7 @@ in {
enable = true;
domain = "git.oat.zone";
port = 3000;
enableActions = true;
};
matrix.conduit = {
@ -37,7 +54,7 @@ in {
vaultwarden = {
enable = true;
domain = "vault.aether.gay";
domain = "vault.dark-firepit.cloud";
};
# not entirely necessary but makes it so that invalid domains and/or direct ip access aborts connection
@ -56,6 +73,7 @@ in {
"giger.yugoslavia.fishing".dataDir = "/var/www/giger.yugoslavia.fishing";
"modfiles.oat.zone".dataDir = "/var/www/modfiles.oat.zone";
"shop.yugoslavia.best".dataDir = "/var/www/shop.yugoslavia.best";
"shop.yugoslavia.best".forceSSL = false;
"tesco-underground-dev.oat.zone".dataDir = "/var/www/tesco-underground-dev.oat.zone";
"tesco-underground-dev.oat.zone".auth = { tesco = builtins.readFile /etc/tesco; };
"oat.zone".dataDir = "/var/www/oat.zone";
@ -68,17 +86,26 @@ in {
"educationmath.oat.zone".auth = { twh = builtins.readFile /etc/proxy_twh; };
"rivervalleychocolate.com".dataDir = "/var/www/rivervalleychocolate.com";
"rivervalleychocolate.com".php = true;
"tac.yugoslavia.best".dataDir = "/var/www/tac.yugoslavia.best/public";
"tac.yugoslavia.best".php = true;
"tac.yugoslavia.best".phpHandlePathing = true;
"play.mayf.pink".dataDir = "/var/www/play.mayf.pink/";
"play.mayf.pink".php = true;
"play.mayf.pink".phpHandlePathing = true;
"pjsk.oat.zone".dataDir = "/var/www/pjsk.oat.zone";
"mayf.pink".dataDir = "/var/www/mayf.pink";
"mayf.pink".php = true;
"mayf.pink".phpHandlePathing = true;
"mayf.pink".forceSSL = false;
"wint0r.zone".dataDir = "/var/www/wint0r.zone";
"puzzle.wint0r.zone".dataDir = "/var/www/puzzle.wint0r.zone";
};
"promotion.yugoslavia.best".dataDir = "/var/www/promotion.yugoslavia.best/public";
"promotion.yugoslavia.best".php = true;
"promotion.yugoslavia.best".phpHandlePathing = true;
"promotion.yugoslavia.best".forceSSL = false;
"star.yugoslavia.best".dataDir = "/var/www/star.yugoslavia.best";
"star.yugoslavia.best".forceSSL = false;
#"wint0r.zone".dataDir = "/var/www/wint0r.zone";
#"puzzle.wint0r.zone".dataDir = "/var/www/puzzle.wint0r.zone";
"femboy.industries".dataDir = "/var/www/femboy.industries";
} // (listToAttrs (map (value: {
name = "${value}.femboy.industries";
value = { dataDir = "/var/www/femboy.industries/_subdomains/${value}/"; };
}) ["sage"]));
nitter = {
enable = true;
@ -102,25 +129,10 @@ in {
enable = true;
};
#code-server = {
# enable = true;
# domain = "dev-firepit.oat.zone";
# port = 4444;
#};
/*
ghost = {
metrics = {
enable = true;
domain = "blog.oat.zone";
port = 1357;
};
*/
isso = {
enable = true;
port = 1995;
domain = "comments.oat.zone";
target = "blog.oat.zone";
domain = "grafana.dark-firepit.cloud";
port = 2342;
};
};
};
@ -131,11 +143,22 @@ in {
locations."/f/".extraConfig = ''
add_header Access-Control-Allow-Origin "*";
'';
locations."/f/cards/gen".extraConfig = ''
rewrite /f/cards/gen/(.*) /$1 break;
proxy_pass http://127.0.0.1:25290;
proxy_redirect off;
'';
extraConfig = ''
error_page 404 /404.html;
error_page 403 /403.html;
'';
};
"femboy.industries" = {
locations."/_subdomains".extraConfig = ''
deny all;
return 404;
'';
};
# todo: move to flake
"gdpstest.oat.zone" = {
enableACME = true;
@ -149,23 +172,25 @@ in {
'';
};
# todo: move to flake
"gdicon.oat.zone" = {
"jillo.oat.zone" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:3436/";
proxyPass = "http://127.0.0.1:15385/";
};
};
# https://www.edwinwenink.xyz/posts/47-tilde_server/
# todo: fix this
"dark-firepit.cloud" = {
locations."~ ^/~([^/\\s]+?)(/[^\\s]*)?$".extraConfig = ''
add_header X-debug-message "/home/$1/www$2" always;
alias /home/$1/www$2;
index index.html index.htm;
autoindex on;
'';
"drawdog.oat.zone" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:33363/";
extraConfig = ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
'';
};
};
#"git.oat.zone" = {

View File

@ -1,61 +0,0 @@
{ config, lib, pkgs, options, ... }:
with lib;
let
cfg = config.modules.services.code-server;
in {
options.modules.services.code-server = {
enable = mkOption {
type = types.bool;
default = false;
};
domain = mkOption {
type = types.str;
default = "dev-firepit.oat.zone";
};
port = mkOption {
type = types.int;
default = 4444;
};
};
config = mkIf cfg.enable {
services = {
code-server = {
enable = true;
port = cfg.port;
# temporary
auth = "password";
# temporary
hashedPassword = removeSuffix "\n" (builtins.readFile /etc/code-server-password);
extraPackages = with pkgs; [ git nix nixpkgs-fmt ];
};
nginx.virtualHosts."${cfg.domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString cfg.port}";
extraConfig = ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
'';
};
locations."= /robots.txt" = {
extraConfig = ''
add_header Content-Type text/plain;
return 200 "User-agent: *\nDisallow: /\n";
'';
};
};
};
users.users.code-server = {
extraGroups = [ "nix-users" "dotfiles" ];
shell = pkgs.unstable.fish;
};
};
}

View File

@ -0,0 +1,108 @@
{ pkgs, config, lib, options, ... }:
with lib;
let
cfg = config.modules.services.dendrite;
fullDomain = "${cfg.prefix}.${cfg.hostDomain}";
maxUploadMegabytes = 600;
in {
options.modules.services.dendrite = {
enable = mkOption {
type = types.bool;
default = false;
};
hostDomain = mkOption {
type = types.str;
default = null;
};
prefix = mkOption {
type = types.str;
default = "matrix";
};
port = mkOption {
type = types.port;
default = 8008;
};
};
config = mkIf cfg.enable {
assertions = [
{ assertion = cfg.hostDomain != null;
description = "@config.modules.services.dendrite.hostDomain@ must not equal null";
}
];
services.dendrite = {
enable = true;
httpPort = cfg.port;
# httpsPort = cfg.port;
tlsCert = "/var/lib/dendrite_keys/server.crt";
tlsKey = "/var/lib/dendrite_keys/server.key";
loadCredential = [ "private_key:/var/lib/dendrite_keys/private/private_key.pem" ];
environmentFile = "/var/lib/dendrite_keys/registration_secret";
settings = {
global = {
server_name = cfg.hostDomain;
private_key = "/var/lib/dendrite_keys/private/private_key.pem";
presence = {
enable_inbound = true;
enable_outbound = true;
};
};
client_api = {
registration_shared_secret = "$REGISTRATION_SHARED_SECRET";
};
media_api = {
max_file_size_bytes = maxUploadMegabytes;
dynamic_thumbnails = true;
};
};
};
services.nginx.virtualHosts."${fullDomain}" = {
forceSSL = true;
enableACME = true;
#listen = [
# { addr = "0.0.0.0";
# port = 443;
# ssl = true;
# }
# { addr = "[::]";
# port = 443;
# ssl = true;
# }
#];
locations."/_matrix".proxyPass = "http://127.0.0.1:${toString cfg.port}";
#locations."/_matrix".proxyPass = "https://localhost:${toString cfg.port}";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-RealIP $remote_addr;
proxy_read_timeout 600;
client_max_body_size ${toString maxUploadMegabytes}M;
'';
};
services.nginx.virtualHosts."${cfg.hostDomain}" = {
forceSSL = true;
enableACME = true;
locations."/.well-known/matrix/server".return = "200 '{ \"m.server\": \"${fullDomain}:443\"}'";
# locations."/.well-known/matrix/client".return = "200 '{ \"m.homserver\": { \"base_url\": \"https://${cfg.hostDomain}\"} }'";
locations."/.well-known/matrix/client".extraConfig = ''
add_header Access-Control-Allow-Origin '*';
return 200 '{ \"m.homeserver\": { \"base_url\": \"https://${fullDomain}\"} }';
'';
};
networking.firewall.allowedTCPPorts = [ 80 443 ];
networking.firewall.allowedUDPPorts = [ 80 443 ];
};
}

View File

@ -21,9 +21,15 @@ in {
type = types.package;
default = pkgs.unstable.forgejo;
};
enableActions = mkOption {
type = types.bool;
default = false;
};
};
config = mkIf cfg.enable {
virtualisation.docker.enable = cfg.enableActions;
services = {
gitea = {
enable = true;
@ -36,7 +42,7 @@ in {
};
settings = mkMerge [ (builtins.fromTOML (builtins.readFile "/etc/dotfiles/config/forgejo/app.toml")) {
"ui.meta" = {
AUTHOR = "aether & oat";
AUTHOR = "dark-firepit.cloud";
DESCRIPTION = "dark-firepit's shared git instance";
};
"server" = {
@ -44,9 +50,22 @@ in {
HTTP_PORT = cfg.port;
ROOT_URL = "https://${cfg.domain}/";
};
"actions" = {
ENABLED = cfg.enableActions;
};
}];
};
gitea-actions-runner = mkIf cfg.enableActions {
instances."${config.networking.hostName}" = {
enable = true;
name = "ci";
url = "https://${cfg.domain}/";
labels = []; # use the packaged instance list
token = removeSuffix "\n" (builtins.readFile "/etc/forgejo-runner-token");
};
};
nginx.virtualHosts."${cfg.domain}" = {
forceSSL = true;
enableACME = true;

View File

@ -1,158 +0,0 @@
{ pkgs, lib, config, options, ... }:
with lib;
let
cfg = config.modules.services.ghost;
# user used to run the Ghost service
userName = builtins.replaceStrings [ "." ] [ "_" ] cfg.domain;
in {
options.modules.services.ghost = {
enable = mkOption {
type = types.bool;
default = false;
};
package = mkOption {
type = types.package;
default = pkgs._.ghost;
};
domain = mkOption {
type = types.str;
default = "blog.oat.zone";
};
port = mkOption {
type = types.int;
default = 1357;
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/${userName}";
};
};
config = let
# directory used to save the blog content
dataDir = cfg.dataDir;
# script that sets up the Ghost content directory
setupScript = pkgs.writeScript "${cfg.domain}-setup.sh" ''
#! ${pkgs.stdenv.shell} -e
chmod g+s "${dataDir}"
[[ ! -d "${dataDir}/content" ]] && cp -r "${cfg.package}/content" "${dataDir}/content"
chown -R "${userName}":"${userName}" "${dataDir}/content"
chmod -R +w "${dataDir}/content"
ln -f -s "/etc/${cfg.domain}.json" "${dataDir}/config.production.json"
[[ -d "${dataDir}/current" ]] && rm "${dataDir}/current"
ln -f -s "${cfg.package}/current" "${dataDir}/current"
[[ -d "${dataDir}/content/themes/casper" ]] && rm "${dataDir}/content/themes/casper"
ln -f -s "${cfg.package}/current/content/themes/casper" "${dataDir}/content/themes/casper"
'';
in lib.mkIf cfg.enable {
# Creates the user and group
users.users.${userName} = {
isSystemUser = true;
group = userName;
createHome = true;
home = dataDir;
};
users.groups.${userName} = { };
# Creates the Ghost config
environment.etc."${cfg.domain}.json".text = ''
{
"url": "https://${cfg.domain}",
"server": {
"port": ${toString cfg.port},
"host": "0.0.0.0"
},
"database": {
"client": "mysql",
"connection": {
"host": "localhost",
"user": "${userName}",
"database": "${userName}",
"password": "",
"socketPath": "/run/mysqld/mysqld.sock"
}
},
"mail": {
"transport": "sendmail"
},
"logging": {
"transports": ["stdout"]
},
"paths": {
"contentPath": "${dataDir}/content"
}
}
'';
# Sets up the Systemd service
systemd.services."${cfg.domain}" = {
enable = true;
description = "${cfg.domain} ghost blog";
restartIfChanged = true;
restartTriggers =
[ cfg.package config.environment.etc."${cfg.domain}.json".source ];
requires = [ "mysql.service" ];
after = [ "mysql.service" ];
path = [ pkgs.nodejs pkgs.vips ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = userName;
Group = userName;
WorkingDirectory = dataDir;
# Executes the setup script before start
ExecStartPre = setupScript;
# Runs Ghost with node
ExecStart = "${pkgs.nodejs}/bin/node current/index.js";
# Sandboxes the Systemd service
AmbientCapabilities = [ ];
CapabilityBoundingSet = [ ];
KeyringMode = "private";
LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateMounts = true;
PrivateTmp = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "full";
RemoveIPC = true;
RestrictAddressFamilies = [ ];
RestrictNamespaces = true;
RestrictRealtime = true;
};
environment = { NODE_ENV = "production"; };
};
# Sets up the blog virtual host on NGINX
services.nginx.virtualHosts.${cfg.domain} = {
# Sets up Lets Encrypt SSL certificates for the blog
forceSSL = true;
enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:${toString cfg.port}"; };
extraConfig = ''
charset UTF-8;
add_header Strict-Transport-Security "max-age=2592000; includeSubDomains" always;
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
'';
};
# Sets up MySQL database and user for Ghost
services.mysql = {
ensureDatabases = [ userName ];
ensureUsers = [{
name = userName;
ensurePermissions = { "${userName}.*" = "ALL PRIVILEGES"; };
}];
};
};
}

View File

@ -1,82 +0,0 @@
{ config, lib, pkgs, options, ... }:
with lib;
let
cfg = config.modules.services.isso;
in {
options.modules.services.isso = {
enable = mkOption {
type = types.bool;
default = false;
};
domain = mkOption {
type = types.str;
default = "comments.oat.zone";
};
target = mkOption {
type = types.str;
default = "blog.oat.zone";
};
port = mkOption {
type = types.port;
default = 1550;
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/isso";
};
};
config = mkIf cfg.enable {
services = {
isso = {
enable = true;
settings = {
general = {
dbpath = "${cfg.dataDir}/comments.db";
host = "https://${cfg.target}";
latest-enabled = true;
};
server = {
listen = "http://localhost:${toString cfg.port}";
samesite = "Lax";
public-endpoint = "https://${cfg.domain}";
};
guard = {
enabled = true;
require-author = true;
ratelimit = 4;
};
admin = {
enabled = true;
password = removeSuffix "\n" (builtins.readFile /etc/isso_admin_pass);
};
};
};
nginx.enable = true;
nginx.virtualHosts."${cfg.domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:${toString cfg.port}";
extraConfig = ''
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
'';
};
};
};
systemd.services.isso.serviceConfig = {
preStart = ''
umask u=rwx,g=rwx,o=rx
mkdir -p ${cfg.dataDir}
cd ${cfg.dataDir}
${pkgs.coreutils}/bin/chown -R isso:isso .
${pkgs.coreutils}/bin/chmod -R 775 .
'';
};
};
}

View File

@ -270,6 +270,16 @@ in {
};
};
queuetype = mkOption {
type = types.enum ["FAIR" "REGULAR"];
description = ''
Sets the queue type
FAIR: Each user gets a fair chance at the queue by rearranging it such that no user can fill it up entirely
REGULAR: Queue works as first-come, first-served
'';
default = "FAIR";
};
eval = mkOption {
type = types.bool;
description = ''
@ -359,4 +369,4 @@ in {
}
) cfg.instances;
};
}
}

View File

@ -0,0 +1,55 @@
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 0.0.0.0
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 1h # Any chunk not receiving new logs in this time will be flushed
max_chunk_age: 1h # All chunks will be flushed when they hit this age, default is 1h
chunk_target_size: 1048576 # Loki will attempt to build chunks up to 1.5MB, flushing first if chunk_idle_period or max_chunk_age is reached first
chunk_retain_period: 30s # Must be greater than index read cache TTL if using an index cache (Default index read cache TTL is 5m)
max_transfer_retries: 0 # Chunk transfers disabled
schema_config:
configs:
- from: 2023-12-08
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage_config:
boltdb_shipper:
active_index_directory: /var/lib/loki/boltdb-shipper-active
cache_location: /var/lib/loki/boltdb-shipper-cache
cache_ttl: 24h # Can be increased for faster performance over longer query periods, uses more disk space
shared_store: filesystem
filesystem:
directory: /var/lib/loki/chunks
limits_config:
reject_old_samples: true
reject_old_samples_max_age: 168h
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false
retention_period: 0s
compactor:
working_directory: /var/lib/loki
shared_store: filesystem
compactor_ring:
kvstore:
store: inmemory

View File

@ -0,0 +1,110 @@
{ config, lib, pkgs, options, ... }:
with lib;
let
cfg = config.modules.services.metrics;
in {
options.modules.services.metrics = {
enable = mkOption {
type = types.bool;
default = false;
};
domain = mkOption {
type = types.str;
# default = "grafana.oat.zone";
default = null;
};
port = mkOption {
type = types.int;
default = 2342;
};
};
config = mkIf cfg.enable {
assertions = [
{ assertion = cfg.domain != null;
description = "please set the domain for grafana";
}
];
systemd.services.promtail = {
description = "Promtail service for Loki";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''
${pkgs.grafana-loki}/bin/promtail --config.file ${./promtail.yml}
'';
};
};
services = {
grafana = {
enable = true;
settings = {
server = {
domain = cfg.domain;
http_port = cfg.port;
http_addr = "127.0.0.1";
};
};
};
prometheus = let
ports = {
base = 9001;
node = 9002;
nginx = 9003;
};
in {
enable = true;
port = ports.base;
exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" ];
port = ports.node;
};
nginx = {
enable = true;
port = ports.nginx;
};
};
scrapeConfigs = [
{
job_name = "lucent-firepit";
static_configs = [{
targets = [
"127.0.0.1:${toString ports.node}"
"127.0.0.1:${toString ports.nginx}"
];
}];
}
];
};
loki = {
enable = true;
configFile = ./loki-local-config.yml;
};
nginx.statusPage = true;
nginx.virtualHosts."${cfg.domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString cfg.port}";
proxyWebsockets = true;
};
locations."= /robots.txt" = {
extraConfig = ''
add_header Content-Type text/plain;
return 200 "User-agent: *\nDisallow: /\n";
'';
};
};
};
};
}

View File

@ -7,12 +7,12 @@ in {
options.modules.services.nextcloud = {
enable = mkOption {
type = types.bool;
default = false;
default = mkForce false;
};
package = mkOption {
type = types.package;
default = pkgs.nextcloud24;
default = pkgs.nextcloud27;
};
domain = mkOption {
@ -28,15 +28,22 @@ in {
}
];
# vomit inducing
# nixpkgs.config.permittedInsecurePackages = [
# "openssl-1.1.1w"
# ];
services.nextcloud = {
enable = true;
package = cfg.package;
hostName = cfg.domain;
enableBrokenCiphersForSSE = false;
database.createLocally = true;
config = {
dbtype = "pgsql";
dbuser = "nextcloud";
dbuser = "nextcloud3";
dbhost = "/run/postgresql";
dbname = "nextcloud";
dbname = "nextcloud3";
adminpassFile = "/etc/nextcloudpass";
adminuser = "root";
# "log_type" = "systemd";
@ -53,10 +60,10 @@ in {
services.postgresql = {
enable = true;
ensureDatabases = [ "nextcloud" ];
ensureDatabases = [ "nextcloud3" ];
ensureUsers = [
{ name = "nextcloud";
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
{ name = "nextcloud3";
ensurePermissions."DATABASE nextcloud3" = "ALL PRIVILEGES";
}
];
};

View File

@ -0,0 +1,13 @@
diff --git a/src/auth.nim b/src/auth.nim
index b288c50..de1b1d8 100644
--- a/src/auth.nim
+++ b/src/auth.nim
@@ -202,7 +202,7 @@ proc initAccountPool*(cfg: Config; path: string) =
quit 1
let accountsPrePurge = accountPool.len
- accountPool.keepItIf(not it.hasExpired)
+ #accountPool.keepItIf(not it.hasExpired)
log "Successfully added ", accountPool.len, " valid accounts."
if accountsPrePurge > accountPool.len:

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, options, ... }:
{ config, lib, pkgs, options, inputs, ... }:
# heavily references https://github.com/erdnaxe/nixos-modules/blob/master/services/nitter.nix
@ -29,11 +29,21 @@ in {
};
};
# force unstable
disabledModules = [ "services/misc/nitter.nix" ];
imports = [
"${inputs.nixpkgs-unstable}/nixos/modules/services/misc/nitter.nix"
];
config = mkIf cfg.enable {
services = {
nitter = {
enable = true;
package = pkgs.nitter;
package = pkgs.unstable.nitter.overrideAttrs (old: {
patches = old.patches ++ [
./nitter-age-check.patch
];
});
config = {
proxy = ""; # https://github.com/NixOS/nixpkgs/issues/235359
};

View File

@ -14,6 +14,7 @@ in {
config = mkIf cfg.enable {
services.postgresql = {
enable = true;
package = pkgs.postgresql_15;
};
};
}

View File

@ -0,0 +1,20 @@
server:
http_listen_port: 28183
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://127.0.0.1:3100/loki/api/v1/push
scrape_configs:
- job_name: journal
journal:
max_age: 12h
labels:
job: systemd-journal
host: lucent-firepit
relabel_configs:
- source_labels: ["__journal__systemd_unit"]
target_label: "unit"

View File

@ -0,0 +1,34 @@
{ config, lib, pkgs, options, inputs, ... }:
with lib;
let
cfg = config.modules.services.update-idl;
in {
options.modules.services.update-idl = {
enable = mkOption {
type = types.bool;
default = false;
};
};
config = mkIf cfg.enable {
systemd.timers."update-itl" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "60m";
OnUnitActiveSec = "60m";
Unit = "update-itl.service";
};
};
systemd.services."update-itl" = {
script = ''
${pkgs.curl} -X POST https://mayf.pink/itl/update -H "Connection: Spiritual"
'';
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
};
}

View File

@ -55,7 +55,7 @@ in {
ensureDatabases = [ "vaultwarden" ];
ensureUsers = [
{ name = "vaultwarden";
ensurePermissions = { "DATABASE vaultwarden" = "ALL PRIVILEGES"; };
ensureDBOwnership = true;
}
];
};

View File

@ -15,5 +15,9 @@ in {
home._.programs.fish = {
enable = true;
};
environment.systemPackages = with pkgs; [
fishPlugins.tide
];
};
}

View File

@ -1,12 +0,0 @@
self: super: {
nitter = super.nitter.overrideAttrs (old: {
# https://github.com/zedeus/nitter/pull/830
version = "unstable-2023-05-31";
src = super.fetchFromGitHub {
owner = "zedeus";
repo = "nitter";
rev = "38985af6ed30f050201b15425cdac0dc2e286b6d";
hash = "sha256-YPwApMCsra/T5EzCup28/4FaOrhEuw3MBiitv+LTbi0=";
};
});
}

View File

@ -1,9 +0,0 @@
source "$stdenv"/setup
export HOME=$(mktemp -d)
npm install --loglevel=info --logs-max=0 "ghost-cli@$ghostCliVersion"
mkdir --parents "$out"/
node_modules/ghost-cli/bin/ghost install "$version" --db=sqlite3 \
--no-enable --no-prompt --no-stack --no-setup --no-start --dir "$out"

View File

@ -1,11 +0,0 @@
{ pkgs }:
let
pname = "ghost";
version = "5.33.2";
in pkgs.stdenv.mkDerivation {
inherit pname version;
buildInputs = with pkgs; [ nodejs yarn vips ];
ghostCliVersion = "1.24.0";
builder = ./builder.sh;
}

32
packages/gmusicbot.nix Normal file
View File

@ -0,0 +1,32 @@
{ stdenv, lib, fetchurl, makeWrapper, jre_headless }:
stdenv.mkDerivation rec {
pname = "GMusicBot";
version = "2023-05-19";
src = fetchurl {
url = "https://oat.zone/f/GMusicBot-2023-05-19.jar?v=3";
sha256 = "sha256-5c36did0kkaeu4Yi9vGIhlqRoeUBBRWKdihbaW9lwk4=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/lib
cp $src $out/lib/GMusicBot
makeWrapper ${jre_headless}/bin/java $out/bin/GMusicBot \
--add-flags "-Xmx1G -Dnogui=true -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -jar $out/lib/GMusicBot"
'';
meta = with lib; {
description = "Discord music bot that's easy to set up and run yourself";
homepage = "https://git.oat.zone/oat/GMusicBot";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
maintainers = with maintainers; [ SuperSandro2000 ];
inherit (jre_headless.meta) platforms;
};
}

36
packages/nidobyte.nix Normal file
View File

@ -0,0 +1,36 @@
{ stdenv, lib, fetchpijul
, pijul
, rustc
, cargo
, rustfmt
, postgresql
, sqlx-cli
, libiconv
, xxHash
, zstd
, ... }:
stdenv.mkDerivation rec {
pname = "nidobyte";
src = fetchpijul {
url = "https://nest.pijul.com/zj/nidobyte";
hash = "YZAHAQRQHK24QY2H3AXKCPPDIE2F53H35C5CNYUSXRDSNCWOUJVQC";
};
nativeBuildInputs = [
pijul
rustc
cargo
rustfmt
postgresql
sqlx-cli
libiconv
xxHash
zstd
];
}