fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Install lucid
This commit is contained in:
6 files changed
+40
-236
No files matched your search
+39
-201
@@ -9,31 +9,6 @@ let
|
|||||||
binds = builtins.filter (entry: builtins.elem entry.id specialBindIds)
|
binds = builtins.filter (entry: builtins.elem entry.id specialBindIds)
|
||||||
(builtins.fromJSON (builtins.readFile ./lucid-keybinds-rias.json)).binds;
|
(builtins.fromJSON (builtins.readFile ./lucid-keybinds-rias.json)).binds;
|
||||||
});
|
});
|
||||||
vaultwardenBindSeed = pkgs.writeText "lucid-vaultwarden-binding.json" (builtins.toJSON {
|
|
||||||
binds = [ {
|
|
||||||
id = "vaultwarden-password";
|
|
||||||
keys = "SUPER + X";
|
|
||||||
desc = "Type a password from Vaultwarden";
|
|
||||||
category = "Apps";
|
|
||||||
type = "exec";
|
|
||||||
cmd = "qs ipc call -- launcher search '>pass '";
|
|
||||||
} ];
|
|
||||||
});
|
|
||||||
mergeVaultwardenBind = pkgs.writeText "lucid-merge-vaultwarden-bind.jq" ''
|
|
||||||
def normkeys: (. // "") | ascii_upcase | gsub("\\s+"; "") | split("+")
|
|
||||||
| map(if . == "WIN" or . == "LOGO" or . == "MOD4" then "SUPER"
|
|
||||||
elif . == "CONTROL" then "CTRL" else . end) | sort | join("+");
|
|
||||||
if (.binds | type) != "array" then error("keybinds.json has no binds array") else . end
|
|
||||||
| . as $old
|
|
||||||
| ($seed[0].binds[0]) as $seed_bind
|
|
||||||
| ($old.binds | map(select(.id == $seed_bind.id)) | first) as $existing
|
|
||||||
| ($old.binds | map(select(.id != $seed_bind.id))) as $others
|
|
||||||
| ($others | any(.enabled != false and ((.keys | normkeys) == ($seed_bind.keys | normkeys)))) as $conflict
|
|
||||||
| .binds = $others + [
|
|
||||||
$seed_bind + (if $existing.enabled == false or ($existing == null and $conflict)
|
|
||||||
then {enabled: false} else {} end)
|
|
||||||
]
|
|
||||||
'';
|
|
||||||
chestBindingsScript = pkgs.writeText "lucid-chest-bindings.py" ''
|
chestBindingsScript = pkgs.writeText "lucid-chest-bindings.py" ''
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
@@ -83,43 +58,6 @@ json.dump({"version": 1, "binds": result + specials}, open(output, "w"), indent=
|
|||||||
python3 ${chestBindingsScript} ${lib.escapeShellArg (builtins.toJSON config.lucidHyprlandBinds)} \
|
python3 ${chestBindingsScript} ${lib.escapeShellArg (builtins.toJSON config.lucidHyprlandBinds)} \
|
||||||
${./lucid-keybinds-rias.json} ${specialSeed} "$out"
|
${./lucid-keybinds-rias.json} ${specialSeed} "$out"
|
||||||
'';
|
'';
|
||||||
mergeChestBinds = pkgs.writeText "lucid-merge-chest-bindings.jq" ''
|
|
||||||
def normlua: (. // "") | gsub("\\s+"; "") | gsub("\u0027"; "\"");
|
|
||||||
def normkeys: (. // "") | ascii_upcase | gsub("\\s+"; "") | split("+")
|
|
||||||
| map(if . == "WIN" or . == "LOGO" or . == "MOD4" then "SUPER"
|
|
||||||
elif . == "CONTROL" then "CTRL" else . end) | sort | join("+");
|
|
||||||
def combos:
|
|
||||||
if .each == "workspace" then .keys as $k | [range(1;11) as $i | ($k | gsub("\\{key\\}"; (($i % 10) | tostring)) | normkeys)]
|
|
||||||
else [(.keys | normkeys)] end;
|
|
||||||
def trigger: {click: (.opts.click // false), long_press: (.opts.long_press // false), release: (.opts.release // false), mouse: (.opts.mouse // false)};
|
|
||||||
if (.binds | type) != "array" then error("keybinds.json has no binds array") else . end
|
|
||||||
| . as $old
|
|
||||||
| .binds += [$seed[0].binds[] as $b
|
|
||||||
| select([$old.binds[] | select(
|
|
||||||
.id == $b.id
|
|
||||||
or ((["scratchpad", "scratchpad-stash", "special-music", "special-comms", "special-todo", "special-sysmon", "daemons-workspace"] | index($b.id)) != null and .type == "lua" and $b.type == "lua" and ((.lua | normlua) == ($b.lua | normlua)))
|
|
||||||
or ((trigger == ($b | trigger)) and ((combos - ($b | combos) | length) < (combos | length)))
|
|
||||||
)] | length == 0) | $b]
|
|
||||||
'';
|
|
||||||
mergeSpecialBinds = pkgs.writeText "lucid-merge-special-binds.jq" ''
|
|
||||||
def normlua: (. // "") | gsub("\\s+"; "") | gsub("\u0027"; "\"");
|
|
||||||
def normkeys: (. // "") | ascii_upcase | gsub("\\s+"; "") | split("+")
|
|
||||||
| map(if . == "WIN" or . == "LOGO" or . == "MOD4" then "SUPER"
|
|
||||||
elif . == "CONTROL" then "CTRL" else . end) | sort | join("+");
|
|
||||||
if (.binds | type) != "array" then error("keybinds.json has no binds array") else . end
|
|
||||||
| . as $old
|
|
||||||
| .binds += [ $seed[0].binds[] as $b
|
|
||||||
| select([$old.binds[] | select(.id == $b.id or (.type == "lua" and ((.lua | normlua) == ($b.lua | normlua))))] | length == 0)
|
|
||||||
| if ([$old.binds[] | select(.enabled != false and ((.keys | normkeys) == ($b.keys | normkeys)))] | length) > 0
|
|
||||||
then $b + { enabled: false } else $b end ]
|
|
||||||
'';
|
|
||||||
mergeSpecialPrefs = pkgs.writeText "lucid-merge-special-prefs.jq" ''
|
|
||||||
.specialCustom = ((.specialCustom // "[]" | fromjson)
|
|
||||||
| if type != "array" then error("specialCustom is not an array") else . end
|
|
||||||
| if any(.[]; .key == "daemons") then .
|
|
||||||
else . + [{key: "daemons", label: "Daemons", glyph: "build", on: true, apps: ""}] end
|
|
||||||
| tojson)
|
|
||||||
'';
|
|
||||||
staticBindKeys = map (entry: builtins.elemAt entry._args 0) config.wayland.windowManager.hyprland.settings.bind;
|
staticBindKeys = map (entry: builtins.elemAt entry._args 0) config.wayland.windowManager.hyprland.settings.bind;
|
||||||
nonRiasBinds = pkgs.runCommand "lucid-nix-binds.lua" { nativeBuildInputs = [ pkgs.python3 ]; } ''
|
nonRiasBinds = pkgs.runCommand "lucid-nix-binds.lua" { nativeBuildInputs = [ pkgs.python3 ]; } ''
|
||||||
python3 - ${source}/support/hypr/modules/binds.lua "$out" ${lib.escapeShellArg (builtins.toJSON staticBindKeys)} <<'PY'
|
python3 - ${source}/support/hypr/modules/binds.lua "$out" ${lib.escapeShellArg (builtins.toJSON staticBindKeys)} <<'PY'
|
||||||
@@ -420,7 +358,29 @@ dock_path.write_text(dock)
|
|||||||
wallpaperScript = "${config.home.homeDirectory}/.config/hypr/scripts/wallpaper/set-wallpaper.sh";
|
wallpaperScript = "${config.home.homeDirectory}/.config/hypr/scripts/wallpaper/set-wallpaper.sh";
|
||||||
widgetLayout = if osConfig.networking.hostName == "Rias"
|
widgetLayout = if osConfig.networking.hostName == "Rias"
|
||||||
then ./lucid-widgets-rias.json
|
then ./lucid-widgets-rias.json
|
||||||
else ./lucid-widgets.json;
|
else if isChest && host == "Impreza" then ./lucid-widgets-impreza.json
|
||||||
|
else null;
|
||||||
|
bindSeed = if config.home.username == "sweetbread" then ./lucid-keybinds-rias.json
|
||||||
|
else chestSeed;
|
||||||
|
specialCustomValue = builtins.toJSON [ {
|
||||||
|
key = "daemons";
|
||||||
|
label = "Daemons";
|
||||||
|
glyph = "build";
|
||||||
|
on = true;
|
||||||
|
apps = "";
|
||||||
|
} ];
|
||||||
|
genericPrefsSeed = pkgs.writeText "lucid-default-prefs.json" (builtins.toJSON (
|
||||||
|
(builtins.fromJSON (builtins.readFile ./lucid-prefs.json)) // {
|
||||||
|
specialCustom = if isRias then "[]" else specialCustomValue;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
chestPrefsSeed = pkgs.runCommand "lucid-chest-prefs.json" { nativeBuildInputs = [ pkgs.jq ]; } ''
|
||||||
|
${pkgs.jq}/bin/jq --arg specialCustom ${lib.escapeShellArg specialCustomValue} \
|
||||||
|
'.specialCustom = $specialCustom' ${source}/defaults/prefs.json > "$out"
|
||||||
|
'';
|
||||||
|
prefsSeed = if config.home.username == "sweetbread" then genericPrefsSeed
|
||||||
|
else if isChest && host == "Impreza" then ./lucid-prefs-impreza.json
|
||||||
|
else chestPrefsSeed;
|
||||||
defaultWallpaper = "${wallpaperDir}/bluehour.jpg";
|
defaultWallpaper = "${wallpaperDir}/bluehour.jpg";
|
||||||
hyprLua = import ../hyprland/lua.nix { inherit lib; };
|
hyprLua = import ../hyprland/lua.nix { inherit lib; };
|
||||||
colors = config.lib.stylix.colors.withHashtag;
|
colors = config.lib.stylix.colors.withHashtag;
|
||||||
@@ -760,71 +720,8 @@ in {
|
|||||||
|
|
||||||
lucid_dir="${config.home.homeDirectory}/.config/lucid"
|
lucid_dir="${config.home.homeDirectory}/.config/lucid"
|
||||||
$DRY_RUN_CMD mkdir -p "$lucid_dir/themes"
|
$DRY_RUN_CMD mkdir -p "$lucid_dir/themes"
|
||||||
if [ "${host}" = Rias ] && [ -z "''${DRY_RUN_CMD:-}" ]; then
|
if [ ! -s "$lucid_dir/keybinds.json" ]; then
|
||||||
if [ ! -s "$lucid_dir/keybinds.json" ]; then
|
$DRY_RUN_CMD install -m644 ${bindSeed} "$lucid_dir/keybinds.json"
|
||||||
install -m644 ${./lucid-keybinds-rias.json} "$lucid_dir/keybinds.json"
|
|
||||||
fi
|
|
||||||
binds_tmp=$(${pkgs.coreutils}/bin/mktemp "$lucid_dir/keybinds.json.XXXXXX")
|
|
||||||
if ${pkgs.jq}/bin/jq --slurpfile seed ${vaultwardenBindSeed} -f ${mergeVaultwardenBind} \
|
|
||||||
"$lucid_dir/keybinds.json" > "$binds_tmp"; then
|
|
||||||
chmod 644 "$binds_tmp"
|
|
||||||
mv "$binds_tmp" "$lucid_dir/keybinds.json"
|
|
||||||
else
|
|
||||||
rm -f "$binds_tmp"
|
|
||||||
echo "Could not merge the Vaultwarden Lucid binding" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
${lib.optionalString (!isRias) ''
|
|
||||||
special_migration="$lucid_dir/special-workspaces-v1"
|
|
||||||
if [ -z "''${DRY_RUN_CMD:-}" ] && [ ! -e "$special_migration" ]; then
|
|
||||||
if [ -f "${config.home.homeDirectory}/.config/hypr/lucid-specials.lua" ] && \
|
|
||||||
[ ! -e "${config.home.homeDirectory}/.config/hypr/lucid-specials.before-special-workspaces-v1.lua" ]; then
|
|
||||||
cp -p "${config.home.homeDirectory}/.config/hypr/lucid-specials.lua" \
|
|
||||||
"${config.home.homeDirectory}/.config/hypr/lucid-specials.before-special-workspaces-v1.lua"
|
|
||||||
fi
|
|
||||||
if [ ! -s "$lucid_dir/keybinds.json" ]; then
|
|
||||||
install -m644 ${specialSeed} "$lucid_dir/keybinds.json"
|
|
||||||
else
|
|
||||||
binds_tmp=$(${pkgs.coreutils}/bin/mktemp "$lucid_dir/keybinds.json.XXXXXX")
|
|
||||||
if ${pkgs.jq}/bin/jq --slurpfile seed ${specialSeed} -f ${mergeSpecialBinds} \
|
|
||||||
"$lucid_dir/keybinds.json" > "$binds_tmp"; then
|
|
||||||
chmod 644 "$binds_tmp"
|
|
||||||
mv "$binds_tmp" "$lucid_dir/keybinds.json"
|
|
||||||
else
|
|
||||||
rm -f "$binds_tmp"
|
|
||||||
echo "Could not merge Lucid special workspace bindings" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
${lib.optionalString isChest ''
|
|
||||||
chest_migration="$lucid_dir/chest-keybinds-v1"
|
|
||||||
if [ -z "''${DRY_RUN_CMD:-}" ] && [ ! -e "$chest_migration" ]; then
|
|
||||||
if [ ! -s "$lucid_dir/keybinds.json" ]; then
|
|
||||||
install -m644 ${chestSeed} "$lucid_dir/keybinds.json"
|
|
||||||
else
|
|
||||||
if [ ! -e "$lucid_dir/keybinds.before-chest-migration.json" ]; then
|
|
||||||
cp -p "$lucid_dir/keybinds.json" "$lucid_dir/keybinds.before-chest-migration.json"
|
|
||||||
fi
|
|
||||||
binds_tmp=$(${pkgs.coreutils}/bin/mktemp "$lucid_dir/keybinds.json.XXXXXX")
|
|
||||||
if ${pkgs.jq}/bin/jq --slurpfile seed ${chestSeed} -f ${mergeChestBinds} "$lucid_dir/keybinds.json" > "$binds_tmp"; then
|
|
||||||
chmod 644 "$binds_tmp"
|
|
||||||
mv "$binds_tmp" "$lucid_dir/keybinds.json"
|
|
||||||
else
|
|
||||||
rm -f "$binds_tmp"
|
|
||||||
echo "Could not migrate chest keybindings to Lucid" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
touch "$chest_migration"
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
monitor_file="${config.home.homeDirectory}/.config/hypr/lucid-monitors.lua"
|
|
||||||
if [ "${host}" = Rias ] && { [ ! -s "$monitor_file" ] || ! grep -qE 'output[[:space:]]*=' "$monitor_file"; } && \
|
|
||||||
! grep -qE 'workspace[[:space:]]*=' "$monitor_file" 2>/dev/null; then
|
|
||||||
$DRY_RUN_CMD install -m644 ${./lucid-monitors-rias.lua} "$monitor_file"
|
|
||||||
fi
|
fi
|
||||||
$DRY_RUN_CMD ${pkgs.rsync}/bin/rsync -rltp --chmod=Du+rwx,Fu+rw --ignore-existing \
|
$DRY_RUN_CMD ${pkgs.rsync}/bin/rsync -rltp --chmod=Du+rwx,Fu+rw --ignore-existing \
|
||||||
"${source}/support/lucid/themes/" "$lucid_dir/themes/"
|
"${source}/support/lucid/themes/" "$lucid_dir/themes/"
|
||||||
@@ -840,7 +737,7 @@ in {
|
|||||||
"$lucid_dir/apply-theme.sh"
|
"$lucid_dir/apply-theme.sh"
|
||||||
|
|
||||||
if [ ! -e "$target/lucidprefs/prefs.json" ]; then
|
if [ ! -e "$target/lucidprefs/prefs.json" ]; then
|
||||||
$DRY_RUN_CMD install -m644 ${if isChest then "${source}/defaults/prefs.json" else ./lucid-prefs.json} "$target/lucidprefs/prefs.json"
|
$DRY_RUN_CMD install -m644 ${prefsSeed} "$target/lucidprefs/prefs.json"
|
||||||
fi
|
fi
|
||||||
if [ -z "''${DRY_RUN_CMD:-}" ] && [ -f "$target/lucidprefs/prefs.json" ]; then
|
if [ -z "''${DRY_RUN_CMD:-}" ] && [ -f "$target/lucidprefs/prefs.json" ]; then
|
||||||
prefs_tmp=$(${pkgs.coreutils}/bin/mktemp "$target/lucidprefs/prefs.json.XXXXXX")
|
prefs_tmp=$(${pkgs.coreutils}/bin/mktemp "$target/lucidprefs/prefs.json.XXXXXX")
|
||||||
@@ -856,26 +753,21 @@ in {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
${lib.optionalString (!isRias) ''
|
${lib.optionalString (widgetLayout != null) ''
|
||||||
if [ -z "''${DRY_RUN_CMD:-}" ] && [ ! -e "$special_migration" ]; then
|
|
||||||
prefs_tmp=$(${pkgs.coreutils}/bin/mktemp "$target/lucidprefs/prefs.json.XXXXXX")
|
|
||||||
if ${pkgs.jq}/bin/jq -f ${mergeSpecialPrefs} "$target/lucidprefs/prefs.json" > "$prefs_tmp"; then
|
|
||||||
chmod 644 "$prefs_tmp"
|
|
||||||
mv "$prefs_tmp" "$target/lucidprefs/prefs.json"
|
|
||||||
touch "$special_migration"
|
|
||||||
else
|
|
||||||
rm -f "$prefs_tmp"
|
|
||||||
echo "Could not merge Lucid special workspace settings" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
if [ ! -e "$target/luciddocks/pinned.json" ]; then
|
|
||||||
$DRY_RUN_CMD install -m644 ${./lucid-pinned.json} "$target/luciddocks/pinned.json"
|
|
||||||
fi
|
|
||||||
if [ ! -e "$target/lucidwidgets/widgets.json" ]; then
|
if [ ! -e "$target/lucidwidgets/widgets.json" ]; then
|
||||||
$DRY_RUN_CMD install -m644 ${widgetLayout} "$target/lucidwidgets/widgets.json"
|
$DRY_RUN_CMD install -m644 ${widgetLayout} "$target/lucidwidgets/widgets.json"
|
||||||
fi
|
fi
|
||||||
|
''}
|
||||||
|
${lib.optionalString (isChest && host == "Impreza") ''
|
||||||
|
if [ ! -e "${config.home.homeDirectory}/.config/hypr/lucid-settings.lua" ]; then
|
||||||
|
$DRY_RUN_CMD install -m644 ${./lucid-settings-impreza.lua} \
|
||||||
|
"${config.home.homeDirectory}/.config/hypr/lucid-settings.lua"
|
||||||
|
fi
|
||||||
|
if [ ! -e "${config.home.homeDirectory}/.config/hypr/lucid-glass.lua" ]; then
|
||||||
|
$DRY_RUN_CMD install -m644 ${./lucid-glass-impreza.lua} \
|
||||||
|
"${config.home.homeDirectory}/.config/hypr/lucid-glass.lua"
|
||||||
|
fi
|
||||||
|
''}
|
||||||
|
|
||||||
for pair in \
|
for pair in \
|
||||||
'blur.json lucidbar/blur.json' \
|
'blur.json lucidbar/blur.json' \
|
||||||
@@ -892,47 +784,6 @@ in {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
${lib.optionalString (isChest && host == "Impreza") ''
|
|
||||||
# Import Eclipse's appearance once. Keep later Lucid edits and back up
|
|
||||||
# existing laptop settings before changing them; monitor state is untouched.
|
|
||||||
appearance_marker="$lucid_dir/impreza-appearance-v1"
|
|
||||||
if [ -z "''${DRY_RUN_CMD:-}" ] && [ ! -e "$appearance_marker" ]; then
|
|
||||||
mkdir -p "${config.home.homeDirectory}/.cache" "${config.home.homeDirectory}/.config/hypr"
|
|
||||||
prefs="$target/lucidprefs/prefs.json"
|
|
||||||
prefs_tmp=$(${pkgs.coreutils}/bin/mktemp "$prefs.XXXXXX")
|
|
||||||
if ${pkgs.jq}/bin/jq --slurpfile appearance ${./lucid-prefs-impreza.json} \
|
|
||||||
'. + $appearance[0]' "$prefs" > "$prefs_tmp"; then
|
|
||||||
cp --backup=numbered "$prefs" "$prefs.before-impreza-appearance"
|
|
||||||
chmod 644 "$prefs_tmp"
|
|
||||||
mv "$prefs_tmp" "$prefs"
|
|
||||||
else
|
|
||||||
rm -f "$prefs_tmp"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
for pair in \
|
|
||||||
'${./lucid-widgets-impreza.json} lucidwidgets/widgets.json' \
|
|
||||||
'${./lucid-pinned-impreza.json} luciddocks/pinned.json'; do
|
|
||||||
set -- $pair
|
|
||||||
[ ! -e "$target/$2" ] || cp --backup=numbered "$target/$2" "$target/$2.before-impreza-appearance"
|
|
||||||
install -m644 "$1" "$target/$2"
|
|
||||||
done
|
|
||||||
for pair in \
|
|
||||||
'${./lucid-settings-impreza.lua} lucid-settings.lua' \
|
|
||||||
'${./lucid-glass-impreza.lua} lucid-glass.lua'; do
|
|
||||||
set -- $pair
|
|
||||||
file="${config.home.homeDirectory}/.config/hypr/$2"
|
|
||||||
[ ! -e "$file" ] || cp --backup=numbered "$file" "$file.before-impreza-appearance"
|
|
||||||
install -m644 "$1" "$file"
|
|
||||||
done
|
|
||||||
if [ -e "${config.home.homeDirectory}/.cache/current_theme" ]; then
|
|
||||||
cp --backup=numbered "${config.home.homeDirectory}/.cache/current_theme" \
|
|
||||||
"${config.home.homeDirectory}/.cache/current_theme.before-impreza-appearance"
|
|
||||||
fi
|
|
||||||
install -m644 ${themeName} "${config.home.homeDirectory}/.cache/current_theme"
|
|
||||||
touch "$appearance_marker"
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
|
|
||||||
$DRY_RUN_CMD mkdir -p "${config.home.homeDirectory}/.config/lucid/themes/stylix" \
|
$DRY_RUN_CMD mkdir -p "${config.home.homeDirectory}/.config/lucid/themes/stylix" \
|
||||||
"${config.home.homeDirectory}/.cache/quickshell"
|
"${config.home.homeDirectory}/.cache/quickshell"
|
||||||
$DRY_RUN_CMD install -m644 ${paletteFile} \
|
$DRY_RUN_CMD install -m644 ${paletteFile} \
|
||||||
@@ -1034,21 +885,8 @@ in {
|
|||||||
package.path = config_home .. "/hypr/?.lua;" .. config_home .. "/hypr/?/init.lua;" .. package.path
|
package.path = config_home .. "/hypr/?.lua;" .. config_home .. "/hypr/?/init.lua;" .. package.path
|
||||||
require("modules.specials")
|
require("modules.specials")
|
||||||
LucidSpecials.apply()
|
LucidSpecials.apply()
|
||||||
'' + lib.optionalString (isRias || isChest) ''
|
'' + lib.optionalString isChest ''
|
||||||
require("modules.monitors")
|
require("modules.monitors")
|
||||||
'' + lib.optionalString isRias ''
|
|
||||||
local lucid_monitor_apply = LucidMonitors.apply
|
|
||||||
LucidMonitors.apply = function(...)
|
|
||||||
lucid_monitor_apply(...)
|
|
||||||
hl.monitor({ output = "desc:Huawei Technologies Co. Inc. ZQE-CAA 0xC080F622", cm = "srgb", supports_hdr = -1 })
|
|
||||||
end
|
|
||||||
LucidMonitors.apply()
|
|
||||||
-- Lucid previously left numbered workspaces persistent on this host.
|
|
||||||
-- Retire those stale rules after applying the monitor layout so they do
|
|
||||||
-- not return on the next Hyprland reload.
|
|
||||||
for workspace = 1, 10 do
|
|
||||||
hl.workspace_rule({ workspace = tostring(workspace), persistent = false })
|
|
||||||
end
|
|
||||||
'' + lib.optionalString (isRias || isChest) ''
|
'' + lib.optionalString (isRias || isChest) ''
|
||||||
require("modules.settings")
|
require("modules.settings")
|
||||||
require("modules.glass")
|
require("modules.glass")
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
{ "id": "zoom-out-kp-subtract", "keys": "SUPER + KP_SUBTRACT", "desc": "Zoom out", "category": "Accessibility", "type": "lua", "lua": "function() local current = hl.get_config('cursor.zoom_factor'); hl.config({ cursor = { zoom_factor = math.max(1, current * 0.9) } }) end", "opts": { "repeating": true } },
|
{ "id": "zoom-out-kp-subtract", "keys": "SUPER + KP_SUBTRACT", "desc": "Zoom out", "category": "Accessibility", "type": "lua", "lua": "function() local current = hl.get_config('cursor.zoom_factor'); hl.config({ cursor = { zoom_factor = math.max(1, current * 0.9) } }) end", "opts": { "repeating": true } },
|
||||||
{ "id": "widgets-panel", "keys": "SUPER + SHIFT + G", "desc": "Toggle widgets panel", "category": "Lucid", "type": "exec", "cmd": "qs ipc call widgets panel" },
|
{ "id": "widgets-panel", "keys": "SUPER + SHIFT + G", "desc": "Toggle widgets panel", "category": "Lucid", "type": "exec", "cmd": "qs ipc call widgets panel" },
|
||||||
{ "id": "launcher", "keys": "SUPER + D", "desc": "App launcher", "category": "Lucid", "type": "exec", "cmd": "hyprctl eval 'hl.config({ input = { follow_mouse = 2 } })' && qs ipc call launcher toggle" },
|
{ "id": "launcher", "keys": "SUPER + D", "desc": "App launcher", "category": "Lucid", "type": "exec", "cmd": "hyprctl eval 'hl.config({ input = { follow_mouse = 2 } })' && qs ipc call launcher toggle" },
|
||||||
|
{ "id": "vaultwarden-password", "keys": "SUPER + X", "desc": "Type a password from Vaultwarden", "category": "Apps", "type": "exec", "cmd": "qs ipc call -- launcher search '>pass '" },
|
||||||
{ "id": "clipse", "keys": "SUPER + V", "desc": "Clipboard manager", "category": "Apps", "type": "exec", "cmd": "ghostty --title=clipse -e clipse" },
|
{ "id": "clipse", "keys": "SUPER + V", "desc": "Clipboard manager", "category": "Apps", "type": "exec", "cmd": "ghostty --title=clipse -e clipse" },
|
||||||
{ "id": "clipboard", "keys": "SUPER + SHIFT + V", "desc": "Clipboard history", "category": "Lucid", "type": "exec", "cmd": "hyprctl eval 'hl.config({ input = { follow_mouse = 2 } })' && qs ipc call launcher clipboard" },
|
{ "id": "clipboard", "keys": "SUPER + SHIFT + V", "desc": "Clipboard history", "category": "Lucid", "type": "exec", "cmd": "hyprctl eval 'hl.config({ input = { follow_mouse = 2 } })' && qs ipc call launcher clipboard" },
|
||||||
{ "id": "screenshot", "keys": "Print", "desc": "Full screenshot", "category": "Screenshots", "type": "exec", "cmd": "qs ipc call screenshot full" },
|
{ "id": "screenshot", "keys": "Print", "desc": "Full screenshot", "category": "Screenshots", "type": "exec", "cmd": "qs ipc call screenshot full" },
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
-- Initial Rias display layout; Home Manager seeds this only while the
|
|
||||||
-- user-owned Lucid monitor list is empty.
|
|
||||||
return {
|
|
||||||
monitors = {
|
|
||||||
{ output = "desc:Huawei Technologies Co. Inc. ZQE-CAA 0xC080F622", mode = "3440x1440@120.00", position = "1920x0", scale = "1" },
|
|
||||||
{ output = "desc:Samsung Electric Company SAMSUNG 0x01000E00", mode = "1920x1080@60.00", position = "0x0", scale = "1" },
|
|
||||||
},
|
|
||||||
workspaces = {},
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"pinnedApps": []
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"pinnedApps": []
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"nextId": 3,
|
|
||||||
"boardFull": true,
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"uid": "w1",
|
|
||||||
"type": "clock",
|
|
||||||
"variant": "digital",
|
|
||||||
"wx": 40,
|
|
||||||
"wy": 70
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uid": "w2",
|
|
||||||
"type": "system",
|
|
||||||
"variant": "rings",
|
|
||||||
"wx": 40,
|
|
||||||
"wy": 250
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user