nixos/nixbit: init module

Signed-off-by: Patrizio Bekerle <patrizio@bekerle.com>
This commit is contained in:
Patrizio Bekerle
2025-10-23 09:51:11 +02:00
parent 6e978ef038
commit 61d3a758fc
3 changed files with 52 additions and 0 deletions

View File

@@ -168,6 +168,8 @@
- [Tenstorrent](https://tenstorrent.com) hardware module has been added.
- [nixbit](https://github.com/pbek/nixbit), a GUI application for updating your NixOS system from a Nix Flakes Git repository. Available as [programs.nixbit](#opt-programs.nixbit.enable).
## Backward Incompatibilities {#sec-release-25.11-incompatibilities}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@@ -277,6 +277,7 @@
./programs/nix-index.nix
./programs/nix-ld.nix
./programs/nix-required-mounts.nix
./programs/nixbit.nix
./programs/nm-applet.nix
./programs/nncp.nix
./programs/noisetorch.nix

View File

@@ -0,0 +1,49 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (lib)
mkEnableOption
mkIf
mkOption
mkPackageOption
types
;
cfg = config.programs.nixbit;
in
{
options.programs.nixbit = {
enable = mkEnableOption "Nixbit configuration";
package = mkPackageOption pkgs "nixbit" { };
repository = mkOption {
type = types.str;
description = "Git repository URL for Nixbit";
};
forceAutostart = mkEnableOption "" // {
description = "Force creation of autostart desktop entry when application starts";
};
};
config = mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
etc."nixbit.conf".text =
lib.optionalString (cfg.repository != "") ''
[Repository]
Url = ${cfg.repository}
''
+ ''
[Autostart]
Force = ${if cfg.forceAutostart then "true" else "false"}
'';
};
};
}