Compare commits
5 commits
02a0f05d63
...
50a2dcb82e
Author | SHA1 | Date | |
---|---|---|---|
50a2dcb82e | |||
![]() |
427a928f6c | ||
![]() |
49dae97575 | ||
![]() |
4e039920c8 | ||
![]() |
e4eb342725 |
4 changed files with 95 additions and 20 deletions
51
flake.nix
51
flake.nix
|
@ -9,11 +9,11 @@
|
|||
nixpkgs,
|
||||
flake-utils,
|
||||
}: let
|
||||
mapOverlayOverride = namespace: overlay: final: prev: let
|
||||
mapOverlayOverride = prefix: overlay: final: prev: let
|
||||
overlayPkgs = overlay final prev;
|
||||
in
|
||||
{
|
||||
"${namespace}" = builtins.removeAttrs overlayPkgs ["override"];
|
||||
"${prefix}" = (prev.${prefix} or {}) // builtins.removeAttrs overlayPkgs ["override"];
|
||||
}
|
||||
// (overlayPkgs.override or {});
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
|||
packages =
|
||||
(import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [(mapOverlayOverride doctrineNoPkgs.prefix (import ./pkgs))];
|
||||
overlays = [self.overlays.default];
|
||||
}).${
|
||||
doctrineNoPkgs.prefix
|
||||
};
|
||||
|
@ -121,7 +121,7 @@
|
|||
}
|
||||
# NB: Preserve the relative order
|
||||
{
|
||||
overlay = self.overlays.default;
|
||||
overlay = mapOverlayOverride prefix (import ./pkgs);
|
||||
condition = true;
|
||||
}
|
||||
{
|
||||
|
@ -164,24 +164,12 @@
|
|||
}
|
||||
// optionalAttrs (paths ? nixosSource) {
|
||||
nixosConfigurations = let
|
||||
nixosSystem = {modules}:
|
||||
lib.makeOverridable nixpkgs.lib.nixosSystem {
|
||||
inherit modules pkgs system;
|
||||
|
||||
specialArgs = {
|
||||
inherit flakes;
|
||||
|
||||
doctrine = mkDoctrine {
|
||||
inherit pkgs;
|
||||
namespace = "sys";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hostConfig = platform:
|
||||
nixosSystem {
|
||||
self.lib.mkSystem {
|
||||
inherit flakes pkgs;
|
||||
doctrine = doctrineNoPkgs;
|
||||
|
||||
modules = [
|
||||
self.nixosModules.default
|
||||
nixosSourcePath
|
||||
platform
|
||||
];
|
||||
|
@ -213,6 +201,29 @@
|
|||
in
|
||||
lib.mapAttrs home (importAll {root = hmPlatformsPath;});
|
||||
};
|
||||
|
||||
mkSystem = {
|
||||
pkgs,
|
||||
flakes,
|
||||
doctrine,
|
||||
modules,
|
||||
}:
|
||||
flakes.nixpkgs.lib.makeOverridable flakes.nixpkgs.lib.nixosSystem {
|
||||
inherit pkgs;
|
||||
inherit (pkgs) system;
|
||||
|
||||
modules = [self.nixosModules.default] ++ modules;
|
||||
|
||||
specialArgs = {
|
||||
inherit flakes;
|
||||
|
||||
doctrine = self.lib.mkDoctrine {
|
||||
inherit pkgs;
|
||||
inherit (doctrine) prefix;
|
||||
namespace = "sys";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,5 +5,6 @@ in {
|
|||
override = {};
|
||||
|
||||
athena-bccr = callPackage ./athena-bccr {};
|
||||
snapborg = final.python3Packages.callPackage ./snapborg {};
|
||||
spliit = callPackage ./spliit {};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
From c363931656938f9cc3354b8e2797fe9abac1b0e3 Mon Sep 17 00:00:00 2001
|
||||
From: Alejandro Soto <alejandro@34project.org>
|
||||
Date: Sun, 31 Aug 2025 13:30:45 -0600
|
||||
Subject: [PATCH] Remove "env" arg from subprocess calls
|
||||
|
||||
---
|
||||
snapborg/borg.py | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/snapborg/borg.py b/snapborg/borg.py
|
||||
index 89a3d84..b74ddf7 100644
|
||||
--- a/snapborg/borg.py
|
||||
+++ b/snapborg/borg.py
|
||||
@@ -173,11 +173,10 @@ def launch_borg(args, password=None, print_output=False, dryrun=False, cwd=None)
|
||||
# TODO: parse output from JSON log lines
|
||||
try:
|
||||
if print_output:
|
||||
- subprocess.run(cmd, env=env, check=True, cwd=cwd)
|
||||
+ subprocess.run(cmd, check=True, cwd=cwd)
|
||||
else:
|
||||
subprocess.check_output(cmd,
|
||||
stderr=subprocess.STDOUT,
|
||||
- env=env,
|
||||
cwd=cwd)
|
||||
except CalledProcessError as e:
|
||||
if e.returncode == 1:
|
||||
--
|
||||
2.49.0
|
||||
|
34
pkgs/snapborg/default.nix
Normal file
34
pkgs/snapborg/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
borgbackup,
|
||||
buildPythonApplication,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
packaging,
|
||||
pyyaml,
|
||||
}:
|
||||
buildPythonApplication {
|
||||
pname = "snapborg";
|
||||
version = "0.1.0-unstable-20250331";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "snapborg";
|
||||
owner = "enzingerm";
|
||||
|
||||
rev = "7e860395319f995161a6e0c7954ce47635e3cd59";
|
||||
hash = "sha256-RzYL4IHulk1Q/ALWFs6YCTeCO8ohwqXH2NMHRctRVSA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-Remove-env-arg-from-subprocess-calls.patch # Fixes broken $PATH when calling borg
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
borgbackup
|
||||
packaging
|
||||
pyyaml
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [borgbackup]})
|
||||
'';
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue