66 lines
1.5 KiB
Nix
66 lines
1.5 KiB
Nix
{
|
|
ags,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (config.vars) configDir mainUser;
|
|
isTouchscreen = config.hardware.sensor.iio.enable;
|
|
in {
|
|
services.upower.enable = true;
|
|
|
|
home-manager.users.${mainUser}.imports = [
|
|
ags.homeManagerModules.default
|
|
|
|
({
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
symlink = config.lib.file.mkOutOfStoreSymlink;
|
|
optionals = lib.lists.optionals;
|
|
in {
|
|
programs.ags = {
|
|
enable = true;
|
|
configDir = symlink "${configDir}/ags";
|
|
package = ags.packages.${pkgs.system}.default;
|
|
extraPackages = with pkgs; [
|
|
libgudev
|
|
];
|
|
};
|
|
|
|
home.packages =
|
|
[config.customPkgs.coloryou]
|
|
++ (with pkgs; [
|
|
# ags
|
|
sassc
|
|
bun
|
|
playerctl
|
|
|
|
## gui
|
|
pavucontrol # TODO: replace with ags widget
|
|
|
|
(writeShellApplication {
|
|
name = "updateTypes";
|
|
runtimeInputs = [ nodejs_18 typescript git ];
|
|
text = ''
|
|
if [[ -d /tmp/ags-types ]]; then
|
|
rm -r /tmp/ags-types
|
|
fi
|
|
rm -r ~/.config/ags/types
|
|
|
|
git clone https://github.com/Aylur/ags.git /tmp/ags-types
|
|
/tmp/ags-types/example/starter-config/setup.sh
|
|
|
|
rm -r /tmp/ags-types
|
|
'';
|
|
})
|
|
])
|
|
++ (optionals isTouchscreen (with pkgs; [
|
|
lisgd
|
|
squeekboard
|
|
ydotool
|
|
]));
|
|
})
|
|
];
|
|
}
|