From 61d3a758fc7c9c322db240c2670138d88c60d6a5 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle Date: Thu, 23 Oct 2025 09:51:11 +0200 Subject: [PATCH] nixos/nixbit: init module Signed-off-by: Patrizio Bekerle --- .../manual/release-notes/rl-2511.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/programs/nixbit.nix | 49 +++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 nixos/modules/programs/nixbit.nix diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 381d12c93600..8e40272ed48a 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -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} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2b98c1cc23e1..f79f9594d080 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -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 diff --git a/nixos/modules/programs/nixbit.nix b/nixos/modules/programs/nixbit.nix new file mode 100644 index 000000000000..23bc5273409a --- /dev/null +++ b/nixos/modules/programs/nixbit.nix @@ -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"} + ''; + }; + }; +}