diff --git a/README.md b/README.md index e0017e7..a27ef5a 100644 --- a/README.md +++ b/README.md @@ -299,6 +299,12 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot. the Nix modules. One place — there is no second renderer to keep in sync. - **Importing more old-distro palettes:** `tools/import-palettes.py themes/`. +- **New opt-in feature (convention):** when a feature is off by default and + needs the user to set `nomarchy.*` options (e.g. night light, per-device + keyboard layouts, monitor layout, power management), ship a **commented** + example of it in `templates/downstream/home.nix` or `system.nix`. New + installs then enable it by uncommenting + tweaking, rather than hunting the + docs for the option name. ## Roadmap & known issues diff --git a/templates/downstream/home.nix b/templates/downstream/home.nix index 9420a2c..d6fd46c 100644 --- a/templates/downstream/home.nix +++ b/templates/downstream/home.nix @@ -5,13 +5,34 @@ { pkgs, ... }: { - # Examples: + # ── Overrides (the desktop is on by default; tweak or opt out) ────── # nomarchy.terminal = "kitty"; # swap the default terminal # nomarchy.waybar.enable = false; # bring your own bar # nomarchy.stylix.enable = false; # opt out of GTK/Qt theming - # nomarchy.keyboard.layout = "de"; # session keyboard (pair with - # # xkb + console.useXkbConfig in - # # system.nix for tty/LUKS) + # nomarchy.keyboard.layout = "de"; # session keyboard (set the matching + # # services.xserver.xkb.layout in + # # system.nix too; the console + LUKS + # # prompt follow it automatically) + + # ── Opt-in features — uncomment and tweak to enable ───────────────── + # nomarchy.nightlight = { # scheduled blue-light filter (hyprsunset) + # enable = true; + # temperature = 4000; # night warmth in K — lower is warmer + # sunset = "20:00"; + # sunrise = "07:00"; + # }; + # + # nomarchy.monitors = [ # declarative per-output layout, hotplug-applied + # { name = "eDP-1"; position = "0x0"; } + # { name = "HDMI-A-1"; position = "auto-right"; } + # ]; # names from `hyprctl devices` + # + # nomarchy.keyboard.devices = { # a specific keyboard's own layout + # "keychron-keychron-k2" = { layout = "de"; }; + # }; + # + # nomarchy.keyboard.layouts = [ "de" "fr" ]; # rofi-prompt for a layout when a + # # new keyboard connects + remember it home.packages = with pkgs; [ # firefox diff --git a/templates/downstream/system.nix b/templates/downstream/system.nix index 9c2c1e4..c0a57a2 100644 --- a/templates/downstream/system.nix +++ b/templates/downstream/system.nix @@ -18,9 +18,18 @@ extraGroups = [ "wheel" "networkmanager" "video" "input" ]; }; - # Examples: + # ── Overrides (uncomment to change) ───────────────────────────────── # nomarchy.system.greeter.enable = false; # bring your own login manager # environment.systemPackages = [ pkgs.htop ]; + # ── Opt-in features — uncomment and tweak to enable ───────────────── + # nomarchy.system.power = { # active power management (laptops) + # enable = true; + # backend = "ppd"; # "ppd" (default) or "tlp" + # laptop = true; # required by batteryChargeLimit + # batteryChargeLimit = 80; # cap charging for longevity + # thermal.enable = true; # thermald (Intel CPUs) + # }; + system.stateVersion = "26.05"; }