- 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
26 lines
868 B
Nix
26 lines
868 B
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
cfg = config.nomarchy.system.features.makima;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg {
|
|
# If the user has makima-bin available in their overlays (as they originally used a custom package),
|
|
# this will install it. Otherwise, it will fail evaluation if not available in nixpkgs.
|
|
environment.systemPackages = [ pkgs.makima-bin ];
|
|
|
|
environment.etc."makima/AT Translated Set 2 keyboard.toml".source = ../../assets/makima + "/AT Translated Set 2 keyboard.toml";
|
|
|
|
systemd.services.makima = {
|
|
description = "Makima key remapping service";
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
User = config.services.displayManager.autoLogin.user;
|
|
Environment = "MAKIMA_CONFIG=/etc/makima";
|
|
ExecStart = "${pkgs.makima-bin}/bin/makima";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
};
|
|
}
|