diff --git a/config/overlay.nix b/config/overlay.nix index 77aaf1d..4d6849d 100644 --- a/config/overlay.nix +++ b/config/overlay.nix @@ -35,5 +35,8 @@ _final: prev: { withVencord = true; withOpenASAR = true; }; + waybar = prev.waybar.overrideAttrs (old: { + mesonFlags = old.mesonFlags ++ [ "-Dexperimental=true" ]; + }); inherit (pkgsU) symbola mealie flaresolver; } diff --git a/environments/hyprland.nix b/environments/hyprland.nix index 58727fd..4a25d38 100644 --- a/environments/hyprland.nix +++ b/environments/hyprland.nix @@ -1,30 +1,51 @@ { - pkgs, inputs, + pkgs, ... }: let + # ${pkgs.swww}/bin/swww img ${./wallpaper.png} & startupScript = pkgs.pkgs.writeShellScriptBin "start" '' ${pkgs.waybar}/bin/waybar & ${pkgs.swww}/bin/swww init & sleep 1 - ${pkgs.swww}/bin/swww img ${./wallpaper.jpeg} & ''; in { - config = { - home-manager.users.jawz = { - programs = { - kitty.enable = true; - }; - wayland.windowManager.hyprland = { - enable = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - systemd.variables = [ "--all" ]; - settings = { - exec-once = "${startupScript}/bin/start"; - }; - }; + programs.hyprland = { + enable = true; + }; + services.greetd = { + enable = true; + settings.default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; + user = "greeter"; + }; + }; + xdg.portal = { + enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ]; + }; + users.users.jawz.packages = builtins.attrValues { + inherit (pkgs) + # Wayland utilities + wl-clipboard + wf-recorder + grim + slurp + + wofi # Application launcher + kitty # Terminal + mako # Notification daemon + libnotify # dependency of mako + swaylock-effects # Screen locker + nautilus # File manager + ; + }; + home-manager.users.jawz.wayland.windowManager.hyprland = { + enable = true; + settings = { + exec-once = "${startupScript}/bin/start"; }; }; } diff --git a/hosts/emacs/configuration.nix b/hosts/emacs/configuration.nix index eb1c8df..058a567 100644 --- a/hosts/emacs/configuration.nix +++ b/hosts/emacs/configuration.nix @@ -6,6 +6,7 @@ imports = [ ../../config/base.nix ../../config/stylix.nix + ../../environments/hyprland.nix ]; virtualisation.vmVariant.virtualisation = { memorySize = 4096; @@ -44,10 +45,5 @@ ]; }; networking.hostName = "emacs"; - services.xserver = { - enable = true; - displayManager.lightdm.enable = true; - windowManager.i3.enable = true; - }; environment.systemPackages = [ ]; }