aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/modules/workstation/ui/i3/default.nix
/**
 * A custom nixos module to configure i3.
 *
 * This nixos module provides a simple API
 * The special thing about this configuration is the way workspaces
 * are handled.  Instead of numerical workspaces, this configuration
 * sets up scripts to manage named workspaces
 */

{ config, lib, pkgs, home-manager, ... } @ args:

let cfg = config.libkookie.ui.i3;
in
with lib;
{  
  options.libkookie.ui.i3 = {
    enable = mkEnableOption "i3 + xfce4 display manager";
    
    videoDrivers = with lib; mkOption {
      type = with types; listOf str;
      default = [];
      description = ''
        The set of video drivers to instantiate on a given system.
        This setting is passed through to the X11 configuration.
      '';
    };
  };

  config = mkIf cfg.enable (import ./core args);
}