2024-06-12 09:54:11 +07:00
|
|
|
{ lib, ... }:
|
|
|
|
{
|
|
|
|
options.profile = {
|
|
|
|
discord = {
|
|
|
|
enable = lib.mkEnableOption "discord";
|
|
|
|
autostart = lib.mkEnableOption "discord autostart";
|
|
|
|
window_rule = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
2024-10-20 11:21:34 +07:00
|
|
|
default = "workspace 7 silent,class:((?=discord|vesktop))";
|
2024-06-12 09:54:11 +07:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
slack = {
|
|
|
|
enable = lib.mkEnableOption "slack";
|
|
|
|
autostart = lib.mkEnableOption "slack autostart";
|
|
|
|
window_rule = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
|
|
|
default = "workspace 6 silent,class:(Slack)";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
whatsapp = {
|
|
|
|
enable = lib.mkEnableOption "whatsapp";
|
|
|
|
autostart = lib.mkEnableOption "whatsapp autostart";
|
|
|
|
window_rule = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
|
|
|
default = "workspace 5 silent,class:(whatsapp-for-linux)";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
syncthing.enable = lib.mkEnableOption "syncthing";
|
|
|
|
|
|
|
|
obs.enable = lib.mkEnableOption "obs";
|
2024-06-12 18:09:56 +07:00
|
|
|
|
|
|
|
neovide.enable = lib.mkEnableOption "neovide";
|
|
|
|
ideavim.enable = lib.mkEnableOption "ideavim";
|
|
|
|
kitty.enable = lib.mkEnableOption "kitty";
|
|
|
|
|
|
|
|
mpris-proxy.enable = lib.mkEnableOption "mpris-proxy";
|
|
|
|
|
|
|
|
variety = {
|
|
|
|
enable = lib.mkEnableOption "variety";
|
|
|
|
autostart = lib.mkEnableOption "variety autostart";
|
|
|
|
};
|
|
|
|
|
|
|
|
bitwarden = {
|
|
|
|
enable = lib.mkEnableOption "bitwarden";
|
|
|
|
autostart = lib.mkEnableOption "bitwarden autostart";
|
|
|
|
};
|
|
|
|
|
|
|
|
go.enable = lib.mkEnableOption "go";
|
|
|
|
chromium.enable = lib.mkEnableOption "chromium";
|
|
|
|
nnn.enable = lib.mkEnableOption "nnn";
|
|
|
|
mpv.enable = lib.mkEnableOption "mpv";
|
|
|
|
|
|
|
|
gh.enable = lib.mkEnableOption "gh"; # GitHub CLI
|
|
|
|
spotify = {
|
|
|
|
enable = lib.mkEnableOption "spotify";
|
|
|
|
autostart = lib.mkEnableOption "spotify autostart";
|
|
|
|
};
|
|
|
|
firefox.enable = lib.mkEnableOption "firefox";
|
|
|
|
vscode.enable = lib.mkEnableOption "vscode";
|
|
|
|
|
|
|
|
# This is client jellyfin option only.
|
|
|
|
# For server option, see podman.nix.
|
|
|
|
jellyfin.enable = lib.mkEnableOption "jellyfin";
|
|
|
|
dbeaver.enable = lib.mkEnableOption "dbeaver";
|
2024-06-12 18:22:03 +07:00
|
|
|
|
|
|
|
microsoft-edge.enable = lib.mkEnableOption "microsoft-edge";
|
|
|
|
nextcloud.enable = lib.mkEnableOption "nextcloud";
|
2024-06-12 20:51:10 +07:00
|
|
|
|
|
|
|
cockpit.enable = lib.mkEnableOption "cockpit";
|
2024-06-19 16:56:10 +07:00
|
|
|
home.programs = {
|
|
|
|
zathura.enable = lib.mkEnableOption "zathura";
|
|
|
|
floorp.enable = lib.mkEnableOption "floorp";
|
2024-07-25 22:28:38 +07:00
|
|
|
zellij = {
|
|
|
|
enable = lib.mkEnableOption "zellij";
|
|
|
|
|
|
|
|
# Wether to enable auto attach to zellij sessions.
|
|
|
|
#
|
|
|
|
# Best used for servers when you want to auto attach to a session when ssh
|
|
|
|
# into a server.
|
|
|
|
#
|
|
|
|
# Desktop usage is not recommended since uses typically have multiple
|
|
|
|
# terminal windows open and it can be confusing to have a terminal
|
|
|
|
# window auto attach to a zellij session.
|
|
|
|
#
|
|
|
|
# Also, there is resurrections features that zellij offers.
|
|
|
|
# So desktop user can just resurrect the session if they want to.
|
|
|
|
autoAttach = lib.mkEnableOption "zellij autoAttach";
|
2024-08-04 15:51:33 +07:00
|
|
|
mod = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
|
|
|
default = "Ctrl a";
|
|
|
|
description = "Mod key to use for zellij to enter tmux mode and exits locked mode.";
|
|
|
|
};
|
2024-08-04 16:36:23 +07:00
|
|
|
zjstatus = {
|
|
|
|
theme = lib.mkOption {
|
|
|
|
type = lib.types.path;
|
|
|
|
default = ../home/programs/zellij/themes/zjstatus/catppuccin-mocha.nix;
|
|
|
|
description = "Default zellij status theme";
|
|
|
|
};
|
|
|
|
timezone = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
|
|
|
default = "Asia/Jakarta";
|
|
|
|
description = "Timezone to use for zellij status";
|
|
|
|
};
|
2024-08-04 16:26:21 +07:00
|
|
|
};
|
2024-07-25 22:28:38 +07:00
|
|
|
};
|
2024-07-26 20:03:14 +07:00
|
|
|
foot.enable = lib.mkEnableOption "foot";
|
2024-08-12 16:41:11 +07:00
|
|
|
bruno.enable = lib.mkEnableOption "bruno";
|
2024-08-15 15:54:44 +07:00
|
|
|
zoom.enable = lib.mkEnableOption "zoom";
|
2024-08-22 12:52:08 +07:00
|
|
|
elisa.enable = lib.mkEnableOption "elisa";
|
2024-09-30 09:12:17 +07:00
|
|
|
obsidian.enable = lib.mkEnableOption "obsidian";
|
2024-11-08 09:01:09 +07:00
|
|
|
jetbrains.idea.enable = lib.mkEnableOption "jetbrains.idea";
|
2024-06-19 16:56:10 +07:00
|
|
|
};
|
2024-06-26 13:25:55 +07:00
|
|
|
|
|
|
|
programs = {
|
2024-07-19 12:14:52 +07:00
|
|
|
mongodb-compass.enable = lib.mkEnableOption "mongodb-compass";
|
2024-06-26 13:25:55 +07:00
|
|
|
yazi.enable = lib.mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
default = true;
|
|
|
|
};
|
2024-07-02 14:37:57 +07:00
|
|
|
easyeffects.enable = lib.mkEnableOption "easyeffects";
|
2024-07-10 14:49:12 +07:00
|
|
|
wezterm.enable = lib.mkEnableOption "wezterm";
|
2024-07-10 15:13:57 +07:00
|
|
|
wezterm.config.window_background_opacity = lib.mkOption {
|
|
|
|
type = lib.types.float;
|
|
|
|
default = 0.8;
|
|
|
|
};
|
2024-06-26 13:25:55 +07:00
|
|
|
};
|
2024-06-12 09:54:11 +07:00
|
|
|
};
|
|
|
|
}
|