Files
Nomarchy/modules/home/default.nix
Bernardo Magri 42f515f4a9 feat(themes): declaratively manage icons, cursors, and dark/light modes
- Automatically detect light mode via 'light.mode' file in theme folder
- Read icon theme name from 'icons.theme' file in theme folder
- Switch Stylix polarity and iconTheme based on theme selection
- Add yaru-theme and bibata-cursors to default packages
- Remove obsolete imperative nomarchy-theme-set-gnome script
2026-04-04 18:33:00 +01:00

65 lines
1.5 KiB
Nix

{ config, pkgs, inputs, lib, ... }:
let
palettes = import ../../themes/nomarchy-palettes.nix;
userPackagesFile = "${config.home.homeDirectory}/.config/home-manager/user-packages.json";
userPackages = if builtins.pathExists userPackagesFile then
let
pkgNames = builtins.fromJSON (builtins.readFile userPackagesFile);
# Filter to only packages that exist in pkgs to prevent build failures
validPkgs = builtins.filter (name: builtins.hasAttr name pkgs) pkgNames;
in builtins.map (name: pkgs.${name}) validPkgs
else [];
in
{
imports = [
inputs.nix-colors.homeManagerModules.default
inputs.walker.homeManagerModules.default
./options.nix
./state.nix
./theme-files.nix
./fonts.nix
./alacritty.nix
./nightlight.nix
./idle.nix
./stylix.nix
./hyprland.nix
./waybar.nix
./walker.nix
./theme-switcher.nix
./scripts.nix
./configs.nix
./swayosd.nix
];
colorScheme = palettes.${config.nomarchy.theme} or palettes.nord;
home.packages = with pkgs; [
firefox
xfce.thunar
imv
mpv
neovim
wl-clipboard
grim
slurp
brightnessctl
playerctl
pamixer
mise
jq
xmlstarlet
yaru-theme
bibata-cursors
nerd-fonts.jetbrains-mono
nerd-fonts.roboto-mono
nerd-fonts.fira-code
nerd-fonts.ubuntu-mono
] ++ userPackages;
home.shellAliases = {
sys-update = "sudo nixos-rebuild switch --flake /etc/nixos#default";
env-update = "home-manager switch --flake /etc/nixos#default --impure";
};
}