Files
Olympus/home/dotfiles/default.nix

72 lines
2.5 KiB
Nix

{ config, lib, ... }: {
config = lib.mkMerge [
(lib.mkIf config.homeconfig.ags.enable {
home.file = let
dir = "ags";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.hyprland.enable {
home.file = let
dir = "Wallpaper";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.hyprland.enable {
home.file = let
dir = "Wallpaper";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.swaylock.enable {
home.file = let
dir = "swaylock";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.wal.enable {
home.file = let
dir = "wal";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
];
}