nix/desktops/hyprland.nix

115 lines
3.2 KiB
Nix
Raw Normal View History

2023-08-11 11:22:16 +09:00
{pkgs, ...}: {
2023-08-15 10:15:49 +09:00
services.xserver.videoDrivers = ["nvidia"];
2023-08-14 22:02:45 +09:00
2023-08-15 19:41:49 +09:00
# Greeter, for when you start the computer
2023-08-17 15:40:02 +09:00
# 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;
# }
# '';
# };
2023-08-17 15:40:32 +09:00
# tuigreet
2023-08-17 15:40:02 +09:00
services.greetd = {
2023-08-15 19:41:49 +09:00
enable = true;
2023-08-17 15:40:02 +09:00
settings = {
default_session = {
2023-08-18 21:12:21 +09:00
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland -g 'Authorized Personnel Only'";
2023-08-17 15:40:02 +09:00
user = "greeter";
2023-08-15 22:09:48 +09:00
};
2023-08-15 20:49:57 +09:00
};
2023-08-15 19:41:49 +09:00
};
2023-08-15 19:21:32 +09:00
# Brightness and volume control
# https://haikarainen.github.io/light/
2023-08-15 19:21:32 +09:00
programs.light.enable = true;
2023-08-17 16:19:29 +09:00
# PolKit for the fingerprint reader
security.polkit.enable = true;
2023-08-17 19:26:20 +09:00
# https://github.com/NixOS/nixpkgs/issues/143365
security.pam.services.swaylock = {};
2023-08-15 19:21:32 +09:00
# Enabling hyprlnd on NixOS
programs.hyprland = {
enable = true;
2023-08-18 22:28:33 +09:00
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";
};
2023-08-14 20:01:44 +09:00
# XDG portal
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# system packages
2023-08-14 20:01:44 +09:00
environment.systemPackages = with pkgs; [
2023-08-14 16:49:03 +09:00
# waybar
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
})
)
2023-08-16 14:29:55 +09: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 09:21:05 +09:00
scrot # screenshots
2023-08-16 14:29:55 +09:00
slurp # Screenshots
wl-clipboard # Clipboard
font-awesome # Fonts
gruvbox-gtk-theme # Gruvbox Theme
papirus-icon-theme # Papirus Icons
2023-08-17 13:00:33 +09:00
libinput-gestures # Gesture Control\
2023-08-17 13:18:53 +09:00
playerctl # Control sublime-music from waybar?
pavucontrol # Pulse Audio Volume CONTROL
2023-08-17 14:23:12 +09:00
glib # Set GTK theme settings
2023-08-17 19:26:20 +09:00
greetd.tuigreet # Greeter
2023-08-19 17:48:54 +09:00
phoronix-test-suite # Benchmarking software
2023-08-17 19:26:20 +09:00
swayidle # Idle management daemon - Automatic lock screen
];
# 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-11 11:22:16 +09:00
}