Fix typo and enable btrfs scrubbing

This commit is contained in:
Jimbo 2024-11-13 09:43:47 -05:00
parent 54855a0d33
commit 6f09998656
20 changed files with 65 additions and 60 deletions

View file

@ -1,25 +1,18 @@
{ ... }: { ... }:
{ {
imports = [ imports = [
./disko
./firewall
./hardware ./hardware
../../modules/system
# Apps and programs
../../../modules/system
../../../modules/system/accounts
../../../modules/system/devices/filesystems
../../../modules/system/devices/boot/systemd
../../../modules/system/devices/networking
../../../modules/system/devices/networking/firewall/server
../../../modules/system/devices/networking/wireguard/server
../../../modules/system/programs/git
../../../modules/system/programs/security
../../../modules/system/services/common
../../../modules/system/services/server
# Misc
../../../overlays
../../../variables
]; ];
networking.hostName = "kitty"; system.desktop.enable = false;
system.server.enable = true;
#system.lanzaboote.enable = true;
system.wireless.enable = false;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
networking.hostName = "tower";
} }

View file

@ -217,7 +217,7 @@
"${primeMod}+shift+a" = ''focus child''; "${primeMod}+shift+a" = ''focus child'';
# Scratchpads # Scratchpads
"Shift+Ctrl+Backslash" = ''[app_id="gotop"] scratchpad show, move position center resize set 1216 888''; "Shift+Ctrl+Backslash" = ''[app_id="gotop"] scratchpad show, move position center, resize set 1216 888'';
"${primeMod}+Shift+m" = ''[app_id="music"] scratchpad show, move position center, resize set 1006 657''; "${primeMod}+Shift+m" = ''[app_id="music"] scratchpad show, move position center, resize set 1006 657'';
"${primeMod}+Shift+v" = ''[app_id="sound"] scratchpad show, move position center, resize set 1000 800''; "${primeMod}+Shift+v" = ''[app_id="sound"] scratchpad show, move position center, resize set 1000 800'';
"${primeMod}+Shift+Backslash" = ''[app_id="com.github.wwmm.easyeffects"] scratchpad show, move position center, resize set 1000 800''; "${primeMod}+Shift+Backslash" = ''[app_id="com.github.wwmm.easyeffects"] scratchpad show, move position center, resize set 1000 800'';

View file

@ -0,0 +1,4 @@
{ ... }:
{
services.btrfs.autoScrub.enable = true;
}

View file

@ -1,6 +1,7 @@
{ ... }: { ... }:
{ {
imports = [ imports = [
./btrfs
./filesystems ./filesystems
./impermanence ./impermanence
./snapper ./snapper

View file

@ -1,6 +1,7 @@
{ ... }: { lib, ... }:
{ {
boot.supportedFilesystems = { boot.supportedFilesystems = {
ntfs = true; ntfs = true;
zfs = lib.mkForce false;
}; };
} }

View file

@ -5,13 +5,12 @@ with lib; {
desktop.enable = mkOption { desktop.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Enable desktop apps and services?"; description = "Enable desktop apps and services";
}; };
server.enable = mkOption { server.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable server services?"; description = "Enable server services";
}; };
}; };
}; };

View file

@ -1,7 +1,7 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
services.ddclient = { services.ddclient = {
enable = true; enable = config.system.server.enable;
protocol = "cloudflare"; protocol = "cloudflare";
use = "web, web=https://ipinfo.io/ip"; use = "web, web=https://ipinfo.io/ip";
zone = "${config.domains.jim1}"; zone = "${config.domains.jim1}";

View file

@ -1,7 +1,7 @@
{ ... }: { ... }:
{ {
services.nfs.server = { services.nfs.server = {
enable = true; enable = config.system.server.enable;
exports = '' exports = ''
/export/JimboNFS/Files *(rw,sync,no_subtree_check) /export/JimboNFS/Files *(rw,sync,no_subtree_check)
/export/JimboNFS/Media *(rw,sync,no_subtree_check) /export/JimboNFS/Media *(rw,sync,no_subtree_check)

View file

@ -2,7 +2,7 @@
{ {
services = { services = {
samba = { samba = {
enable = true; enable = config.system.server.enable;
securityType = "user"; securityType = "user";
openFirewall = true; openFirewall = true;
settings = { settings = {

View file

@ -3,7 +3,7 @@
imports = [ ./nginx ]; imports = [ ./nginx ];
services.nextcloud = { services.nextcloud = {
enable = true; enable = config.system.server.enable;
package = pkgs.nextcloud30; package = pkgs.nextcloud30;
hostName = "cloud.${config.domains.jim1}"; hostName = "cloud.${config.domains.jim1}";
datadir = "/mnt/nextcloud"; datadir = "/mnt/nextcloud";

View file

@ -3,6 +3,7 @@
services.nginx.virtualHosts."cloud.${config.domains.jim1}" = { services.nginx.virtualHosts."cloud.${config.domains.jim1}" = {
enableACME = true; enableACME = true;
addSSL = true; addSSL = true;
onlySSL = true;
locations."/" = { locations."/" = {
proxyWebsockets = true; proxyWebsockets = true;
extraConfig = '' extraConfig = ''

View file

@ -3,7 +3,7 @@
imports = [ ./nginx ]; imports = [ ./nginx ];
services.photoprism = { services.photoprism = {
enable = true; enable = config.system.server.enable;
port = 2342; port = 2342;
originalsPath = "/var/lib/private/photoprism/originals"; originalsPath = "/var/lib/private/photoprism/originals";
address = "0.0.0.0"; address = "0.0.0.0";

View file

@ -2,32 +2,30 @@
{ {
imports = [ ./nginx ]; imports = [ ./nginx ];
services = { services.forgejo = {
forgejo = { enable = config.system.server.enable;
enable = true; settings = {
settings = { server = {
server = { DOMAIN = "git.${config.domains.jim1}";
DOMAIN = "git.${config.domains.jim1}"; ROOT_URL = "https://git.${config.domains.jim1}:443";
ROOT_URL = "https://git.${config.domains.jim1}:443"; HTTP_PORT = 3110;
HTTP_PORT = 3110; SSH_PORT = 2299;
SSH_PORT = 2299; START_SSH_SERVER = true;
START_SSH_SERVER = true; };
}; ui = {
ui = { DEFAULT_THEME = "forgejo-dark";
DEFAULT_THEME = "forgejo-dark"; };
}; mailer = {
mailer = { ENABLED = true;
ENABLED = true; SMTP_ADDR = "mx.${config.domains.jim1}";
SMTP_ADDR = "mx.${config.domains.jim1}"; FROM = "Jimbo's Git <noreply@${config.domains.jim1}>";
FROM = "Jimbo's Git <noreply@${config.domains.jim1}>"; USER = "noreply@${config.domains.jim1}";
USER = "noreply@${config.domains.jim1}"; PASSWD = config.secrets.noreplyPassword;
PASSWD = config.secrets.noreplyPassword; PROTOCOL = "smtps";
PROTOCOL = "smtps"; };
}; service = {
service = { REGISTER_EMAIL_CONFIRM = true;
REGISTER_EMAIL_CONFIRM = true; DISABLE_REGISTRATION = true;
DISABLE_REGISTRATION = true;
};
}; };
}; };
}; };

View file

@ -6,7 +6,7 @@
]; ];
services.icecast = { services.icecast = {
enable = true; enable = config.system.server.enable;
listen.port = 265; listen.port = 265;
hostname = "icecast.${config.domains.jim1}"; hostname = "icecast.${config.domains.jim1}";
admin = { admin = {

View file

@ -1,5 +1,13 @@
{ ... }: { ... }:
{ {
options.system.mailserver = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable mail host and services";
};
};
imports = [ imports = [
./simplenix ./simplenix
./roundcube ./roundcube

View file

@ -1,7 +1,7 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
services.roundcube = { services.roundcube = {
enable = true; enable = config.system.mailserver.enable;
hostName = "mail.${config.domains.jim1}"; hostName = "mail.${config.domains.jim1}";
extraConfig = '' extraConfig = ''
$config['smtp_server'] = "tls://mx.${config.domains.jim1}"; $config['smtp_server'] = "tls://mx.${config.domains.jim1}";

View file

@ -6,7 +6,7 @@
]; ];
mailserver = rec { mailserver = rec {
enable = true; enable = config.system.mailserver.enable;
domains = [ domains = [
"${config.domains.jim1}" "${config.domains.jim1}"
"${config.domains.jim2}" "${config.domains.jim2}"

View file

@ -13,7 +13,7 @@
nixpkgs.overlays = [ minecraft.overlay ]; nixpkgs.overlays = [ minecraft.overlay ];
services.minecraft-servers = { services.minecraft-servers = {
enable = true; enable = config.system.server.enable;
eula = true; eula = true;
}; };
} }

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
services.mysql = { services.mysql = {
enable = true; enable = config.system.server.enable;
package = pkgs.mariadb; package = pkgs.mariadb;
dataDir = "/var/lib/mysql"; dataDir = "/var/lib/mysql";
ensureDatabases = [ ensureDatabases = [

View file

@ -6,7 +6,7 @@
]; ];
services.nginx = { services.nginx = {
enable = true; enable = config.system.server.enable;
recommendedTlsSettings = true; recommendedTlsSettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
recommendedGzipSettings = true; recommendedGzipSettings = true;