add hoyolab-daily-bot
This commit is contained in:
parent
175063afd1
commit
f18c545d4d
65
flake.lock
generated
65
flake.lock
generated
@ -69,7 +69,9 @@
|
|||||||
},
|
},
|
||||||
"cassowary": {
|
"cassowary": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681399212,
|
"lastModified": 1681399212,
|
||||||
@ -366,10 +368,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hoyolab-daily-bot": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1683056534,
|
||||||
|
"narHash": "sha256-KS6tyrZUrtyMFY5tI0EDcagjwErHY/I1GDSecxbQ3jc=",
|
||||||
|
"owner": "AtaraxiaSjel",
|
||||||
|
"repo": "hoyolab-daily-bot",
|
||||||
|
"rev": "184e85c286e7049014f0ce47016afb49426b2f16",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "AtaraxiaSjel",
|
||||||
|
"repo": "hoyolab-daily-bot",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"wlroots": "wlroots",
|
"wlroots": "wlroots",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
@ -500,7 +522,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"lowdown-src": "lowdown-src",
|
"lowdown-src": "lowdown-src",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-regression": "nixpkgs-regression"
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -543,7 +565,7 @@
|
|||||||
"nix-direnv": {
|
"nix-direnv": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680521329,
|
"lastModified": 1680521329,
|
||||||
@ -640,11 +662,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1665466769,
|
"lastModified": 1672580127,
|
||||||
"narHash": "sha256-L+qcHpb4Ac3PipMXJY/Ktbu1+KXy23WCZ8pXWmsf7zY=",
|
"narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0b20bf89e0035b6d62ad58f9db8fdbc99c2b01e8",
|
"rev": "0874168639713f547c05947c76124f78441ea46c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -718,22 +740,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1680758185,
|
|
||||||
"narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680669251,
|
"lastModified": 1680669251,
|
||||||
"narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=",
|
"narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=",
|
||||||
@ -749,7 +755,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1670461440,
|
"lastModified": 1670461440,
|
||||||
"narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=",
|
"narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=",
|
||||||
@ -765,7 +771,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679793451,
|
"lastModified": 1679793451,
|
||||||
"narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=",
|
"narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=",
|
||||||
@ -781,7 +787,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680758185,
|
"lastModified": 1680758185,
|
||||||
"narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=",
|
"narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=",
|
||||||
@ -797,7 +803,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678693419,
|
"lastModified": 1678693419,
|
||||||
"narHash": "sha256-bbSv5yqZAW6dz+3f3f3pOUZbxpPN+3OgCljgn7P+nnQ=",
|
"narHash": "sha256-bbSv5yqZAW6dz+3f3f3pOUZbxpPN+3OgCljgn7P+nnQ=",
|
||||||
@ -861,7 +867,7 @@
|
|||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_4",
|
||||||
"flake-utils": "flake-utils_6",
|
"flake-utils": "flake-utils_6",
|
||||||
"libnbtplusplus": "libnbtplusplus",
|
"libnbtplusplus": "libnbtplusplus",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -910,6 +916,7 @@
|
|||||||
"flake-registry": "flake-registry",
|
"flake-registry": "flake-registry",
|
||||||
"flake-utils-plus": "flake-utils-plus_2",
|
"flake-utils-plus": "flake-utils-plus_2",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"hoyolab-daily-bot": "hoyolab-daily-bot",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpaper": "hyprpaper",
|
"hyprpaper": "hyprpaper",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
@ -918,7 +925,7 @@
|
|||||||
"nix-direnv": "nix-direnv",
|
"nix-direnv": "nix-direnv",
|
||||||
"nix-vscode-marketplace": "nix-vscode-marketplace",
|
"nix-vscode-marketplace": "nix-vscode-marketplace",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"prismlauncher": "prismlauncher",
|
"prismlauncher": "prismlauncher",
|
||||||
|
@ -24,7 +24,14 @@
|
|||||||
url = "github:AtaraxiaSjel/base16-tokyonight-scheme";
|
url = "github:AtaraxiaSjel/base16-tokyonight-scheme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
cassowary.url = "github:AtaraxiaSjel/cassowary";
|
cassowary = {
|
||||||
|
url = "github:AtaraxiaSjel/cassowary";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
hoyolab-daily-bot = {
|
||||||
|
url = "github:AtaraxiaSjel/hoyolab-daily-bot";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
hyprpaper = {
|
hyprpaper = {
|
||||||
url = "github:hyprwm/hyprpaper";
|
url = "github:hyprwm/hyprpaper";
|
||||||
|
@ -35,6 +35,7 @@ in {
|
|||||||
nixosProfiles.webhooks
|
nixosProfiles.webhooks
|
||||||
|
|
||||||
nixosProfiles.yandex-db
|
nixosProfiles.yandex-db
|
||||||
|
nixosProfiles.hoyolab
|
||||||
nixosProfiles.it-tools
|
nixosProfiles.it-tools
|
||||||
nixosProfiles.homepage
|
nixosProfiles.homepage
|
||||||
nixosProfiles.matrix
|
nixosProfiles.matrix
|
||||||
|
54
modules/hoyolab-daily-bot.nix
Normal file
54
modules/hoyolab-daily-bot.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.hoyolab-daily-bot;
|
||||||
|
in {
|
||||||
|
options.services.hoyolab-daily-bot = {
|
||||||
|
enable = mkEnableOption "Hoyolab Daily Bot";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
description = lib.mdDoc "Which package to use.";
|
||||||
|
default = pkgs.hoyolab-daily-bot;
|
||||||
|
defaultText = literalExpression "pkgs.hoyolab-daily-bot";
|
||||||
|
};
|
||||||
|
|
||||||
|
cookieFiles = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [ ];
|
||||||
|
description =
|
||||||
|
lib.mdDoc "List of paths to cookie files. If not provided, use cookie from browser.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "root";
|
||||||
|
description = lib.mdDoc "";
|
||||||
|
};
|
||||||
|
|
||||||
|
startAt = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "*-*-* 20:00:00";
|
||||||
|
description = lib.mdDoc "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.hoyolab-daily-bot = {
|
||||||
|
description = "Hoyolab Daily Login Bot.";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = cfg.user;
|
||||||
|
StateDirectory = "hoyolab-daily-bot";
|
||||||
|
};
|
||||||
|
startAt = cfg.startAt;
|
||||||
|
script = if (cfg.cookieFiles == [ ]) then ''
|
||||||
|
${cfg.package}/bin/hoyolab-daily-bot
|
||||||
|
'' else ''
|
||||||
|
${concatMapStringsSep "\n" (x:
|
||||||
|
"${cfg.package}/bin/hoyolab-daily-bot -c ${x}"
|
||||||
|
) cfg.cookieFiles}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -53,6 +53,7 @@ with lib; {
|
|||||||
nixFlakes = final.nix;
|
nixFlakes = final.nix;
|
||||||
|
|
||||||
cassowary-py = inputs.cassowary.packages.${system}.cassowary;
|
cassowary-py = inputs.cassowary.packages.${system}.cassowary;
|
||||||
|
hoyolab-daily-bot = inputs.hoyolab-daily-bot.packages.${system}.default;
|
||||||
|
|
||||||
pass-secret-service = prev.pass-secret-service.overrideAttrs (_: {
|
pass-secret-service = prev.pass-secret-service.overrideAttrs (_: {
|
||||||
installCheckPhase = null;
|
installCheckPhase = null;
|
||||||
|
11
profiles/servers/hoyolab.nix
Normal file
11
profiles/servers/hoyolab.nix
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{ config, pkgs, lib, ... }: {
|
||||||
|
secrets.hoyolab-cookie1 = { };
|
||||||
|
secrets.hoyolab-cookie2 = { };
|
||||||
|
services.hoyolab-daily-bot = {
|
||||||
|
enable = true;
|
||||||
|
cookieFiles = [
|
||||||
|
config.secrets.hoyolab-cookie1.decrypted
|
||||||
|
config.secrets.hoyolab-cookie2.decrypted
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user