feat(hydra): add hydra
This commit is contained in:
parent
3aa8d39a3f
commit
169932121f
6 changed files with 88 additions and 22 deletions
|
|
@ -149,5 +149,12 @@
|
|||
agenix.nixosModules.default
|
||||
solaar.nixosModules.default
|
||||
];
|
||||
|
||||
# Add this new section
|
||||
outputs-builder = channels: {
|
||||
hydraJobs = {
|
||||
x86_64-linux.earth = self.nixosConfigurations.x86_64-linux.earth.config.system.build.toplevel;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,9 @@
|
|||
pkgs.nix-output-monitor
|
||||
pkgs.fastfetch
|
||||
|
||||
pkgs.libreoffice-qt6-fresh
|
||||
pkgs.signal-desktop
|
||||
|
||||
pkgs.nh
|
||||
pkgs.dwl
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,12 @@ return {
|
|||
},
|
||||
},
|
||||
{ "hrsh7th/nvim-cmp", enabled = false },
|
||||
{
|
||||
"jake-stewart/force-cul.nvim",
|
||||
config = function()
|
||||
require("force-cul").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
lazy = false, -- lazy loading handled internally
|
||||
|
|
|
|||
|
|
@ -9,40 +9,39 @@ with lib.custom; let
|
|||
cfg = config.services.pm-bridge;
|
||||
in {
|
||||
options.services.pm-bridge = with types; {
|
||||
enable = mkBoolOpt false "Enable Protonmail Bridge";
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the Bridge.";
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "protonmail-bridge" {};
|
||||
nonInteractive = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Start Bridge entirely noninteractively";
|
||||
};
|
||||
|
||||
logLevel = lib.mkOption {
|
||||
type = lib.types.nullOr (
|
||||
lib.types.enum [
|
||||
"panic"
|
||||
"fatal"
|
||||
"error"
|
||||
"warn"
|
||||
"info"
|
||||
"debug"
|
||||
]
|
||||
);
|
||||
default = null;
|
||||
description = "Log level of the Proton Mail Bridge service. If set to null then the service uses it's default log level.";
|
||||
logLevel = mkOption {
|
||||
type = types.enum ["panic" "fatal" "error" "warn" "info" "debug" "debug-client" "debug-server"];
|
||||
default = "info";
|
||||
description = "The log level";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.user.services.protonmail-bridge = {
|
||||
Unit = {
|
||||
Description = "A Bridge to view Protonmail Messages in your local email client";
|
||||
Description = "Protonmail Bridge";
|
||||
After = ["network.target"];
|
||||
};
|
||||
Service = let
|
||||
logLevel = lib.optionalString (cfg.logLevel != null) "--log-level ${cfg.logLevel}";
|
||||
in {
|
||||
Type = "simple";
|
||||
ExecStart = "${lib.getExe cfg.package} --noninteractive ${logLevel}";
|
||||
|
||||
Service = {
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.protonmail-bridge}/bin/protonmail-bridge --no-window --log-level ${cfg.logLevel}" + optionalString (cfg.nonInteractive) " --noninteractive";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
49
modules/nixos/sites/hydra/default.nix
Normal file
49
modules/nixos/sites/hydra/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.custom; let
|
||||
cfg = config.sites.hydra;
|
||||
in {
|
||||
options.sites.hydra = with types; {
|
||||
enable = mkBoolOpt false "Enable Hydra";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.hydra = {
|
||||
enable = true;
|
||||
hydraURL = "https://hydra.zoeys.computer";
|
||||
useSubstitutes = true;
|
||||
notificationSender = "hydra@localhost"; # e-mail of hydra service
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."hydra.zoeys.computer" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:3000";
|
||||
};
|
||||
};
|
||||
|
||||
nix.settings.allowed-uris = [
|
||||
"github:"
|
||||
"git+https://github.com/"
|
||||
"git+ssh://github.com/"
|
||||
"git+https://git.zoeys.computer/"
|
||||
"git+ssh://git.zoeys.computer/"
|
||||
];
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "localhost";
|
||||
protocol = null;
|
||||
system = "x86_64-linux";
|
||||
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
|
||||
maxJobs = 8;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
services.web.nginx.enable = true;
|
||||
services.gh.enable = true;
|
||||
services.fail2ban.enable = true;
|
||||
|
||||
sites = {
|
||||
cv.enable = true;
|
||||
gitlab.enable = true;
|
||||
|
|
@ -45,6 +46,7 @@
|
|||
pterodactyl.enable = true;
|
||||
search.enable = true;
|
||||
map.enable = true;
|
||||
hydra.enable = true;
|
||||
};
|
||||
|
||||
zmio.blog.enable = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue