From d3d1dd5ccefcca94808cc5b27f217db8e1c3d8c8 Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Sun, 23 Jun 2024 14:30:27 +0200 Subject: [PATCH] Modify topgrade to work on nixos with flakes --- modules/home/topgrade/default.nix | 50 ++++++++++++++++++------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/modules/home/topgrade/default.nix b/modules/home/topgrade/default.nix index c553169..29a9b5a 100644 --- a/modules/home/topgrade/default.nix +++ b/modules/home/topgrade/default.nix @@ -1,28 +1,33 @@ { -# Snowfall Lib provides a customized `lib` instance with access to your flake's library -# as well as the libraries available from your flake's inputs. -lib, -# An instance of `pkgs` with your overlays and packages applied is also available. -pkgs, -# You also have access to your flake's inputs. -inputs, + # Snowfall Lib provides a customized `lib` instance with access to your flake's library + # as well as the libraries available from your flake's inputs. + lib, + # An instance of `pkgs` with your overlays and packages applied is also available. + pkgs, + # You also have access to your flake's inputs. + inputs, -# Additional metadata is provided by Snowfall Lib. -system, # The system architecture for this host (eg. `x86_64-linux`). -target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). -format, # A normalized name for the system target (eg. `iso`). -virtual -, # A boolean to determine whether this system is a virtual target using nixos-generators. -systems, # An attribute map of your defined hosts. + # Additional metadata is provided by Snowfall Lib. + system, # The system architecture for this host (eg. `x86_64-linux`). + target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). + format, # A normalized name for the system target (eg. `iso`). + virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. + systems, # An attribute map of your defined hosts. -# All other arguments come from the module system. -config, ... }: + # All other arguments come from the module system. + config, + ... +}: with lib; -let cfg = config.modules.topgrade; -in { - options.modules.topgrade = { enable = mkOption { default = false; }; }; +let + cfg = config.modules.topgrade; +in +{ + options.modules.topgrade = { + enable = mkOption { default = false; }; + }; config = mkIf cfg.enable { programs.topgrade = { @@ -33,11 +38,14 @@ in { misc.assume_yes = true; misc.no_retry = true; - # pre_commands."Update dotfiles flake" = "home-update-flake"; + linux.nix_arguments = "--flake /home/julian/.dotfiles"; git = { # Additional git repositories to pull - repos = [ "~/.dotfiles" "~/dev/*" ]; + repos = [ + "~/.dotfiles" + "~/dev/*" + ]; }; }; };