diff --git a/home/modules/default.nix b/home/modules/default.nix index 5461b81e..908d6aa3 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -8,20 +8,20 @@ ... }: { imports = [ - ./audio.nix - ./emacs.nix - ./email.nix - ./firefox.nix - ./fish.nix - ./flatpak.nix - ./gaming.nix - ./gnome.nix - ./hyprland.nix - ./kitty.nix - ./misc.nix - ./neovim.nix - ./nextcloud.nix - ./plasma.nix - ./ranger.nix + ./audio/default.nix + ./emacs/default.nix + ./email/default.nix + ./firefox/default.nix + ./fish/default.nix + ./flatpak/default.nix + ./gaming/default.nix + ./gnome/default.nix + ./hyprland/default.nix + ./kitty/default.nix + ./misc/default.nix + ./neovim/default.nix + ./nextcloud/default.nix + ./plasma/default.nix + ./ranger/default.nix ]; } diff --git a/home/modules/emacs.nix b/home/modules/emacs/default.nix similarity index 90% rename from home/modules/emacs.nix rename to home/modules/emacs/default.nix index f4f32555..44b6bcbd 100644 --- a/home/modules/emacs.nix +++ b/home/modules/emacs/default.nix @@ -18,20 +18,7 @@ in { # Options is a vector of options this module defines # This module defines only the "emacs" option and suboptions "enable" and "doom" - options.modules.emacs = { - enable = mkEnableOpt "Emacs module"; - - # TODO: Use an enum for this not individual options - nixpkgs = mkBoolOpt false "Use Emacs from the official repositories"; - nativeComp = mkBoolOpt false "Use Emacs 28.x branch with native comp support"; - pgtkNativeComp = mkBoolOpt false "Use Emacs 29.x branch with native comp and pure gtk support"; - - doom = { - enable = mkEnableOpt "Doom Emacs framework"; - autoSync = mkBoolOpt false "Sync Doom Emacs on nixos-rebuild"; - autoUpgrade = mkBoolOpt false "Upgrade Doom Emacs on nixos-rebuild"; - }; - }; + options.modules.emacs = import ./options.nix { inherit lib; }; # Config is the merged set of all module configurations # Here we define what happens to the config if the module is active (but only if the module is active) diff --git a/home/modules/emacs/options.nix b/home/modules/emacs/options.nix new file mode 100644 index 00000000..c41b0d03 --- /dev/null +++ b/home/modules/emacs/options.nix @@ -0,0 +1,18 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Emacs module"; + + # TODO: Use an enum for this not individual options + nixpkgs = mkBoolOpt false "Use Emacs from the official repositories"; + nativeComp = mkBoolOpt false "Use Emacs 28.x branch with native comp support"; + pgtkNativeComp = mkBoolOpt false "Use Emacs 29.x branch with native comp and pure gtk support"; + + doom = { + enable = mkEnableOpt "Doom Emacs framework"; + autoSync = mkBoolOpt false "Sync Doom Emacs on nixos-rebuild"; + autoUpgrade = mkBoolOpt false "Upgrade Doom Emacs on nixos-rebuild"; + }; +} \ No newline at end of file diff --git a/home/modules/email.nix b/home/modules/email/default.nix similarity index 92% rename from home/modules/email.nix rename to home/modules/email/default.nix index d52a2451..f92c0f14 100644 --- a/home/modules/email.nix +++ b/home/modules/email/default.nix @@ -14,16 +14,7 @@ with lib; with mylib.modules; let cfg = config.modules.email; in { - options.modules.email = { - enable = mkEnableOpt "Email"; - autosync = mkEnableOpt "Automatically call \"notmuch new\" via systemd timer"; - imapnotify = mkEnableOpt "Use imapnotify to sync and index mail automatically"; - - kmail = { - enable = mkEnableOpt "Kmail"; - autostart = mkEnableOpt "Autostart Kmail"; - }; - }; + options.modules.email = import ./options.nix { inherit lib; }; # TODO: Add Maildir to nextcloud sync config = mkIf cfg.enable { diff --git a/home/modules/email/options.nix b/home/modules/email/options.nix new file mode 100644 index 00000000..121fb209 --- /dev/null +++ b/home/modules/email/options.nix @@ -0,0 +1,14 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Email"; + autosync = mkEnableOpt "Automatically call \"notmuch new\" via systemd timer"; + imapnotify = mkEnableOpt "Use imapnotify to sync and index mail automatically"; + + kmail = { + enable = mkEnableOpt "Kmail"; + autostart = mkEnableOpt "Autostart Kmail"; + }; +} \ No newline at end of file diff --git a/home/modules/firefox.nix b/home/modules/firefox/default.nix similarity index 97% rename from home/modules/firefox.nix rename to home/modules/firefox/default.nix index 1ef27873..24783712 100644 --- a/home/modules/firefox.nix +++ b/home/modules/firefox/default.nix @@ -12,14 +12,7 @@ with lib; with mylib.modules; let cfg = config.modules.firefox; in { - options.modules.firefox = { - enable = mkEnableOpt "Firefox"; - wayland = mkBoolOpt false "Enable firefox wayland support"; - vaapi = mkBoolOpt false "Enable firefox vaapi support"; - disableTabBar = mkBoolOpt false "Disable the firefox tab bar (for TST)"; - defaultBookmarks = mkBoolOpt false "Preset standard bookmarks and folders"; - gnomeTheme = mkBoolOpt false "Use Firefox gnome theme (rafaelmardojai)"; - }; + options.modules.firefox = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { home.packages = with pkgs; diff --git a/home/modules/firefox/options.nix b/home/modules/firefox/options.nix new file mode 100644 index 00000000..216c47b0 --- /dev/null +++ b/home/modules/firefox/options.nix @@ -0,0 +1,12 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Firefox"; + wayland = mkBoolOpt false "Enable firefox wayland support"; + vaapi = mkBoolOpt false "Enable firefox vaapi support"; + disableTabBar = mkBoolOpt false "Disable the firefox tab bar (for TST)"; + defaultBookmarks = mkBoolOpt false "Preset standard bookmarks and folders"; + gnomeTheme = mkBoolOpt false "Use Firefox gnome theme (rafaelmardojai)"; +} \ No newline at end of file diff --git a/home/modules/fish.nix b/home/modules/fish/default.nix similarity index 97% rename from home/modules/fish.nix rename to home/modules/fish/default.nix index bc321ed3..f0e9a04c 100644 --- a/home/modules/fish.nix +++ b/home/modules/fish/default.nix @@ -10,9 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.fish; in { - options.modules.fish = { - enable = mkEnableOpt "Fish"; - }; + options.modules.fish = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { programs.fish = { @@ -90,7 +88,7 @@ in { blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL"; grep = "grep --color=auto -E"; # grep with extended regex watch = "watch -d -c -n 0.5"; - n = "nnncd -a -P p"; # Doesn't work with abbrify because I have nnn.override? + n = "nnncd -a -P p -e"; # Doesn't work with abbrify because I have nnn.override? # systemd failed = "systemctl --failed"; diff --git a/home/modules/fish/options.nix b/home/modules/fish/options.nix new file mode 100644 index 00000000..837096f5 --- /dev/null +++ b/home/modules/fish/options.nix @@ -0,0 +1,7 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Fish"; +} \ No newline at end of file diff --git a/home/modules/flatpak.nix b/home/modules/flatpak/default.nix similarity index 75% rename from home/modules/flatpak.nix rename to home/modules/flatpak/default.nix index 85e70ca2..6946f32b 100644 --- a/home/modules/flatpak.nix +++ b/home/modules/flatpak/default.nix @@ -14,54 +14,7 @@ with mylib.modules; let cfg = config.modules.flatpak; in { - options.modules.flatpak = { - enable = mkEnableOpt "Flatpak module"; - fontFix = mkBoolOpt true "Link fonts to ~/.local/share/fonts so flatpak apps can find them"; - iconFix = mkBoolOpt true "Link icons to ~/.local/share/icons so flatpak apps can find them"; - autoUpdate = mkBoolOpt false "Update flatpak apps on nixos-rebuild"; - autoPrune = mkBoolOpt false "Remove unused packages on nixos-rebuild"; - - # TODO: Add library function to make this easier - # TODO: The flatpak name should be included and a list of all enabled apps should be available - # TODO: Do this for strings + packages - discord.enable = mkEnableOpt "Discord"; - spotify.enable = mkEnableOpt "Spotify"; - flatseal.enable = mkEnableOpt "Flatseal"; - bottles.enable = mkEnableOpt "Bottles"; - obsidian.enable = mkEnableOpt "Obsidian"; - jabref.enable = mkEnableOpt "Jabref"; - # xwaylandvideobridge = mkEnableOpt "XWayland Video Bridge"; # TODO - - # This is mainly used by other modules to allow them to use flatpak packages - extraInstall = mkOption { - type = types.listOf types.str; - default = []; - description = "Flatpaks that will be installed additionally"; - }; - - # This doesn't uninstall if any flatpak is still present in the extraInstall list - extraRemove = mkOption { - type = types.listOf types.str; - default = []; - description = "Flatpaks that will be removed additionally (use with extraInstall)"; - }; - - extraOverride = mkOption { - type = types.listOf types.attrs; - default = []; - # TODO: Change the format to { "com.usebottles.bottles" = [ "~/Documents" "~/Downloads" ]; } - # TODO: This requires that the lists of the same key are being merged recursively, mkMerge would override the key - example = [{"com.usebottles.bottles" = "\${config.home.homeDirectory}/Documents";}]; - description = "Additional overrides"; - }; - - extraGlobalOverride = mkOption { - type = types.listOf types.str; - default = []; - example = ["\${config.home.homeDirectory}/Documents:ro"]; - description = "Additional global overrides"; - }; - }; + options.modules.flatpak = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { assertions = [ diff --git a/home/modules/flatpak/options.nix b/home/modules/flatpak/options.nix new file mode 100644 index 00000000..33dc2923 --- /dev/null +++ b/home/modules/flatpak/options.nix @@ -0,0 +1,53 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Flatpak module"; + fontFix = mkBoolOpt true "Link fonts to ~/.local/share/fonts so flatpak apps can find them"; + iconFix = mkBoolOpt true "Link icons to ~/.local/share/icons so flatpak apps can find them"; + autoUpdate = mkBoolOpt false "Update flatpak apps on nixos-rebuild"; + autoPrune = mkBoolOpt false "Remove unused packages on nixos-rebuild"; + + # TODO: Add library function to make this easier + # TODO: The flatpak name should be included and a list of all enabled apps should be available + # TODO: Do this for strings + packages + discord.enable = mkEnableOpt "Discord"; + spotify.enable = mkEnableOpt "Spotify"; + flatseal.enable = mkEnableOpt "Flatseal"; + bottles.enable = mkEnableOpt "Bottles"; + obsidian.enable = mkEnableOpt "Obsidian"; + jabref.enable = mkEnableOpt "Jabref"; + # xwaylandvideobridge = mkEnableOpt "XWayland Video Bridge"; # TODO + + # TODO: Can I use extraInstall = { "com.valve.Steam" = true/false; } and pass the module option as value? + # This is mainly used by other modules to allow them to use flatpak packages + extraInstall = mkOption { + type = types.listOf types.str; + default = []; + description = "Flatpaks that will be installed additionally"; + }; + + # This doesn't uninstall if any flatpak is still present in the extraInstall list + extraRemove = mkOption { + type = types.listOf types.str; + default = []; + description = "Flatpaks that will be removed additionally (use with extraInstall)"; + }; + + extraOverride = mkOption { + type = types.listOf types.attrs; + default = []; + # TODO: Change the format to { "com.usebottles.bottles" = [ "~/Documents" "~/Downloads" ]; } + # TODO: This requires that the lists of the same key are being merged recursively, mkMerge would override the key + example = [{"com.usebottles.bottles" = "\${config.home.homeDirectory}/Documents";}]; + description = "Additional overrides"; + }; + + extraGlobalOverride = mkOption { + type = types.listOf types.str; + default = []; + example = ["\${config.home.homeDirectory}/Documents:ro"]; + description = "Additional global overrides"; + }; +} \ No newline at end of file diff --git a/home/modules/gaming.nix b/home/modules/gaming/default.nix similarity index 91% rename from home/modules/gaming.nix rename to home/modules/gaming/default.nix index 3245b058..af6c6a40 100644 --- a/home/modules/gaming.nix +++ b/home/modules/gaming/default.nix @@ -19,22 +19,7 @@ in { # TODO: SteamTinkerLaunch option # TODO: Dolphin + SteamRomManager option - options.modules.gaming = { - enable = mkEnableOpt "Gaming module"; - - # discordElectron.enable = mkEnableOpt "Discord (Electron) (nixpkgs)"; - # discordChromium.enable = mkEnableOpt "Discord (Chromium)"; - prism.enable = mkEnableOpt "PrismLauncher for Minecraft (flatpak)"; - bottles.enable = mkEnableOpt "Bottles (flatpak)"; - # dwarffortress.enable = mkEnableOpt "Dwarf Fortress"; - - steam = { - enable = mkEnableOpt "Steam (flatpak)"; - gamescope = mkBoolOpt false "Enable the gamescope micro compositor (flatpak)"; - adwaita = mkBoolOpt false "Enable the adwaita-for-steam skin"; - protonup = mkBoolOpt false "Enable ProtonUP-QT"; - }; - }; + options.modules.gaming = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { assertions = [ diff --git a/home/modules/gaming/options.nix b/home/modules/gaming/options.nix new file mode 100644 index 00000000..f4a3d6df --- /dev/null +++ b/home/modules/gaming/options.nix @@ -0,0 +1,20 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Gaming module"; + + # discordElectron.enable = mkEnableOpt "Discord (Electron) (nixpkgs)"; + # discordChromium.enable = mkEnableOpt "Discord (Chromium)"; + prism.enable = mkEnableOpt "PrismLauncher for Minecraft (flatpak)"; + bottles.enable = mkEnableOpt "Bottles (flatpak)"; + # dwarffortress.enable = mkEnableOpt "Dwarf Fortress"; + + steam = { + enable = mkEnableOpt "Steam (flatpak)"; + gamescope = mkBoolOpt false "Enable the gamescope micro compositor (flatpak)"; + adwaita = mkBoolOpt false "Enable the adwaita-for-steam skin"; + protonup = mkBoolOpt false "Enable ProtonUP-QT"; + }; +} \ No newline at end of file diff --git a/home/modules/gnome.nix b/home/modules/gnome/default.nix similarity index 95% rename from home/modules/gnome.nix rename to home/modules/gnome/default.nix index 3d3effe4..b4c330ca 100644 --- a/home/modules/gnome.nix +++ b/home/modules/gnome/default.nix @@ -10,25 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.gnome; in { - options.modules.gnome = { - enable = mkEnableOpt "Gnome Desktop"; - # TODO: Add option for dash-to-dock - extensions = mkBoolOpt false "Enable Gnome shell-extensions"; - - # TODO: Add other themes, whitesur for example - theme = { - papirusIcons = mkBoolOpt false "Enable the Papirus icon theme"; - numixCursor = mkBoolOpt false "Enable the Numix cursor theme"; - wallpaper = mkOption { - type = types.str; - default = "constructionsite"; - description = "What wallpaper to use"; - }; - }; - - settings = { - }; - }; + options.modules.gnome = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { assertions = [ diff --git a/home/modules/gnome/options.nix b/home/modules/gnome/options.nix new file mode 100644 index 00000000..77a09ed2 --- /dev/null +++ b/home/modules/gnome/options.nix @@ -0,0 +1,23 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Gnome Desktop"; + # TODO: Add option for dash-to-dock + extensions = mkBoolOpt false "Enable Gnome shell-extensions"; + + # TODO: Add other themes, whitesur for example + theme = { + papirusIcons = mkBoolOpt false "Enable the Papirus icon theme"; + numixCursor = mkBoolOpt false "Enable the Numix cursor theme"; + wallpaper = mkOption { + type = types.str; + default = "constructionsite"; + description = "What wallpaper to use"; + }; + }; + + settings = { + }; +} \ No newline at end of file diff --git a/home/modules/hyprland.nix b/home/modules/hyprland/default.nix similarity index 96% rename from home/modules/hyprland.nix rename to home/modules/hyprland/default.nix index c5e65776..386eb2eb 100644 --- a/home/modules/hyprland.nix +++ b/home/modules/hyprland/default.nix @@ -10,14 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.hyprland; in { - options.modules.hyprland = { - enable = mkEnableOpt "Hyprland Window Manager + Compositor"; - - theme = mkOption { - type = types.str; - description = "Wallpaper and colorscheme to use"; - }; - }; + options.modules.hyprland = import ./options.nix { inherit lib; }; config = let # Taken from https://github.com/Ruixi-rebirth/flakes/blob/main/modules/programs/wayland/waybar/workspace-patch.nix diff --git a/home/modules/hyprland/options.nix b/home/modules/hyprland/options.nix new file mode 100644 index 00000000..3e53db37 --- /dev/null +++ b/home/modules/hyprland/options.nix @@ -0,0 +1,12 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Hyprland Window Manager + Compositor"; + + theme = mkOption { + type = types.str; + description = "Wallpaper and colorscheme to use"; + }; +} \ No newline at end of file diff --git a/home/modules/kitty.nix b/home/modules/kitty/default.nix similarity index 95% rename from home/modules/kitty.nix rename to home/modules/kitty/default.nix index 88c641ae..406a4a24 100644 --- a/home/modules/kitty.nix +++ b/home/modules/kitty/default.nix @@ -11,9 +11,7 @@ with mylib.modules; let cfg = config.modules.kitty; # cfgnv = config.modules.neovim; in { - options.modules.kitty = { - enable = mkEnableOpt "Kitty"; - }; + options.modules.kitty = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { programs.kitty = { diff --git a/home/modules/kitty/options.nix b/home/modules/kitty/options.nix new file mode 100644 index 00000000..efb4493d --- /dev/null +++ b/home/modules/kitty/options.nix @@ -0,0 +1,7 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Kitty"; +} \ No newline at end of file diff --git a/home/modules/misc.nix b/home/modules/misc/default.nix similarity index 85% rename from home/modules/misc.nix rename to home/modules/misc/default.nix index b10da9cd..8cbd35af 100644 --- a/home/modules/misc.nix +++ b/home/modules/misc/default.nix @@ -10,19 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.misc; in { - options.modules.misc = { - enable = mkEnableOpt "Misc module"; - - keepass = { - enable = mkEnableOpt "KeePassXC"; - autostart = mkBoolOpt false "Autostart KeePassXC"; - }; - - protonmail = { - enable = mkEnableOpt "ProtonMail"; - autostart = mkBoolOpt false "Autostart ProtonMail Bridge"; - }; - }; + options.modules.misc = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { home.packages = with pkgs; diff --git a/home/modules/misc/options.nix b/home/modules/misc/options.nix new file mode 100644 index 00000000..4287a354 --- /dev/null +++ b/home/modules/misc/options.nix @@ -0,0 +1,17 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Misc module"; + + keepass = { + enable = mkEnableOpt "KeePassXC"; + autostart = mkBoolOpt false "Autostart KeePassXC"; + }; + + protonmail = { + enable = mkEnableOpt "ProtonMail"; + autostart = mkBoolOpt false "Autostart ProtonMail Bridge"; + }; +} \ No newline at end of file diff --git a/home/modules/neovim.nix b/home/modules/neovim/default.nix similarity index 93% rename from home/modules/neovim.nix rename to home/modules/neovim/default.nix index 1d5c7d65..8f6a188f 100644 --- a/home/modules/neovim.nix +++ b/home/modules/neovim/default.nix @@ -10,10 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.neovim; in { - options.modules.neovim = { - enable = mkEnableOpt "NeoVim"; - alias = mkBoolOpt false "Link nvim to vim/vi"; - }; + options.modules.neovim = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { # TODO: Configure by option diff --git a/home/modules/neovim/options.nix b/home/modules/neovim/options.nix new file mode 100644 index 00000000..e8e22889 --- /dev/null +++ b/home/modules/neovim/options.nix @@ -0,0 +1,8 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "NeoVim"; + alias = mkBoolOpt false "Link nvim to vim/vi"; +} \ No newline at end of file diff --git a/home/modules/nextcloud.nix b/home/modules/nextcloud/default.nix similarity index 90% rename from home/modules/nextcloud.nix rename to home/modules/nextcloud/default.nix index eb938543..dc55c8be 100644 --- a/home/modules/nextcloud.nix +++ b/home/modules/nextcloud/default.nix @@ -13,10 +13,7 @@ with lib; with mylib.modules; let cfg = config.modules.nextcloud; in { - options.modules.nextcloud = { - enable = mkEnableOpt "Nextcloud Client"; - autostart = mkBoolOpt false "Autostart the Nextcloud client (systemd)"; - }; + options.modules.nextcloud = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { assertions = [ diff --git a/home/modules/nextcloud/options.nix b/home/modules/nextcloud/options.nix new file mode 100644 index 00000000..e3446415 --- /dev/null +++ b/home/modules/nextcloud/options.nix @@ -0,0 +1,8 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Nextcloud Client"; + autostart = mkBoolOpt false "Autostart the Nextcloud client (systemd)"; +} \ No newline at end of file diff --git a/home/modules/plasma.nix b/home/modules/plasma/default.nix similarity index 95% rename from home/modules/plasma.nix rename to home/modules/plasma/default.nix index ad68522d..6e8e3af7 100644 --- a/home/modules/plasma.nix +++ b/home/modules/plasma/default.nix @@ -11,9 +11,7 @@ with lib; with mylib.modules; let cfg = config.modules.plasma; in { - options.modules.plasma = { - enable = mkEnableOpt "Plasma Desktop"; - }; + options.modules.plasma = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { assertions = [ diff --git a/home/modules/plasma/options.nix b/home/modules/plasma/options.nix new file mode 100644 index 00000000..944460cf --- /dev/null +++ b/home/modules/plasma/options.nix @@ -0,0 +1,7 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Plasma Desktop"; +} \ No newline at end of file diff --git a/home/modules/ranger.nix b/home/modules/ranger/default.nix similarity index 94% rename from home/modules/ranger.nix rename to home/modules/ranger/default.nix index 29a97818..bfd4fcf2 100644 --- a/home/modules/ranger.nix +++ b/home/modules/ranger/default.nix @@ -10,10 +10,7 @@ with lib; with mylib.modules; let cfg = config.modules.ranger; in { - options.modules.ranger = { - enable = mkEnableOpt "Ranger"; - preview = mkBoolOpt false "Enable Ranger image preview"; - }; + options.modules.ranger = import ./options.nix { inherit lib; }; config = mkIf cfg.enable { home.packages = with pkgs; diff --git a/home/modules/ranger/options.nix b/home/modules/ranger/options.nix new file mode 100644 index 00000000..45c9bc0f --- /dev/null +++ b/home/modules/ranger/options.nix @@ -0,0 +1,8 @@ +{ + lib +}: +with lib; +{ + enable = mkEnableOpt "Ranger"; + preview = mkBoolOpt false "Enable Ranger image preview"; +} \ No newline at end of file