Files
Nomarchy/features/default.nix
Bernardo Magri 1117dcfc37
Some checks failed
Check / eval-and-lint (push) Has been cancelled
fix(home): drop mkDefault on home.packages — it discarded the whole app list
Chasing a "DBus.Error … name is not activatable" from notify-send (mako),
the root cause turned out to be far bigger: home.packages in
features/default.nix was wrapped in lib.mkDefault. home.packages is a
list, and the module system's filterOverrides keeps only the
highest-priority definitions — so the moment any other module sets
home.packages at normal priority (features/scripts/default.nix's
`[ nomarchy-scripts ]`, the installer's profile packages), this entire
mkDefault list was DROPPED. Every install was silently missing firefox,
thunar, imv, mpv, swww, mako, hyprlock, rofi, etc. — which broke
notifications (mako never installed → exec-once fails → notify-send dead)
and the lock screen (hyprlock missing), and hid a stale `rofi-wayland`
reference (merged into `rofi` upstream) that only errored once the list
was live again. Remove the mkDefault so the list merges (home.packages =
52 pkgs, up from 31; mako/hyprlock/firefox/… now present) and fix
rofi-wayland -> rofi.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 10:40:44 +01:00

86 lines
2.3 KiB
Nix

{ config, pkgs, inputs, lib, ... }:
let
nomarchyLib = import ../lib { inherit lib; };
in
{
imports = [
inputs.nix-colors.homeManagerModules.default
inputs.walker.homeManagerModules.default
../core/home
../themes/engine/stylix-compat.nix
../themes/engine/loader.nix
../themes/engine/files.nix
../themes/engine/scripts.nix
../themes/engine/stylix.nix
./apps/alacritty/default.nix
./apps/btop/default.nix
./apps/elephant/default.nix
./apps/ghostty/default.nix
./apps/kitty/default.nix
./apps/lazygit/default.nix
./apps/opencode/default.nix
./apps/tmux/default.nix
./apps/vscode.nix
./apps/walker.nix
./apps/swayosd.nix
./desktop/nightlight.nix
./desktop/idle.nix
./desktop/hyprland/default.nix
./desktop/waybar/default.nix
./scripts/default.nix
./scripts/battery-monitor.nix
];
colorScheme = lib.mkDefault (nomarchyLib.getColorScheme config.nomarchy.theme);
# Enable neovim program module (required for stylix integration)
programs.neovim.enable = lib.mkDefault true;
# NOT mkDefault: home.packages is a list that MERGES across modules. At
# mkDefault priority this whole curated list is dropped the moment any
# other module sets home.packages at normal priority (features/scripts,
# the installer's profile packages), silently removing firefox, mako,
# hyprlock, mpv, etc. — which broke notifications and the lock screen.
home.packages = (with pkgs; [
# Core applications
firefox
xfce.thunar
# Media
imv # Image viewer
mpv # Video player
# Hyprland ecosystem
swww # Wallpaper daemon
mako # Notification daemon
hyprlock # Lock screen
# Screenshot and clipboard
wl-clipboard
grim
slurp
# Hardware control
brightnessctl
playerctl
pamixer
# Utilities
jq
xmlstarlet
mise
gum # TUI components for scripts
xdg-terminal-exec
swaybg
rofi # rofi-wayland was merged into rofi upstream
# Theming — cursor package stays here; icon theme packages are pulled in
# dynamically by themes/engine/stylix.nix via nomarchyLib.iconThemePackage
# so switching to e.g. summer-night auto-installs everforest-gtk-theme.
bibata-cursors
]);
}