Compare commits

...

13 Commits

Author SHA1 Message Date
Oystein Kristoffer Tveit 7193a12ac2
tsuki/services: remove some uses of secret ports 2023-10-06 18:27:21 +02:00
Oystein Kristoffer Tveit 6cd17fb71c
README: big update (👍ᐛ )👍 2023-10-06 18:27:20 +02:00
Oystein Kristoffer Tveit 3d613d1ac9
tsuki/invidious: use socket activation 2023-10-06 18:27:19 +02:00
Oystein Kristoffer Tveit 424fea0dc8
tsuki/jupyter: use socket activation 2023-10-06 18:27:18 +02:00
Oystein Kristoffer Tveit 5bb10df9e1
tsuki/borg: partial systemd hardening
There's still quite a bit to do, but the service fails on a weird option
that I've not been able to pin down. At least this is better than
nothing ¯\_(ツ)_/¯
2023-10-06 18:27:17 +02:00
Oystein Kristoffer Tveit 450d26cf4b
tsuki/atuin: use socket activation 2023-10-06 18:27:16 +02:00
Oystein Kristoffer Tveit aca2962eec
tsuki/vaultwarden: use socket activation 2023-10-06 18:27:15 +02:00
Oystein Kristoffer Tveit caedfe1810
tsuki/matrix/stickers: use new module and add lots of stickerpacks 2023-10-06 18:27:14 +02:00
Oystein Kristoffer Tveit 87eeb522a2
home/shell: make mainProgram selection better 2023-10-06 17:19:50 +02:00
Oystein Kristoffer Tveit 550b9f1b1b
home/gdb: init 2023-10-06 17:18:49 +02:00
Oystein Kristoffer Tveit ad262195f6
home/packages: add lots of unused packages 2023-10-06 17:17:15 +02:00
Oystein Kristoffer Tveit 5a2e34b89e
home/shell: add aliases for ofborg evals 2023-10-06 17:16:38 +02:00
Oystein Kristoffer Tveit 9038f3ea54
home/git: add rebase-author alias 2023-10-06 17:14:02 +02:00
39 changed files with 659 additions and 231 deletions

View File

@ -3,31 +3,39 @@
# Nix Dotfiles # Nix Dotfiles
These are my dotfiles for several nix machines. These are my dotfiles for several nix machines.
The folder structure looks somewhat like this: Here are some of the interesting files and dirs:
| Directory | Purpose | | Path | Purpose |
|-----------|---------| |------|---------|
| `flake.nix` | The root of everyting. Defines the inputs and outputs of the project. See [Nix Flakes][nix-flakes] for more information. | | `/home` | [home-manager][home-manager] configuration. |
| `/pkgs` | Custom packages that doesn't exist in nixpkgs. The code is also too "dirty" to add them to nixpkgs (yet). |
| `/modules` | Custom modules that I use to make my own set of "arguments" and options for the rest of the configuration. |
| `/overlays/lib` | Additions of helper functions to the standard library. |
| `/hosts` | Machine specific NixOS configurations. | | `/hosts` | Machine specific NixOS configurations. |
| `/hosts/common.nix` | Configuration that should be equal for all NixOS machines (or at least change based on other module options). | | `/hosts/common.nix` | Configuration that is equal for all hosts. |
| `/home` | All user specific configuration, using [home-manager][home-manager] | | `/lib` | Custom lib functions that has not been upstreamed (or should not be) to nixpkgs. I'm trying to phase these out as much as possible. |
| `/home/shellOptions.nix` | Settings (mostly command aliases) for all shells. | | `/modules` | Custom nixos modules that I use in my own configuration. If you see options that does not appear in [NixOS Search][nixos-search], they might be defined here. |
| `/home/packages.nix` | A list of packages that should be available only to the user. This is where most of the installed packages are defined. | | `/package-overrides` | Updated or pinned versions of packages that have not been upstreamed to nixpkgs (yet). |
| `/secrets` | Encrypted [sops-nix][sops-nix] secrets. |
| `flake.nix` | The root of everyting. Defines the inputs and outputs of the project. Also applies misc overlays and adds config-wide modules. See [Nix Flakes][nix-flakes] for more information. |
## Hosts ## Hosts
| Host | Machine type | Purpose | | Host | Machine type | Purpose |
|------|--------------|---------| |------|--------------|---------|
| `Tsuki` | Dell Poweredge r710 server | Data storage / Build server / Selfhosted services. This server hosts a wide variety of services, including websites, matrix server, git repos, CI/CD and more. | | `Tsuki` | Dell Poweredge r710 server | Data storage / Build server / Selfhosted services. This server hosts a wide variety of services, including websites, matrix server, git repos, CI/CD and more. **This is probably the most interesting machine to pick config from** |
| `Kasei` | AMD CPU / Nvidia GFX based desktop computer | Semi-daily driver. This is my main computer at home. Most of the configuration written in `/home` is made specifically for this computer, since `Eisei` is out of service at the moment. | | `Kasei` | AMD Zen 2 CPU / Nvidia GPU - desktop computer | Semi-daily driver. This is my main computer at home. Most of the configuration written in `/home` is made specifically for this computer, since `Eisei` is out of service at the moment. |
| `Eisei` | HP Laptop | At the moment, this laptop is not in use. I've found that I'm not able to use NixOS quickly enough in a university environment where I need to rapidly install software and maintain project configurations (Makefile, Maven, django, npm, etc...) for several subjects. In addition to the configurations, some of the software is not available on NixOS. As a result, I would the be forced to package or FHS a lot of stuff in order to do anything productive. I might return to using NixOS on my laptop in the future. | | `Eisei` | HP Laptop | At the moment, this laptop is not in use. I've found that I'm not able to use NixOS quickly enough in a university environment where I need to rapidly install software and maintain project configurations (Makefile, Maven, django, npm, etc...) for several subjects. In addition to the configurations, some of the software is not available on NixOS. As a result, I would the be forced to package or FHS a lot of stuff in order to do anything productive. I might return to using NixOS on my laptop in the future. |
## Nix Secrets ## home-manager configuration
Some options that are sensitive have been redacted from the files, and put into another repo. Some of the secrets are available through the `secrets` input, others are direct module configuration that is importet in `/home/home.nix`. Although this repo is required for this project to work, most of the options should be named in a way that their value type is almost guessable. | Path | Purpose |
|------|---------|
| `/home/config` | Configuration for everything that is not a program, nor a service, and are big enough to warrant their own file or directory. |
| `/home/modules` | Custom home-manager modules. |
| `/home/packages.nix` | A list of packages that should be included in the environment. |
| `/home/programs` | Configuration for programs that have their own home-manager modules. |
| `/home/services` | Configuration for services/daemons that are user-specific. |
| `/home/shell.nix` | Shell-agnostic configuration. This includes aliases, envvars, functions, etc. |
[home-manager]: https://github.com/nix-community/home-manager [home-manager]: https://github.com/nix-community/home-manager
[nixos-search]: https://search.nixos.org/options
[sops-nix]: https://github.com/Mic92/sops-nix
[nix-flakes]: https://nixos.wiki/wiki/Flakes [nix-flakes]: https://nixos.wiki/wiki/Flakes

View File

@ -43,7 +43,8 @@
}; };
maunium-stickerpicker = { maunium-stickerpicker = {
url = "git+file:///home/h7x4/git/maunium-stickerpicker-nix"; # url = "git+file:///home/h7x4/git/maunium-stickerpicker-nix";
url = "github:h7x4/maunium-stickerpicker-nix/project-rewrite";
}; };
minecraft = { minecraft = {
@ -177,6 +178,7 @@
secrets.outputs.nixos-config secrets.outputs.nixos-config
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
vscode-server.nixosModules.default vscode-server.nixosModules.default
maunium-stickerpicker.nixosModules.default
(args: import minecraft.outputs.nixosModules.minecraft-servers (args // { (args: import minecraft.outputs.nixosModules.minecraft-servers (args // {
pkgs = unstable-pkgs; pkgs = unstable-pkgs;

View File

@ -14,6 +14,7 @@ in {
./programs/atuin.nix ./programs/atuin.nix
./programs/comma.nix ./programs/comma.nix
./programs/firefox.nix ./programs/firefox.nix
./programs/gdb.nix
./programs/gh.nix ./programs/gh.nix
./programs/git.nix ./programs/git.nix
./programs/gpg.nix ./programs/gpg.nix

View File

@ -2,62 +2,35 @@
inherit (config) machineVars; inherit (config) machineVars;
in { in {
home.packages = with pkgs; [ home.packages = with pkgs; [
asciidoctor
beets beets
biber
broot
castnow
catdocx
cheat
cli-visualizer
cloc cloc
czkawka czkawka
delta delta
diskonaut diskonaut
diskus
docker
dogdns
du-dust
duf duf
duff duff
epr
fd
ffmpeg ffmpeg
glances
googler
gpg-tui gpg-tui
gping
graphviz graphviz
hck
hexyl
httpie httpie
icdiff
imagemagick imagemagick
ipcalc
jq jq
kepubify kepubify
keybase # keybase
keymapviz keymapviz
kondo
lastpass-cli
lazydocker
libwebp libwebp
lolcat lolcat
manix
mcfly
mdcat mdcat
mdp
mediainfo mediainfo
mkvtoolnix mkvtoolnix
mmv mmv
mtr mtr
navi
neofetch neofetch
nix-diff nix-diff
nix-index nix-index
nix-output-monitor nix-output-monitor
nix-tree nix-tree
nix-zsh-completions nix-update
nixpkgs-review nixpkgs-review
# nixops # nixops
nmap nmap
@ -71,9 +44,7 @@ in {
rclone rclone
ripgrep ripgrep
rsync rsync
rust-motd
sc-im sc-im
sd
slack-term slack-term
taskwarrior taskwarrior
taskwarrior-tui taskwarrior-tui
@ -83,16 +54,12 @@ in {
termtosvg termtosvg
toilet toilet
tokei tokei
tsukae
unpaper unpaper
usbutils usbutils
w3m
waifu2x-converter-cpp waifu2x-converter-cpp
watchexec
wavemon wavemon
wiki-tui wiki-tui
youtube-dl yt-dlp
yq
yubico-pam yubico-pam
yubikey-agent yubikey-agent
yubikey-manager yubikey-manager
@ -105,38 +72,34 @@ in {
icu icu
openssl openssl
xorg.xprop xorg.xprop
] ++ (with pkgs.python3Packages; [ ] ++ (
bpython
]) ++ (with pkgs.haskellPackages; [
# bhoogle
]) ++ (
lib.optionals (!machineVars.headless) [ lib.optionals (!machineVars.headless) [
ahoviewer ahoviewer
anki # anki
ark ark
birdtray birdtray
calibre calibre
cool-retro-term cool-retro-term
darktable # darktable
discord discord
element-desktop element-desktop
geogebra geogebra
gimp gimp
gnome.gnome-font-viewer # gnome.gnome-font-viewer
gnome.seahorse gnome.seahorse
google-chrome google-chrome
inkscape inkscape
insomnia # insomnia
iwgtk iwgtk
keybase-gui # keybase-gui
kid3 kid3
koreader koreader
krita # krita
ktouch ktouch
libnotify libnotify
libreoffice-fresh libreoffice
light light
maim # maim
mopidy mopidy
mopidy-mpd mopidy-mpd
mopidy-soundcloud mopidy-soundcloud
@ -147,17 +110,17 @@ in {
pcloud pcloud
pulseaudio pulseaudio
pulsemixer pulsemixer
scrcpy # scrcpy
shellcheck shellcheck
slack slack
sublime3 # sublime3
# swiPrologWithGui # swiPrologWithGui
sxiv sxiv
tagainijisho # tagainijisho
teams teams
tenacity tenacity
thunderbird thunderbird
transcribe # transcribe
wireshark wireshark
xcalib xcalib
xclip xclip
@ -165,7 +128,7 @@ in {
(xfce.thunar.override { (xfce.thunar.override {
thunarPlugins = with xfce; [ thunarPlugins = with xfce; [
thunar-volman thunar-volman
thunar-dropbox-plugin # thunar-dropbox-plugin
thunar-archive-plugin thunar-archive-plugin
thunar-media-tags-plugin thunar-media-tags-plugin
]; ];
@ -174,9 +137,6 @@ in {
# xsnow # Wait until christmas # xsnow # Wait until christmas
yubioath-flutter yubioath-flutter
yuzu-mainline
zeal
zoom-us
zotero zotero
] ++ lib.optionals (machineVars.laptop) [ ] ++ lib.optionals (machineVars.laptop) [
touchegg touchegg

25
home/programs/gdb.nix Normal file
View File

@ -0,0 +1,25 @@
{ pkgs, ... }:
{
xdg.configFile."gdb/gdbinit".text = ''
# C++ related beautifiers
set print pretty on
set print object on
set print static-members on
set print vtbl on
set print demangle on
set print sevenbit-strings off
set print asm-demangle on
set print elements 0
# Assembly
set disassembly-flavor intel
# Save command history between sessions:
set history save
# Print a beautifully colored prompt:
set prompt \001\033[1;36m\002(gdb) \001\033[0m\002
'';
local.shell.aliases."System Tool Replacements".gdb = "${pkgs.pwndbg}/bin/pwndbg";
}

View File

@ -30,6 +30,7 @@
authors = "shortlog --summary --numbered --email"; authors = "shortlog --summary --numbered --email";
switch-interactive = "!cat <(git branch) <(git branch -r) | grep -v '^\\*\\|HEAD ->' | ${pkgs.fzf}/bin/fzf --reverse --info=inline --preview 'echo {} | xargs git show --color' | sed 's|\\s*.*/||' | xargs git switch"; switch-interactive = "!cat <(git branch) <(git branch -r) | grep -v '^\\*\\|HEAD ->' | ${pkgs.fzf}/bin/fzf --reverse --info=inline --preview 'echo {} | xargs git show --color' | sed 's|\\s*.*/||' | xargs git switch";
si = "switch-interactive"; si = "switch-interactive";
rebase-author = "rebase -i -x \"git commit --amend --reset-author -CHEAD\"";
}; };
extraConfig = { extraConfig = {

View File

@ -9,7 +9,10 @@
colorSlashes = colorRed "/" { middle = "/"; }; colorSlashes = colorRed "/" { middle = "/"; };
p = pkg: "${pkgs.${pkg}}/bin/${pkg}"; p = name: let
pkg = pkgs.${name};
exe = if pkg.meta ? mainProgram then pkg.meta.mainProgram else name;
in "${pkg}/bin/${exe}";
in { in {
local.shell.aliases = { local.shell.aliases = {
@ -82,6 +85,7 @@ in {
"Nix Stuff" = { "Nix Stuff" = {
nxr = "sudo nixos-rebuild switch"; nxr = "sudo nixos-rebuild switch";
nxrl = "sudo nixos-rebuild switch --option builders '' -L";
nix-check-syntax = "nix-instantiate --parse-only"; nix-check-syntax = "nix-instantiate --parse-only";
@ -90,6 +94,39 @@ in {
hms = toString inputs.nix-attr-search.packages.${pkgs.system}.home-manager-search; hms = toString inputs.nix-attr-search.packages.${pkgs.system}.home-manager-search;
nxo = toString inputs.nix-attr-search.packages.${pkgs.system}.nix-option-search; nxo = toString inputs.nix-attr-search.packages.${pkgs.system}.nix-option-search;
# TODO: does this need to be a function?
# ofborg-build = {};
ofborg-nixos-eval = {
type = " ";
alias = [
"HOME=/homeless-shelter"
"NIX_PATH=ofborg-nixpkgs-pr=$(pwd)"
"nix-instantiate"
"./nixos/release.nix"
"-A manual"
"--option restrict-eval true"
"--option build-timeout 1800"
"--argstr system ${pkgs.system}"
"--show-trace"
];
};
ofborg-pkgs-eval = {
type = " ";
alias = [
"HOME=/homeless-shelter"
"NIX_PATH=ofborg-nixpkgs-pr=$(pwd)"
"nix-instantiate"
"./pkgs/top-level/release.nix"
"-A manual"
"--option restrict-eval true"
"--option build-timeout 1800"
"--argstr system ${pkgs.system}"
"--show-trace"
];
};
}; };
# ░█▀▀░█░█░█▀▀░▀█▀░█▀▀░█▄█░█▀▄ # ░█▀▀░█░█░█▀▀░▀█▀░█▀▀░█▄█░█▀▄

View File

@ -1,4 +1,7 @@
{ ... }: { config, ... }:
let
cfg = config.services.atuin;
in
{ {
services.atuin = { services.atuin = {
enable = true; enable = true;
@ -42,4 +45,11 @@
UMask = "0007"; UMask = "0007";
}; };
}; };
local.socketActivation.atuin = {
enable = cfg.enable;
originalSocketAddress = "${cfg.host}:${toString cfg.port}";
newSocketAddress = "/run/atuin.sock";
privateNamespace = false;
};
} }

View File

@ -1,5 +1,6 @@
{ config, ... }: { config, lib, ... }: let
{ cfg = config.services.borgbackup;
in {
services.borgbackup.jobs = let services.borgbackup.jobs = let
createJob = path: endpoint: { createJob = path: endpoint: {
paths = path; paths = path;
@ -14,4 +15,44 @@
minecraft = createJob config.services.minecraft-servers.dataDir "minecraft"; minecraft = createJob config.services.minecraft-servers.dataDir "minecraft";
gitea = createJob config.services.gitea.dump.backupDir "gitea"; gitea = createJob config.services.gitea.dump.backupDir "gitea";
}; };
systemd.services = lib.mkMerge ((lib.flip map) (builtins.attrNames cfg.jobs) (name: {
"borgbackup-job-${name}".serviceConfig = {
# DynamicUser = true;
BindReadOnlyPaths = [
"/home/h7x4/.ssh/id_rsa"
cfg.jobs.${name}.paths
];
# IPAddressAllow="10.0.0.220";
# hardening
# CapabilityBoundingSet = "";
LockPersonality = true;
# MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
# PrivateMounts = true;
# PrivateTmp = true;
# PrivateUsers = true;
ProtectClock = true;
# ProtectHome = "read-only";
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
# ProtectSystem = "strict";
RemoveIPC = true;
RestrictSUIDSGID = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
];
# SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
];
UMask = "0077";
};
}));
} }

View File

@ -1,4 +1,4 @@
{ pkgs, config, lib, secrets, ... }: { pkgs, config, lib, ... }:
{ {
imports = [ imports = [
./prometheus.nix ./prometheus.nix

View File

@ -1,4 +1,4 @@
{ secrets, ... }: { { ... }: {
# TODO: Autogenerate port infrastructure # TODO: Autogenerate port infrastructure
imports = [ imports = [
@ -17,6 +17,6 @@
services.prometheus = { services.prometheus = {
enable = true; enable = true;
port = secrets.ports.prometheus; port = 7001;
}; };
} }

View File

@ -1,4 +1,4 @@
{ pkgs, secrets, config, ... }: { config, pkgs, ... }:
{ {
sops.secrets."headscale/oauth2_secret" = rec { sops.secrets."headscale/oauth2_secret" = rec {
restartUnits = [ "headscale.service" ]; restartUnits = [ "headscale.service" ];
@ -17,7 +17,7 @@
# TODO: make PR # TODO: make PR
# dataDir = "${config.machineVars.dataDrives.default}/var/headscale"; # dataDir = "${config.machineVars.dataDrives.default}/var/headscale";
port = secrets.ports.headscale; port = 39304;
settings = { settings = {
server_url = "https://vpn.nani.wtf"; server_url = "https://vpn.nani.wtf";

View File

@ -1,5 +1,6 @@
{ config, ... }: { config, ... }: let
{ cfg = config.services.invidious;
in {
sops.secrets."postgres/invidious" = { sops.secrets."postgres/invidious" = {
restartUnits = [ "invidious.service" ]; restartUnits = [ "invidious.service" ];
}; };
@ -22,5 +23,12 @@
# popular_enabled = false; # popular_enabled = false;
}; };
}; };
local.socketActivation.invidious = {
enable = cfg.enable;
originalSocketAddress = "${cfg.settings.host_binding}:${toString cfg.port}";
newSocketAddress = "/run/invidious.sock";
privateNamespace = false;
};
} }

View File

@ -8,7 +8,6 @@ in {
}; };
users.users."jupyter".group = "jupyter"; users.users."jupyter".group = "jupyter";
users.groups."jupyter".members = [ "nginx" ];
services.jupyter = { services.jupyter = {
enable = true; enable = true;
@ -95,4 +94,16 @@ in {
''; '';
}; };
}; };
local.socketActivation.jupyter = {
enable = cfg.enable;
originalSocketAddress = "/run/jupyter/jupyter.sock";
newSocketAddress = "/run/jupyter.sock";
privateNamespace = false;
};
systemd.services.jupyter-proxy.serviceConfig = {
User = "jupyter";
Group = "jupyter";
};
} }

View File

@ -1,4 +1,4 @@
{ config, secrets, ... }: let { config, ... }: let
cfg = config.services.matrix-appservice-irc; cfg = config.services.matrix-appservice-irc;
in { in {
services.matrix-appservice-irc = { services.matrix-appservice-irc = {
@ -14,7 +14,7 @@ in {
database = { database = {
engine = "postgres"; engine = "postgres";
connectionString = "postgres://matrix-appservice-irc:@localhost:${toString secrets.ports.postgres}/matrix-appservice-irc?sslmode=disable"; connectionString = "postgres://matrix-appservice-irc:@localhost:${toString config.services.postgresql.port}/matrix-appservice-irc?sslmode=disable";
}; };
ircService.servers."irc.lainchan.org" = { ircService.servers."irc.lainchan.org" = {

View File

@ -1,4 +1,4 @@
{ secrets, ... }: { config, ... }:
{ {
services.mx-puppet-discord = { services.mx-puppet-discord = {
enable = false; enable = false;
@ -15,11 +15,11 @@
# TODO: connect via localhost # TODO: connect via localhost
homeserverUrl = "https://matrix.nani.wtf"; homeserverUrl = "https://matrix.nani.wtf";
port = secrets.ports.matrix.mx-puppet-discord; port = 8434;
enableGroupSync = true; enableGroupSync = true;
}; };
database.connString = "postgres://mx-puppet-discord:@localhost:${toString secrets.ports.postgres}/mx-puppet-discord?sslmode=disable"; database.connString = "postgres://mx-puppet-discord:@localhost:${toString config.services.postgresql.port}/mx-puppet-discord?sslmode=disable";
namePatterns = { namePatterns = {
room = ":name"; room = ":name";

View File

@ -5,6 +5,8 @@
./bridges/mx-puppet-discord.nix ./bridges/mx-puppet-discord.nix
./bridges/matrix-appservice-irc.nix ./bridges/matrix-appservice-irc.nix
./maunium-stickerpicker.nix
./postgres.nix ./postgres.nix
./coturn.nix ./coturn.nix
]; ];
@ -84,6 +86,7 @@
# redis.enabled = true; # redis.enabled = true;
max_upload_size = "100M"; max_upload_size = "100M";
dynamic_thumbnails = true;
}; };
}; };

View File

@ -1,58 +1,38 @@
# This is imported directly by the nginx config { config, pkgs, lib, ... }: let
{ lib, maunium-stickerpicker, secrets, ... }: let stickerpacks = pkgs.callPackage ./stickers { };
stickerpickerWithStickerbot = sha256: packs:
maunium-stickerpicker.outputs.createStickerPicker {
homeserver = "https://matrix.nani.wtf";
userId = "@stickerbot1:nani.wtf";
accessTokenFile = secrets.settings.keys.matrix.stickerbot-access-token;
inherit sha256 packs;
};
in { in {
stickers-h7x4 = stickerpickerWithStickerbot services.maunium-stickerpicker = {
"+1ccLd+7zN6ZEFSuzb+K+0sn2wOm3EGhL1GNLTh5+5M=" enable = true;
[ instances."pingu" = {
{ realMatrixDomain = "matrix.nani.wtf";
type = "chatsticker"; stickerMatrixDomain = "pingu-stickers.nani.wtf";
name = "dog-cat-dogboy-side-1"; # These will be defined by `useACMECert` in nginx config
title = "Dogboy"; enableACME = false;
} stickerpacks = with stickerpacks; [
{ dogCatCatgirlSide
type = "chatsticker"; frownCat1
name = "frown-cat-vol-2-1"; niniCouple1
title = "Frown Cat 2"; niniCouple2
} sweetCouple1
{ pokemonPiplup
type = "url-list"; hutao
src = ./stickers/ninicouple.txt; ];
title = "Nini Couple"; };
}
{
type = "url-list";
src = ./stickers/sweet-couple.txt;
title = "Sweet Couple";
}
];
stickers-pingu = stickerpickerWithStickerbot instances."h7x4" = {
"0m2OoL0jmwGnYUbRBSaHyM4hMLNX2uDlYykdUbqhU4o=" realMatrixDomain = "matrix.nani.wtf";
[ stickerMatrixDomain = "h7x4-stickers.nani.wtf";
{ enableACME = false;
type = "chatsticker"; stickerpacks = with stickerpacks; [
name = "dog-cat-catgirl-side-1"; dogCatDogboySide
} niniCouple1
{ niniCouple2
type = "chatsticker"; sweetCouple1
name = "frown-cat-1"; frownCat2
} pokemonPiplup
{ hololiveENGura
type = "url-list"; misc
src = ./stickers/ninicouple.txt; ];
title = "Nini Couple"; };
} };
{
type = "url-list";
src = ./stickers/sweet-couple.txt;
title = "Sweet Couple";
}
];
} }

View File

@ -1,4 +1,4 @@
{ lib, config, secrets, ... }: { lib, config, ... }:
{ {
services.postgresql = let services.postgresql = let
o = lib.optional; o = lib.optional;

View File

@ -0,0 +1,91 @@
{ config, pkgs, lib, ... }:
{
misc = {
id = "misc";
title = "Misc";
stickers = [
{
id = "nixos";
title = "Nixos Logo";
path = ./misc/nixos.png;
}
];
};
dogCatDogboySide = {
id = "dog-cat-dogboy-side";
title = "Dog Cat Dogboy Side";
stickers = ./json/dog-cat-dogboy-side.json;
hash = "sha256-EVGDR/8xlTnba0YHm/c2CTuwJHFC8BHHBNMnGx+aoQU=";
};
dogCatCatgirlSide = {
id = "dog-cat-catgirl-side";
title = "Dog Cat Catgirl Side";
stickers = ./json/dog-cat-catgirl-side.json;
hash = "sha256-bvp/bNVbSmatD30xJpJLEW5cO0sRudcHbb5lVI69Z/A=";
};
niniCouple1 = {
id = "ninicouple-1";
title = "Nini Couple 1";
stickers = ./json/nini-couple-1.json;
hash = "sha256-S8QP2KVzF1bCUC7lVJP2dEbuVilxTqtQs9/3Q+kPMjM=";
outputType = "png";
};
niniCouple2 = {
id = "ninicouple-2";
title = "Nini Couple 2";
stickers = ./json/nini-couple-2.json;
hash = "sha256-vZa3S2LIj4vUsX2edy9zGXA5GkOqzbBk82yD+8PqFcw=";
outputType = "png";
};
sweetCouple1 = {
id = "sweet-couple-1";
title = "Sweet Couple 1";
stickers = ./json/sweet-couple-1.json;
hash = "sha256-dZDRgkCS29wW+/1su9i/3O/MtcRSChwu4DLKj5UooAw=";
outputType = "png";
};
frownCat1 = {
id = "frown-cat-1";
title = "Frown Cat 1";
stickers = ./json/frown-cat-1.json;
hash = "sha256-BGtSA2Zd1Em3QuooSvO8d6+gNnsJzxIJRRvokWyYu8Y=";
outputType = "png";
};
frownCat2 = {
id = "frown-cat-2";
title = "Frown Cat 2";
stickers = ./json/frown-cat-2.json;
hash = "sha256-loVBgwudKMxL8/wxO9tBrKzkH9X4TWPa0JdmnJw8pWo=";
outputType = "png";
};
hololiveENGura = {
id = "hololive-en-gura";
title = "Hololive EN Gura";
stickers = ./json/hololive-en-gura.json;
hash = "sha256-3PHaYCKG3/s674PApgaE/bTF7OU5eKndywPxnsCEpA0=";
outputType = "png";
};
hutao = {
id = "hutao";
title = "Hu Tao";
stickers = ./json/hutao.json;
hash = "sha256-ECEK7bYa9dyPBAi74A/Gjt08MHUBTZHAPzAeusynEjM=";
};
pokemonPiplup = {
id = "pokemon-piplup";
title = "Pokemon Piplup";
stickers = ./json/pokemon-piplup.json;
hash = "sha256-F2ugOHZbCLxArXzja57+GA2dzUg7XwhGXr+SLLksVqY=";
outputType = "png";
};
}

View File

@ -0,0 +1,42 @@
[
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323496.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323497.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323498.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323499.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323500.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323501.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323502.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323503.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323504.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323505.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323506.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323507.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323508.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323509.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323510.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323511.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323512.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323513.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323514.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323515.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323516.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323517.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323518.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323519.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323520.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323521.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323522.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323523.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323524.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323525.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323526.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323527.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323528.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323529.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323530.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323531.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323532.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323533.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323534.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254558/android/stickers/10323535.png" }
]

View File

@ -0,0 +1,42 @@
[
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323376.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323377.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323378.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323379.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323380.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323381.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323382.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323383.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323384.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323385.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323386.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323387.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323388.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323389.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323390.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323391.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323392.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323393.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323394.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323395.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323396.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323397.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323398.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323399.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323400.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323401.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323402.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323403.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323404.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323405.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323406.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323407.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323408.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323409.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323410.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323411.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323412.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323413.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323414.png" },
{ "url": "https://sdl-stickershop.line.naver.jp/products/0/0/1/1254555/android/stickers/10323415.png" }
]

View File

@ -0,0 +1,32 @@
[
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/e866d4d1-b096-4147-a17a-26209153cb64.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/14e262e3-30bf-4ffe-8e73-2a4fa9421d2a.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/537cf213-f221-495e-a8f1-b1dd6a72c798.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/67c4dd47-c7f5-4990-a981-2e2c8ec1e11c.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/6ad40b60-f3d4-4942-8019-b31c254f6ea7.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/ee69db11-82aa-423a-9e42-b574f296f391.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/069478f9-5457-41aa-a9a2-15357168e925.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/bb4d9d8f-0490-4a9d-94c3-355b95599350.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/468a2032-2582-4e06-b083-43c5647d5621.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/d5ab1fe0-ab27-42b5-a5f1-e3e7cb8f9a91.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/6039a9d9-a5d1-446a-a8c8-9c8a1556b778.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/3b0c679e-5a86-4482-9f48-99db7a92fda5.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/ac55bbff-f621-464a-ae1d-e0bdfa625e53.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/bca13206-0be4-4167-acdf-8ffb4738e9f5.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/6b28a317-f656-4b65-bbdb-cb1d934a8ad9.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/9fac08fa-b510-4beb-8cb1-3c0013008bc3.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/861b4c31-aeac-4c08-aa2a-6f652a1231e5.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/496c9fea-280c-4027-8c52-8a829d756d7c.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/5581017f-8288-45c3-8fa2-2b6d32318a44.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/d100e872-4514-4b8a-ad3e-1a9d271fae37.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/ca6e52a4-c3a9-40dc-a6db-e77859570bf9.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/2100abf2-f486-4df1-ac68-39f728fabc00.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/e89719c8-f0ca-4c4f-ac96-5f36f8a24582.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/55f88a3d-5db9-426f-a408-f356943838a6.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/0336345e-21ef-4ee7-a16e-32df8737b940.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/4f4680cd-bb7f-49cb-b486-375c1f06dc1f.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/147c43d9-f474-4384-b0be-3401b4471eec.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/40d45d42-5f7f-4f18-9984-ca6a71f3096f.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/c1f997df-86ee-4c00-a19a-d8060b0405df.webp" },
{ "url": "https://img-06.stickers.cloud/packs/53472e2e-967a-41a0-b39a-9425aa3134c9/webp/5a56992a-94a7-470a-95aa-148cd13a8d65.webp" }
]

View File

@ -0,0 +1,22 @@
[
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/8d20401d-71b1-41cb-b042-5e226a7e092d.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/336bc490-29e0-4abf-8080-87c9b3b11a1f.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/c1d1fd65-8767-4948-af9b-af143d1c9ab3.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/7c52ae1b-ce7a-4434-a4f0-9ce009b3d23c.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/80b066a0-2a95-42a5-bcf0-c72381ac620a.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/3b2f9b77-eb54-4aed-87f7-bbcae77e137b.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/6bf3bccd-fdcd-4b0d-934c-cf0cb36e1833.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/e829e4ba-fd3a-4dbb-8dc1-eb50da66d963.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/00b6ea44-21c1-4493-bc04-88a313786e83.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/0478b7f3-0e28-4870-9bfc-7d6459df12b0.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/2aac16f7-9c36-499d-8842-229668a61970.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/94b6dbd2-150d-4165-ac32-171bbdcf748a.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/d0219e56-37e5-4740-bda6-e0d43953d03b.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/d507aeb2-b6d4-4a41-b030-66badc8fadba.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/c3387a38-ea2e-4cdc-9a61-321a7f37899c.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/ec965822-7643-4e52-bc5f-7fbbc30ef842.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/1c644730-5b6c-449b-9bd0-e470e425d06f.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/bd6a2937-c113-4e4f-9963-796d0e265dec.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/8e0b8a38-b971-43ae-b5bd-1c2849ca7a18.webp" },
{ "url": "https://img-05.stickers.cloud/packs/44bc62ff-ab1f-4e0e-b729-e9d9aefb2ae3/webp/db911ccb-dbfc-478f-883d-e27b8df7f0ad.webp" }
]

View File

@ -0,0 +1,29 @@
[
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/77887e53-7aa5-467b-9338-2a98c04ceaf5.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/693922a2-01ff-4653-864f-baf0dfb7a639.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/742c1307-6deb-472e-b59b-fb170d335a9a.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/5b9453fc-93e4-4c5d-a60b-af85adca75bc.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/88df85ca-22dd-45d2-8902-d71114036578.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/14919555-a0a0-4df0-9f35-6f6771e0c266.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/939abd36-91f2-4570-b94e-c549ae20e8df.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/f8d3592b-34b8-4391-add2-cdc77b3970b4.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/63d460dc-1c38-465c-87fd-153245bb09c0.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/8f034aeb-bcea-4d7f-b27e-dad6d6cee452.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/5ba578a6-be51-4b4d-8f76-44af727a80d8.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/e9352cb3-3e24-4217-af40-9e60fdef2028.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/bc64423c-037e-4018-9ec0-d7ffe704b6a1.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/6e9d7e8d-2fbc-4ab3-86bc-eeab3bb0264a.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/1cf71a5d-743a-43ff-ba90-dcb339d3bd20.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/0aeb4133-dbbb-448f-848a-c30243ef04a2.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/b761486a-61e1-4234-8357-080f4a66590e.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/0dea0304-e303-426d-9530-e5ed00d29b10.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/f4556e05-343b-4610-846a-7cf27bbc7e08.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/651c30c8-b44b-4c92-9d24-66b532355d97.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/d18014b8-5976-4f4f-9032-04791f7d30f7.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/401d1642-f730-42a5-b96b-fce101868a51.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/867438f6-e274-48c3-a15b-f23233bd5957.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/9cbcb03e-9167-4a0d-bb23-ae80d0f984e7.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/ea1074c5-c361-4690-89e3-f01493eb4120.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/7a3eb886-ccfb-4b15-b992-4a3d087256a7.webp" },
{ "url": "https://img-13.stickers.cloud/packs/cb4d8a5c-ff47-4840-9f8f-3e97355288cf/webp/1848b422-58c9-4504-8182-98c7838b2159.webp" }
]

View File

@ -0,0 +1,15 @@
[
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_1.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_2.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_3.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_4.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_5.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_6.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_7.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_8.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_9.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_10.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_13.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_14.png" },
{ "url": "https://s3.getstickerpack.com/storage/uploads/sticker-pack/hutao/sticker_15.png" }
]

View File

@ -0,0 +1,32 @@
[
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/ef77be2a-bab7-4a4b-8b40-7795a12d795f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/b453b18a-2d26-4d90-93d0-e15fae37e0df.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/91fb71cc-1c64-44cc-bb1c-cff1cbae68ae.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/17c052ff-e131-4968-bb00-66d5da334cdd.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/633be41c-e631-43b2-95c9-205a3cdffb7d.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/7fea17b3-6057-49c4-8f91-c2bdd128248f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/3d36005f-c8b7-4a63-98de-e545971004ab.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/02d49037-fdf7-48ae-9412-4fe1a81d478f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/da776675-89ee-49d5-9d18-519a4d17ddd6.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/0dd6a467-c233-44c5-9360-05b161541968.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/04296747-21c4-46d5-96ba-7460a5f6efa5.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/34bb2cd8-32a8-4adc-89b0-385c710db994.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/b46ab9c1-b577-471e-9018-d90fd4d70c5f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/70f6ad6e-1468-48e3-b285-1c1cd2fefa06.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/93483578-d082-476e-bcb5-4f6737b5ba4f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/8e1e896f-ad2a-448a-b175-578a08e63e2f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/86b0a66e-98a2-4b99-a1ce-bb99dda195b6.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/c878993f-93d9-4db0-8910-8f804bd60d3f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/2fa87553-8a2f-4011-8ffa-3afc05c6c50e.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/98cbe8ef-9786-42dc-b57e-c8b9e354615f.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/4cca7f66-d135-4a20-be0e-969acff0b1b6.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/21aeb907-34b9-4474-bb80-49533e499ab0.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/023cb6b7-d6a6-4b94-a7bf-db6e2df409fd.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/d08c28cb-64cd-4908-bcb6-11765d4f32cb.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/cd3415d4-2448-453f-be61-a6d326954b94.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/95bb4dd4-b1b3-4f8e-b393-84325d592aad.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/2a7f1e7c-2a5f-4ed7-b0b9-5a57f4c8e2e3.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/48a26c1c-a16d-4dd1-a95c-18af0ec1043b.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/4fba5b36-c591-4f30-8767-8c989197d6d9.webp" },
{ "url": "https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/8c4d63db-a9c7-478c-8c41-a600fa86f21b.webp" }
]

View File

@ -0,0 +1,32 @@
[
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/ce17ab0c-1f57-429c-9268-54336fa343af.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/6f00261a-f436-4aab-a259-304eab345e0b.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/77410c00-8a33-466e-b97f-95e960fb6091.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/a5525407-519d-42f1-a5f7-b94ffe17652d.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/0ab028d0-9b9f-473f-819a-4703e3293497.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/806943f7-c1e2-4a7a-870f-367704e310f2.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/c9079bce-dd84-48ff-8ca9-722f1736a155.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/91ff752c-ac80-482e-a825-f847f64ae5d0.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/9afc3a8a-a8e0-400b-a719-b2e8da11d655.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/7042fb3a-3db5-4b80-ab9b-f9a8f381b04f.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/b505997c-72b1-4eae-b67b-a1ad9eedf658.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/4fd1a366-0f7b-4dd8-9ed6-481a6a4678cb.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/87f04660-38da-4c7c-8bef-bc72ea1260e9.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/0497b461-6f36-4d1d-bd71-3fd009a5e835.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/f0a98d21-1c9a-4af1-a2b8-31b1551964a0.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/2491f2e1-fd37-42d4-b92a-47f4512402da.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/5434384f-b7c0-41b1-8447-5dd891642bfa.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/ffd956fb-6cbd-4358-8957-466f002da00d.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/a8177434-8f4e-4fda-928c-d58235d07d5e.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/683895d1-107e-47f6-9ce3-2bc218973229.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/b6c8002c-638f-49db-aad0-6a0ed6188e2d.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/1d7f3595-695c-4d1f-9915-cad59f2a0112.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/0cd2f847-1c2e-47d1-a51c-7e333f4befa1.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/8a4f9695-c073-4321-a104-9a1c35ac6ca9.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/56a41664-0bab-4e2d-950d-f14f49a8e173.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/46d12ee9-6a58-4709-ab71-250badd24663.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/88ef6bd0-8e6d-4fc3-aacf-bd2a3d864cec.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/5a2c3751-5ff5-495d-a4e6-38b655283285.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/791a833c-173f-4f35-a872-75fffd4832b9.webp" },
{ "url": "https://img-02.stickers.cloud/packs/1c5af007-f375-490c-826e-1db2ce3f11f8/webp/2dd9548c-caec-4698-b330-26a0f4be4e4e.webp" }
]

View File

@ -0,0 +1,32 @@
[
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/5716c967-399f-4cf0-a26d-3731151e3663.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/774675fd-1747-489c-ac50-1baf20b40e04.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/0929d851-b6d9-4c55-8c02-10a96622a11d.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/c476ae30-4303-4a4f-8412-08f6308fb920.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/8540e350-fbc1-445d-a9f1-cef3797758df.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/d2b5899f-1977-40f0-960c-0c9ba6304a69.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/33012770-6fca-413d-8556-6e42eba3ebe8.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/378a14d8-9997-4bcc-ba1f-69d5a2f3ab4f.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/697f578a-6b34-4302-9733-e1873c7ab3a9.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/d1310cad-d7c3-4b49-82b2-19eb5fb3d2b7.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/b6f2c461-987b-409c-adfc-8e1a51452695.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/6f512720-355e-4ae0-8f31-5f9d23682986.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/bb7bfde7-6e0b-4cdb-a3ec-df5f6ba50023.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/4c14797d-baf5-4d78-90c1-62487ef3c324.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/eeb4a6f2-50ee-482c-9a6e-eaebaf1fbc26.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/2ef58839-8a20-4dfa-871c-5be979bd6fb2.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/4d495554-a135-4edf-9ec9-b72609ed7c6d.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/9e3d8226-62ca-4137-83a4-15e69550aa97.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/67b083dc-7a88-46b0-a977-72d23caa6817.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/b75ebf52-30fe-4872-9c0c-ed4d183d41cc.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/65ee8098-84c1-49ba-94d1-9487112d24c9.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/193d317c-f84d-4150-8655-5b72b80bf294.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/58b95b09-648e-473b-bdaf-8851f24c6712.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/dce83f68-8ee9-4141-be7f-bd3ddbaa43ef.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/a3c0c71d-48c8-49fc-80db-354ef0c19397.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/7d33124b-ae8d-4cba-b7a5-34d76318ec89.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/080b01ce-0da3-4769-89e5-d37bc569476e.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/7f16e431-b8c6-4695-9a84-9900c33d0add.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/1849b1c6-8511-446b-bf2a-6d9fdecbee9a.webp" },
{ "url": "https://img-11.stickers.cloud/packs/a258c9dc-1240-4983-82f6-a5266585b093/webp/25c1500a-c75b-400f-bd8a-3de8aba59719.webp" }
]

View File

@ -0,0 +1,32 @@
[
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/15737a66-27f6-4b5f-ad55-ba8e5546b2d8.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/13876e00-b549-431c-ad7f-776ccb21dbb2.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/5e28c467-d7e1-45ab-8717-927936356ccf.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/bfe10a5e-2b43-4404-84a3-01a4d3b96561.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/16d7b6b0-bf19-4d64-97d3-865ab0587772.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/a195ed4b-607c-46f0-a690-2528b1ba4608.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/faaee964-e0bf-4bfb-a8a4-43525f09cddb.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d23591f6-deed-46fe-9940-1d20141e56cc.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/4fac89e3-3f61-4740-871b-80765a6db187.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/365cb210-7fd3-4370-a473-5cf6d933d1e2.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/feff7820-ee7d-41ea-8461-8b9c1b96d977.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ac388c22-dbb7-4664-92c3-2f09c8126a33.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/68ed03df-c514-4cdf-98de-f041dd0e5b1e.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/4a6dd3f8-bfcf-49f9-a913-d0a969a8c0bc.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ecac1cbb-5d6b-4ada-bb41-f7d618c63704.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ff7f1478-9b41-417f-846c-1eb4bd3d309b.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/bb864ad1-c4f8-4b75-a83b-823efe501426.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ca8be8ce-d1d5-4272-87f1-be281a054ffa.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/a2f0293d-1dd9-4a80-9c5b-0b81643c7de6.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/26e6cb9e-6054-4675-8870-ac290d05cefa.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ba0ba469-00fa-47b4-b812-7405472b1d93.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/5dba7ca0-0b51-46ca-b666-7c4c897c9cc5.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/3d95e45c-d33b-4745-8df9-09dcb3199462.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ffba7b92-dcb3-437e-9641-fa6ae60f9edd.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/39efc574-aa1a-402b-9630-10590609286a.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/24409e2d-73fb-4ff5-94a7-a44b65f28b43.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/59370df7-68a1-4801-9bc8-d3a3db06fa15.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d178714a-cb4d-4823-ba40-4357352a6857.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d83de707-4174-4f23-9f7b-0c4271d75277.webp" },
{ "url": "https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/963e8128-08c4-40ef-b8e7-8b713dc00e8d.webp" }
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,30 +0,0 @@
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/ef77be2a-bab7-4a4b-8b40-7795a12d795f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/b453b18a-2d26-4d90-93d0-e15fae37e0df.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/91fb71cc-1c64-44cc-bb1c-cff1cbae68ae.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/17c052ff-e131-4968-bb00-66d5da334cdd.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/633be41c-e631-43b2-95c9-205a3cdffb7d.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/7fea17b3-6057-49c4-8f91-c2bdd128248f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/3d36005f-c8b7-4a63-98de-e545971004ab.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/02d49037-fdf7-48ae-9412-4fe1a81d478f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/da776675-89ee-49d5-9d18-519a4d17ddd6.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/0dd6a467-c233-44c5-9360-05b161541968.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/04296747-21c4-46d5-96ba-7460a5f6efa5.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/34bb2cd8-32a8-4adc-89b0-385c710db994.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/b46ab9c1-b577-471e-9018-d90fd4d70c5f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/70f6ad6e-1468-48e3-b285-1c1cd2fefa06.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/93483578-d082-476e-bcb5-4f6737b5ba4f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/8e1e896f-ad2a-448a-b175-578a08e63e2f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/86b0a66e-98a2-4b99-a1ce-bb99dda195b6.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/c878993f-93d9-4db0-8910-8f804bd60d3f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/2fa87553-8a2f-4011-8ffa-3afc05c6c50e.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/98cbe8ef-9786-42dc-b57e-c8b9e354615f.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/4cca7f66-d135-4a20-be0e-969acff0b1b6.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/21aeb907-34b9-4474-bb80-49533e499ab0.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/023cb6b7-d6a6-4b94-a7bf-db6e2df409fd.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/d08c28cb-64cd-4908-bcb6-11765d4f32cb.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/cd3415d4-2448-453f-be61-a6d326954b94.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/95bb4dd4-b1b3-4f8e-b393-84325d592aad.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/2a7f1e7c-2a5f-4ed7-b0b9-5a57f4c8e2e3.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/48a26c1c-a16d-4dd1-a95c-18af0ec1043b.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/4fba5b36-c591-4f30-8767-8c989197d6d9.webp
https://img-12.stickers.cloud/packs/bc826397-66e3-45a9-a7ce-246d8ac885ef/webp/8c4d63db-a9c7-478c-8c41-a600fa86f21b.webp

View File

@ -1,30 +0,0 @@
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/15737a66-27f6-4b5f-ad55-ba8e5546b2d8.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/13876e00-b549-431c-ad7f-776ccb21dbb2.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/5e28c467-d7e1-45ab-8717-927936356ccf.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/bfe10a5e-2b43-4404-84a3-01a4d3b96561.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/16d7b6b0-bf19-4d64-97d3-865ab0587772.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/a195ed4b-607c-46f0-a690-2528b1ba4608.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/faaee964-e0bf-4bfb-a8a4-43525f09cddb.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d23591f6-deed-46fe-9940-1d20141e56cc.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/4fac89e3-3f61-4740-871b-80765a6db187.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/365cb210-7fd3-4370-a473-5cf6d933d1e2.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/feff7820-ee7d-41ea-8461-8b9c1b96d977.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ac388c22-dbb7-4664-92c3-2f09c8126a33.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/68ed03df-c514-4cdf-98de-f041dd0e5b1e.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/4a6dd3f8-bfcf-49f9-a913-d0a969a8c0bc.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ecac1cbb-5d6b-4ada-bb41-f7d618c63704.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ff7f1478-9b41-417f-846c-1eb4bd3d309b.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/bb864ad1-c4f8-4b75-a83b-823efe501426.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ca8be8ce-d1d5-4272-87f1-be281a054ffa.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/a2f0293d-1dd9-4a80-9c5b-0b81643c7de6.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/26e6cb9e-6054-4675-8870-ac290d05cefa.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ba0ba469-00fa-47b4-b812-7405472b1d93.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/5dba7ca0-0b51-46ca-b666-7c4c897c9cc5.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/3d95e45c-d33b-4745-8df9-09dcb3199462.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/ffba7b92-dcb3-437e-9641-fa6ae60f9edd.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/39efc574-aa1a-402b-9630-10590609286a.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/24409e2d-73fb-4ff5-94a7-a44b65f28b43.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/59370df7-68a1-4801-9bc8-d3a3db06fa15.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d178714a-cb4d-4823-ba40-4357352a6857.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/d83de707-4174-4f23-9f7b-0c4271d75277.webp
https://img-14.stickers.cloud/packs/da7da4eb-f83c-4a8f-abc4-e398fb852ed7/webp/963e8128-08c4-40ef-b8e7-8b713dc00e8d.webp

View File

@ -41,7 +41,7 @@
srv = config.services; srv = config.services;
sa = config.local.socketActivation; sa = config.local.socketActivation;
in { in {
"atuin".servers."localhost:${s srv.atuin.port}" = { }; "atuin".servers."unix:${sa.atuin.newSocketAddress}" = { };
"dynmap".servers."localhost:${s ports.minecraft.dynmap}" = { }; "dynmap".servers."localhost:${s ports.minecraft.dynmap}" = { };
"gitea".servers."unix:/run/gitea/gitea.sock" = { }; "gitea".servers."unix:/run/gitea/gitea.sock" = { };
"grafana".servers."unix:/run/grafana/grafana.sock" = { }; "grafana".servers."unix:/run/grafana/grafana.sock" = { };
@ -49,15 +49,15 @@
"hedgedoc".servers."unix:${srv.hedgedoc.settings.path}" = { }; "hedgedoc".servers."unix:${srv.hedgedoc.settings.path}" = { };
"hydra".servers."localhost:${s srv.hydra.port}" = { }; "hydra".servers."localhost:${s srv.hydra.port}" = { };
"idrac".servers."${ips.idrac}" = { }; "idrac".servers."${ips.idrac}" = { };
"invidious".servers."localhost:${s config.services.invidious.port}" = { }; "invidious".servers."unix:${sa.invidious.newSocketAddress}" = { };
"jupyter".servers."unix:/run/jupyter/jupyter.sock" = { }; "jupyter".servers."unix:${sa.jupyter.newSocketAddress}" = { };
"kanidm".servers."localhost:8300" = { }; "kanidm".servers."localhost:8300" = { };
"navidrome".servers."unix:${sa.navidrome.newSocketAddress}" = { }; "navidrome".servers."unix:${sa.navidrome.newSocketAddress}" = { };
"osuchan".servers."localhost:${s ports.osuchan}" = { }; "osuchan".servers."localhost:${s ports.osuchan}" = { };
"pgadmin".servers."unix:${srv.uwsgi.instance.vassals.pgadmin.socket}" = { }; "pgadmin".servers."unix:${srv.uwsgi.instance.vassals.pgadmin.socket}" = { };
"plex".servers."localhost:${s ports.plex}" = { }; "plex".servers."localhost:${s ports.plex}" = { };
"proxmox".servers."${ips.px1}:${s ports.proxmox}" = { }; "proxmox".servers."${ips.px1}:${s ports.proxmox}" = { };
"vaultwarden".servers."localhost:${s srv.vaultwarden.config.ROCKET_PORT}" = { }; "vaultwarden".servers."unix:${sa.vaultwarden.newSocketAddress}" = { };
}; };
virtualHosts = let virtualHosts = let
@ -164,14 +164,10 @@
(proxy ["py"] "http://jupyter" enableWebsockets) (proxy ["py"] "http://jupyter" enableWebsockets)
(proxy ["vpn"] "http://headscale" enableWebsockets) (proxy ["vpn"] "http://headscale" enableWebsockets)
(proxy ["yt"] "http://invidious" {}) (proxy ["yt"] "http://invidious" {})
] ++ (let
stickerpickers = pkgs.callPackage ../matrix/maunium-stickerpicker.nix { (host ["h7x4-stickers"] {})
inherit (inputs) maunium-stickerpicker secrets; (host ["pingu-stickers"] {})
}; ]));
in [
(host ["stickers-pingu"] { root = "${stickerpickers.stickers-pingu}/"; })
(host ["stickers-h7x4"] { root = "${stickerpickers.stickers-h7x4}/"; })
])));
streamConfig = '' streamConfig = ''
server { server {

View File

@ -2,9 +2,8 @@
{ {
services.osuchan = { services.osuchan = {
enable = true; enable = true;
port = secrets.ports.osuchan; port = 9283;
secretFile = "${config.machineVars.dataDrives.default}/keys/osuchan/envfile"; secretFile = "${config.machineVars.dataDrives.default}/keys/osuchan/envfile";
}; };
systemd.services.osuchan.after = [ systemd.services.osuchan.after = [

View File

@ -1,4 +1,4 @@
{ config, secrets, ... }: let { config, ... }: let
cfg = config.services.plex; cfg = config.services.plex;
in { in {
services.plex = { services.plex = {
@ -29,6 +29,4 @@ in {
# RestrictAddressFamilies = [ "AF_UNIX AF_INET AF_INET6" ]; # RestrictAddressFamilies = [ "AF_UNIX AF_INET AF_INET6" ];
SystemCallArchitectures = "native"; SystemCallArchitectures = "native";
}; };
# networking.firewall.allowedTCPPorts = [ secrets.ports.plex ];
} }

View File

@ -1,4 +1,4 @@
{ config, pkgs, lib, secrets, ... }: let { config, pkgs, lib, ... }: let
cfg = config.services.postgresql; cfg = config.services.postgresql;
in { in {
services.postgresql = { services.postgresql = {
@ -10,7 +10,6 @@ in {
host all all 127.0.0.1/32 trust host all all 127.0.0.1/32 trust
host all all ::1/128 trust host all all ::1/128 trust
''; '';
port = secrets.ports.postgres;
dataDir = "${config.machineVars.dataDrives.drives.postgres}/${config.services.postgresql.package.psqlSchema}"; dataDir = "${config.machineVars.dataDrives.drives.postgres}/${config.services.postgresql.package.psqlSchema}";
settings = { settings = {
max_connections = 150; max_connections = 150;

View File

@ -1,4 +1,4 @@
{ pkgs, config, secrets, ... }: { pkgs, config, ... }:
{ {
security.acme.certs."tasks.nani.wtf" = { security.acme.certs."tasks.nani.wtf" = {
group = config.services.taskserver.group; group = config.services.taskserver.group;
@ -11,7 +11,7 @@
services.taskserver = { services.taskserver = {
enable = true; enable = true;
fqdn = "todo.nani.wtf"; fqdn = "todo.nani.wtf";
listenPort = secrets.ports.taskserver; listenPort = 19233;
dataDir = "${config.machineVars.dataDrives.default}/var/taskserver"; dataDir = "${config.machineVars.dataDrives.default}/var/taskserver";
organisations.h7x4 = { organisations.h7x4 = {

View File

@ -1,5 +1,6 @@
{ pkgs, config, ... }: { config, pkgs, ... }: let
{ cfg = config.services.vaultwarden;
in {
services.vaultwarden = { services.vaultwarden = {
enable = true; enable = true;
dbBackend = "postgresql"; dbBackend = "postgresql";
@ -66,4 +67,11 @@
}) })
]; ];
}; };
local.socketActivation.vaultwarden = {
enable = cfg.enable;
originalSocketAddress = "${cfg.config.ROCKET_ADDRESS}:${toString cfg.config.ROCKET_PORT}";
newSocketAddress = "/run/vaultwarden.sock";
privateNamespace = false;
};
} }