feat(home): enhance user environment and dynamic theming

- Implement dynamic palette generation from colors.toml themes
- Update script wrapper to handle non-executable source files
- Integrate Stylix for unified application theming
- Add state-based logic for persistent dynamic configurations
This commit is contained in:
Bernardo Magri
2026-04-03 21:07:12 +01:00
parent 14d7a89a84
commit 90e1a21701
6 changed files with 29 additions and 14 deletions

View File

@@ -2,11 +2,11 @@
let
palettes = import ../../themes/nomarchy-palettes.nix;
# Reads the state file. If it doesn't exist, defaults to dracula.
# Reads the state file. If it doesn't exist, defaults to nord.
stateFile = "${config.home.homeDirectory}/.config/home-manager/theme-state.nix";
activeThemeName = if builtins.pathExists stateFile then
lib.removeSuffix "\n" (builtins.readFile stateFile)
else "dracula";
else "nord";
userPackagesFile = "${config.home.homeDirectory}/.config/home-manager/user-packages.json";
userPackages = if builtins.pathExists userPackagesFile then
let
@@ -31,13 +31,14 @@ in
./theme-switcher.nix
./scripts.nix
./configs.nix
./swayosd.nix
];
colorScheme = palettes.${activeThemeName} or palettes.dracula;
colorScheme = palettes.${activeThemeName} or palettes.nord;
home.packages = with pkgs; [
firefox
thunar
xfce.thunar
imv
mpv
neovim