update-local-flakes: Make available as package
If extensions have their lock file updated in some cases, running .#updateLocalFlakes will not work.
This commit is contained in:
parent
c4058e8102
commit
0d047d3e46
2
common/update-local-flakes/default.nix
Normal file
2
common/update-local-flakes/default.nix
Normal file
|
@ -0,0 +1,2 @@
|
|||
{ pkgs, ... }:
|
||||
pkgs.writers.writePython3Bin "update-local-flakes" {} (builtins.readFile ./update-local-flakes.py)
|
3
common/update-local-flakes/overlay.nix
Normal file
3
common/update-local-flakes/overlay.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
(self: super: {
|
||||
update-local-flakes = super.callPackage ./. {};
|
||||
})
|
11
flake.nix
11
flake.nix
|
@ -42,6 +42,9 @@
|
|||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
overlays = [
|
||||
(import ./common/update-local-flakes/overlay.nix)
|
||||
];
|
||||
};
|
||||
homeManagerConfig = {
|
||||
sharedModules = [ self.homeManagerModules.dotfiles ];
|
||||
|
@ -72,7 +75,9 @@
|
|||
};
|
||||
flakeTools = { self }: flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = import nixpkgs (nixpkgsConfig // {
|
||||
inherit system;
|
||||
});
|
||||
in
|
||||
{
|
||||
apps = {
|
||||
|
@ -94,10 +99,10 @@
|
|||
${pkgs.lix}/bin/nix repl --expr 'let flake = builtins.getFlake "${self}"; in flake // flake.nixosConfigurations // rec { pkgs = import ${nixpkgs} {}; lib = pkgs.lib; }'
|
||||
''}";
|
||||
};
|
||||
# Available globally should this be needed in times of shenanigans
|
||||
updateLocalFlakes = {
|
||||
type = "app";
|
||||
program = "${pkgs.writers.writePython3 "update-local-flakes" { }
|
||||
(builtins.readFile ./common/update-local-flakes.py)}";
|
||||
program = "${pkgs.update-local-flakes}/bin/update-local-flakes";
|
||||
};
|
||||
nixosRebuild = {
|
||||
type = "app";
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, config, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.update-local-flakes
|
||||
(pkgs.writeShellApplication {
|
||||
name = "rb";
|
||||
text = ''
|
||||
|
@ -13,21 +14,20 @@
|
|||
nixos_flake="$(readlink -f /etc/nixos)"
|
||||
if [ -f "$nixos_flake/flake.nix" ]
|
||||
then
|
||||
# TODO For extensions this only works on systems where the flake has been resolved
|
||||
nix run "$nixos_flake#updateLocalFlakes" -- "$nixos_flake"
|
||||
update-local-flakes "$nixos_flake"
|
||||
nix run "$nixos_flake#nixosRebuild" -- "$verb" "$@"
|
||||
fi
|
||||
# TODO Fix nix-on-droid and home-manager
|
||||
# hm_flake="${config.xdg.configHome}/home-manager/flake.nix"
|
||||
# if [ -f "$hm_flake" ]
|
||||
# then
|
||||
# {ulf} "$hm_flake"
|
||||
# update-local-flakes "$hm_flake"
|
||||
# home-manager "$verb" "$@"
|
||||
# fi
|
||||
# nod_flake="${config.xdg.configHome}/nix-on-droid/flake.nix"
|
||||
# if [ -f "$nod_flake" ]
|
||||
# then
|
||||
# {ulf} "$nod_flake"
|
||||
# update-local-flakes "$nod_flake"
|
||||
# nix-on-droid "$verb" --flake "$(dirname "$nod_flake")" "$@"
|
||||
# fi
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue