Unverified Commit 61d3a758 authored by Patrizio Bekerle's avatar Patrizio Bekerle
Browse files

nixos/nixbit: init module

parent 6e978ef0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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. -->
+1 −0
Original line number Diff line number Diff line
@@ -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
+49 −0
Original line number Diff line number Diff line
{
  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"}
        '';
    };
  };
}