{ pkgs, inputs, ... }: { imports = [ ./features/audio.nix ./features/hyprland.nix ./features/development-linux.nix ]; home.stateVersion = "24.11"; home.username = "drew"; home.homeDirectory = "/home/drew"; nix.settings.experimental-features = ["flakes" "nix-command"]; home.packages = with pkgs; [ # Development git nix-prefetch-github # Applications discord webcord # Discord app replacement element-desktop signal-desktop obsidian firefox waypaper # Wallpaper switcher feh # Gaming mangohud (lutris.override { extraPkgs = pkgs: [ winetricks # Needed for bnet setup. vulkan-tools # Needed for bnet setup ]; }) protonup-ng vulkan-tools # useful for debugging Vulkan issues # Desktop Environment networkmanagerapplet # network control hyprlock # lock screen wofi # launcher hyprpaper # wallpaper swayidle # lock on idle swayosd # volume pop-up eww # widgets swaynotificationcenter # notifications hyprpolkitagent # Privilege managent gnome-keyring # Secret management glib # for Gnome/GTK settings xdg-desktop-portal-hyprland xdg-desktop-portal-gtk # GTK backend for XDG components like pickers grim # Screenshot provider nwg-look # GTK settings editor playerctl # for universal play/pause etc wirelesstools ]; xdg.desktopEntries = { element-desktop = { name = "Element"; # Custom options to reduce flickering under wayland. exec = "element-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu"; }; }; # Hint for electron apps to use wayland home.sessionVariables.NIXOS_OZONE_WL = "1"; # GTK settings gtk = { enable = true; theme = { name = "Adwaita-dark"; package = pkgs.gnome-themes-extra; }; gtk3.extraConfig = { gtk-application-prefer-dark-theme = true; }; gtk4.extraConfig = { gtk-application-prefer-dark-theme = true; }; }; qt = { enable = true; platformTheme.name = "adwaita"; style.name = "adwaita-dark"; }; programs.git = { userName = "Drew Haven"; userEmail = "drew.haven@gmail.com"; }; }