From 89491191118d2b8e0d25e4e5b38797bbfed8a0d2 Mon Sep 17 00:00:00 2001 From: Joshua Elmasri Date: Thu, 19 Feb 2026 13:40:45 -0600 Subject: [PATCH] yes --- flake.lock | 555 ++++++++++++++++++++++++++++- flake.nix | 5 + hosts/desktop/configuration.nix | 1 - hosts/mac-laptop/configuration.nix | 5 +- modules/hypr/default.nix | 373 +++++++++---------- modules/stylix/default.nix | 3 +- 6 files changed, 717 insertions(+), 225 deletions(-) diff --git a/flake.lock b/flake.lock index 4a1e2c0..44c4738 100644 --- a/flake.lock +++ b/flake.lock @@ -17,6 +17,39 @@ "type": "github" } }, + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770895474, + "narHash": "sha256-JBcrq1Y0uw87VZdYsByVbv+GBuT6ECaCNb9txLX9UuU=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "a494d50d32b5567956b558437ceaa58a380712f7", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "asio-src": { "flake": false, "locked": { @@ -156,6 +189,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1761640442, "narHash": "sha256-AtrEP6Jmdvrqiv4x2xa5mrtaIp3OEe8uBYCDZDS+hu8=", @@ -214,7 +263,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1731533236, @@ -263,6 +312,28 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -302,6 +373,355 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770511807, + "narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "7c75487edd43a71b61adb01cae8326d277aab683", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwire": "hyprwire", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1771336666, + "narHash": "sha256-b3UT9mOjQTNwfT/MHO3ZpBHlAvTC+BaqUokqS0VEgRo=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "0de216e783d02748183ac5a5712201517685f492", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770899531, + "narHash": "sha256-UBrWjh0DR8db60aLNkTnZTJ9F4kWK0Y7rUDNJC88W7A=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "e03c34ccd51280a44ea6d1f5c040cd81ecca25ed", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767983607, + "narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770139857, + "narHash": "sha256-bCqxcXjavgz5KBJ/1CBLqnagMMf9JvU1m9HmYVASKoc=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "9038eec033843c289b06b83557a381a2648d8fa5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770501770, + "narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwire": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770203293, + "narHash": "sha256-PR/KER+yiHabFC/h1Wjb+9fR2Uy0lWM3Qld7jPVaWkk=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "37bc90eed02b0c8b5a77a0b00867baf3005cfb98", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwire", + "type": "github" + } + }, "incbin-src": { "flake": false, "locked": { @@ -418,7 +838,7 @@ "minhook-src": "minhook-src", "mini-src": "mini-src", "minizip-src": "minizip-src", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "re2-src": "re2-src", "websocketpp-src": "websocketpp-src", "zlib-src": "zlib-src" @@ -530,8 +950,8 @@ }, "nixos-apple-silicon": { "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_2" + "flake-compat": "flake-compat_2", + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1770630652, @@ -548,6 +968,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1770841267, + "narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1770115704, "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", @@ -563,7 +999,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1768305791, "narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=", @@ -579,7 +1015,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1770562336, "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", @@ -594,7 +1030,7 @@ "type": "indirect" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1770380644, "narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=", @@ -613,8 +1049,8 @@ "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_4", - "systems": "systems_2" + "nixpkgs": "nixpkgs_5", + "systems": "systems_3" }, "locked": { "lastModified": 1770630823, @@ -675,6 +1111,29 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770726378, + "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "re2-src": { "flake": false, "locked": { @@ -696,11 +1155,13 @@ "inputs": { "astal": "astal", "home-manager": "home-manager", + "hyprland": "hyprland", + "hyprland-plugins": "hyprland-plugins", "master": "master", "millennium": "millennium", "naviterm": "naviterm", "nixos-apple-silicon": "nixos-apple-silicon", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim", "noctalia": "noctalia", "stylix": "stylix", @@ -720,7 +1181,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_3", + "systems": "systems_4", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -728,11 +1189,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1770914701, - "narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=", + "lastModified": 1771330061, + "narHash": "sha256-qBWXy3mSOEYjvZB/RZHT0joVPhNWU8GQZQljLzyMTq0=", "owner": "nix-community", "repo": "stylix", - "rev": "db03fed72e5ca02be34e1d24789345a943329738", + "rev": "fa45bf2d70517a8643a0edb44b02b8e6c0453d06", "type": "github" }, "original": { @@ -743,16 +1204,16 @@ }, "systems": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -786,6 +1247,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -884,6 +1360,47 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": [ diff --git a/flake.nix b/flake.nix index d6291af..beea518 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,11 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; + hyprland.url = "github:hyprwm/Hyprland"; + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + inputs.hyprland.follows = "hyprland"; + }; naviterm = { url = "gitlab:detoxify92/naviterm"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 11a32e3..9800241 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -140,7 +140,6 @@ boot = { services.desktopManager.gnome.enable = false; services.displayManager.gdm.enable = false; programs.hyprland = { - withUWSM = true; enable = true; }; /*services.displayManager = { diff --git a/hosts/mac-laptop/configuration.nix b/hosts/mac-laptop/configuration.nix index a6d148f..7e02b60 100644 --- a/hosts/mac-laptop/configuration.nix +++ b/hosts/mac-laptop/configuration.nix @@ -98,8 +98,11 @@ services.desktopManager.plasma6.enable = false; services.displayManager.sddm.enable = false; services.libinput.enable = true; - programs.hyprland.enable = true; environment.sessionVariables.NIXOS_OZONE_WL = "1"; + programs.hyprland = { + enable = true; + }; + services.greetd = { enable = true; diff --git a/modules/hypr/default.nix b/modules/hypr/default.nix index e9dd56b..3d7cb4f 100644 --- a/modules/hypr/default.nix +++ b/modules/hypr/default.nix @@ -1,217 +1,184 @@ -{pkgs, ...}: +{ pkgs, inputs, lib, ... }: { services.hyprpolkitagent.enable = true; - programs.hyprshot.enable = true; - programs.hyprlock.enable = true; - wayland.windowManager.hyprland.enable = true; - wayland.windowManager.hyprland.package = null; - wayland.windowManager.hyprland.portalPackage = null; - wayland.windowManager.hyprland.extraConfig = '' - autogenerated = 0 # remove this line to remove the warning + programs.hyprshot.enable = true; + programs.hyprlock.enable = true; + wayland.windowManager.hyprland = { + enable = true; + package = null; + portalPackage = null; + settings = { + # Variables + "$terminal" = "kitty -e nu"; + "$fileManager" = "kitty -e yazi"; + "$menu" = "noctalia-shell ipc call launcher toggle"; + "$bar" = "noctalia-shell"; + "$mainMod" = "SUPER"; + # Monitors + monitor = [ + "HDMI-A-1, 3840x2160@120, 0x0, auto, bitdepth, 10, sdrsaturation, 1, sdrbrightness, 1" + "eDP-1, 2560x1600@60, 0x0, 1.6" + "DP-1, highres@highrr, 0x0, 1" + ]; -# See https://wiki.hyprland.org/Configuring/Monitors/ -exec-once = noctalia-shell -exec-once = hyprlock -monitor = HDMI-A-1, 3840x2160@120, 0x0, auto, bitdepth, 10, sdrsaturation, 1, sdrbrightness, 1 -#monitor = HDMI-A-1, disable -monitor = eDP-1, 2560x1600@60, 0x0, 1.6, -#monitor = sunshine, highres@highrr, 0x0, 1 -monitor = DP-1, highres@highrr, 0x0, 1 -#monitor = DP-1, highres@highrr, 0x0, 1, bitdepth, 10, cm, hdr, sdrsaturation, 1, sdrbrightness, 1 -exec-once = hyprctl dispatch workspace 1 -#exec-once = linux-wallpaperengine --screen-root HDMI-A-1 --silent --fps 60 3000562427 -exec-once = pw-metadata -n settings 0 clock.force-quantum 2048 -# exec-once = ashell -exec-once = systemctl --user start hyprpolkitagent -exec-once = sunshine -# See https://wiki.hyprland.org/Configuring/Keywords/ for more + # Startup applications + exec-once = [ + "noctalia-shell" + "hyprlock" + "hyprctl dispatch workspace 1" + "pw-metadata -n settings 0 clock.force-quantum 2048" + "systemctl --user start hyprpolkitagent" + "sunshine" + "" + ]; -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox + ecosystem = { + enforce_permissions = 1; + permission = [ + "/nix/store/[a-z0-9]{32}-hyprlock-[0-9.]*/bin/hyprlock, screencopy, allow" + "/nix/store/[a-z0-9]{32}-xdg-desktop-portal-hyprland-[0-9.]*/libexec/.xdg-desktop-portal-hyprland-wrapped, screencopy, allow" + ]; + }; -debug:full_cm_proto=true + # Debug settings + debug.full_cm_proto = true; -# Set programs that you use -$terminal = kitty -e nu -$fileManager = kitty -e yazi -$menu = noctalia-shell ipc call launcher toggle -$bar = noctalia-shell + # Environment variables + env = [ + "XCURSOR_SIZE,24" + "QT_QPA_PLATFORMTHEME,qt6ct" + ]; -# Some default env vars. -env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that + input = { + kb_layout = "us"; + kb_variant = ""; + kb_model = ""; + kb_options = ""; + kb_rules = ""; + accel_profile = "flat"; + follow_mouse = 1; -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = - accel_profile = flat + touchpad = { + natural_scroll = true; + tap-to-click = false; + drag_3fg = true; + clickfinger_behavior = true; + tap-and-drag = false; + }; - follow_mouse = 1 + sensitivity = 0; + }; - touchpad { - natural_scroll = yes - tap-to-click = false - drag_3fg = yes - clickfinger_behavior = yes - tap-and-drag = no - } + render.cm_fs_passthrough = false; - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} - -render { - cm_fs_passthrough = false -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 5 - border_size = 2 - layout = dwindle - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - - -# windowrulev2 = immediate, class:^(cs2)$ - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 5 - - blur { - enabled = yes - size = 5 - passes = 3 - new_optimizations = on - ignore_opacity = on - xray = false - } - - shadow { - enabled = true - offset = 3, 3 - color = rgba(323232cc) - } -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers - enable_anr_dialog = 0 -} - - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more - - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - -# Window Rules - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Return, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod, M, exec, noctalia-shell ipc call lockScreen lock -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, Space, exec, $menu -bind = $mainMod, B, exec, zen -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, F, fullscreen, -bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ -bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%- - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Screen Recording -bind = , code:76, exec, killall -SIGUSR1 gpu-screen-recorder -bind = , code:75, exec, killall -SIGINT gpu-screen-recorder - ''; + general = { + gaps_in = 5; + gaps_out = 5; + border_size = 2; + layout = "dwindle"; + allow_tearing = false; + }; + + decoration = { + rounding = 5; + + blur = { + enabled = true; + size = 5; + passes = 3; + new_optimizations = true; + ignore_opacity = true; + xray = false; + }; + + shadow = { + enabled = true; + offset = "3, 3"; + }; + }; + + animations = { + enabled = true; + + bezier = [ + "myBezier, 0.05, 0.9, 0.1, 1.05" + ]; + + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + ]; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + }; + + gestures = [ + "3, horizontal, workspace" + ]; + + misc = { + force_default_wallpaper = 0; + enable_anr_dialog = 0; + }; + + bind = [ + "$mainMod, Return, exec, $terminal" + "$mainMod, Q, killactive" + "$mainMod, M, exec, noctalia-shell ipc call lockScreen lock" + "$mainMod, E, exec, $fileManager" + "$mainMod, V, togglefloating" + "$mainMod, Space, exec, $menu" + "$mainMod, B, exec, zen" + "$mainMod, P, pseudo" + "$mainMod, J, togglesplit" + "$mainMod, F, fullscreen" + ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" + ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-" + "$mainMod, left, movefocus, l" + "$mainMod, right, movefocus, r" + "$mainMod, up, movefocus, u" + "$mainMod, down, movefocus, d" + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" + "$mainMod SHIFT, 1, movetoworkspace, 1" + "$mainMod SHIFT, 2, movetoworkspace, 2" + "$mainMod SHIFT, 3, movetoworkspace, 3" + "$mainMod SHIFT, 4, movetoworkspace, 4" + "$mainMod SHIFT, 5, movetoworkspace, 5" + "$mainMod SHIFT, 6, movetoworkspace, 6" + "$mainMod SHIFT, 7, movetoworkspace, 7" + "$mainMod SHIFT, 8, movetoworkspace, 8" + "$mainMod SHIFT, 9, movetoworkspace, 9" + "$mainMod SHIFT, 0, movetoworkspace, 10" + "$mainMod, S, togglespecialworkspace, magic" + "$mainMod SHIFT, S, movetoworkspace, special:magic" + "$mainMod, mouse_down, workspace, e+1" + "$mainMod, mouse_up, workspace, e-1" + ", code:76, exec, killall -SIGUSR1 gpu-screen-recorder" + ", code:75, exec, killall -SIGINT gpu-screen-recorder" + ]; + + bindm = [ + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + }; + }; } diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix index 2402257..a8ebb18 100644 --- a/modules/stylix/default.nix +++ b/modules/stylix/default.nix @@ -1,9 +1,10 @@ { pkgs, ... }: { stylix.enable = true; - stylix.polarity = "dark"; + stylix.autoEnable = true; #stylix.targets.plymouth.enable = false; stylix.targets.kitty.enable = true; + stylix.polarity = "dark"; stylix.targets.zen-browser.profileNames = [ "default" ]; stylix.targets.zen-browser.enable = true; # blue aura house