nix/desktops/hyprland.nix
2023-08-15 20:49:57 +09:00

113 lines
No EOL
2.3 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";
background.fit = "Cover";
GTK.application_prefer_dark_theme = true;
GTK.cursor_theme_name = "Adwaita";
GTK.font_name = "Cantarell 16";
GTK.icon_theme_name = "ePapirus-Dark";
# GTK.theme_name = "Adwaita";
GTK.theme_name = "Gruvbox-Dark-BL";
commands.reboot = [ "systemctl" "reboot" ];
commands.poweroff = [ "systemctl" "poweroff" ];
};
extraCSS = {
img.background = {
filter = "blur(20px)";
};
};
};
# Brightness and volume control
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" ];
})
)
# Notofication daemon
libnotify
mako
# for x11
# dunst
# Wallpaper daemons
# hyprpaper
# swaybg
# wpaperd
# mpvpaper
swww
# Terminal
# hyprlands default terminal
kitty
# alacritty
# wezterm
# App launchers
rofi-wayland
# gtk version:
# wofi
# suggestions
# bemenu
# fuzzel
# tofi
# Other apps:
networkmanagerapplet
# Screenshot utility:
grim
slurp
wl-clipboard
# fonts
font-awesome
# lock screen
swaylock-fancy
# Icons for regreet
gruvbox-gtk-theme
papirus-icon-theme
];
# 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;
};
}