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
Generated
+34 -34
View File
@@ -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": {
+6
View File
@@ -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
+6
View File
@@ -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
+6
View File
@@ -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
+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";