nix/desktops/hyprland.nix

105 lines
No EOL
2.7 KiB
Nix

{pkgs, ...}: {
services.xserver.videoDrivers = ["nvidia"];
# Greeter, for when you start the computer
programs.regreet = {
enable = true;
# https://github.com/rharish101/ReGreet/blob/main/regreet.sample.toml
settings = {
background = {
path = "/etc/nixos/git/desktops/wallpapers/gruvbox/wallpaper3.jpg";
fit = "Cover";
};
GTK = {
application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita";
font_name = "Cantarell 16";
icon_theme_name = "Papirus-Dark";
theme_name = "Gruvbox-Dark-BL";
};
commands = {
reboot = [ "systemctl" "reboot" ];
poweroff = [ "systemctl" "poweroff" ];
};
};
extraCss = ''
#background {
filter: blur(20px);
blur: 20px;
}
#user_toggle {
visibility: none;
}
#sess_toggle {
visibility: none;
}
'';
};
# tuigreet
# services.greetd = {
# enable = true;
# settings = {
# default_session = {
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway";
# user = "greeter";
# };
# };
# };
# Brightness and volume control
# https://haikarainen.github.io/light/
programs.light.enable = true;
# Enabling hyprlnd on NixOS
programs.hyprland = {
enable = true;
enableNvidiaPatches = true;
xwayland.enable = true;
};
environment.sessionVariables = {
# If your cursor becomes invisible
WLR_NO_HARDWARE_CURSORS = "1";
# Hint electron apps to use wayland
NIXOS_OZONE_WL = "1";
};
# XDG portal
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# system packages
environment.systemPackages = with pkgs; [
# waybar
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
})
)
libnotify # Notification libraries
mako # Notification daemon
swww # Wallpaper daemon
kitty # Terminal emulator
rofi-wayland # App Launcher
networkmanagerapplet # NetworkManager control applet
grim # Screenshots
slurp # Screenshots
wl-clipboard # Clipboard
font-awesome # Fonts
swaylock-fancy # Lock screen
gruvbox-gtk-theme # Gruvbox Theme
papirus-icon-theme # Papirus Icons
libinput-gestures # Gesture Control
];
# Enable sound with pipewire.
sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
}