mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-26 11:21:34 +01:00
100 lines
2.6 KiB
Nix
100 lines
2.6 KiB
Nix
{pkgs, hyprland, ...}: {
|
|
##########################################################################################################
|
|
#
|
|
# NixOS's Configuration for Hyprland Window Manager
|
|
#
|
|
# i3wm: old and stable, only support X11
|
|
# sway: compatible with i3wm, support Wayland. do not support Nvidia GPU officially.
|
|
# hyprland: project starts from 2022, support Wayland, envolving fast, good looking, support Nvidia GPU.
|
|
#
|
|
##########################################################################################################
|
|
|
|
imports = [
|
|
# hyprland.nixosModules.default
|
|
];
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
wlr.enable = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-wlr
|
|
];
|
|
};
|
|
|
|
environment.pathsToLink = ["/libexec"]; # links /libexec from derivations to /run/current-system/sw
|
|
services = {
|
|
gvfs.enable = true; # Mount, trash, and other functionalities
|
|
tumbler.enable = true; # Thumbnail support for images
|
|
xserver = {
|
|
enable = true;
|
|
|
|
desktopManager = {
|
|
xterm.enable = false;
|
|
};
|
|
|
|
displayManager = {
|
|
defaultSession = "hyprland";
|
|
lightdm.enable = false;
|
|
gdm = {
|
|
enable = true;
|
|
wayland = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
hyprland = {
|
|
enable = true;
|
|
|
|
xwayland = {
|
|
enable = true;
|
|
hidpi = true;
|
|
};
|
|
|
|
nvidiaPatches = true;
|
|
};
|
|
|
|
# monitor backlight control
|
|
light.enable = true;
|
|
|
|
# thunar file manager(part of xfce) related options
|
|
thunar.plugins = with pkgs.xfce; [
|
|
thunar-archive-plugin
|
|
thunar-volman
|
|
];
|
|
};
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = with pkgs; [
|
|
waybar # the status bar
|
|
swaybg # the wallpaper
|
|
swayidle # the idle timeout
|
|
swaylock # locking the screen
|
|
wlogout # logout menu
|
|
wl-clipboard # copying and pasting
|
|
|
|
wf-recorder # creen recording
|
|
grim # taking screenshots
|
|
slurp # selecting a region to screenshot
|
|
# TODO replace by `flameshot gui --raw | wl-copy`
|
|
|
|
mako # the notification daemon, the same as dunst
|
|
|
|
yad # a fork of zenity, for creating dialogs
|
|
|
|
# audio
|
|
alsa-utils # provides amixer/alsamixer/...
|
|
mpd # for playing system sounds
|
|
mpc-cli # command-line mpd client
|
|
ncmpcpp # a mpd client with a UI
|
|
networkmanagerapplet # provide GUI app: nm-connection-editor
|
|
|
|
xfce.thunar # xfce4's file manager
|
|
];
|
|
|
|
# fix https://github.com/ryan4yin/nix-config/issues/10
|
|
security.pam.services.swaylock = {};
|
|
}
|