{ pkgs, inputs, ... }: { imports = [ ./features/shell.nix ./features/terminal.nix ]; home.username = "drew"; home.homeDirectory = "/home/drew"; nix.settings.experimental-features = ["flakes" "nix-command"]; home.packages = with pkgs; [ # Development neovim git nix-prefetch-github # Utilities htop btop zip xz unzip p7zip httpie neofetch file tree jq killall ranger # Networking dnsutils socat # 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 ]; xdg.desktopEntries = { element-desktop = { name = "Element"; # Custom options to reduce flickering under wayland. exec = "element-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu"; }; }; # required for default hyprland config. # programs.kitty.enable = true; # wayland.windowManager.hyprland = { # enable = true; # package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; # settings = { # "$mod" = "SUPER + ALT"; # }; # plugins = [ # inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hy3 # ]; # # Disable systemd because it conflicts with UWSM # systemd.enable = false; # }; # 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; }; }; wayland.windowManager.hyprland = { enable = true; plugins = with inputs.hyprland-plugins.packages.${pkgs.system}; [ hy3 split-monitor-workspace ]; }; qt = { enable = true; platformTheme.name = "adwaita"; style.name = "adwaita-dark"; }; home.stateVersion = "24.11"; }