{inputs, pkgs, system, theme, ...}: { imports = [ inputs.stylix.nixosModules.stylix ../../../../stylix/themes/${theme} ]; stylix = { image = /etc/nixos/git/wallpapers/${theme}/wallpaper1.png; opacity = { desktop = 0.7; popups = 0.7; applications = 1.0; terminal = 1.0; }; targets = { plymouth.enable = false; }; autoEnable = true; fonts = { serif = { package = pkgs.dejavu_fonts; name = "DejaVu Serif"; }; sansSerif = { package = pkgs.dejavu_fonts; name = "DejaVu Sans"; }; monospace = { package = pkgs.dejavu_fonts; name = "DejaVu Sans Mono"; }; emoji = { package = pkgs.noto-fonts-emoji; name = "Noto Color Emoji"; }; }; }; # tuigreet services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; user = "greeter"; }; }; }; # Brightness and volume control # https://haikarainen.github.io/light/ programs.light.enable = true; # PolKit for the fingerprint reader security.polkit.enable = true; # https://github.com/NixOS/nixpkgs/issues/143365 security.pam.services.swaylock = {}; # Enabling hyprlnd on NixOS programs.hyprland = { enable = true; # enableNvidiaPatches = true; xwayland.enable = true; }; environment.sessionVariables = { # If your cursor becomes invisible, set this to 1 WLR_NO_HARDWARE_CURSORS = "0"; # Hint electron apps to use wayland NIXOS_OZONE_WL = "1"; }; # https://www.freedesktop.org/software/systemd/man/logind.conf.html services.logind.extraConfig = '' IdleActionSec=900 IdleAction=suspend-then-hibernate HandleLidSwitch=suspend-then-hibernate HandleLidSwitchDocked=ignore HandleLidSwitchExternalPower=suspend ''; # https://www.systutorials.com/docs/linux/man/5-systemd-sleep.conf/ # HibernateDelaySec is the amount of time the # system sleeps before entering hibernate when # using suspend-then-hibernate systemd.sleep.extraConfig = '' AllowSuspend=yes AllowHibernation=yes AllowSuspendThenHibernate=yes HibernateDelaySec=600 ''; # XDG portal xdg.portal.enable = true; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # system packages environment.systemPackages = [ pkgs.waybar # taskbar pkgs.libnotify # Notification libraries pkgs.mako # Notification daemon pkgs.swww # Wallpaper daemon pkgs.kitty # Terminal emulator pkgs.grim # Screenshots pkgs.slurp # Screenshots pkgs.wl-clipboard # Clipboard pkgs.font-awesome # Fonts pkgs.libinput-gestures # Gesture Control pkgs.playerctl # Control sublime-music from waybar? pkgs.pavucontrol # Pulse Audio Volume CONTROL pkgs.glib # Set GTK theme settings pkgs.greetd.tuigreet # Greeter pkgs.swayidle # Idle management daemon - Automatic lock screen pkgs.swayosd # used for on-screen notifications for things like adjusting backlight, volume, etc pkgs.wlogout # Logout/shutdown/hibernate/lock screen modal UI pkgs.ranger # TUI file manager pkgs.xdg-utils # Utilities for better X/Wayland integration pkgs.bitwarden-cli # Bitwarden for rofi pkgs.bitwarden-menu # Bitwarden for rofi pkgs.pulsemixer # TUI Pipewire / volume management pkgs.calcurse # TUI Calendar app pkgs.udiskie # Automatic device mounting pkgs.cava # Audio visualiser pkgs.gomuks # CLI Matrix client pkgs.pyradio # Internet radio TUI # Themes pkgs.gruvbox-gtk-theme # Gruvbox Theme pkgs.papirus-icon-theme # Papirus Icons pkgs.rofi-wayland # App Launcher pkgs.rofi-rbw-wayland # Front-end for Bitwarden with Rofi # wayland-packages inputs.nixpkgs-wayland.packages.${system}.wayprompt # from nixpkgs-wayland exclusively - pinentry UI ]; # 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; }; }