docs(template): ship opt-in features as commented examples downstream
Convention: an off-by-default feature that needs nomarchy.* settings in the
downstream files should appear commented-out in templates/downstream/{home,
system}.nix, so a new install enables it by uncommenting + tweaking rather
than hunting the docs for the option name. Apply it now: night light,
nomarchy.monitors, per-device keyboard layouts (home.nix) and power
management (system.nix). Also fix the stale keyboard.layout note
(console/LUKS follow xkb automatically now). Documented in README S6.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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.
|
the Nix modules. One place — there is no second renderer to keep in sync.
|
||||||
- **Importing more old-distro palettes:**
|
- **Importing more old-distro palettes:**
|
||||||
`tools/import-palettes.py <palettes-dir> themes/`.
|
`tools/import-palettes.py <palettes-dir> 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
|
## Roadmap & known issues
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,34 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Examples:
|
# ── Overrides (the desktop is on by default; tweak or opt out) ──────
|
||||||
# nomarchy.terminal = "kitty"; # swap the default terminal
|
# nomarchy.terminal = "kitty"; # swap the default terminal
|
||||||
# nomarchy.waybar.enable = false; # bring your own bar
|
# nomarchy.waybar.enable = false; # bring your own bar
|
||||||
# nomarchy.stylix.enable = false; # opt out of GTK/Qt theming
|
# nomarchy.stylix.enable = false; # opt out of GTK/Qt theming
|
||||||
# nomarchy.keyboard.layout = "de"; # session keyboard (pair with
|
# nomarchy.keyboard.layout = "de"; # session keyboard (set the matching
|
||||||
# # xkb + console.useXkbConfig in
|
# # services.xserver.xkb.layout in
|
||||||
# # system.nix for tty/LUKS)
|
# # 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; [
|
home.packages = with pkgs; [
|
||||||
# firefox
|
# firefox
|
||||||
|
|||||||
@@ -18,9 +18,18 @@
|
|||||||
extraGroups = [ "wheel" "networkmanager" "video" "input" ];
|
extraGroups = [ "wheel" "networkmanager" "video" "input" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Examples:
|
# ── Overrides (uncomment to change) ─────────────────────────────────
|
||||||
# nomarchy.system.greeter.enable = false; # bring your own login manager
|
# nomarchy.system.greeter.enable = false; # bring your own login manager
|
||||||
# environment.systemPackages = [ pkgs.htop ];
|
# 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";
|
system.stateVersion = "26.05";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user