Files
omarchy-nix/modules/home-manager/default.nix
T
2025-07-28 09:21:43 -05:00

65 lines
1.9 KiB
Nix

inputs: {
config,
pkgs,
lib,
...
}: let
packages = import ../packages.nix {inherit pkgs lib; exclude_packages = config.omarchy.exclude_packages;};
themes = import ../themes.nix;
# Handle theme selection - either predefined or generated
selectedTheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark")
then null
else themes.${config.omarchy.theme};
# Generate color scheme from wallpaper for generated themes
generatedColorScheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark") || (config.omarchy.theme_overrides ? wallpaper_path)
then (inputs.nix-colors.lib.contrib { inherit pkgs; }).colorSchemeFromPicture {
path = config.omarchy.theme_overrides.wallpaper_path;
variant = if config.omarchy.theme == "generated_light" then "light" else "dark";
}
else null;
in {
imports = [
(import ./hyprland.nix inputs)
(import ./hyprlock.nix inputs)
(import ./hyprpaper.nix)
(import ./hypridle.nix)
(import ./ghostty.nix)
(import ./btop.nix)
(import ./direnv.nix)
(import ./git.nix)
(import ./mako.nix)
(import ./starship.nix)
(import ./vscode.nix)
(import ./waybar.nix inputs)
(import ./wofi.nix)
(import ./zoxide.nix)
(import ./zsh.nix)
];
home.file = {
".local/share/omarchy/bin" = {
source = ../../bin;
recursive = true;
};
};
home.packages = packages.homePackages;
colorScheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark") || (config.omarchy.theme_overrides ? wallpaper_path)
then generatedColorScheme
else inputs.nix-colors.colorSchemes.${selectedTheme.base16-theme};
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
# TODO: Add an actual nvim config
programs.neovim.enable = true;
}