2023-10-20 13:07:18 -04:00
|
|
|
{ pkgs, config, hyprland, hyprgrass, ags, osConfig, ... }: let
|
2023-10-18 13:50:00 -04:00
|
|
|
configDir = config.services.hostvars.configDir;
|
2023-10-03 11:08:56 -04:00
|
|
|
symlink = config.lib.file.mkOutOfStoreSymlink;
|
2023-10-03 12:07:50 -04:00
|
|
|
|
|
|
|
gset = pkgs.gsettings-desktop-schemas;
|
|
|
|
polkit = pkgs.plasma5Packages.polkit-kde-agent;
|
2023-10-18 13:50:00 -04:00
|
|
|
in {
|
2023-06-24 04:59:54 -04:00
|
|
|
imports = [
|
2023-09-25 23:08:37 -04:00
|
|
|
ags.homeManagerModules.default
|
2023-06-24 04:59:54 -04:00
|
|
|
];
|
|
|
|
|
2023-09-25 23:08:37 -04:00
|
|
|
programs.ags = {
|
|
|
|
enable = true;
|
2023-10-03 11:08:56 -04:00
|
|
|
configDir = symlink "${configDir}/ags";
|
2023-10-24 14:21:33 -04:00
|
|
|
package = (ags.packages.x86_64-linux.default.overrideAttrs
|
|
|
|
(_: prev: {
|
|
|
|
buildInputs = with pkgs; prev.buildInputs ++ [
|
|
|
|
libgudev
|
|
|
|
];
|
|
|
|
})
|
|
|
|
);
|
2023-09-25 23:08:37 -04:00
|
|
|
};
|
|
|
|
|
2023-06-24 04:59:54 -04:00
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
2023-09-29 23:46:34 -04:00
|
|
|
package = hyprland.packages.x86_64-linux.default;
|
2023-09-29 00:34:18 -04:00
|
|
|
|
2023-06-24 04:59:54 -04:00
|
|
|
plugins = [
|
2023-09-29 23:46:34 -04:00
|
|
|
"${hyprgrass.packages.x86_64-linux.default}/lib/libhyprgrass.so"
|
2023-06-24 04:59:54 -04:00
|
|
|
];
|
|
|
|
|
2023-10-03 12:07:50 -04:00
|
|
|
settings = {
|
|
|
|
env = [
|
|
|
|
"XDG_DATA_DIRS, ${builtins.concatStringsSep ":" [
|
|
|
|
"${gset}/share/gsettings-schemas/${gset.name}"
|
|
|
|
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
|
|
|
"$XDG_DATA_DIRS"
|
|
|
|
]}"
|
|
|
|
|
|
|
|
"AGS_PATH, ${configDir}/ags/bin"
|
|
|
|
"HYPR_PATH, ${configDir}/hypr/scripts"
|
|
|
|
"LOCK_PATH, ${configDir}/gtklock/scripts"
|
|
|
|
];
|
|
|
|
|
2023-10-20 13:07:18 -04:00
|
|
|
exec-once = [
|
|
|
|
"${polkit}/libexec/polkit-kde-authentication-agent-1"
|
|
|
|
"${osConfig.programs.kdeconnect.package}/libexec/kdeconnectd"
|
|
|
|
];
|
|
|
|
|
2023-10-03 12:07:50 -04:00
|
|
|
source = [ "~/.config/hypr/main.conf" ];
|
|
|
|
};
|
2023-06-24 04:59:54 -04:00
|
|
|
};
|
2023-06-27 10:13:14 -04:00
|
|
|
|
2023-06-28 16:10:01 -04:00
|
|
|
xdg.configFile = {
|
2023-10-16 12:50:00 -04:00
|
|
|
"hypr/main.conf".source = symlink "${configDir}/hypr/main.conf";
|
|
|
|
|
|
|
|
"hypr/hyprpaper.conf".text = ''
|
|
|
|
preload = ${pkgs.dracula-theme}/wallpapers/waves.png
|
|
|
|
wallpaper = eDP-1, ${pkgs.dracula-theme}/wallpapers/waves.png
|
|
|
|
'';
|
2023-06-27 10:13:14 -04:00
|
|
|
};
|
2023-10-03 15:25:34 -04:00
|
|
|
|
2023-10-20 11:22:20 -04:00
|
|
|
home.packages = with pkgs; [
|
2023-10-03 15:25:34 -04:00
|
|
|
# ags
|
2023-10-20 11:22:20 -04:00
|
|
|
sassc
|
|
|
|
coloryou
|
|
|
|
libnotify
|
|
|
|
playerctl
|
|
|
|
bluez-tools
|
|
|
|
brightnessctl
|
|
|
|
pulseaudio
|
|
|
|
libinput
|
2023-10-03 15:25:34 -04:00
|
|
|
|
|
|
|
## gui
|
2023-10-20 11:22:20 -04:00
|
|
|
pavucontrol # TODO: replace with ags widget
|
|
|
|
networkmanagerapplet # TODO: replace with ags widget
|
|
|
|
blueberry # TODO: replace with ags widget
|
2023-10-03 15:25:34 -04:00
|
|
|
|
|
|
|
|
|
|
|
# Hyprland
|
2023-10-20 11:22:20 -04:00
|
|
|
hyprpaper
|
|
|
|
swayidle
|
|
|
|
lisgd
|
|
|
|
swayosd
|
|
|
|
squeekboard
|
|
|
|
xclip
|
|
|
|
wl-clipboard
|
|
|
|
cliphist
|
2023-10-03 15:25:34 -04:00
|
|
|
|
|
|
|
## gui
|
2023-10-20 11:22:20 -04:00
|
|
|
gtklock
|
|
|
|
wl-color-picker # TODO: add bind for this in hyprland
|
|
|
|
grim
|
|
|
|
slurp
|
|
|
|
swappy
|
2023-10-03 15:25:34 -04:00
|
|
|
|
|
|
|
## libs
|
2023-10-20 11:22:20 -04:00
|
|
|
libayatana-appindicator
|
|
|
|
xdg-utils
|
|
|
|
evtest
|
|
|
|
glib
|
2023-10-03 15:25:34 -04:00
|
|
|
];
|
2023-06-24 04:59:54 -04:00
|
|
|
}
|