nix/nixos/common/desktops/hyprland/default.nix

114 lines
3 KiB
Nix
Raw Normal View History

2023-08-25 01:02:10 +02:00
{pkgs, gpu, ...}: {
2023-08-14 15:02:45 +02:00
2023-08-27 12:35:58 +02:00
nixpkgs = {
overlays = [
# https://github.com/nix-community/nixpkgs-wayland
inputs.nixpkgs-wayland.overlay
];
};
services.xserver.videoDrivers = [ gpu ];
2023-08-17 08:40:32 +02:00
# tuigreet
2023-08-17 08:40:02 +02:00
services.greetd = {
2023-08-15 12:41:49 +02:00
enable = true;
2023-08-17 08:40:02 +02:00
settings = {
default_session = {
2023-08-18 14:12:21 +02:00
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland -g 'Authorized Personnel Only'";
2023-08-17 08:40:02 +02:00
user = "greeter";
2023-08-15 15:09:48 +02:00
};
2023-08-15 13:49:57 +02:00
};
2023-08-15 12:41:49 +02:00
};
2023-08-25 01:02:10 +02:00
services.tlp = {
enable = true;
};
2023-08-15 12:21:32 +02:00
# Brightness and volume control
# https://haikarainen.github.io/light/
2023-08-15 12:21:32 +02:00
programs.light.enable = true;
2023-08-17 09:19:29 +02:00
# PolKit for the fingerprint reader
security.polkit.enable = true;
2023-08-17 12:26:20 +02:00
# https://github.com/NixOS/nixpkgs/issues/143365
security.pam.services.swaylock = {};
2023-08-15 12:21:32 +02:00
# Enabling hyprlnd on NixOS
programs.hyprland = {
enable = true;
2023-08-18 15:28:33 +02:00
enableNvidiaPatches = true;
xwayland.enable = true;
};
environment.sessionVariables = {
# If your cursor becomes invisible
2023-08-27 12:35:58 +02:00
WLR_NO_HARDWARE_CURSORS = "0";
# Hint electron apps to use wayland
NIXOS_OZONE_WL = "1";
};
2023-08-26 14:31:14 +02:00
services.logind.extraConfig = ''
IdleActionSec=900
IdleAction=suspend-then-hibernate
'';
2023-08-27 08:21:27 +02:00
systemd.sleep.extraConfig = ''
AllowSuspend = yes
AllowHibernate = yes
AllowSuspendThenhibernate = yes
AllowHybridSleep = yes
HibernateDelaySec = 600
'';
2023-08-14 13:01:44 +02:00
# XDG portal
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# system packages
2023-08-14 13:01:44 +02:00
environment.systemPackages = with pkgs; [
2023-08-14 09:49:03 +02:00
# waybar
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
})
)
2023-08-16 07:29:55 +02:00
libnotify # Notification libraries
mako # Notification daemon
swww # Wallpaper daemon
kitty # Terminal emulator
rofi-wayland # App Launcher
networkmanagerapplet # NetworkManager control applet
grim # Screenshots
2023-08-18 02:21:05 +02:00
scrot # screenshots
2023-08-16 07:29:55 +02:00
slurp # Screenshots
wl-clipboard # Clipboard
font-awesome # Fonts
gruvbox-gtk-theme # Gruvbox Theme
papirus-icon-theme # Papirus Icons
2023-08-25 13:52:03 +02:00
libinput-gestures # Gesture Control
2023-08-17 06:18:53 +02:00
playerctl # Control sublime-music from waybar?
pavucontrol # Pulse Audio Volume CONTROL
2023-08-17 07:23:12 +02:00
glib # Set GTK theme settings
2023-08-17 12:26:20 +02:00
greetd.tuigreet # Greeter
swayidle # Idle management daemon - Automatic lock screen
2023-08-24 13:43:54 +02:00
swayosd # used for on-screen notifications for things like adjusting backlight, volume, etc
nwg-bar
wlogout
ranger # TUI file manager
xdg-utils # Utilities for better X/Wayland integration
2023-08-27 12:40:09 +02:00
with input.nixpkgs-wayland.pkgs = [
wayprompt
]
2023-08-27 12:38:34 +02:00
];
2023-08-27 12:35:58 +02:00
# 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;
};
2023-08-24 02:56:55 +02:00
}