mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-06 12:00:14 +00:00
more rearchitecting folders
This commit is contained in:
@ -1,11 +1,11 @@
|
||||
{ config, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.nmasur.profiles.aws;
|
||||
in
|
||||
{
|
||||
|
||||
options.nmasur.profiles.nmasur.aws.enable = lib.mkEnableOption "AWS EC2";
|
||||
options.nmasur.profiles.aws.enable = lib.mkEnableOption "AWS EC2";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
|
43
platforms/nixos/modules/nmasur/profiles/communications.nix
Normal file
43
platforms/nixos/modules/nmasur/profiles/communications.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.nmasur.profiles.communications;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.nmasur.profiles.communications.enable =
|
||||
lib.mkEnableOption "communications server configuration";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
nmasur.presets = {
|
||||
programs = {
|
||||
msmtp.enable = lib.mkDefault true;
|
||||
};
|
||||
services = {
|
||||
actualbudget.enable = lib.mkDefault true;
|
||||
caddy.enable = lib.mkDefault true;
|
||||
cloudflare.enable = lib.mkDefault true;
|
||||
cloudflared.enable = lib.mkDefault true;
|
||||
gitea.enable = lib.mkDefault true;
|
||||
grafana.enable = lib.mkDefault true;
|
||||
influxdb2.enable = lib.mkDefault true;
|
||||
minecraft-server.enable = lib.mkDefault true;
|
||||
n8n.enable = lib.mkDefault true;
|
||||
nix-autoupgrade.enable = lib.mkDefault true; # On by default for communications
|
||||
ntfy-sh.enable = lib.mkDefault true;
|
||||
postgresql.enable = lib.mkDefault true;
|
||||
thelounge.enable = lib.mkDefault true;
|
||||
uptime-kuma.enable = lib.mkDefault true;
|
||||
vaultwarden.enable = lib.mkDefault true;
|
||||
victoriametrics.enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
@ -18,5 +18,7 @@ in
|
||||
# Use latest released Linux kernel by default
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
nmasur.presets.services.nix-autoupgrade.enable = lib.mkDefault true;
|
||||
|
||||
};
|
||||
}
|
||||
|
42
platforms/nixos/modules/nmasur/profiles/nas.nix
Normal file
42
platforms/nixos/modules/nmasur/profiles/nas.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.nmasur.profiles.nas;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.nmasur.profiles.nas.enable = lib.mkEnableOption "NAS (storage device) configuration";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
nmasur.presets = {
|
||||
zfs.enable = lib.mkDefault true;
|
||||
programs = {
|
||||
msmtp.enable = lib.mkDefault true;
|
||||
};
|
||||
services = {
|
||||
arr.enable = lib.mkDefault true;
|
||||
audiobookshelf.enable = lib.mkDefault true;
|
||||
bind.enable = lib.mkDefault true;
|
||||
caddy.enable = lib.mkDefault true;
|
||||
calibre-web.enable = lib.mkDefault true;
|
||||
cloudflare.enable = lib.mkDefault true;
|
||||
cloudflared.enable = lib.mkDefault true;
|
||||
filebrowser.enable = lib.mkDefault true;
|
||||
immich.enable = lib.mkDefault true;
|
||||
jellyfin.enable = lib.mkDefault true;
|
||||
nextcloud.enable = lib.mkDefault true;
|
||||
nix-autoupgrade.enable = lib.mkDefault false; # Off by default for NAS
|
||||
paperless.enable = lib.mkDefault true;
|
||||
samba.enable = lib.mkDefault true;
|
||||
postgresql.enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
@ -16,6 +16,8 @@ in
|
||||
|
||||
networking.firewall.allowPing = lib.mkDefault true;
|
||||
|
||||
nmasur.presets.services.openssh.enable = lib.mkDefault true;
|
||||
|
||||
# Implement a simple fail2ban service for sshd
|
||||
services.sshguard.enable = lib.mkDefault true;
|
||||
|
||||
|
Reference in New Issue
Block a user