From c0d2e8cd47f1a2f9d255f05fc07f5270fb2a4eb0 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Sat, 16 May 2026 22:57:30 +0200 Subject: [PATCH] Update dependencies and add Helium appimage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Refresh many lock entries in flake.lock with new revisions and hashes. - Enable the Helium appimage in default, desktop, and laptop host configs; add comment sections for web browsers and disable Fluxer by default. - Rename the affinity option description from “Steam” to “Affinity”. - Refactor appimage handling: introduce a generic mkAppImagePackage helper, import individual packages, and expose per‑package enable options. - Update fluxer.nix to use a configurable icon size and adjust install paths. - Bump Helium to version 0.12.3.1, update its hash, and make its icon size configurable. - Adjust Hyprland settings: comment out the split‑layout bind, set configType = "hyprlang", enable Xwayland early, move vfr to the debug section, and comment out dwindle pseudotile. --- flake.lock | 68 ++++++++++----------- hosts/Garand-Desktop/system-modules.nix | 6 ++ hosts/Garand-Laptop/system-modules.nix | 6 ++ hosts/default/system-modules.nix | 6 ++ modules/core/affinity.nix | 2 +- modules/core/packages/appimages/default.nix | 22 +++++-- modules/core/packages/appimages/fluxer.nix | 6 +- modules/core/packages/appimages/helium.nix | 10 +-- modules/home/hyprland/binds.nix | 2 +- modules/home/hyprland/hyprland.nix | 11 ++-- 10 files changed, 89 insertions(+), 50 deletions(-) diff --git a/flake.lock b/flake.lock index 462e00e..fcc33f1 100644 --- a/flake.lock +++ b/flake.lock @@ -18,11 +18,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1778226184, - "narHash": "sha256-PV2SjSCv9BLLjNQMDTed51Z6PDfgveGK9bvUNhyJ2a4=", + "lastModified": 1778820080, + "narHash": "sha256-CWF87Kt4EV8tZG0WqHrb3jYGGW21+I0cwucIwPLnWgY=", "owner": "mrshmllow", "repo": "affinity-nix", - "rev": "f76f97513153a753718aa1423e84b4cb8ea4c185", + "rev": "656b7d557c219cbd347108c70c64251f3165fb64", "type": "github" }, "original": { @@ -158,11 +158,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1777969788, - "narHash": "sha256-8sr3w0KyQ0K7TEd8pYwYrxiDk0GZ4A7iIcl1lsxlzVM=", + "lastModified": 1778662605, + "narHash": "sha256-nGPpWsLZ1dX1Dirf98GsCsFDE/diXkUP0PaAqZlTpkA=", "owner": "nix-community", "repo": "fenix", - "rev": "3abc2d5559f4dc30c710ab152abcb4cb60b561ba", + "rev": "5c80141c6215ed0a1cdc06ddb68e9bb55e9edfca", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1778558563, - "narHash": "sha256-pT6KVIDxQYymtHC9ix6U/NTBUYJhYRX81Ou/9nAUSgc=", + "lastModified": 1778904158, + "narHash": "sha256-xZ/zdpu9X8OI1jGqd4z6W1hKa+DQh8A9k3TH6w9tNbo=", "owner": "rycee", "repo": "nur-expressions", - "rev": "f52067bf63247b39b81917d34d74f7c0a9344f05", + "rev": "c31bafebd7e30517ead27149ad790802b998e98f", "type": "gitlab" }, "original": { @@ -265,11 +265,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1777988971, - "narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -346,11 +346,11 @@ ] }, "locked": { - "lastModified": 1776796298, - "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", + "lastModified": 1778507602, + "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", + "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", "type": "github" }, "original": { @@ -403,11 +403,11 @@ ] }, "locked": { - "lastModified": 1778594112, - "narHash": "sha256-VA9z90SZviIvOcA4QyatA48FIyqb8mmsmH/EsXXWAG4=", + "lastModified": 1778954430, + "narHash": "sha256-oaNyOr05lblaQdtbkbN1wO0b2KLIL2O1LkmwDgdQp4I=", "owner": "nix-community", "repo": "home-manager", - "rev": "1768d4e49860b86cb7652ee738de0e6b3050dd40", + "rev": "26aaab785b0bab4af60a2c42b22760fa906ef22a", "type": "github" }, "original": { @@ -476,11 +476,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1778443072, - "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "type": "github" }, "original": { @@ -529,11 +529,11 @@ "noctalia-qs": "noctalia-qs" }, "locked": { - "lastModified": 1778464608, - "narHash": "sha256-tZRvyaKVP0DJ9DSFrr6K/l3X74Orfirk3Jjo7+br4Qs=", + "lastModified": 1778830602, + "narHash": "sha256-5HKL37GkJNRHsU8GS38UshBY7UyvTOQim2L4quSYGfE=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "761869a561548874fe7e293b157fd7841576b367", + "rev": "13964255121d100a7306e76a28010f19e8b33a1a", "type": "github" }, "original": { @@ -608,17 +608,17 @@ "plugin-loader-src": { "flake": false, "locked": { - "lastModified": 1775508798, - "narHash": "sha256-cD2G3M83wCEXVMMl9YoHMLxPIvbXeESgQTkXiM+lzns=", + "lastModified": 1776972538, + "narHash": "sha256-2EvrOYQCB2Z2YXhcPnjR67KoOCvwTVW3TfLcmU3//ak=", "owner": "noahc3", "repo": "AffinityPluginLoader", - "rev": "bd93bbf9f84735d8ba6538596620bbe8d8b90efd", + "rev": "1d7956d5b791bd6a213e8b28c1e25e1f4bcc6166", "type": "github" }, "original": { "owner": "noahc3", - "ref": "v0.3.0", "repo": "AffinityPluginLoader", + "rev": "1d7956d5b791bd6a213e8b28c1e25e1f4bcc6166", "type": "github" } }, @@ -659,11 +659,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1777924689, - "narHash": "sha256-9Z0puLyCSYvtYhP1IZMxC05DSgwA+5rE99jsv1KErc4=", + "lastModified": 1778611623, + "narHash": "sha256-oNgaKN3iKM1Cud3bKhEXFHXNRRc+j/JDl05d2jYa2Sg=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "91c7c2c4ca6a0520cfbf97e369e4fb7bf0b63b7a", + "rev": "7c28934677b1e7a1c6ef952422e6ef730540f85f", "type": "github" }, "original": { @@ -710,11 +710,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1778104276, - "narHash": "sha256-/DSSnU0LLmOTG/OCgGwYpxP6+5YvxRx2g/GhI4x6aCU=", + "lastModified": 1778776709, + "narHash": "sha256-YhnEcpiY6+l3RFA+cPmdTaeODGvNRuqE8B7VBjPVIxo=", "owner": "danth", "repo": "stylix", - "rev": "18ed8d270231e067fe2739998479ed5d7c659c2c", + "rev": "e8ea85b4f7dddda9603e0f1ac86cd92cee3b2819", "type": "github" }, "original": { diff --git a/hosts/Garand-Desktop/system-modules.nix b/hosts/Garand-Desktop/system-modules.nix index aca6793..f91636f 100644 --- a/hosts/Garand-Desktop/system-modules.nix +++ b/hosts/Garand-Desktop/system-modules.nix @@ -42,6 +42,11 @@ _: { ventoy.enable = false; # Ventoy: New Bootable USB Solution with GUI support packages = { + /* + Web browsers + */ + appImages.helium.enable = true; # Helium: Better ungoogled-chromium + /* Container & Packaging */ @@ -76,6 +81,7 @@ _: { teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux ferdium.enable = false; # Ferdium: All your services in one place built by the community notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications + appImages.fluxer.enable = false; # Fluxer: Discord alternative /* Productivity / Knowledge Management diff --git a/hosts/Garand-Laptop/system-modules.nix b/hosts/Garand-Laptop/system-modules.nix index aca6793..f91636f 100644 --- a/hosts/Garand-Laptop/system-modules.nix +++ b/hosts/Garand-Laptop/system-modules.nix @@ -42,6 +42,11 @@ _: { ventoy.enable = false; # Ventoy: New Bootable USB Solution with GUI support packages = { + /* + Web browsers + */ + appImages.helium.enable = true; # Helium: Better ungoogled-chromium + /* Container & Packaging */ @@ -76,6 +81,7 @@ _: { teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux ferdium.enable = false; # Ferdium: All your services in one place built by the community notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications + appImages.fluxer.enable = false; # Fluxer: Discord alternative /* Productivity / Knowledge Management diff --git a/hosts/default/system-modules.nix b/hosts/default/system-modules.nix index 406cca1..0f78063 100644 --- a/hosts/default/system-modules.nix +++ b/hosts/default/system-modules.nix @@ -42,6 +42,11 @@ _: { ventoy.enable = false; # Ventoy: New Bootable USB Solution with GUI support packages = { + /* + Web browsers + */ + appImages.helium.enable = true; # Helium: Better ungoogled-chromium + /* Container & Packaging */ @@ -76,6 +81,7 @@ _: { teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux ferdium.enable = false; # Ferdium: All your services in one place built by the community notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications + appImages.fluxer.enable = false; # Fluxer: Discord alternative /* Productivity / Knowledge Management diff --git a/modules/core/affinity.nix b/modules/core/affinity.nix index f5990a3..2ed24d6 100644 --- a/modules/core/affinity.nix +++ b/modules/core/affinity.nix @@ -5,7 +5,7 @@ inputs, ... }: { - options.affinity.enable = lib.mkEnableOption "Steam"; + options.affinity.enable = lib.mkEnableOption "Affinity"; config = lib.mkIf config.affinity.enable { nixpkgs.overlays = [inputs.affinity-nix.overlays.default]; diff --git a/modules/core/packages/appimages/default.nix b/modules/core/packages/appimages/default.nix index 99ed971..fe9478d 100644 --- a/modules/core/packages/appimages/default.nix +++ b/modules/core/packages/appimages/default.nix @@ -1,6 +1,20 @@ -{pkgs, ...}: let - fluxer = pkgs.callPackage ./fluxer.nix {}; - helium = pkgs.callPackage ./helium.nix {}; +{ + pkgs, + lib, + config, + ... +}: let + mkAppImagePackage = name: pkg: { + options.packages.appImages.${name}.enable = lib.mkEnableOption name; + + config.environment.systemPackages = + lib.mkIf config.packages.appImages.${name}.enable [pkg]; + }; + + appImagePackages = { + fluxer = pkgs.callPackage ./fluxer.nix {}; + helium = pkgs.callPackage ./helium.nix {}; + }; in { - environment.systemPackages = [fluxer helium]; + imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages); } diff --git a/modules/core/packages/appimages/fluxer.nix b/modules/core/packages/appimages/fluxer.nix index 639952a..4761366 100644 --- a/modules/core/packages/appimages/fluxer.nix +++ b/modules/core/packages/appimages/fluxer.nix @@ -11,6 +11,8 @@ sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw="; }; appimageContents = appimageTools.extract {inherit pname version src;}; + + iconSize = "512x512"; in appimageTools.wrapType2 { inherit pname version src; @@ -18,8 +20,8 @@ in extraInstallCommands = '' # mv $out/bin/${pname}-${version} $out/bin/${pname} install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop - install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/${pname}.png \ - $out/share/icons/hicolor/512x512/apps/${pname}.png + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \ + $out/share/icons/hicolor/${iconSize}/apps/${pname}.png substituteInPlace $out/share/applications/${pname}.desktop \ --replace-fail 'Exec=AppRun' 'Exec=${pname}' ''; diff --git a/modules/core/packages/appimages/helium.nix b/modules/core/packages/appimages/helium.nix index 2e67b48..c193932 100644 --- a/modules/core/packages/appimages/helium.nix +++ b/modules/core/packages/appimages/helium.nix @@ -4,13 +4,15 @@ fetchurl, }: let pname = "helium"; - version = "0.12.1.1"; + version = "0.12.3.1"; src = fetchurl { url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage"; - sha256 = "sha256-+UE+JqQtxbA5szPvAohapXlES21VBOdNsV6Ej1dRRfs="; + sha256 = "sha256-VnOhzhAulvFNBB/0AD1d+K/TzfFL9Zwtk/vcm5vWl+I="; }; appimageContents = appimageTools.extract {inherit pname version src;}; + + iconSize = "256x256"; in appimageTools.wrapType2 { inherit pname version src; @@ -18,8 +20,8 @@ in extraInstallCommands = '' # mv $out/bin/${pname}-${version} $out/bin/${pname} install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop - install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/256x256/apps/${pname}.png \ - $out/share/icons/hicolor/256x256/apps/${pname}.png + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \ + $out/share/icons/hicolor/${iconSize}/apps/${pname}.png # substituteInPlace $out/share/applications/${pname}.desktop \ # --replace-fail 'Exec=AppRun' 'Exec=${pname}' ''; diff --git a/modules/home/hyprland/binds.nix b/modules/home/hyprland/binds.nix index 903e397..8a81798 100644 --- a/modules/home/hyprland/binds.nix +++ b/modules/home/hyprland/binds.nix @@ -75,7 +75,7 @@ windowManagementBinds = [ "SUPER, F, fullscreen, #\"Toggle fullscreen mode\"" "SUPER, Q, killactive, #\"Close active window\"" - "SUPER SHIFT, I, togglesplit, #\"Toggle split layout\"" + # "SUPER SHIFT, I, togglesplit, #\"Toggle split layout\"" "SUPER SHIFT, F, togglefloating, #\"Toggle floating mode\"" ]; diff --git a/modules/home/hyprland/hyprland.nix b/modules/home/hyprland/hyprland.nix index 33ce7ab..221d5db 100644 --- a/modules/home/hyprland/hyprland.nix +++ b/modules/home/hyprland/hyprland.nix @@ -21,12 +21,13 @@ in { wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; + configType = "hyprlang"; # TODO: hyprlang => lua migration. + xwayland.enable = true; systemd = { enable = true; enableXdgAutostart = true; variables = ["--all"]; }; - xwayland.enable = true; settings = { input = { kb_layout = "${keyboardLayout}"; @@ -76,7 +77,6 @@ in { disable_splash_rendering = true; enable_swallow = true; swallow_regex = "^(kitty)$"; - vfr = true; # Variable Frame Rate vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES # Screen flashing to black momentarily or going black when app is fullscreen # Try setting vrr to 0 @@ -87,7 +87,7 @@ in { }; dwindle = { - pseudotile = true; + # pseudotile = true; preserve_split = true; force_split = 2; }; @@ -131,7 +131,10 @@ in { direct_scanout = 0; }; - debug.full_cm_proto = true; + debug = { + vfr = true; # Variable Frame Rate + full_cm_proto = true; + }; master = { new_status = "master";