Add Jan UI and selective Flatpak options

- Expose Jan as a core package and add a Hyprland shortcut (Mod + J). -
Refactor Flatpak module to provide per‑package enable options; default
package list is now empty. - Update librewolf search template to use a
single‑parameter URL. - Minor comment formatting changes across host
module files.
This commit is contained in:
2025-11-27 11:21:59 +01:00
parent d80266e89a
commit 8d3fd7dbe2
10 changed files with 266 additions and 280 deletions

View File

@@ -2,16 +2,27 @@
lib,
config,
...
}: {
}: let
mkFlatpakPackage = name: pkgId: {
options.flatpak.packages.${name} = lib.mkEnableOption "Flatpak: ${name}";
config.services.flatpak.packages =
lib.mkIf config.flatpak.packages.${name} [pkgId];
};
flatpakPackages = {
sober = "org.vinegarhq.Sober";
warehouse = "io.github.flattool.Warehouse";
flatseal = "com.github.tchx84.Flatseal";
};
in {
options.flatpak.enable = lib.mkEnableOption "Flatpak";
config.services.flatpak = lib.mkIf config.flatpak.enable {
enable = true;
update.onActivation = true;
packages = [
# "org.vinegarhq.Sober"
"io.github.flattool.Warehouse"
"com.github.tchx84.Flatseal"
];
packages = [];
};
imports = builtins.attrValues (builtins.mapAttrs mkFlatpakPackage flatpakPackages);
}

View File

@@ -25,6 +25,7 @@
tutanota = tutanota-desktop;
exercism = exercism;
opencode = opencode;
jan = jan;
lazygit = lazygit;
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
spaceCadetPinball = space-cadet-pinball;