Update dependencies and add Helium appimage

- 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.
This commit is contained in:
2026-05-16 22:57:30 +02:00
parent b6915ab988
commit c0d2e8cd47
10 changed files with 89 additions and 50 deletions
+1 -1
View File
@@ -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];
+18 -4
View File
@@ -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);
}
+4 -2
View File
@@ -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}'
'';
+6 -4
View File
@@ -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}'
'';
+1 -1
View File
@@ -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\""
];
+7 -4
View File
@@ -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";