Working on bindings

This commit is contained in:
2026-03-08 00:12:46 +01:00
parent 45dd985cd1
commit 04118389ad
+24 -15
View File
@@ -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}";
});
};
}