Add new server modules and configurations for various services

- Introduced `default-creds` module for managing default credentials with Umami integration.
- Added `fail2ban` module for brute-force attack protection with configurable ban times.
- Created `firewall` module to enable and configure basic firewall settings.
- Implemented `gitea` module for self-hosted Git service with PostgreSQL backend.
- Developed `glance` module for a customizable dashboard with various widgets and themes.
- Added `iknowyou` module for a self-hosted password manager with production and demo environments.
- Introduced `kernel-hardening` module for enhancing kernel security settings.
- Created `mazanoke` module for a simple web application with Nginx integration.
- Added `mealie` module for a self-hosted meal planning application.
- Implemented `stirling-pdf` module for PDF generation service.
- Developed `umami` module for self-hosted analytics with secret management.
- Added `ssh` module for secure SSH configuration with user restrictions.
- Introduced `nixy` theme for a customized aesthetic experience across services.
This commit is contained in:
KptltD00M
2026-06-16 23:03:39 +02:00
commit 5082521524
140 changed files with 9740 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
{
pkgs,
inputs,
config,
lib,
...
}: let
c = config.lib.stylix.colors;
tuigreet = inputs.notashelf-tuigreet.packages.${pkgs.stdenv.hostPlatform.system}.default;
theme = lib.concatStringsSep ";" [
"border=#${c.base0D}"
"text=#${c.base05}"
"prompt=#${c.base0D}"
"action=#${c.base0C}"
"button=#${c.base0D}"
"container=#${c.base00}"
"input=#${c.base02}"
];
tuigreet-launch = pkgs.writeShellScript "tuigreet-launch" ''
exec ${tuigreet}/bin/tuigreet \
--time \
--time-format '%H:%M %A %d %B' \
--sessions /run/current-system/sw/share/wayland-sessions \
--remember \
--remember-user-session \
--asterisks \
--greeting 'Welcome' \
--container-padding 2 \
--theme '${theme}' \
--power-shutdown 'systemctl poweroff' \
--power-reboot 'systemctl reboot'
'';
in {
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${tuigreet-launch}";
user = "greeter";
};
};
};
# this is a life saver.
# literally no documentation about this anywhere.
# might be good to write about this...
# https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/
systemd.services.greetd.serviceConfig = {
Type = "idle";
StandardInput = "tty";
StandardOutput = "tty";
StandardError = "journal"; # Without this errors will spam on screen
# Without these bootlogs will spam on screen
TTYReset = true;
TTYVHangup = true;
TTYVTDisallocate = true;
};
environment.systemPackages = [tuigreet];
}