feat(core): migrate system state to unified declarative JSON
- Consolidate all configuration toggles (suspend, idle, waybar, etc.) into ~/.config/home-manager/state.json - Introduce nomarchy.toggles and nomarchy.hyprland options in Nix - Inject toggle states into all bin/ scripts via environment variables - Update toggle scripts to mutate JSON and trigger background rebuilds - Add a migration script to transition legacy flag files to the new format
This commit is contained in:
@@ -1,14 +1,8 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
wallpaperStateFile = "${config.home.homeDirectory}/.config/home-manager/wallpaper-state.nix";
|
||||
activeWallpaper = if builtins.pathExists wallpaperStateFile then
|
||||
lib.removeSuffix "\n" (builtins.readFile wallpaperStateFile)
|
||||
else "";
|
||||
hyprlandStateFile = "${config.home.homeDirectory}/.config/home-manager/hyprland-state.json";
|
||||
hyprlandState = if builtins.pathExists hyprlandStateFile then
|
||||
builtins.fromJSON (builtins.readFile hyprlandStateFile)
|
||||
else { gaps_out = 10; gaps_in = 5; border_size = 2; };
|
||||
activeWallpaper = config.nomarchy.wallpaper;
|
||||
hyprlandState = config.nomarchy.hyprland;
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
@@ -23,10 +17,9 @@ in
|
||||
};
|
||||
"exec-once" = [
|
||||
"swww-daemon & sleep 0.5 && swww img ${activeWallpaper} --transition-type none"
|
||||
"waybar"
|
||||
"nomarchy-on-boot"
|
||||
"nomarchy-welcome"
|
||||
];
|
||||
] ++ (lib.optional config.nomarchy.toggles.waybar "waybar");
|
||||
"bind" = [
|
||||
"SUPER, Space, exec, walker"
|
||||
"SUPER ALT, Space, exec, nomarchy-theme-selector"
|
||||
|
||||
Reference in New Issue
Block a user