OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
 
main @ 55 LINES
 
[ HISTORY ]  [ UP ]
 

{
  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";
    }
  ];
}

{
  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