main @ 55 LINES
[ HISTORY ] [ UP ]
┌─ NIX ──────────────────────────────────────────────────────────────────────┐
│ { │
│ lib, │
│ config, │
│ pkgs, │
│ ... │
│ }: let │
│ inherit (lib) mkEnableOption mkOption; │
│ inherit (lib.types) nullOr enum listOf; │
│ inherit (pkgs.stdenv) isDarwin; │
│ cfg = config.ooknet.workstation; │
│ in { │
│ options.ooknet.workstation = { │
│ theme = mkOption { │
│ type = nullOr (enum ["minimal" "hozen"]); │
│ default = null; │
│ }; │
│ profiles = mkOption { │
│ type = listOf (enum ["gaming" "communication" "productivity" "creative" "med │
│ ia" "virtualization" "infra" "work" "ai"]); │
│ default = []; │
│ }; │
│ silentBoot = { │
│ enable = mkEnableOption "Enable silent boot with plymouth"; │
│ }; │
│ sunshine.enable = mkEnableOption "Sunshine game/desktop streaming host"; │
│ environment = mkOption { │
│ type = nullOr (enum ["hyprland" "gnome" "aerospace"]); │
│ default = "hyprland"; │
│ }; │
│ default = { │
│ browser = mkOption { │
│ type = nullOr (enum ["firefox" "chromium" "zen"]); │
│ default = "firefox"; │
│ }; │
│ terminal = mkOption { │
│ type = enum ["foot" "ghostty"]; │
│ default = "foot"; │
│ }; │
│ }; │
│ programs = { │
│ firefox.enable = mkEnableOption ""; │
│ chromium.enable = mkEnableOption ""; │
│ foot.enable = mkEnableOption ""; │
│ ghostty.enable = mkEnableOption ""; │
│ ollama.enable = mkEnableOption ""; │
│ zen.enable = mkEnableOption ""; │
│ }; │
│ }; │
│ config.assertions = [ │
│ { │
│ assertion = !(cfg.environment == "aerospace" && !isDarwin); │
│ message = "The aerospace environment is for nix-darwin only"; │
│ } │
│ ]; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ { │
│ lib, │
│ config, │
│ pkgs, │
│ ... │
│ }: let │
│ inherit (lib) mkEnableOption mkOption; │
│ inherit (lib.types) nullOr enum listOf; │
│ inherit (pkgs.stdenv) isDarwin; │
│ cfg = config.ooknet.workstation; │
│ in { │
│ options.ooknet.workstation = { │
│ theme = mkOption { │
│ type = nullOr (enum ["minimal" "hozen" │
│ ]); │
│ default = null; │
│ }; │
│ profiles = mkOption { │
│ type = listOf (enum ["gaming" "communi │
│ cation" "productivity" "creative" "media" "v │
│ irtualization" "infra" "work" "ai"]); │
│ default = []; │
│ }; │
│ silentBoot = { │
│ enable = mkEnableOption "Enable silent │
│ boot with plymouth"; │
│ }; │
│ sunshine.enable = mkEnableOption "Sunshi │
│ ne game/desktop streaming host"; │
│ environment = mkOption { │
│ type = nullOr (enum ["hyprland" "gnome │
│ " "aerospace"]); │
│ default = "hyprland"; │
│ }; │
│ default = { │
│ browser = mkOption { │
│ type = nullOr (enum ["firefox" "chro │
│ mium" "zen"]); │
│ default = "firefox"; │
│ }; │
│ terminal = mkOption { │
│ type = enum ["foot" "ghostty"]; │
│ default = "foot"; │
│ }; │
│ }; │
│ programs = { │
│ firefox.enable = mkEnableOption ""; │
│ chromium.enable = mkEnableOption ""; │
│ foot.enable = mkEnableOption ""; │
│ ghostty.enable = mkEnableOption ""; │
│ ollama.enable = mkEnableOption ""; │
│ zen.enable = mkEnableOption ""; │
│ }; │
│ }; │
│ config.assertions = [ │
│ { │
│ assertion = !(cfg.environment == "aero │
│ space" && !isDarwin); │
│ message = "The aerospace environment i │
│ s for nix-darwin only"; │
│ } │
│ ]; │
│ } │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET