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 = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
|
overlays = [
|
||||||
|
(import ./common/update-local-flakes/overlay.nix)
|
||||||
|
];
|
||||||
};
|
};
|
||||||
homeManagerConfig = {
|
homeManagerConfig = {
|
||||||
sharedModules = [ self.homeManagerModules.dotfiles ];
|
sharedModules = [ self.homeManagerModules.dotfiles ];
|
||||||
|
@ -72,7 +75,9 @@
|
||||||
};
|
};
|
||||||
flakeTools = { self }: flake-utils.lib.eachDefaultSystem (system:
|
flakeTools = { self }: flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = import nixpkgs (nixpkgsConfig // {
|
||||||
|
inherit system;
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
apps = {
|
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; }'
|
${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 = {
|
updateLocalFlakes = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = "${pkgs.writers.writePython3 "update-local-flakes" { }
|
program = "${pkgs.update-local-flakes}/bin/update-local-flakes";
|
||||||
(builtins.readFile ./common/update-local-flakes.py)}";
|
|
||||||
};
|
};
|
||||||
nixosRebuild = {
|
nixosRebuild = {
|
||||||
type = "app";
|
type = "app";
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
pkgs.update-local-flakes
|
||||||
(pkgs.writeShellApplication {
|
(pkgs.writeShellApplication {
|
||||||
name = "rb";
|
name = "rb";
|
||||||
text = ''
|
text = ''
|
||||||
|
@ -13,21 +14,20 @@
|
||||||
nixos_flake="$(readlink -f /etc/nixos)"
|
nixos_flake="$(readlink -f /etc/nixos)"
|
||||||
if [ -f "$nixos_flake/flake.nix" ]
|
if [ -f "$nixos_flake/flake.nix" ]
|
||||||
then
|
then
|
||||||
# TODO For extensions this only works on systems where the flake has been resolved
|
update-local-flakes "$nixos_flake"
|
||||||
nix run "$nixos_flake#updateLocalFlakes" -- "$nixos_flake"
|
|
||||||
nix run "$nixos_flake#nixosRebuild" -- "$verb" "$@"
|
nix run "$nixos_flake#nixosRebuild" -- "$verb" "$@"
|
||||||
fi
|
fi
|
||||||
# TODO Fix nix-on-droid and home-manager
|
# TODO Fix nix-on-droid and home-manager
|
||||||
# hm_flake="${config.xdg.configHome}/home-manager/flake.nix"
|
# hm_flake="${config.xdg.configHome}/home-manager/flake.nix"
|
||||||
# if [ -f "$hm_flake" ]
|
# if [ -f "$hm_flake" ]
|
||||||
# then
|
# then
|
||||||
# {ulf} "$hm_flake"
|
# update-local-flakes "$hm_flake"
|
||||||
# home-manager "$verb" "$@"
|
# home-manager "$verb" "$@"
|
||||||
# fi
|
# fi
|
||||||
# nod_flake="${config.xdg.configHome}/nix-on-droid/flake.nix"
|
# nod_flake="${config.xdg.configHome}/nix-on-droid/flake.nix"
|
||||||
# if [ -f "$nod_flake" ]
|
# if [ -f "$nod_flake" ]
|
||||||
# then
|
# then
|
||||||
# {ulf} "$nod_flake"
|
# update-local-flakes "$nod_flake"
|
||||||
# nix-on-droid "$verb" --flake "$(dirname "$nod_flake")" "$@"
|
# nix-on-droid "$verb" --flake "$(dirname "$nod_flake")" "$@"
|
||||||
# fi
|
# fi
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue