main @ 80 LINES
[ HISTORY ] [ UP ]
┌─ NIX ──────────────────────────────────────────────────────────────────────┐
│ {lib, ...}: let │
│ inherit (lib) mkOption; │
│ inherit (lib.types) str package path int bool submodule nullOr; │
│ │
│ mkVariantOption = { │
│ regular = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ bold = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ italic = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ boldItalic = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ }; │
│ │
│ mkBaseFontOption = { │
│ family = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ variants = mkVariantOption; │
│ package = mkOption { │
│ type = package; │
│ default = null; │
│ }; │
│ size = mkOption { │
│ type = int; │
│ default = 18; │
│ }; │
│ bitmap = mkOption { │
│ type = bool; │
│ default = false; │
│ }; │
│ }; │
│ mkFontOption = │
│ mkBaseFontOption │
│ // { │
│ fallback = mkOption { │
│ type = nullOr (submodule {options = mkBaseFontOption;}); │
│ default = null; │
│ }; │
│ }; │
│ in { │
│ # imports = [./palettes]; │
│ options.ooknet.appearance = { │
│ fonts = { │
│ monospace = mkFontOption; │
│ regular = mkFontOption; │
│ }; │
│ wallpaper = { │
│ path = mkOption { │
│ type = path; │
│ default = null; │
│ }; │
│ }; │
│ cursor = { │
│ package = mkOption { │
│ type = package; │
│ default = null; │
│ }; │
│ name = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ size = mkOption { │
│ type = int; │
│ default = 22; │
│ }; │
│ }; │
│ }; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ {lib, ...}: let │
│ inherit (lib) mkOption; │
│ inherit (lib.types) str package path int b │
│ ool submodule nullOr; │
│ │
│ mkVariantOption = { │
│ regular = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ bold = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ italic = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ boldItalic = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ }; │
│ │
│ mkBaseFontOption = { │
│ family = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ variants = mkVariantOption; │
│ package = mkOption { │
│ type = package; │
│ default = null; │
│ }; │
│ size = mkOption { │
│ type = int; │
│ default = 18; │
│ }; │
│ bitmap = mkOption { │
│ type = bool; │
│ default = false; │
│ }; │
│ }; │
│ mkFontOption = │
│ mkBaseFontOption │
│ // { │
│ fallback = mkOption { │
│ type = nullOr (submodule {options = │
│ mkBaseFontOption;}); │
│ default = null; │
│ }; │
│ }; │
│ in { │
│ # imports = [./palettes]; │
│ options.ooknet.appearance = { │
│ fonts = { │
│ monospace = mkFontOption; │
│ regular = mkFontOption; │
│ }; │
│ wallpaper = { │
│ path = mkOption { │
│ type = path; │
│ default = null; │
│ }; │
│ }; │
│ cursor = { │
│ package = mkOption { │
│ type = package; │
│ default = null; │
│ }; │
│ name = mkOption { │
│ type = str; │
│ default = ""; │
│ }; │
│ size = mkOption { │
│ type = int; │
│ default = 22; │
│ }; │
│ }; │
│ }; │
│ } │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET