diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index c282d5e..578bebf 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -23,6 +23,7 @@ pinentryPackage = pkgs.pinentry-qt; }; modules = { + wms.wayland.enable = true; desktops.hyprland.enable = true; theming = { @@ -62,8 +63,8 @@ services = { locate.enable = true; kanata.enable = true; - uwsm.enable = true; - greetd.enable = true; + uwsm.enable = false; + greetd.enable = false; media.mpd = { enable = true; diff --git a/hosts/tower/configuration.nix b/hosts/tower/configuration.nix index 4a1f12b..411ac2f 100644 --- a/hosts/tower/configuration.nix +++ b/hosts/tower/configuration.nix @@ -36,6 +36,7 @@ forgejo.enable = true; grafana.enable = true; prometheus.enable = true; + plausible.enable = true; }; programs = { editors = { diff --git a/modules/services/stalwart/module.nix b/modules/services/stalwart/module.nix index efc38e3..d515308 100644 --- a/modules/services/stalwart/module.nix +++ b/modules/services/stalwart/module.nix @@ -55,32 +55,25 @@ in { # This is the standard port for SMTP, and is used by mail servers to send email to each other. smtp = { protocol = "smtp"; - bind = ["localhost::25" "[::]:25"]; + bind = ["[::]:25"]; tls.implicit = true; }; - # SMTP submissions with implicit TLS are received on port 465 by default. # This is the standard port for SMTP submissions with native implicit TLS, # and is used by mail clients to send email to mail servers. submissions = { - bind = ["localhost:465" "[::]:465"]; + bind = ["[::]:465"]; protocol = "smtp"; tls.implicit = true; }; imaps = { - bind = ["localhost:993" "[::]:993"]; + bind = ["[::]:993"]; protocol = "imap"; tls.implicit = true; }; - jmap = { - bind = ["localhost:8080" "[::]:8080"]; - url = "https://mail.${domain}"; - protocol = "jmap"; - tls.implicit = true; - }; management = { - bind = ["localhost:8080"]; + bind = ["127.0.0.1:8080"]; protocol = "http"; tls.implicit = true; }; @@ -90,40 +83,40 @@ in { inherit domain; }; }; - storage = { - data = "postgresql"; - blob = "postgresql"; - fts = "postgresql"; - lookup = "postgresql"; - full-text = { - default-language = "en"; - }; - }; - store = { - postgresql = { - # Specifies the database type, set to "postgresql" for PostgreSQL. - type = "postgresql"; + # storage = { + # data = "postgresql"; + # blob = "postgresql"; + # fts = "postgresql"; + # lookup = "postgresql"; + # full-text = { + # default-language = "en"; + # }; + # }; + # store = { + # postgresql = { + # # Specifies the database type, set to "postgresql" for PostgreSQL. + # type = "postgresql"; - # The hostname or IP address of the PostgreSQL server. - host = "localhost"; + # # The hostname or IP address of the PostgreSQL server. + # host = "localhost"; - # Port PostgreSQL runs on. Defaults to 5432. - port = "5432"; + # # Port PostgreSQL runs on. Defaults to 5432. + # port = "5432"; - # Name of the database to connect to. - # TODO: add this to PostgreSQL. - database = "stalwart"; + # # Name of the database to connect to. + # # TODO: add this to PostgreSQL. + # database = "stalwart"; - # The username used for authentication with the PostgreSQL server. - # TODO: add this to PostgreSQL. - user = "stalwart"; + # # The username used for authentication with the PostgreSQL server. + # # TODO: add this to PostgreSQL. + # user = "stalwart"; - password = ""; + # password = ""; - # Enable TLS - tls.enable = true; - }; - }; + # # Enable TLS + # tls.enable = true; + # }; + # }; }; }; services.nginx = { diff --git a/modules/system/hardware/power.nix b/modules/system/hardware/power.nix index 93d14ff..22507af 100644 --- a/modules/system/hardware/power.nix +++ b/modules/system/hardware/power.nix @@ -38,6 +38,16 @@ in { governor = "performance"; # Turbo boost setting: "always", "auto", or "never" turbo = "auto"; + + # Enable or disable automatic turbo management (when turbo = "auto") + enable_auto_turbo = true; + # Custom thresholds for auto turbo management + turbo_auto_settings = { + load_threshold_high = 70.0; + load_threshold_low = 30.0; + temp_threshold_high = 75.0; + initial_turbo_state = false; # whether turbo should be initially enabled (false = disabled) + }; # Energy Performance Preference epp = "performance"; # Energy Performance Bias (0-15 scale or named value) @@ -54,9 +64,24 @@ in { battery = { governor = "powersave"; turbo = "auto"; + + # More conservative auto turbo settings on battery + enable_auto_turbo = true; + turbo_auto_settings = { + load_threshold_high = 80.0; + load_threshold_low = 40.0; + temp_threshold_high = 70.0; + # start with turbo disabled on battery for power savings + initial_turbo_state = false; + }; epp = "power"; epb = "balance_power"; platform_profile = "low-power"; + + # Global battery charging thresholds (applied to both profiles unless overridden) + # Start charging at 40%, stop at 80% - extends battery lifespan + # take precedence over this global setting + battery_charge_thresholds = [40 90]; min_freq_mhz = 800; max_freq_mhz = 2500; }; diff --git a/modules/wms/wayland/niri/module.nix b/modules/wms/wayland/niri/module.nix index 5754e76..a0e10e2 100644 --- a/modules/wms/wayland/niri/module.nix +++ b/modules/wms/wayland/niri/module.nix @@ -8,11 +8,6 @@ inherit (lib.options) mkEnableOption; cfg = config.modules.desktops.niri; - - niri-config = { - }; - - toKDL = import ./toKDL.nix lib; in { options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor"; config = mkIf cfg.enable { @@ -26,5 +21,9 @@ in { # set niri's config location to /etc/niri/config.kdl. environment.etc."niri/config.kdl".source = ./config.kdl; + + environment.systemPackages = builtins.attrValues { + inherit (pkgs) xwayland-satellite avizo; + }; }; } diff --git a/packages/helix/default.nix b/packages/helix/default.nix index f10b663..6b73924 100644 --- a/packages/helix/default.nix +++ b/packages/helix/default.nix @@ -135,6 +135,9 @@ rustfmt # Shell shellcheck + + kdlfmt + superhtml # toml taplo