Compare commits

...

4 Commits

Author SHA1 Message Date
John Lancaster fe19700514 set timezone on soteria 2026-04-04 13:33:20 -05:00
John Lancaster 25ea6ac502 fixed forgejo dump 2026-04-04 13:33:12 -05:00
John Lancaster 01fde39946 updated eza alias flags 2026-04-04 13:33:02 -05:00
John Lancaster 84b32cea01 service_status motd updates 2026-04-04 13:15:29 -05:00
4 changed files with 69 additions and 40 deletions
+13 -4
View File
@@ -78,10 +78,11 @@
oauth2.JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/jwt_secret".path;
server.LFS_JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/lfs_jwt_secret".path;
};
# dump = {
# enable = true;
# interval = "12h";
# };
dump = {
enable = true;
type = "tar";
interval = "*-*-* 00/12:00:00";
};
};
postgresql = {
@@ -90,6 +91,14 @@
};
};
# https://forgejo.org/docs/latest/admin/command-line/#dump
systemd.services.forgejo-dump.serviceConfig.ExecStart = lib.mkForce ''
${lib.getExe config.services.forgejo.package} dump --verbose \
--type ${config.services.forgejo.dump.type} \
--database postgres \
--work-path ${config.services.forgejo.dump.backupDir}
'';
environment.systemPackages =
let
systemctl = lib.getExe' pkgs.systemd "systemctl";
+8
View File
@@ -19,6 +19,7 @@ in
# nixos.restic-envoy
({ config, pkgs, ... }: {
networking.hostName = hostname;
time.timeZone = "America/Chicago";
# Removes password for sudo
security.sudo-rs.extraRules = lib.mkAfter [
@@ -55,6 +56,13 @@ in
port = 443;
};
loginText.extraServiceStatus = {
Docker = "docker";
"mTLS Renewal" = "mtls-renew.timer";
Forgejo = "forgejo.service";
"Forgejo Backup" = "forgejo-dump.timer";
};
step-ssh-host.hostname = hostname;
# This provides the secrets at install time
+47 -35
View File
@@ -1,44 +1,56 @@
{ inputs, ... }: {
flake.modules.nixos.login-text = { config, ... }: {
programs.rust-motd = {
enable = true;
refreshInterval = "*:0/5";
order = [
"global"
"last_login"
"service_status"
# "uptime"
"memory"
"filesystems"
];
settings = {
global = {
time_format = "%Y-%m-%d %H:%M:%S %Z";
};
flake.modules.nixos.login-text = { config, lib, ... }:
let
defaultServiceStatus = {
SSH = "sshd.socket";
"SSH Cert Renewal" = "step-ssh-host-renew.timer";
};
in {
options.loginText.extraServiceStatus = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
default = { };
description = "Additional rust-motd service status entries keyed by display name.";
};
last_login = {
john = 3;
root = 3;
};
config = {
programs.rust-motd = {
enable = true;
refreshInterval = "*:0/5";
order = [
"global"
"last_login"
"service_status"
# "uptime"
"memory"
"filesystems"
];
settings = {
global = {
time_format = "%Y-%m-%d %H:%M:%S %Z";
};
service_status = {
Docker = "docker";
SSH = "sshd.socket";
"SSH Cert Renewal" = "step-ssh-host-renew.timer";
"mTLS Renewal" = "mtls-renew.timer";
};
last_login = {
john = 3;
root = 3;
};
# This calculation is wrong for LXCs
# uptime = {
# prefix = "Uptime";
# };
service_status = lib.mkMerge [
defaultServiceStatus
config.loginText.extraServiceStatus
];
memory = {
swap_pos = "beside";
};
# This calculation is wrong for LXCs
# uptime = {
# prefix = "Uptime";
# };
filesystems = {
root = "/";
memory = {
swap_pos = "beside";
};
filesystems = {
root = "/";
};
};
};
};
+1 -1
View File
@@ -8,7 +8,7 @@
enableZshIntegration = true;
};
home.shellAliases = {
ls = "${lib.getExe pkgs.eza} -lgos type --no-time --follow-symlinks";
ls = "${lib.getExe pkgs.eza} -algos type --follow-symlinks --all --all";
};
};
}