nix/module/common/Setting.nix

127 lines
2.3 KiB
Nix
Raw Normal View History

# Global settings.
# Just like I can configure each package, here I configure my config! :O)
2024-06-29 18:05:39 +03:00
{ lib, ... }: {
options.setting = with lib; {
2024-06-25 04:04:39 +03:00
# Ollama settings.
# I use the best light model by default.
ollama = mkOption {
default = { };
type = types.submodule {
# freeformType = lib.jsonFormat.type;
options = {
primaryModel = mkOption {
default = "llama3";
type = types.str;
};
};
};
};
2024-06-25 04:04:39 +03:00
# Default browser settings.
browser = mkOption {
default = { };
type = types.submodule {
options = {
bin = mkOption {
default = "firefox-esr";
type = types.str;
};
};
};
};
2024-06-22 23:34:03 +03:00
2024-06-25 04:04:39 +03:00
# Terminal settings.
terminal = mkOption {
default = { };
type = types.submodule {
options = {
bin = mkOption {
default = "foot";
type = types.str;
};
};
};
};
2024-06-25 04:04:39 +03:00
# Whether to use Dpi-aware setting in supported apps.
dpiAware = mkOption {
default = false;
type = types.bool;
};
2024-06-25 04:04:39 +03:00
# The key used for system-related shortcuts.
sysctrl = mkOption {
default = "print";
type = types.str;
};
2024-06-25 04:04:39 +03:00
# Keyboard options.
keyboard = mkOption {
default = { };
type = types.submodule {
options = {
layouts = mkOption {
default = "us,ru";
type = types.str;
};
options = mkOption {
default = "grp:toggle";
type = types.str;
};
};
};
};
2024-06-25 04:04:39 +03:00
# Settings related to different refreshes, like top apps.
refresh = mkOption {
default = { };
type = types.submodule {
options = {
top = mkOption {
default = 2000;
type = types.int;
};
};
};
};
2024-06-25 04:04:39 +03:00
# Configure steps for different actions.
step = mkOption {
default = { };
type = types.submodule {
options = {
brightness = mkOption {
default = 5;
type = types.int;
};
volume = mkOption {
default = 5;
type = types.int;
};
media = mkOption {
default = 10;
type = types.int;
};
};
};
};
2024-06-23 00:40:52 +03:00
2024-06-25 04:04:39 +03:00
# Specify timeouts.
timeout = mkOption {
default = { };
type = types.submodule {
options = {
popup = mkOption {
default = 5000;
type = types.int;
};
keyd = mkOption {
default = 150;
type = types.int;
};
};
};
};
2024-06-23 04:55:57 +03:00
};
2024-04-06 03:03:58 +03:00
}