refactor: consolidate app configurations and utility scripts
- Move 32+ app-specific scripts from features/apps/scripts/ to features/scripts/utils/ for centralized packaging. - Create individual Nix modules for orphaned app configurations (btop, kitty, tmux, etc.) in features/apps/ using xdg.configFile. - Fix broken paths in core/system/makima.nix and features/apps/vscode.nix. - Update VSCode configuration to use the modern 'profiles.default.userSettings' API, resolving deprecation warnings. - Merge duplicate 'nomarchy-launch-walker' scripts into a single robust utility. - Remove stale root 'config/' directory. - Update README.md and docs/creating-themes.md to reflect the new architecture and keybindings. - Ensure all modules are correctly imported and verified via nix flake check.
This commit is contained in:
@@ -1,22 +1,5 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./system/options.nix
|
||||
./system/state.nix
|
||||
./system/systemd.nix
|
||||
./system/virtualization.nix
|
||||
./system/fonts.nix
|
||||
../themes/engine/plymouth.nix
|
||||
../themes/engine/sddm.nix
|
||||
./system/hardware.nix
|
||||
./system/audio.nix
|
||||
./system/bluetooth.nix
|
||||
./system/network.nix
|
||||
../features/apps/browser.nix
|
||||
./system/impermanence.nix
|
||||
../features/apps/makima.nix
|
||||
];
|
||||
|
||||
time.timeZone = lib.mkDefault config.nomarchy.system.timezone;
|
||||
imports = [ ./system ];
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Menus
|
||||
bindd = SUPER, SPACE, Launch apps, exec, nomarchy-menu
|
||||
bindd = SUPER, SPACE, Launch apps, exec, nomarchy-launch-walker
|
||||
bindd = SUPER CTRL, E, Emoji picker, exec, nomarchy-menu symbols
|
||||
bindd = SUPER CTRL, C, Capture menu, exec, nomarchy-menu capture
|
||||
bindd = SUPER CTRL, O, Toggle menu, exec, nomarchy-menu toggle
|
||||
bindd = SUPER ALT, SPACE, Nomarchy menu, exec, nomarchy-menu
|
||||
bindd = SUPER ALT, SPACE, Toggle top bar, exec, nomarchy-toggle-waybar
|
||||
bindd = SUPER, ESCAPE, System menu, exec, nomarchy-menu system
|
||||
bindld = , XF86PowerOff, Power menu, exec, nomarchy-menu system
|
||||
bindd = SUPER, K, Show key bindings, exec, nomarchy-menu-keybindings
|
||||
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
||||
|
||||
# Aesthetics
|
||||
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, nomarchy-toggle-waybar
|
||||
bindd = SUPER SHIFT, SPACE, Nomarchy menu, exec, nomarchy-menu
|
||||
bindd = SUPER CTRL, SPACE, Theme background menu, exec, nomarchy-menu background
|
||||
bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, nomarchy-menu theme
|
||||
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, nomarchy-hyprland-active-window-transparency-toggle
|
||||
|
||||
14
core/home/default.nix
Normal file
14
core/home/default.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
./state.nix
|
||||
./overrides.nix
|
||||
./behavior.nix
|
||||
./fonts.nix
|
||||
./configs.nix
|
||||
./security.nix
|
||||
./bash.nix
|
||||
];
|
||||
}
|
||||
30
core/system/browser.nix
Normal file
30
core/system/browser.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
nomarchyLib = import ../../lib { inherit lib; };
|
||||
activeThemeName = config.nomarchy.system.theme;
|
||||
currentPalette = nomarchyLib.getPalette activeThemeName;
|
||||
|
||||
# Hex color for browser theme (base00 is background)
|
||||
themeColor = "#${currentPalette.base00}";
|
||||
|
||||
# Detect light mode from theme name or palette
|
||||
isLightTheme = nomarchyLib.isThemeLightMode {
|
||||
themeName = activeThemeName;
|
||||
assetsPath = ../../themes/palettes;
|
||||
};
|
||||
|
||||
browserPolicy = {
|
||||
BrowserThemeColor = themeColor;
|
||||
BrowserColorScheme = if isLightTheme then "light" else "dark";
|
||||
};
|
||||
in
|
||||
{
|
||||
# Chromium policies
|
||||
programs.chromium.extraOpts = lib.mkDefault browserPolicy;
|
||||
|
||||
# Brave browser policies via managed policy file
|
||||
environment.etc."brave/policies/managed/nomarchy.json".text = lib.mkDefault (
|
||||
builtins.toJSON browserPolicy
|
||||
);
|
||||
}
|
||||
22
core/system/default.nix
Normal file
22
core/system/default.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
./state.nix
|
||||
./systemd.nix
|
||||
./virtualization.nix
|
||||
./fonts.nix
|
||||
./hardware.nix
|
||||
./audio.nix
|
||||
./bluetooth.nix
|
||||
./network.nix
|
||||
./impermanence.nix
|
||||
./browser.nix
|
||||
./makima.nix
|
||||
../../themes/engine/plymouth.nix
|
||||
../../themes/engine/sddm.nix
|
||||
];
|
||||
|
||||
time.timeZone = lib.mkDefault config.nomarchy.system.timezone;
|
||||
}
|
||||
25
core/system/makima.nix
Normal file
25
core/system/makima.nix
Normal file
@@ -0,0 +1,25 @@
|
||||
{ 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 = ../../features/apps/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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user