This commit is contained in:
randomuser 2023-12-28 15:59:44 -06:00
parent c170d650c6
commit d215844495
4 changed files with 101 additions and 77 deletions

View File

@ -1,6 +1,12 @@
{ lib, config, pkgs, ...}: { lib, config, pkgs, ...}:
{ {
imports = [ imports = [
./hardware-configuration.nix
./server.nix
../../modules/bootstrap.nix
../../modules/common.nix
../../modules/x11.nix
../../modules/discord.nix
]; ];
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
@ -8,42 +14,6 @@
networking.hostName = "mainsail"; networking.hostName = "mainsail";
services.paperless = {
enable = true;
passwordFile = "/etc/paperless-password";
port = 3004;
address = "localhost";
extraConfig = {
PAPERLESS_URL = "https://paperless.beepboop.systems";
};
};
services.calibre-web.enable = true;
services.calibre-web.listen.port = 8080;
programs.adb.enable = true;
users.users.usr.extraGroups = ["adbusers"];
services.openssh = {
enable = true;
ports = [2222];
};
services.radicale = {
enable = true;
config = ''
[auth]
type = htpasswd
htpasswd_filename = radicale-passwd
htpasswd_encryption = plain
'';
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
services.getty.greetingLine = " services.getty.greetingLine = "
welcome to mainsail |`-:_ welcome to mainsail |`-:_
,----....____ | `+. ,----....____ | `+.
@ -72,45 +42,5 @@
mepo mepo
]; ];
systemd.services.paperless-web-bridge = { system.stateVersion = "23.11";
script = ''
${pkgs.openssh}/bin/ssh -v -NR 3004:localhost:3004 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
systemd.services.radicale-web-bridge = {
script = ''
${pkgs.openssh}/bin/ssh -v -NR 5232:localhost:5232 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
systemd.services.internal-ssh-bridge = {
script = ''
${pkgs.openssh}/bin/ssh -v -NR 2222:localhost:2222 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
} }

80
boxes/mainsail/server.nix Normal file
View File

@ -0,0 +1,80 @@
{ lib, config, pkgs, ...}:
{
services.paperless = {
enable = true;
passwordFile = "/etc/paperless-password";
port = 3004;
address = "localhost";
extraConfig = {
PAPERLESS_URL = "https://paperless.beepboop.systems";
};
};
services.calibre-web.enable = true;
services.calibre-web.listen.port = 8080;
programs.adb.enable = true;
users.users.usr.extraGroups = ["adbusers"];
services.openssh = {
enable = true;
ports = [2222];
};
services.radicale = {
enable = true;
config = ''
[auth]
type = htpasswd
htpasswd_filename = radicale-passwd
htpasswd_encryption = plain
'';
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
systemd.services.paperless-web-bridge = {
script = ''
${pkgs.openssh}/bin/ssh -v -NR 3004:localhost:3004 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
systemd.services.radicale-web-bridge = {
script = ''
${pkgs.openssh}/bin/ssh -v -NR 5232:localhost:5232 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
systemd.services.internal-ssh-bridge = {
script = ''
${pkgs.openssh}/bin/ssh -v -NR 2222:localhost:2222 -oExitOnForwardFailure=yes -p 55555 useracc@beepboop.systems
'';
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "ankisyncd.service" ];
serviceConfig = {
Restart = "on-failure";
StartLimitInterval = 0;
StartLimitBurst = 10000;
RestartSec = "0s";
};
};
}

View File

@ -33,6 +33,20 @@
} }
]; ];
}; };
mainsail = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./boxes/mainsail
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.usr = import ./boxes/mainsail/home.nix;
}
];
};
}; };
}; };
} }