refactor(home:options): move modules/options -> ../options

This commit is contained in:
ooks-io 2024-06-10 13:25:14 +12:00
parent 1ac90d7985
commit 7755141752
26 changed files with 1 additions and 70 deletions

View file

@ -0,0 +1,29 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption mkOption types;
in
{
options.ooknet.cursor = {
enable = mkEnableOption "Enable cursor module";
package = mkOption {
type = types.package;
default = null;
description = "Package for cursor";
example = "pkgs.bibata-cursors";
};
name = mkOption {
type = types.str;
default = "";
description = "Name of cursor";
example = "Bibata-Modern-Ice";
};
size = lib.mkOption {
type = types.int;
default = 22;
description = "Size of cursor";
example = "22";
};
};
}

View file

@ -0,0 +1,25 @@
{ lib, ... }:
let
mkFontOption = kind: {
family = lib.mkOption {
type = lib.types.str;
default = "";
description = "Family name for ${kind} font profile";
example = "Fira Code";
};
package = lib.mkOption {
type = lib.types.package;
default = null;
description = "Package for ${kind} font profile";
example = "pkgs.fira-code";
};
};
in
{
options.ooknet.theme.fonts = {
enable = lib.mkEnableOption "Whether to enable font profiles";
monospace = mkFontOption "monospace";
regular = mkFontOption "regular";
};
}

View file

@ -0,0 +1,9 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.gtk.enable = mkEnableOption;
}

View file

@ -0,0 +1,9 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.qt.enable = mkEnableOption "";
}

View file

@ -0,0 +1,13 @@
{ lib, config, ... }:
let
inherit (lib) mkOption;
inherit (lib.types) nullOr enum;
in
{
options.ooknet.theme = mkOption {
type = nullOr (enum [ "minimal" "phone" ]);
default = null;
};
}

View file

@ -0,0 +1,16 @@
{ lib, ... }:
let
inherit (lib) types mkEnableOption mkOption;
in
{
options.ooknet.wallpaper = {
enable = mkEnableOption "";
path = mkOption {
type = types.path;
default = null;
description = "Wallpaper Path";
};
};
}

View file

@ -0,0 +1,12 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.editor = {
helix.enable = mkEnableOption "";
nvim.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,12 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.multiplexer = {
zellij.enable = mkEnableOption "";
tmux.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,13 @@
{ lib , ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.shell = {
fish.enable = mkEnableOption "";
zsh.enable = mkEnableOption "";
bash.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,21 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.tools = {
btop.enable = mkEnableOption "";
eza.enable = mkEnableOption "";
bat.enable = mkEnableOption "";
direnv.enable = mkEnableOption "";
fzf.enable = mkEnableOption "";
git.enable = mkEnableOption "";
ssh.enable = mkEnableOption "";
nixIndex.enable = mkEnableOption "";
starship.enable = mkEnableOption "";
utils.enable = mkEnableOption "";
ffmpeg.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,39 @@
{ lib, pkgs, ... }:
let
mkBind = message: lib.mkOption {
type = lib.types.str;
default = "${pkgs.libnotify}/bin/notify-send --urgency=normal 'Warning' '${message}'";
};
in
{
options.ooknet.binds = {
browser = mkBind "No browser is enabled";
terminal = mkBind "No terminal is enabled";
terminalLaunch = mkBind "Failed to launch tui";
fileManager = mkBind "No file manager is enabled.";
notes = mkBind "No Notes app is enabled";
discord = mkBind "No Discord app is enabled";
steam = mkBind "Steam is not enabled";
powerMenu = mkBind "No power menu is enabled";
lock = mkBind "No screen locker enabled";
password = mkBind "No password manager enabled";
zellijMenu = mkBind "Zellij Menu is not enabled";
volume = {
up = mkBind "Volume binding not found...";
down = mkBind "Volume binding not found...";
mute = mkBind "Volume binding not found...";
};
brightness = {
up = mkBind "Brightness binding not found...";
down = mkBind "Brightness binding not found...";
};
spotify = {
launch = mkBind "Spotify is not enabled";
next = mkBind "Spotify is not enabled";
previous = mkBind "Spotify is not enabled";
play = mkBind "Spotify is not enabled";
};
};
}

View file

@ -0,0 +1,12 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.browser = {
firefox.enable = mkEnableOption "";
brave.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,11 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.communication = {
discord.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,12 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.creative = {
inkscape.enable = mkEnableOption "";
audacity.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,13 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.gaming = {
factorio.enable = mkEnableOption "";
bottles.enable = mkEnableOption "";
lutris.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,21 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.media = {
image = {
imv.enable = mkEnableOption "";
};
video = {
mpv.enable = mkEnableOption "";
jellyfinPlayer.enable = mkEnableOption "";
youtube.enable = mkEnableOption "";
};
music = {
tui.enable = mkEnableOption "";
};
};
}

View file

@ -0,0 +1,19 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.productivity = {
notes = {
obsidian.enable = mkEnableOption "";
};
office = {
libreoffice.enable = mkEnableOption "";
};
pdf = {
zathura.enable = mkEnableOption "";
};
};
}

View file

@ -0,0 +1,14 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
inherit (types) nullOr enum;
in
{
options.ooknet.security.polkit = mkOption {
type = nullOr (enum ["gnome" "pantheon"]); # TODO: add kde agent
default = "gnome";
description = "Type of polkit agent module to use";
};
}

View file

@ -0,0 +1,11 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.terminal = {
foot.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,11 @@
{ lib, ... }:
let
inherit (lib) mkEnableOption;
in
{
options.ooknet.tools = {
kdeconnect.enable = mkEnableOption "";
};
}

View file

@ -0,0 +1,31 @@
{ lib, ... }:
let
inherit (lib) mkOption mkEnableOption types;
inherit (types) nullOr enum;
in
{
ooknet.wayland = {
enable = mkEnableOption "";
compositor = mkOption {
type = nullOr (enum [ "hyprland" ]);
};
launcher = mkOption {
type = nullOr (enum [ "rofi" "tofi" ]);
default = null;
};
locker = mkOption {
type = nullOr (enum [ "hyprlock" "swaylock" ]);
default = null;
};
notification = mkOption {
type = nullOr (enum [ "mako" ]);
default = null;
};
bar = mkOption {
type = nullOr (enum [ "waybar" ]);
default = null;
};
};
}

View file

@ -0,0 +1,23 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
inherit (types) nullOr enum;
in
{
options.ooknet.console = {
editor = mkOption {
type = nullOr (enum ["helix" "nvim"]);
default = "helix";
};
multiplexer = mkOption {
type = nullOr (enum ["tmux" "zellij"]);
default = null;
};
fileManager = mkOption {
type = nullOr (enum ["yazi" "ranger" "lf"]);
default = null;
};
};
}

View file

@ -0,0 +1,51 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
inherit (types) enum nullOr listOf;
in
{
options.ooknet.desktop = {
environment = mkOption {
type = nullOr (enum [ "hyprland" ]);
default = "hyprland";
};
browser = mkOption {
type = nullOr (enum [ "firefox" "brave" ]);
default = null;
};
terminal = mkOption {
type = nullOr (enum [ "foot" "kitty" "wezterm" ]);
default = "foot";
};
fileManager = mkOption {
type = nullOr (enum [ "nemo" ]);
default = null;
};
notes = mkOption {
type = nullOr (enum [ "obsidian" ]);
default = null;
};
pdf = mkOption {
type = nullOr (enum [ "zathura" ]);
default = null;
};
discord = mkOption {
type = nullOr (enum [ "vesktop" ]);
default = null;
};
suites = mkOption {
type = listOf (enum [ "gaming" "tools" "media" "creative" ]);
default = [ ];
};
};
}