Compare commits
No commits in common. "main" and "nixos-23" have entirely different histories.
|
@ -7,8 +7,8 @@ PASSWORD_CHECK_PWN = true
|
|||
DEFAULT_BRANCH = "main"
|
||||
|
||||
[ui]
|
||||
DEFAULT_THEME = "forgejo-auto"
|
||||
THEMES="forgejo-auto,forgejo-light,forgejo-dark"
|
||||
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"
|
||||
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]
|
||||
|
|
410
flake.lock
410
flake.lock
|
@ -4,15 +4,14 @@
|
|||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707830867,
|
||||
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
|
||||
"lastModified": 1684153753,
|
||||
"narHash": "sha256-PVbWt3qrjYAK+T5KplFcO+h7aZWfEj1UtyoKlvcDxh0=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
|
||||
"rev": "db5637d10f797bb251b94ef9040b237f4702cde3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -27,11 +26,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692493363,
|
||||
"narHash": "sha256-Y/nefO52W64AtXdEGFVMMBwXw+3m1SswOaO7Dq8b5UA=",
|
||||
"lastModified": 1685653986,
|
||||
"narHash": "sha256-6NTJpW9CAGHUuijiFby4SZszv/DWjOOtXWhjsB42mlI=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "5fd335bbf5026e81e9dd3b4dacc13e93eb980112",
|
||||
"revCount": 21,
|
||||
"rev": "abe288a9b6ef0823be30f24c4b8b5f7f3de90dc1",
|
||||
"revCount": 17,
|
||||
"type": "git",
|
||||
"url": "https://git.oat.zone/oat/cohost-blogger"
|
||||
},
|
||||
|
@ -48,11 +47,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700795494,
|
||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -69,11 +68,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708679224,
|
||||
"narHash": "sha256-V66NAQSTakocPST2GYv4SKK+ALBg3sgCNq0jIOpNkpc=",
|
||||
"lastModified": 1685643624,
|
||||
"narHash": "sha256-thnUc3S+c79l6RJ4RqSYKmnj9AqYRvRgQAgrEZBFwnM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "841abef01afbd293aa80130bcbd811e4102d5770",
|
||||
"rev": "669d63975489ace6915437e04546edf300f7a847",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -100,7 +99,7 @@
|
|||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -118,14 +117,14 @@
|
|||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -136,7 +135,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -154,25 +153,7 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"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"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -196,11 +177,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"lastModified": 1682203081,
|
||||
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -214,16 +195,16 @@
|
|||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706981411,
|
||||
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
|
||||
"lastModified": 1685599623,
|
||||
"narHash": "sha256-Tob4CMOVHue0D3RzguDBCtUmX5ji2PsdbQDbIOIKvsc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
|
||||
"rev": "93db05480c0c0f30382d3e80779e8386dcb4f9dd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.11",
|
||||
"ref": "release-23.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -231,18 +212,16 @@
|
|||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"systems": "systems_4",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708650152,
|
||||
"narHash": "sha256-OZUS5FED7KKAPpNaJYQr4BPGXQzGrDFgkKVg9U2aZh8=",
|
||||
"lastModified": 1685632091,
|
||||
"narHash": "sha256-RAfDARolNWT4ZF8IH6WwVd2s0jMuaA9zUPeb+I8/L1A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "8c3613632a6ccebf9fb797ec756ecfce99514eec",
|
||||
"rev": "9cf72a30fc040f0bd2fb4651ec7f8e82df962278",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -256,18 +235,14 @@
|
|||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1691753796,
|
||||
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||
"lastModified": 1684265364,
|
||||
"narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||
"rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -276,78 +251,16 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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": 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"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708532919,
|
||||
"narHash": "sha256-G4PX7NlRLIlBYTDisbWx/Sif01SLSVzLThGU6v6Wrgg=",
|
||||
"lastModified": 1685378141,
|
||||
"narHash": "sha256-/ehJbAtSJS86NlqHVOeR2ViBKlImKH4guFVPacTmCr8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpaper",
|
||||
"rev": "897cf0ae26c7c54ce15c4946efe63970be75dadb",
|
||||
"rev": "cd86c196f3500f20539754d347c8378349ca0974",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -358,14 +271,14 @@
|
|||
},
|
||||
"hyprpicker": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703987863,
|
||||
"narHash": "sha256-MHhAk74uk0qHVwSkLCcXLXMe4478M2oZEFPXwjSoo2E=",
|
||||
"lastModified": 1685380198,
|
||||
"narHash": "sha256-k+rG5AZjz47Q6bpVcTK7r4s7Avg3O+1iw+skK+cn0rk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpicker",
|
||||
"rev": "2ef703474fb96e97e03e66e8820f213359f29382",
|
||||
"rev": "deaca6a4d8e307d90b1f5b1033a8ea6c83b9b260",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -378,14 +291,14 @@
|
|||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708650820,
|
||||
"narHash": "sha256-O6nq8oHT4iPrWuBoKH0/9B7QC91N/zPnns8QYxPJniY=",
|
||||
"lastModified": 1685585448,
|
||||
"narHash": "sha256-7onuCglc3yR5FDmH+PIMn+VhdP7lmjKD9eoIcI7/Wvw=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "fe3753b7025fd7f3a302be698a0896e70ea24450",
|
||||
"rev": "873f6b9ddd2018190830d3608a1522d7a511cf76",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -396,11 +309,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1708594753,
|
||||
"narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=",
|
||||
"lastModified": 1684899633,
|
||||
"narHash": "sha256-NtwerXX8UFsoNy6k+DukJMriWtEjQtMU/Urbff2O2Dg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958",
|
||||
"rev": "4cc688ee711159b9bcb5a367be44007934e1a49d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -411,11 +324,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1703013332,
|
||||
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
|
||||
"lastModified": 1677676435,
|
||||
"narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
|
||||
"rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -427,27 +340,27 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1708566995,
|
||||
"narHash": "sha256-e/THimsoxxMAHSbwMKov5f5Yg+utTj6XVGEo24Lhx+0=",
|
||||
"lastModified": 1685468986,
|
||||
"narHash": "sha256-YSj3K71KjRZgeL0hS3sYLYHI0g8aIVIf9lcsRMCIW2A=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3cb4ae6689d2aa3f363516234572613b31212b78",
|
||||
"rev": "9af373a61647257d16ae6062cddaa9094d24920c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1708475490,
|
||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||
"lastModified": 1685564631,
|
||||
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
|
||||
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -457,37 +370,6 @@
|
|||
}
|
||||
},
|
||||
"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=",
|
||||
|
@ -519,11 +401,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1708475490,
|
||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||
"lastModified": 1685383865,
|
||||
"narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
|
||||
"rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -535,27 +417,27 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1705331948,
|
||||
"narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1685564631,
|
||||
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b8dd8be3c790215716e7c12b247f45ca525867e2",
|
||||
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1707546158,
|
||||
"narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=",
|
||||
"lastModified": 1685383865,
|
||||
"narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0",
|
||||
"rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -566,38 +448,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1702645756,
|
||||
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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=",
|
||||
|
@ -613,13 +463,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1698318101,
|
||||
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
|
||||
"lastModified": 1683014792,
|
||||
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1683408522,
|
||||
"narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "63678e9f3d3afecfeafa0acead6239cdb447574c",
|
||||
"rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -629,23 +495,19 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nlw-api": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_11"
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1708639350,
|
||||
"narHash": "sha256-g7LL658p4deIme0fPq+WceTNGigXcN6uPNrVraZN3RY=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "704581d013b9d16fda5dc8e30d448b358c4e127d",
|
||||
"revCount": 23,
|
||||
"type": "git",
|
||||
"url": "https://git.oat.zone/oat/nlw-api"
|
||||
"lastModified": 1685533922,
|
||||
"narHash": "sha256-y4FCQpYafMQ42l1V+NUrMel9RtFtZo59PzdzflKR/lo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3a70dd92993182f8e514700ccf5b1ae9fc8a3b8d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.oat.zone/oat/nlw-api"
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-23.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
|
@ -659,9 +521,8 @@
|
|||
"hyprpicker": "hyprpicker",
|
||||
"nix-minecraft": "nix-minecraft",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nlw-api": "nlw-api",
|
||||
"vscode-server": "vscode-server"
|
||||
}
|
||||
},
|
||||
|
@ -711,51 +572,6 @@
|
|||
}
|
||||
},
|
||||
"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=",
|
||||
|
@ -772,8 +588,8 @@
|
|||
},
|
||||
"vscode-server": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": "nixpkgs_12"
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684517665,
|
||||
|
@ -793,18 +609,17 @@
|
|||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1708558866,
|
||||
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=",
|
||||
"lastModified": 1685491729,
|
||||
"narHash": "sha256-YfpP8tKpcr0Lxlr3PdoMaY3GD/uJRl6E5pp5KQCEuzg=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
||||
"rev": "3f0487d310974f6ff889ca80e4fb4005553814ed",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
|
@ -814,22 +629,17 @@
|
|||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": "hyprlang_2",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706521509,
|
||||
"narHash": "sha256-AInZ50acOJ3wzUwGzNr1TmxGTMx+8j6oSTzz4E7Vbp8=",
|
||||
"lastModified": 1685385764,
|
||||
"narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "c06fd88b3da492b8f9067be021b9184f7012b5a8",
|
||||
"rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
description = "Frosted Flakes";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-23.11";
|
||||
nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||
|
||||
# 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.11";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||
#home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# agenix - age-encrypted secrets
|
||||
|
@ -31,8 +31,6 @@
|
|||
#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";
|
||||
|
@ -56,7 +54,7 @@
|
|||
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
||||
};
|
||||
|
||||
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nix-minecraft, /* hyprland, hyprpaper, hyprpicker, */ ... }:
|
||||
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nix-minecraft, cohost-blogger, /* hyprland, hyprpaper, hyprpicker, */ ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
|
||||
|
|
|
@ -23,14 +23,6 @@
|
|||
{ 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";
|
||||
|
|
|
@ -16,7 +16,6 @@ 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
|
||||
];
|
||||
|
||||
|
@ -29,16 +28,19 @@ 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 packwiz ];
|
||||
packages = with pkgs; [ bat duf broot helix nil ];
|
||||
shell = pkgs.unstable.fish;
|
||||
extraGroups = [ "wheel" "nix-users" "dotfiles" ];
|
||||
initialHashedPassword = "!";
|
||||
|
@ -67,8 +69,6 @@ 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,7 +134,6 @@ 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;
|
||||
|
@ -158,11 +157,6 @@ in {
|
|||
interfaces."wg0" = import ./wireguardInterface.nix;
|
||||
};
|
||||
|
||||
dendrite = {
|
||||
enable = true;
|
||||
hostDomain = "dark-firepit.cloud";
|
||||
};
|
||||
|
||||
terraria = {
|
||||
enable = false;
|
||||
port = 7777; # port-forwarded
|
||||
|
@ -173,11 +167,6 @@ in {
|
|||
dataDir = "/var/lib/terraria";
|
||||
};
|
||||
|
||||
nextcloud = {
|
||||
enable = false;
|
||||
domain = "nextcloud.dark-firepit.cloud";
|
||||
};
|
||||
|
||||
jmusicbot = let
|
||||
baseOptions = {
|
||||
owner = 276416332894044160;
|
||||
|
@ -193,7 +182,6 @@ in {
|
|||
|
||||
npimages = true;
|
||||
stayinchannel = true;
|
||||
updatealerts = false;
|
||||
|
||||
aliases = {
|
||||
nowplaying = [ "np" "current" ];
|
||||
|
@ -204,15 +192,13 @@ in {
|
|||
forceskip = [ "fs" ];
|
||||
movetrack = [ "move" "m" ];
|
||||
};
|
||||
|
||||
queuetype = "REGULAR";
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
instances = {
|
||||
"jomble" = {
|
||||
enable = true;
|
||||
package = pkgs._.gmusicbot;
|
||||
package = pkgs.unstable.jmusicbot;
|
||||
|
||||
options = baseOptions // {
|
||||
token = lib.removeSuffix "\n" (builtins.readFile /etc/jomble_token);
|
||||
|
@ -221,7 +207,7 @@ in {
|
|||
};
|
||||
"jillo" = {
|
||||
enable = true;
|
||||
package = pkgs._.gmusicbot;
|
||||
package = pkgs.unstable.jmusicbot;
|
||||
|
||||
options = baseOptions // {
|
||||
token = lib.removeSuffix "\n" (builtins.readFile /etc/jillo_token);
|
||||
|
@ -239,7 +225,6 @@ 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; }
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -254,37 +239,39 @@ in {
|
|||
# https://nixos.org/manual/nixos/stable/options.html#opt-networking.enableB43Firmware
|
||||
|
||||
# temporarily disabled
|
||||
# enableIPv6 = true;
|
||||
enableIPv6 = false;
|
||||
|
||||
usePredictableInterfaceNames = false;
|
||||
interfaces.eth0 = {
|
||||
ipv4.addresses = [{
|
||||
address = "46.4.96.113";
|
||||
# prefixLength = 27;
|
||||
interfaces.eth0.ipv4.addresses = [
|
||||
{ address = "46.4.96.113";
|
||||
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 21027 ];
|
||||
firewall.allowedUDPPorts = [ 24454 24464 25567 25577 4499 21025 21027 ];
|
||||
firewall.allowedTCPPorts = [ 24454 24464 25567 25577 4499 21025 ];
|
||||
firewall.allowedUDPPorts = [ 24454 24464 25567 25577 4499 21025 ];
|
||||
};
|
||||
|
||||
# environment.etc."dhcpcd.duid".text = "d0:50:99:d4:04:68:d0:50:99:d4:04:68";
|
||||
|
|
|
@ -4,8 +4,8 @@ with lib;
|
|||
let
|
||||
# https://git.sleeping.town/unascribed/unsup/releases
|
||||
unsup = pkgs.fetchurl {
|
||||
url = "https://git.sleeping.town/unascribed/unsup/releases/download/v0.2.3/unsup-0.2.3.jar";
|
||||
hash = "sha256-DBMxiZwfUUiLqXYOMD8EUz4HubAZIEjAPmk32T0NYtA=";
|
||||
url = "https://git.sleeping.town/attachments/c521d178-8938-40a5-b21b-0333eef4099e";
|
||||
sha256 = "c5bd49784392b651e4bc71fe57976f5b4fb14f09e0e23183ae5b94a821ae4756";
|
||||
};
|
||||
|
||||
mkUnsupINI = { url, extraConfig ? "" }: pkgs.writeTextFile {
|
||||
|
@ -43,7 +43,7 @@ in {
|
|||
"gayrats" = import ./gayrats.nix {
|
||||
inherit pkgs;
|
||||
|
||||
enable = false;
|
||||
enable = true;
|
||||
server-port = 25565;
|
||||
|
||||
inherit unsup;
|
||||
|
@ -55,7 +55,7 @@ in {
|
|||
"gayrats-creative" = import ./gayrats-creative.nix {
|
||||
inherit pkgs;
|
||||
|
||||
enable = false;
|
||||
enable = true;
|
||||
server-port = 25575;
|
||||
|
||||
inherit unsup;
|
||||
|
@ -64,22 +64,10 @@ in {
|
|||
unsupINI = mkUnsupINI { url = "https://oat.zone/f/gayrats-creative/pack.toml"; };
|
||||
};
|
||||
|
||||
"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;
|
||||
enable = true;
|
||||
server-port = 25595;
|
||||
};
|
||||
|
||||
|
@ -87,7 +75,7 @@ in {
|
|||
inherit pkgs;
|
||||
inherit lib;
|
||||
|
||||
enable = false;
|
||||
enable = true;
|
||||
server-port = 25535;
|
||||
|
||||
inherit unsup;
|
||||
|
@ -101,35 +89,6 @@ 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 = {
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
{ 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}";
|
||||
|
||||
}
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
symlinks = { "unsup.ini" = unsupINI; };
|
||||
|
||||
package = pkgs.fabricServers."fabric-1_19_2".override { loaderVersion = "0.14.17"; };
|
||||
|
||||
package = pkgs.minecraftServers.fabric-1_19_2;
|
||||
jvmOpts = "-Xmx6G -javaagent:${unsup}";
|
||||
}
|
||||
}
|
|
@ -21,8 +21,6 @@
|
|||
|
||||
symlinks = { "unsup.ini" = unsupINI; };
|
||||
|
||||
package = pkgs.fabricServers."fabric-1_19_2".override { loaderVersion = "0.14.17"; };
|
||||
|
||||
package = pkgs.minecraftServers.fabric-1_19_2;
|
||||
jvmOpts = "-Xmx6G -javaagent:${unsup}";
|
||||
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
memory: "-Xms${memory} -Xmx${memory} -XX:+UseShenandoahGC"
|
|
@ -9,22 +9,6 @@ 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 = {
|
||||
|
@ -44,7 +28,6 @@ in {
|
|||
enable = true;
|
||||
domain = "git.oat.zone";
|
||||
port = 3000;
|
||||
enableActions = true;
|
||||
};
|
||||
|
||||
matrix.conduit = {
|
||||
|
@ -54,7 +37,7 @@ in {
|
|||
|
||||
vaultwarden = {
|
||||
enable = true;
|
||||
domain = "vault.dark-firepit.cloud";
|
||||
domain = "vault.aether.gay";
|
||||
};
|
||||
|
||||
# not entirely necessary but makes it so that invalid domains and/or direct ip access aborts connection
|
||||
|
@ -73,7 +56,6 @@ 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";
|
||||
|
@ -86,26 +68,17 @@ in {
|
|||
"educationmath.oat.zone".auth = { twh = builtins.readFile /etc/proxy_twh; };
|
||||
"rivervalleychocolate.com".dataDir = "/var/www/rivervalleychocolate.com";
|
||||
"rivervalleychocolate.com".php = true;
|
||||
"play.mayf.pink".dataDir = "/var/www/play.mayf.pink/";
|
||||
"play.mayf.pink".php = true;
|
||||
"play.mayf.pink".phpHandlePathing = true;
|
||||
"tac.yugoslavia.best".dataDir = "/var/www/tac.yugoslavia.best/public";
|
||||
"tac.yugoslavia.best".php = true;
|
||||
"tac.yugoslavia.best".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;
|
||||
"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"]));
|
||||
"mayf.pink".forceSSL = false;
|
||||
"wint0r.zone".dataDir = "/var/www/wint0r.zone";
|
||||
"puzzle.wint0r.zone".dataDir = "/var/www/puzzle.wint0r.zone";
|
||||
};
|
||||
|
||||
nitter = {
|
||||
enable = true;
|
||||
|
@ -129,10 +102,25 @@ in {
|
|||
enable = true;
|
||||
};
|
||||
|
||||
metrics = {
|
||||
#code-server = {
|
||||
# enable = true;
|
||||
# domain = "dev-firepit.oat.zone";
|
||||
# port = 4444;
|
||||
#};
|
||||
|
||||
/*
|
||||
ghost = {
|
||||
enable = true;
|
||||
domain = "grafana.dark-firepit.cloud";
|
||||
port = 2342;
|
||||
domain = "blog.oat.zone";
|
||||
port = 1357;
|
||||
};
|
||||
*/
|
||||
|
||||
isso = {
|
||||
enable = true;
|
||||
port = 1995;
|
||||
domain = "comments.oat.zone";
|
||||
target = "blog.oat.zone";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -143,22 +131,11 @@ 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;
|
||||
|
@ -172,25 +149,23 @@ in {
|
|||
'';
|
||||
};
|
||||
# todo: move to flake
|
||||
"jillo.oat.zone" = {
|
||||
"gdicon.oat.zone" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:15385/";
|
||||
proxyPass = "http://127.0.0.1:3436/";
|
||||
};
|
||||
};
|
||||
"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;
|
||||
'';
|
||||
};
|
||||
|
||||
# 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;
|
||||
'';
|
||||
};
|
||||
|
||||
#"git.oat.zone" = {
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
{ 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;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,108 +0,0 @@
|
|||
{ 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 ];
|
||||
};
|
||||
}
|
|
@ -21,15 +21,9 @@ 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;
|
||||
|
@ -42,7 +36,7 @@ in {
|
|||
};
|
||||
settings = mkMerge [ (builtins.fromTOML (builtins.readFile "/etc/dotfiles/config/forgejo/app.toml")) {
|
||||
"ui.meta" = {
|
||||
AUTHOR = "dark-firepit.cloud";
|
||||
AUTHOR = "aether & oat";
|
||||
DESCRIPTION = "dark-firepit's shared git instance";
|
||||
};
|
||||
"server" = {
|
||||
|
@ -50,22 +44,9 @@ 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;
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
{ 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"; };
|
||||
}];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
{ 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 .
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -270,16 +270,6 @@ 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 = ''
|
||||
|
@ -369,4 +359,4 @@ in {
|
|||
}
|
||||
) cfg.instances;
|
||||
};
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
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
|
|
@ -1,110 +0,0 @@
|
|||
{ 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";
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -7,12 +7,12 @@ in {
|
|||
options.modules.services.nextcloud = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = mkForce false;
|
||||
default = false;
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.nextcloud27;
|
||||
default = pkgs.nextcloud24;
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
|
@ -28,22 +28,15 @@ 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 = "nextcloud3";
|
||||
dbuser = "nextcloud";
|
||||
dbhost = "/run/postgresql";
|
||||
dbname = "nextcloud3";
|
||||
dbname = "nextcloud";
|
||||
adminpassFile = "/etc/nextcloudpass";
|
||||
adminuser = "root";
|
||||
# "log_type" = "systemd";
|
||||
|
@ -60,10 +53,10 @@ in {
|
|||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "nextcloud3" ];
|
||||
ensureDatabases = [ "nextcloud" ];
|
||||
ensureUsers = [
|
||||
{ name = "nextcloud3";
|
||||
ensurePermissions."DATABASE nextcloud3" = "ALL PRIVILEGES";
|
||||
{ name = "nextcloud";
|
||||
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
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:
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, options, inputs, ... }:
|
||||
{ config, lib, pkgs, options, ... }:
|
||||
|
||||
# heavily references https://github.com/erdnaxe/nixos-modules/blob/master/services/nitter.nix
|
||||
|
||||
|
@ -29,21 +29,11 @@ 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.unstable.nitter.overrideAttrs (old: {
|
||||
patches = old.patches ++ [
|
||||
./nitter-age-check.patch
|
||||
];
|
||||
});
|
||||
package = pkgs.nitter;
|
||||
config = {
|
||||
proxy = ""; # https://github.com/NixOS/nixpkgs/issues/235359
|
||||
};
|
||||
|
|
|
@ -14,7 +14,6 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
package = pkgs.postgresql_15;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
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"
|
|
@ -1,34 +0,0 @@
|
|||
{ 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -55,7 +55,7 @@ in {
|
|||
ensureDatabases = [ "vaultwarden" ];
|
||||
ensureUsers = [
|
||||
{ name = "vaultwarden";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions = { "DATABASE vaultwarden" = "ALL PRIVILEGES"; };
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -15,9 +15,5 @@ in {
|
|||
home._.programs.fish = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
fishPlugins.tide
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
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=";
|
||||
};
|
||||
});
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
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"
|
|
@ -0,0 +1,11 @@
|
|||
{ 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;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{ 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;
|
||||
};
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{ 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
|
||||
];
|
||||
}
|
Loading…
Reference in New Issue