Working on bindings
This commit is contained in:
@@ -1,26 +1,35 @@
|
||||
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
user,
|
||||
flakeRoot,
|
||||
...
|
||||
}:
|
||||
let
|
||||
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
||||
# Get a list of all files in the conf directory
|
||||
hyprlandConfs = lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf")) (name: {
|
||||
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}";
|
||||
});
|
||||
# Dynamically read all files in assets/hyprland/conf/
|
||||
hyprlandConfs =
|
||||
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf"))
|
||||
(
|
||||
name: "hypr/${name}" # Prepend "hypr/" to deploy files to ~/.config/hypr/
|
||||
);
|
||||
in
|
||||
{
|
||||
# NixOS: Enable Hyprland (optional, if you want to set it as the default session)
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Hyprland-specific Home Manager configurations
|
||||
# Home Manager: Deploy Hyprland configs
|
||||
home-manager.users.${user.username} = {
|
||||
home.stateVersion = userConfig.stateVersion;
|
||||
home.username = userConfig.username;
|
||||
home.homeDirectory = userConfig.homeDirectory;
|
||||
xdg.configFile."hypr/hyprland.conf".text = hyprlandConf;
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Dynamically deploy all files in assets/hyprland/conf/
|
||||
xdg.configFile = hyprlandConfs // {
|
||||
inherit hyprlandConfigDir;
|
||||
};
|
||||
# Dynamically deploy all Hyprland config files
|
||||
xdg.configFile = lib.genAttrs hyprlandConfs (path: {
|
||||
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${lib.stringReplace "hypr/" "" path}";
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user