diff --git a/flake.nix b/flake.nix index 87a910e..b904e81 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,20 @@ inherit system; config.allowUnfree = true; }) - // {i3utils = i3utils.packages.${system}.default;}; + // { + i3utils = i3utils.packages.${system}.default; + hyprland = hyprland.packages."x86_64-linux".default.overrideAttrs (finalAttrs: previousAttrs: { + buildInputs = previousAttrs.buildInputs ++ [pkgs.makeWrapper]; + postInstall = '' + ls -lar $out + wrapProgram $out/bin/Hyprland \ + --set LIBVA_DRIVER_NAME nvidia \ + --set XDG_SESSION_TYPE wayland \ + --set __GLX_VENDOR_LIBRARY_NAME nvidia \ + --set WLR_NO_HARDWARE_CURSORS 1 + ''; + }); + }; lib = nixpkgs.lib; @@ -48,6 +61,13 @@ agenix.nixosModules.default + hyprland.nixosModules.default + { + programs.hyprland = { + enable = true; + }; + } + home-manager.nixosModules.home-manager { home-manager = { diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 53a2e37..205d2ec 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -62,7 +62,7 @@ in { environment.systemPackages = with pkgs; [ curl fd - firefox-wayland + firefox fzf gcc git diff --git a/users/daniel/configs/desktop/default.nix b/users/daniel/configs/desktop/default.nix index b6d6df2..1469641 100644 --- a/users/daniel/configs/desktop/default.nix +++ b/users/daniel/configs/desktop/default.nix @@ -4,7 +4,7 @@ # ./i3status-rust # ./polybar ./hyprland - ./rofi + ./waybar ]; diff --git a/users/daniel/configs/desktop/hyprland/default.nix b/users/daniel/configs/desktop/hyprland/default.nix index 252558d..304a30e 100644 --- a/users/daniel/configs/desktop/hyprland/default.nix +++ b/users/daniel/configs/desktop/hyprland/default.nix @@ -6,18 +6,7 @@ }: { wayland.windowManager.hyprland = { enable = true; - package = pkgs.hyprland.overrideAttrs (finalAttrs: previousAttrs: { - buildInputs = previousAttrs.buildInputs ++ [pkgs.makeWrapper]; - postInstall = '' - ls -lar $out - wrapProgram $out/bin/Hyprland \ - --set LIBVA_DRIVER_NAME nvidia \ - --set XDG_SESSION_TYPE wayland \ - --set GBM_BACKEND nvidia-drm \ - --set __GLX_VENDOR_LIBRARY_NAME nvidia \ - --set WLR_NO_HARDWARE_CURSORS 1 - ''; - }); + package = pkgs.hyprland; xwayland = { enable = true; hidpi = true; diff --git a/users/daniel/configs/desktop/hyprland/hyprland.conf b/users/daniel/configs/desktop/hyprland/hyprland.conf index 4a34329..a2b6c39 100644 --- a/users/daniel/configs/desktop/hyprland/hyprland.conf +++ b/users/daniel/configs/desktop/hyprland/hyprland.conf @@ -4,7 +4,7 @@ monitor=,preferred,auto,auto # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox +exec-once = waybar # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf diff --git a/users/daniel/configs/desktop/waybar/config.json b/users/daniel/configs/desktop/waybar/config.json new file mode 100644 index 0000000..fec4fd8 --- /dev/null +++ b/users/daniel/configs/desktop/waybar/config.json @@ -0,0 +1,16 @@ +{ + "layer": "top", + "modules-left": ["wlr/workspaces", "hyprland/window"], + "modules-center": ["clock"], + "modules-right": ["clock"], + "hyprland/window": { + }, + "wlr/workspaces": { + "format": "{icon}", + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1" + }, + "clock": { + "format-alt": "{:%a, %d. %b %H:%M}" + } +} diff --git a/users/daniel/configs/desktop/waybar/default.nix b/users/daniel/configs/desktop/waybar/default.nix new file mode 100644 index 0000000..f24d375 --- /dev/null +++ b/users/daniel/configs/desktop/waybar/default.nix @@ -0,0 +1,14 @@ +{ + config, + pkgs, + lib, + hostname, + ... +}: { + programs.waybar = { + enable = true; + settings = { + main = lib.importJSON ./config.json; + }; + }; +}