feat(42/irc): setup the irc server service
This commit is contained in:
parent
dc68443661
commit
a1bc1e4074
5 changed files with 75 additions and 2 deletions
|
|
@ -57,6 +57,7 @@
|
|||
programs = {
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bat
|
||||
cairo
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
../global.nix
|
||||
./hardware-configuration.nix
|
||||
../../modules/games/global.nix
|
||||
../../services/forty_two.nix
|
||||
../../services/discord.nix
|
||||
../../services/games.nix
|
||||
../../services/web.nix
|
||||
|
|
@ -18,6 +19,7 @@
|
|||
};
|
||||
|
||||
service = {
|
||||
forty_two.irc = true;
|
||||
web.portefolio = true;
|
||||
minecraft = {
|
||||
enium-pv = false;
|
||||
|
|
|
|||
|
|
@ -21,8 +21,12 @@ in
|
|||
};
|
||||
systemd.services.yagpdb = {
|
||||
description = "Enium discord master bot";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [
|
||||
"network.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "dsc_master";
|
||||
|
|
|
|||
21
services/forty_two.nix
Normal file
21
services/forty_two.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
irc = import ./forty_two/irc.nix {
|
||||
inherit config pkgs lib;
|
||||
};
|
||||
cfg = config.service.forty_two;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
irc
|
||||
];
|
||||
|
||||
options.service.forty_two = {
|
||||
irc = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Enable the ft_irc server";
|
||||
};
|
||||
};
|
||||
}
|
||||
45
services/forty_two/irc.nix
Normal file
45
services/forty_two/irc.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.service.forty_two.irc;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg {
|
||||
environment.systemPackages = with pkgs; [
|
||||
llvmPackages.clang
|
||||
llvmPackages.clang-tools
|
||||
gnumake
|
||||
];
|
||||
users = {
|
||||
groups.ft_irc = {
|
||||
name = "ft_irc";
|
||||
};
|
||||
users.ft_irc = {
|
||||
description = "Utilisateur the ft_irc server";
|
||||
group = "ft_irc";
|
||||
home = "/opt/irc/";
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.ft_irc = {
|
||||
description = "Upload our irc on my own server";
|
||||
after = [
|
||||
"network.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "ft_irc";
|
||||
WorkingDirectory = "/opt/irc";
|
||||
ExecStartPre = "${pkgs.git}/bin/git pull";
|
||||
ExecStart = "/opt/irc/ircserv 4243 irc";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 30;
|
||||
RemainAfterExit = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue