Files
nix/modules/home/hyprland/default.nix
2025-04-25 23:10:55 +08:00

94 lines
1.8 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports = [
./env.nix
];
wayland.windowManager.hyprland = {
# Whether to enable Hyprland wayland compositor
enable = true;
# The hyprland package to use
package = pkgs.hyprland;
# Whether to enable XWayland
xwayland.enable = true;
# Optional
# Whether to enable hyprland-session.target on hyprland startup
# systemd.enable = true;
settings = lib.mkDefault {
decoration = {
shadow_offset = "0 5";
"col.shadow" = "rgba(00000099)";
};
};
};
home.packages = with pkgs; [
waybar # the status bar
swww # wallpaper
libnotify # for notify-send command
mako # notify daemon
hyprshot #screenshot
rofi # app launcher
kitty # terminal
wlogout # logout menu
killall
pavucontrol # audio control
nautilus #file manager for GNOME
];
programs = {
bash = {
initExtra = ''
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ];
then
echo 'Welcome! '
fi
'';
};
swaylock.enable = true;
};
# hyprland configs, based on https://github.com/notwidow/hyprland
home.file.".config/hypr" = {
source = ./conf/hypr;
# copy the scripts directory recursively
recursive = true;
};
home.file.".config/rofi" = {
source = ./conf/rofi;
recursive = true;
};
home.file.".config/kitty" = {
source = ./conf/kitty;
recursive = true;
};
home.file.".config/mako" = {
source = ./conf/mako;
recursive = true;
};
# home.file.".config/swww" = {
# source = ./conf/swww;
# recursive = true;
# };
home.file.".config/waybar" = {
source = ./conf/waybar;
recursive = true;
};
home.file.".config/wlogout" = {
source = ./conf/wlogout;
recursive = true;
};
}