dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit 31e5f3e1e391a44b40fa7a52ba571d34add425f6 parent edee01d3d9e0e6181fe5b899b77f00565f6e2a3a Author: maydayv7 <maydayv7@gmail.com> Date: Tue, 29 Sep 2026 16:03:34 +0530 fix: Hybrid GPU Hyprland
Diffstat:
| M | flake.lock | | | 81 | ++++++++++++++++++++++++++++--------------------------------------------------- |
| M | flake.nix | | | 6 | +++--- |
| M | modules/README.md | | | 18 | +++++++++--------- |
| M | modules/apps/vscode/default.nix | | | 5 | ++++- |
| M | modules/desktop/_wm/shell.nix | | | 20 | ++++++++++++++------ |
| M | modules/desktop/hyprland/_settings/apps.nix | | | 2 | +- |
| M | modules/hardware/gpu.nix | | | 5 | +++++ |
| M | modules/hosts/valkyrie/_asus/default.nix | | | 4 | ++++ |
| M | modules/hosts/valkyrie/default.nix | | | 2 | +- |
| M | modules/hosts/vortex.nix | | | 4 | ++-- |
| M | packages/hypr-overview/default.nix | | | 21 | +++++---------------- |
11 files changed, 77 insertions(+), 91 deletions(-)
diff --git a/flake.lock b/flake.lock @@ -78,16 +78,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1782141370, - "narHash": "sha256-hqijVSEETttmo8Okql9/LG0Ua34hdciKW1a5zzlj8mU=", + "lastModified": 1790423250, + "narHash": "sha256-sr4Kfp6yaXUeyKL6n0Y8/ElcR3momIRC20HFc+LF22s=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "7c9a54a7f87b4539ddbd8bda09a8a5f5f9361aa9", + "rev": "c1c5edd31802d181c8aa2c71588995d93425d650", "type": "github" }, "original": { "owner": "nix-community", - "ref": "v1.1.0", + "ref": "v1.2.0", "repo": "lanzaboote", "type": "github" } @@ -149,11 +149,11 @@ }, "crane": { "locked": { - "lastModified": 1781825982, - "narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=", + "lastModified": 1789760033, + "narHash": "sha256-jtT4yxZpR8seYnlCMMWSSPlFN92zO6ICuZ8pJrmi86k=", "owner": "ipetkov", "repo": "crane", - "rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7", + "rev": "73b980519cefc727a5f6cc8e5c0947a2f9be6edd", "type": "github" }, "original": { @@ -339,28 +339,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "boot", - "pre-commit", - "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": { @@ -509,11 +487,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1790255433, - "narHash": "sha256-a/tZWRpZsIIh6mY16bR57/8hbkCFDASasOxrQjMTekY=", + "lastModified": 1790416022, + "narHash": "sha256-DjGLaiqnHlHQ9d8EfKhklMlCRoEC97FkI9XRgznopL8=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "c2d669b6ed4001f1f7c2a45cf14724467387cbe0", + "rev": "03aa73a454d7468e0a3d44faee511fa6ae7c7ded", "type": "github" }, "original": { @@ -688,11 +666,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1790178388, - "narHash": "sha256-kK3t7gwoz4Nx8RF46cs1Xz/skKNcK7y3KYP+gGqX6W8=", + "lastModified": 1790390834, + "narHash": "sha256-StRyS/lFHtIw/UgJk+xo+HA66mtoWeDUbkJdvf2Byn4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "00455b0a3690d3f5dc61e9aef4277dc86235b73f", + "rev": "d54020a6ac3211e9f4201631bdf67678818c0cdf", "type": "github" }, "original": { @@ -730,16 +708,16 @@ ] }, "locked": { - "lastModified": 1789053136, - "narHash": "sha256-A7ehoEnAJw4k1Qwpr/WkOkLXWZAVU970uB+sm6nBxP0=", + "lastModified": 1790517835, + "narHash": "sha256-RfRxWi9PfJVSyoLrLj5mQ5vo24FjkgfBIi+UmE96zZo=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "c7b9197af77ff22bfb9a83c52a95643a1d90ca86", + "rev": "ec704377180fc4ffe79322a14a6ae87e9f922cae", "type": "github" }, "original": { "owner": "noctalia-dev", - "ref": "v5.1.0", + "ref": "v5.2.0", "repo": "noctalia", "type": "github" } @@ -751,16 +729,16 @@ ] }, "locked": { - "lastModified": 1789051736, - "narHash": "sha256-JgPgbmlUOKlgCX/KDfRF+z9ID80+Q7CcdaJFh5eaFjU=", + "lastModified": 1790518002, + "narHash": "sha256-agpHRmhsUL4ZNFseCNilGSiC/cc0S2tC1ZvC5rXmgtY=", "owner": "noctalia-dev", "repo": "noctalia-greeter", - "rev": "5a450b891067c1f0cd7157f4f1091aa0e3014780", + "rev": "44337ecba043749c29de6f3d563315b91987a908", "type": "github" }, "original": { "owner": "noctalia-dev", - "ref": "v1.5.0", + "ref": "v1.6.0", "repo": "noctalia-greeter", "type": "github" } @@ -793,23 +771,22 @@ "pre-commit": { "inputs": { "flake-compat": "flake-compat", - "gitignore": "gitignore", "nixpkgs": [ "boot", "nixpkgs" ] }, "locked": { - "lastModified": 1781733627, - "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "lastModified": 1789514889, + "narHash": "sha256-PFD1nxptCXJyJoiYO1gf/5Vv43yqGpHtMC6LUhl9/pQ=", "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "repo": "git-hooks.nix", + "rev": "59f4ca0d063a1a3ec722c88b51a33004862e5379", "type": "github" }, "original": { "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "repo": "git-hooks.nix", "type": "github" } }, @@ -878,11 +855,11 @@ ] }, "locked": { - "lastModified": 1782012058, - "narHash": "sha256-9mWUnReOUXfKjZuJAL/bAFH3LUyECTRtXgSNVjRw3UY=", + "lastModified": 1789889921, + "narHash": "sha256-aL/ogiN7qZCGeNovS1f9hX73jwYIKb4Pcq6AZm57WtY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "8534567325bd8a8d2928e6afd81e0a87d19efd3c", + "rev": "1fb104a12a8667045559b2575d6d448ae2fbd99b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix @@ -100,7 +100,7 @@ # Secure Boot boot = { - url = "github:nix-community/lanzaboote/v1.1.0"; + url = "github:nix-community/lanzaboote/v1.2.0"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -196,13 +196,13 @@ # Desktop Shell noctalia = { - url = "github:noctalia-dev/noctalia/v5.1.0"; + url = "github:noctalia-dev/noctalia/v5.2.0"; inputs.nixpkgs.follows = "nixpkgs"; }; # Login Greeter noctalia-greeter = { - url = "github:noctalia-dev/noctalia-greeter/v1.5.0"; + url = "github:noctalia-dev/noctalia-greeter/v1.6.0"; inputs.nixpkgs.follows = "nixpkgs"; }; diff --git a/modules/README.md b/modules/README.md @@ -92,15 +92,15 @@ An overview of every configuration module in this repository. ### [`system`](./system) -| Module | Type | Description | -| ------------ | ----- | ----------------------------------- | -| `base` ★ | Both | Base system configuration | -| `base-ext` | Both | Extended base configuration | -| `boot` | NixOS | Boot loader configuration | -| `filesystem` | Both | File system layout | -| `nix` ★ | Both | Nix daemon & settings | -| `user` ★ | Both | User accounts & Home Manager wiring | -| `security` | NixOS | Security & hardening | +| Module | Type | Description | +| -------------- | ----- | ----------------------------------- | +| `base` ★ | Both | Base system configuration | +| `base-ext` | Both | Extended base configuration | +| `boot` ★ | NixOS | Boot loader configuration | +| `filesystem` ★ | Both | File system layout | +| `nix` ★ | Both | Nix daemon & settings | +| `user` ★ | Both | User accounts & Home Manager wiring | +| `security` | NixOS | Security & hardening | ### [`virt`](./virt) diff --git a/modules/apps/vscode/default.nix b/modules/apps/vscode/default.nix @@ -33,7 +33,10 @@ in { programs.vscode = { enable = true; - package = pkgs.vscode; + package = pkgs.vscode.override { + commandLineArgs = lib.optionalString pkgs.stdenv.hostPlatform.isLinux "--password-store=gnome-libsecret"; + }; + profiles.default = import ./_profile.nix { inherit lib pkgs files font isGnome isWM; }; diff --git a/modules/desktop/_wm/shell.nix b/modules/desktop/_wm/shell.nix @@ -34,10 +34,11 @@ launcher.providers = { calculator.prefix = "="; - emoji.prefix = "emo"; - session.prefix = "session"; - wallpaper.prefix = "wall"; - windows.prefix = "win"; + emoji.prefix = "e"; + panels.prefix = "p"; + session.prefix = "s"; + windows.prefix = "w"; + wallpaper.prefix = "wl"; }; panel = { @@ -46,6 +47,11 @@ open_near_click_session = true; }; + window_switcher = { + mru = true; + show_all_outputs = false; + }; + # Clipboard clipboard_enabled = true; clipboard_history_max_entries = 150; @@ -58,6 +64,8 @@ confirm_region = true; show_cursor = true; remember_last_region = true; + annotate = true; + skip_annotate_on_copy_save = true; directory = "~/Pictures/Screenshots"; }; @@ -151,7 +159,7 @@ audio = { enable_overdrive = true; enable_sounds = true; - sound_volume = 0.3; + sound_volume = 1.0; }; # Calendar @@ -244,7 +252,7 @@ blurred_desktop = false; blur_intensity = 0.0; tint_intensity = 0.25; - fingerprint = false; + transition = ["honeycomb"]; }; # Lockscreen Widgets diff --git a/modules/desktop/hyprland/_settings/apps.nix b/modules/desktop/hyprland/_settings/apps.nix @@ -88,7 +88,6 @@ lib.mkIf (osConfig != null) ( permission = [ (permission "${osConfig.programs.hyprland.portalPackage}/libexec/.xdg-desktop-portal-hyprland-wrapped" "screencopy" "allow") (permission (lib.getExe pkgs.gpu-screen-recorder) "screencopy" "allow") - (permission (lib.getExe pkgs.wl-screenrec) "screencopy" "allow") ]; ## Layer Rules @@ -207,6 +206,7 @@ lib.mkIf (osConfig != null) ( "Save As" "Save File" "Select a File" + "Extract" ".*Properties" ]); }; diff --git a/modules/hardware/gpu.nix b/modules/hardware/gpu.nix @@ -43,6 +43,11 @@ _: { hybrid = with config.hardware.nvidia.prime; (amdgpuBusId != "" || intelBusId != ""); in { services.xserver.videoDrivers = mkForce ["nvidia"]; + services.udev.extraRules = mkIf hybrid '' + SUBSYSTEM=="drm", ENV{DEVTYPE}=="drm_minor", KERNEL=="card[0-9]*", DRIVERS=="nvidia", SYMLINK+="dri/nvidia-dgpu" + SUBSYSTEM=="drm", ENV{DEVTYPE}=="drm_minor", KERNEL=="card[0-9]*", DRIVERS=="amdgpu|i915|xe", SYMLINK+="dri/integrated-gpu" + ''; + environment = { systemPackages = [pkgs.btop-cuda]; variables."__GLX_VENDOR_LIBRARY_NAME" = mkIf mode "nvidia"; diff --git a/modules/hosts/valkyrie/_asus/default.nix b/modules/hosts/valkyrie/_asus/default.nix @@ -14,6 +14,10 @@ _: { ]; }; + environment.sessionVariables.AQ_DRM_DEVICES = + lib.mkIf (config.hardware.cpu.mode == "performance") + "/dev/dri/nvidia-dgpu:/dev/dri/integrated-gpu"; + services = { fwupd.enable = true; diff --git a/modules/hosts/valkyrie/default.nix b/modules/hosts/valkyrie/default.nix @@ -48,7 +48,7 @@ #"flatpak" #"wine" #"libvirt" - "niri" + "hyprland" ]; hmImports = diff --git a/modules/hosts/vortex.nix b/modules/hosts/vortex.nix @@ -18,7 +18,7 @@ "internet" "office" "wine" - "hyprland" + "niri" ] homeManager; in { @@ -41,7 +41,7 @@ in { "prompt" "office" "wine" - "hyprland" + "niri" ] nixos ++ util.map.array ["dell-inspiron-5509"] inputs.hardware.nixosModules; diff --git a/packages/hypr-overview/default.nix b/packages/hypr-overview/default.nix @@ -6,8 +6,8 @@ with pkgs; let metadata = import ./metadata.nix; in - stdenv.mkDerivation rec { - pname = "hyprscrolloverview"; + hyprlandPlugins.mkHyprlandPlugin { + pluginName = "hyprscrolloverview"; version = metadata.rev; src = fetchFromGitHub { @@ -16,21 +16,10 @@ in inherit (metadata) rev sha256; }; - inherit (hyprland) buildInputs; - nativeBuildInputs = - hyprland.nativeBuildInputs - ++ [ - hyprland - gcc14 - pkg-config - lua5_4 - ]; - + buildInputs = [expat lua5_4]; enableParallelBuilding = true; - buildPhase = '' runHook preBuild - export SCROLLOVERVIEW_BUILD_VERSION="${metadata.rev}" make all runHook postBuild ''; @@ -38,14 +27,14 @@ in installPhase = '' runHook preInstall mkdir -p "$out/lib" - cp libscrolloverview.so "$out/lib/lib${pname}.so" + cp scrolloverview.so "$out/lib/libhyprscrolloverview.so" runHook postInstall ''; meta = { homepage = metadata.repo; description = "Hyprland plugin for workspace overview"; - license = lib.licenses.gpl3Only; + license = lib.licenses.bsd3; maintainers = ["maydayv7"]; }; }