mirror of
https://github.com/danbulant/dotfiles
synced 2026-09-17 13:23:51 +00:00
update
This commit is contained in:
parent
ad71d61907
commit
8e4937dbcb
1 changed files with 85 additions and 75 deletions
160
flake.nix
160
flake.nix
|
|
@ -108,6 +108,84 @@
|
||||||
spacebot-src,
|
spacebot-src,
|
||||||
...
|
...
|
||||||
}@attrs:
|
}@attrs:
|
||||||
|
let
|
||||||
|
spacedriveOverlay = final: _: {
|
||||||
|
spacedrive-master =
|
||||||
|
let
|
||||||
|
sources = import ./pkgs/spacedrive/nix/sources.nix {
|
||||||
|
inherit (final) lib;
|
||||||
|
root = spacedrive-src;
|
||||||
|
};
|
||||||
|
packages = import ./pkgs/spacedrive/nix {
|
||||||
|
pkgs = final;
|
||||||
|
craneLib = crane.mkLib final;
|
||||||
|
upstreamRoot = spacedrive-src;
|
||||||
|
spacebotRoot = spacebot-src;
|
||||||
|
inherit (sources)
|
||||||
|
frontendSrc
|
||||||
|
daemonRustSrc
|
||||||
|
desktopRustSrc
|
||||||
|
cliRustSrc
|
||||||
|
;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
packages.spacedrive;
|
||||||
|
};
|
||||||
|
pyfilesystemOverlay = _: prev: {
|
||||||
|
# pyfilesystem2 still uses pkg_resources at runtime, which was
|
||||||
|
# removed from setuptools 82. Keep setuptools 80 build-only for
|
||||||
|
# the upstream tests, but migrate the installed package to the
|
||||||
|
# standard-library entry-point API so Python environments don't
|
||||||
|
# contain two conflicting setuptools versions.
|
||||||
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
|
(_: pythonPrev: {
|
||||||
|
fs = pythonPrev.fs.overridePythonAttrs (old: {
|
||||||
|
nativeCheckInputs = (old.nativeCheckInputs or [ ]) ++ [
|
||||||
|
pythonPrev.setuptools_80
|
||||||
|
];
|
||||||
|
postInstall = (old.postInstall or "") + ''
|
||||||
|
fsPath="$out/${pythonPrev.python.sitePackages}/fs"
|
||||||
|
substituteInPlace "$fsPath/__init__.py" "$fsPath/opener/__init__.py" \
|
||||||
|
--replace-fail '__import__("pkg_resources").declare_namespace(__name__) # type: ignore' ""
|
||||||
|
substituteInPlace "$fsPath/opener/registry.py" \
|
||||||
|
--replace-fail 'import pkg_resources' 'from importlib import metadata' \
|
||||||
|
--replace-fail 'pkg_resources.iter_entry_points("fs.opener")' 'metadata.entry_points(group="fs.opener")' \
|
||||||
|
--replace-fail 'pkg_resources.iter_entry_points("fs.opener", protocol)' 'iter(metadata.entry_points(group="fs.opener", name=protocol))'
|
||||||
|
'';
|
||||||
|
meta = old.meta // {
|
||||||
|
broken = false;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
desktopCompatibilityOverlay = _: prev: {
|
||||||
|
# Hyprland 0.56.1 requires glaze >= 7 and < 8, while this
|
||||||
|
# nixpkgs revision provides glaze 8.0.0.
|
||||||
|
hyprland = prev.hyprland.override {
|
||||||
|
glaze = prev.glaze.overrideAttrs (_: {
|
||||||
|
version = "7.8.3";
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "stephenberry";
|
||||||
|
repo = "glaze";
|
||||||
|
tag = "v7.8.3";
|
||||||
|
hash = "sha256-WqtaZ3AVDs1oIfAVQuU63eg+0753LoYfv/pRyG9OMnM=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
# ethnum 1.5.2 assumes TryFromIntError is zero-sized, which is
|
||||||
|
# no longer true with Rust 1.97. Apply its upstream safe fix to
|
||||||
|
# SpacetimeDB's writable Cargo vendor tree.
|
||||||
|
spacetimedb = prev.spacetimedb.overrideAttrs (old: {
|
||||||
|
postPatch = (old.postPatch or "") + ''
|
||||||
|
substituteInPlace "$cargoDepsCopy/source-registry-0/ethnum-1.5.2/src/error.rs" \
|
||||||
|
--replace-fail 'pub const fn tfie() -> TryFromIntError {' 'pub fn tfie() -> TryFromIntError {' \
|
||||||
|
--replace-fail 'unsafe { mem::transmute(()) }' 'u8::try_from(-1i8).unwrap_err()'
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# Export sysbox package overlay for external use
|
# Export sysbox package overlay for external use
|
||||||
overlays.default = final: prev: {
|
overlays.default = final: prev: {
|
||||||
|
|
@ -143,81 +221,9 @@
|
||||||
home-manager.backupFileExtension = "backup";
|
home-manager.backupFileExtension = "backup";
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
bun2nix.overlays.default
|
bun2nix.overlays.default
|
||||||
(_: prev: {
|
desktopCompatibilityOverlay
|
||||||
# Hyprland 0.56.1 requires glaze >= 7 and < 8, while this
|
pyfilesystemOverlay
|
||||||
# nixpkgs revision provides glaze 8.0.0.
|
spacedriveOverlay
|
||||||
hyprland = prev.hyprland.override {
|
|
||||||
glaze = prev.glaze.overrideAttrs (_: {
|
|
||||||
version = "7.8.3";
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "stephenberry";
|
|
||||||
repo = "glaze";
|
|
||||||
tag = "v7.8.3";
|
|
||||||
hash = "sha256-WqtaZ3AVDs1oIfAVQuU63eg+0753LoYfv/pRyG9OMnM=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
# ethnum 1.5.2 assumes TryFromIntError is zero-sized, which is
|
|
||||||
# no longer true with Rust 1.97. Apply its upstream safe fix to
|
|
||||||
# SpacetimeDB's writable Cargo vendor tree.
|
|
||||||
spacetimedb = prev.spacetimedb.overrideAttrs (old: {
|
|
||||||
postPatch = (old.postPatch or "") + ''
|
|
||||||
substituteInPlace "$cargoDepsCopy/source-registry-0/ethnum-1.5.2/src/error.rs" \
|
|
||||||
--replace-fail 'pub const fn tfie() -> TryFromIntError {' 'pub fn tfie() -> TryFromIntError {' \
|
|
||||||
--replace-fail 'unsafe { mem::transmute(()) }' 'u8::try_from(-1i8).unwrap_err()'
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
# pyfilesystem2 still uses pkg_resources at runtime, which was
|
|
||||||
# removed from setuptools 82. Keep setuptools 80 build-only for
|
|
||||||
# the upstream tests, but migrate the installed package to the
|
|
||||||
# standard-library entry-point API so Python environments don't
|
|
||||||
# contain two conflicting setuptools versions.
|
|
||||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
|
||||||
(_: pythonPrev: {
|
|
||||||
fs = pythonPrev.fs.overridePythonAttrs (old: {
|
|
||||||
nativeCheckInputs = (old.nativeCheckInputs or [ ]) ++ [
|
|
||||||
pythonPrev.setuptools_80
|
|
||||||
];
|
|
||||||
postInstall = (old.postInstall or "") + ''
|
|
||||||
fsPath="$out/${pythonPrev.python.sitePackages}/fs"
|
|
||||||
substituteInPlace "$fsPath/__init__.py" "$fsPath/opener/__init__.py" \
|
|
||||||
--replace-fail '__import__("pkg_resources").declare_namespace(__name__) # type: ignore' ""
|
|
||||||
substituteInPlace "$fsPath/opener/registry.py" \
|
|
||||||
--replace-fail 'import pkg_resources' 'from importlib import metadata' \
|
|
||||||
--replace-fail 'pkg_resources.iter_entry_points("fs.opener")' 'metadata.entry_points(group="fs.opener")' \
|
|
||||||
--replace-fail 'pkg_resources.iter_entry_points("fs.opener", protocol)' 'iter(metadata.entry_points(group="fs.opener", name=protocol))'
|
|
||||||
'';
|
|
||||||
meta = old.meta // {
|
|
||||||
broken = false;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
})
|
|
||||||
(final: _: {
|
|
||||||
spacedrive-master =
|
|
||||||
let
|
|
||||||
sources = import ./pkgs/spacedrive/nix/sources.nix {
|
|
||||||
inherit (final) lib;
|
|
||||||
root = spacedrive-src;
|
|
||||||
};
|
|
||||||
packages = import ./pkgs/spacedrive/nix {
|
|
||||||
pkgs = final;
|
|
||||||
craneLib = crane.mkLib final;
|
|
||||||
upstreamRoot = spacedrive-src;
|
|
||||||
spacebotRoot = spacebot-src;
|
|
||||||
inherit (sources)
|
|
||||||
frontendSrc
|
|
||||||
daemonRustSrc
|
|
||||||
desktopRustSrc
|
|
||||||
cliRustSrc
|
|
||||||
;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
packages.spacedrive;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
networking.hostName = "fern";
|
networking.hostName = "fern";
|
||||||
imports = [ ./servers/fern/hardware-configuration.nix ];
|
imports = [ ./servers/fern/hardware-configuration.nix ];
|
||||||
|
|
@ -249,6 +255,10 @@
|
||||||
) old.checkFlags;
|
) old.checkFlags;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
bun2nix.overlays.default
|
||||||
|
desktopCompatibilityOverlay
|
||||||
|
pyfilesystemOverlay
|
||||||
|
spacedriveOverlay
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
determinate.nixosModules.default
|
determinate.nixosModules.default
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue