From 42f03655dff04df92c7490a14c6937c10d9803a7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 19 May 2026 22:13:09 +0200 Subject: [PATCH] Extract commonality --- default/hypr/envs.lua | 11 ++--------- default/hypr/omarchy.lua | 9 +-------- default/hypr/require_optional.lua | 12 ++++++++++++ 3 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 default/hypr/require_optional.lua diff --git a/default/hypr/envs.lua b/default/hypr/envs.lua index 365cb0e0..96262454 100644 --- a/default/hypr/envs.lua +++ b/default/hypr/envs.lua @@ -1,15 +1,8 @@ local paths = require("default.hypr.paths") - -local function require_file_if_exists(path, module) - local file = io.open(path, "r") - if file then - file:close() - require(module) - end -end +local require_optional = require("default.hypr.require_optional") -- GUM environment variables for styling purposes. -require_file_if_exists(paths.config_home .. "/omarchy/current/theme/gum_env.lua", "omarchy.current.theme.gum_env") +require_optional.module("omarchy.current.theme.gum_env") -- Cursor size. hl.env("XCURSOR_SIZE", "24") diff --git a/default/hypr/omarchy.lua b/default/hypr/omarchy.lua index f5087b8d..657ac887 100644 --- a/default/hypr/omarchy.lua +++ b/default/hypr/omarchy.lua @@ -14,11 +14,4 @@ require("default.hypr.input") require("default.hypr.windows") -- Current theme overrides. -do - local paths = require("default.hypr.paths") - local theme = io.open(paths.config_home .. "/omarchy/current/theme/hyprland.lua", "r") - if theme then - theme:close() - require("omarchy.current.theme.hyprland") - end -end +require("default.hypr.require_optional").module("omarchy.current.theme.hyprland") diff --git a/default/hypr/require_optional.lua b/default/hypr/require_optional.lua new file mode 100644 index 00000000..68549bc2 --- /dev/null +++ b/default/hypr/require_optional.lua @@ -0,0 +1,12 @@ +-- Require a module only when it can be found on package.path. +-- Errors inside existing modules still surface normally. + +local M = {} + +function M.module(module) + if package.searchpath(module, package.path) then + return require(module) + end +end + +return M