refactor: implement component-based architecture for enhanced maintainability
- Reorganize directory structure into core/, features/, and themes/ - Colocate application Nix logic, configs, scripts, and theme overrides - Implement 'Inversion of Control' for theming: apps now pull theme-specific layouts - Update flake.nix and shared library paths to match the new structure - Document the new Feature-Centric architecture in README.md
This commit is contained in:
44
features/desktop/hyprland/default.nix
Normal file
44
features/desktop/hyprland/default.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
nomarchyLib = import ../lib { inherit lib; };
|
||||
assetsPath = ../../assets/themes;
|
||||
|
||||
# Use shared wallpaper resolver
|
||||
activeWallpaper = nomarchyLib.resolveWallpaper {
|
||||
wallpaperPath = config.nomarchy.wallpaper;
|
||||
themeName = config.nomarchy.theme;
|
||||
inherit assetsPath;
|
||||
};
|
||||
|
||||
hyprlandState = config.nomarchy.hyprland;
|
||||
in
|
||||
{
|
||||
home.sessionVariables = lib.mkDefault {
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
HYPRLAND_LOG_WLR = "1";
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = lib.mkDefault true;
|
||||
settings = lib.mkDefault {
|
||||
"debug" = {
|
||||
"disable_logs" = false;
|
||||
"enable_stdout_logs" = true;
|
||||
};
|
||||
"cursor" = {
|
||||
"no_hardware_cursors" = true;
|
||||
};
|
||||
"general" = {
|
||||
"gaps_in" = hyprlandState.gaps_in;
|
||||
"gaps_out" = hyprlandState.gaps_out;
|
||||
"border_size" = hyprlandState.border_size;
|
||||
"col.active_border" = "rgb(${config.colorScheme.palette.base0E})";
|
||||
"col.inactive_border" = "rgb(${config.colorScheme.palette.base03})";
|
||||
};
|
||||
};
|
||||
extraConfig = lib.mkDefault ''
|
||||
source = ~/.config/hypr/nomarchy.conf
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user