78 lines
2.3 KiB
Nix
78 lines
2.3 KiB
Nix
{ lib, pkgs, ... }:
|
|
with lib;
|
|
{
|
|
options.mjallen.desktop.hyprland = {
|
|
enable = mkEnableOption "enable hyprland desktop";
|
|
|
|
primaryDisplay = mkOption {
|
|
type = types.string;
|
|
default = "DP-1";
|
|
};
|
|
|
|
wallpaper = mkOption {
|
|
type = types.string;
|
|
default = "/run/wallpaper.jpeg";
|
|
};
|
|
|
|
monitor = mkOption {
|
|
type = with types; listOf str;
|
|
default = [];
|
|
description = "list of hyprland monitor configs";
|
|
};
|
|
|
|
monitorv2 = mkOption {
|
|
type = with types; listOf str;
|
|
default = [];
|
|
description = "list of hyprland monitorv2 configs";
|
|
};
|
|
|
|
workspace = mkOption {
|
|
type = with types; listOf str;
|
|
default = [];
|
|
description = "list of hyprland workspace definitions";
|
|
};
|
|
|
|
windowRule = mkOption {
|
|
type = with types; listOf str;
|
|
default = [];
|
|
description = "list of hyprland window rules";
|
|
};
|
|
|
|
extraConfig = mkOption {
|
|
type = with types; str;
|
|
default = '''';
|
|
description = "any extra options";
|
|
};
|
|
|
|
defaultApps = mkOption {
|
|
type = types.submodule {
|
|
options = {
|
|
browser = mkOption { type = types.package; default = pkgs.firefox; };
|
|
editor = mkOption { type = types.package; default = pkgs.micro; };
|
|
fileExplorer = mkOption { type = types.package; default = pkgs.nemo; };
|
|
visual = mkOption { type = types.package; default = pkgs.vscodium; };
|
|
terminal = mkOption { type = types.package; default = pkgs.kitty; };
|
|
office = mkOption { type = types.package; default = pkgs.onlyoffice-bin_latest; };
|
|
video = mkOption { type = types.package; default = pkgs.vlc; };
|
|
imageViewer = mkOption { type = types.package; default = pkgs.gnome-photos; };
|
|
};
|
|
};
|
|
description = "Default applications used across the system.";
|
|
};
|
|
|
|
hyprIdle = {
|
|
lockScreenTimer = mkOption {
|
|
type = with types; null || signed integer || floating point number;
|
|
default = 5;
|
|
};
|
|
screenOffTimer = mkOption {
|
|
type = with types; null || signed integer || floating point number;
|
|
default = 15;
|
|
};
|
|
suspendTimer = mkOption {
|
|
type = with types; null || signed integer || floating point number;
|
|
default = 30;
|
|
};
|
|
};
|
|
};
|
|
} |