diff --git a/flake.lock b/flake.lock index 7c81902..d6bae3a 100644 --- a/flake.lock +++ b/flake.lock @@ -9,11 +9,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1695441765, - "narHash": "sha256-s6sNoj2bKX9e7eE870o8Osr0lr3jNWUYkgdmIYQPCs8=", + "lastModified": 1696061413, + "narHash": "sha256-sqwTUo0CG9jmiCrdTNbZw0cbYRQrkgidHIqJ2M9Q8nM=", "owner": "rycee", "repo": "nur-expressions", - "rev": "e1c9234dd58dfd8bfa7662df27d6124cad190f2a", + "rev": "01661d8650f000a5fc8b0c2c60dce3d2bf5d4b99", "type": "gitlab" }, "original": { @@ -40,11 +40,11 @@ }, "hardware": { "locked": { - "lastModified": 1695109627, - "narHash": "sha256-4rpyoVzmunIG6xWA/EonnSSqC69bDBzciFi6SjBze/0=", + "lastModified": 1695887975, + "narHash": "sha256-u3+5FR12dI305jCMb0fJNQx2qwoQ54lv1tPoEWp0hmg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cb4dc98f776ddb6af165e6f06b2902efe31ca67a", + "rev": "adcfd6aa860d1d129055039696bc457af7d50d0e", "type": "github" }, "original": { @@ -139,11 +139,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1695145219, - "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=", + "lastModified": 1695830400, + "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96", + "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", "type": "github" }, "original": { @@ -155,11 +155,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695346609, - "narHash": "sha256-jur+AjgRvablLA2oBvC4FD89zCXttVQDwi6OXk5x/14=", + "lastModified": 1695825837, + "narHash": "sha256-4Ne11kNRnQsmSJCRSSNkFRSnHC4Y5gPDBIQGjjPfJiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9b4b56e5a20ac322c0c01ccab7ec697ab076ea0", + "rev": "5cfafa12d57374f48bcc36fda3274ada276cf69e", "type": "github" }, "original": { diff --git a/home/features/desktop/hyprland/binds.nix b/home/features/desktop/hyprland/binds.nix index 6bfcd7d..eea3046 100644 --- a/home/features/desktop/hyprland/binds.nix +++ b/home/features/desktop/hyprland/binds.nix @@ -8,6 +8,7 @@ bind = $mainMod, C, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, dolphin + bind = $mainMod, F, exec, firefox bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, wofi --show drun bind = $mainMod, P, pseudo, # dwindle diff --git a/home/features/desktop/hyprland/default.nix b/home/features/desktop/hyprland/default.nix index c4a913b..7e0e256 100644 --- a/home/features/desktop/hyprland/default.nix +++ b/home/features/desktop/hyprland/default.nix @@ -2,11 +2,14 @@ imports = [ ./binds.nix + ../wayland-wm ]; wayland.windowManager.hyprland = { enable = true; systemdIntegration = true; + xwayland.enable = true; + recommendedEnvironment = true; extraConfig = '' # This is an example Hyprland config file. # @@ -18,7 +21,11 @@ # # See https://wiki.hyprland.org/Configuring/Monitors/ - monitor=,preferred,auto,auto + monitor=eDP-1,2400x1600,auto,1.5 + + xwayland { + force_zero_scaling = true + } # See https://wiki.hyprland.org/Configuring/Keywords/ for more @@ -43,7 +50,8 @@ follow_mouse = 1 touchpad { - natural_scroll = false + natural_scroll = true + clickfinger_behavior = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. @@ -52,8 +60,8 @@ general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 - gaps_out = 20 + gaps_in = 2 + gaps_out = 6 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) @@ -67,7 +75,7 @@ decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 + rounding = 6 blur { enabled = true @@ -109,7 +117,8 @@ gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = false + workspace_swipe = true + } # Example per-device config @@ -126,4 +135,9 @@ ''; }; + + # VSCode scaling fix + programs.vscode.userSettings = { + "window.zoomLevel" = 2; + }; } diff --git a/home/features/desktop/wayland-wm/default.nix b/home/features/desktop/wayland-wm/default.nix new file mode 100644 index 0000000..f8e6608 --- /dev/null +++ b/home/features/desktop/wayland-wm/default.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: { + imports = [ + ./mako.nix + ]; + + xdg.mimeApps.enable = true; + home.packages = with pkgs; [ + grim + gtk3 + imv + mimeo +# primary-xwayland + pulseaudio + slurp + waypipe + wf-recorder + wl-clipboard + wl-mirror +# wl-mirror-pick +# xdg-utils-spawn-terminal + ydotool + ]; + + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = 1; + QT_QPA_PLATFORM = "wayland"; + LIBSEAT_BACKEND = "logind"; + }; +} diff --git a/home/features/desktop/wayland-wm/mako.nix b/home/features/desktop/wayland-wm/mako.nix new file mode 100644 index 0000000..dbdb8e0 --- /dev/null +++ b/home/features/desktop/wayland-wm/mako.nix @@ -0,0 +1,5 @@ +{ + services.mako = { + enable = true; + }; +} \ No newline at end of file diff --git a/hosts/common/optional/greetd.nix b/hosts/common/optional/greetd.nix new file mode 100644 index 0000000..b5232ef --- /dev/null +++ b/hosts/common/optional/greetd.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: { + services.greetd = { + enable = true; + settings = { + default_session.command = '' + ${pkgs.greetd.tuigreet}/bin/tuigreet \ + --time \ + --asterisks \ + --user-menu \ + --cmd Hyprland + ''; + }; + }; + + environment.etc."greetd/environments".text = '' + Hyprland + ''; +} \ No newline at end of file diff --git a/hosts/pixnix/default.nix b/hosts/pixnix/default.nix index baf2ab6..5537bcf 100644 --- a/hosts/pixnix/default.nix +++ b/hosts/pixnix/default.nix @@ -9,6 +9,7 @@ ../common/users/john ../common/optional/docker.nix + #../common/optional/greetd.nix ../common/optional/hyprland.nix ../common/optional/libvirtd.nix ../common/optional/pipewire.nix