Files
nixos/Droidnix/generated/modules/traveldroid/desktop/stylix.nix
T
2026-03-24 09:08:42 +00:00

64 lines
1.6 KiB
Nix

{ lib, config, pkgs, flakeRoot, ... }:
let
# Determine the default username from host config
username = config.defaultUser or "henrov";
moduleName = "stylix";
assetPath = "${flakeRoot}/assets/traveldroid/conf/";
# Read all files in the asset directory
programFiles = builtins.readDir assetPath;
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
source = "${assetPath}/${name}";
});
# Optional stylix.conf (kept for reference)
stylixConfFile = "${assetPath}/stylix.conf";
stylixConf = if builtins.pathExists stylixConfFile then builtins.readFile stylixConfFile else "";
# Cursor defaults
cursorName = "phinger-cursors-light";
cursorSize = 24;
in
{
############################
# System-level packages
############################
environment.systemPackages = [
pkgs.feh
pkgs.st
];
############################
# Home Manager user config
############################
home-manager.users."${username}" = {
stylix = {
enable = true;
# Enable GTK target for this user
targets = {
gtk = {
enable = true;
};
};
# Map all configuration files into ~/.config/stylix/
xdg.configFile = lib.mapAttrs' (name: value: {
name = "${moduleName}/${name}";
value = { inherit (value) source; };
}) files;
};
# Session environment variables
home.sessionVariables = {
STYLIX_CONF = "$HOME/.config/stylix/stylix.conf";
XCURSOR_THEME = cursorName;
XCURSOR_SIZE = toString cursorSize;
HYPRCURSOR_THEME = cursorName;
HYPRCURSOR_SIZE = toString cursorSize;
};
};
}