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:
43
themes/engine/sddm.nix
Normal file
43
themes/engine/sddm.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
nomarchy-sddm-theme = pkgs.stdenv.mkDerivation {
|
||||
pname = "nomarchy-sddm-theme";
|
||||
version = "1.0";
|
||||
src = ./sddm/nomarchy;
|
||||
nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes/nomarchy
|
||||
cp -r * $out/share/sddm/themes/nomarchy/
|
||||
'';
|
||||
propagatedBuildInputs = with pkgs.libsForQt5.qt5; [
|
||||
qtgraphicaleffects
|
||||
qtquickcontrols2
|
||||
qtsvg
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
services.xserver.enable = lib.mkDefault true;
|
||||
services.displayManager.sddm = {
|
||||
enable = lib.mkDefault true;
|
||||
wayland.enable = lib.mkDefault true;
|
||||
theme = lib.mkDefault "nomarchy";
|
||||
};
|
||||
|
||||
services.displayManager.defaultSession = lib.mkDefault "hyprland-uwsm";
|
||||
|
||||
services.displayManager.autoLogin = {
|
||||
enable = lib.mkDefault true;
|
||||
user = lib.mkDefault "nomarchy";
|
||||
};
|
||||
|
||||
environment.systemPackages = lib.mkDefault [ nomarchy-sddm-theme ];
|
||||
|
||||
# Enable Hyprland system-level dependencies
|
||||
programs.hyprland = {
|
||||
enable = lib.mkDefault true;
|
||||
withUWSM = lib.mkDefault true;
|
||||
};
|
||||
programs.uwsm.enable = lib.mkDefault true;
|
||||
}
|
||||
Reference in New Issue
Block a user