4 Commits

Author SHA1 Message Date
Tom Alexander
78c54171b3 Update instawow. 2026-10-10 12:09:46 -04:00
Tom Alexander
1a05ffd770 Update aiohttp-client-cache.
The current version in nixpkgs has not been updated for aiohttp 3.14.

Error: TypeError: ClientResponse.__init__() missing 1 required keyword-only argument: 'stream_writer'
2026-10-10 11:16:16 -04:00
Tom Alexander
349dad753c Add install of instawow. 2026-10-10 11:16:16 -04:00
Tom Alexander
1597d0e3d6 Cut down hydra to only build odo.
I am going to rebuild the binary cache, so I want to isolate a single build to make testing easier.
2026-10-09 13:33:55 -04:00
5 changed files with 129 additions and 26 deletions

View File

@@ -51,6 +51,7 @@ in
./roles/graphviz ./roles/graphviz
./roles/hydra ./roles/hydra
./roles/image_based_appliance ./roles/image_based_appliance
./roles/instawow
./roles/iso ./roles/iso
./roles/iso_mount ./roles/iso_mount
./roles/jujutsu ./roles/jujutsu
@@ -281,6 +282,53 @@ in
(disableOptimizationsPython3 "zopfli") # /nix/store/idjhlmljrapzm3i1svl5x9mdwfxxj51v-pytest-check-hook/nix-support/setup-hook: line 23: 280 Segmentation fault (core dumped) /nix/store/87l6i0czch42nzv39ydwld5hnhcq0b65-python3-3.14.7/bin/python3.14 "${flagsArray[@]}" (disableOptimizationsPython3 "zopfli") # /nix/store/idjhlmljrapzm3i1svl5x9mdwfxxj51v-pytest-check-hook/nix-support/setup-hook: line 23: 280 Segmentation fault (core dumped) /nix/store/87l6i0czch42nzv39ydwld5hnhcq0b65-python3-3.14.7/bin/python3.14 "${flagsArray[@]}"
(disableOptimizations "zopfli") (disableOptimizations "zopfli")
(disableOptimizations "nototools") # Needs to use the same version of python as the zopfli package (disableOptimizations "nototools") # Needs to use the same version of python as the zopfli package
(final: prev: {
instawow = prev.instawow.overrideAttrs (
finalAttrs: prevAttrs:
let
version = "7.2.1";
in
{
inherit version;
src = final.fetchFromGitHub {
owner = "layday";
repo = "instawow";
tag = "v${finalAttrs.version}";
hash = "sha256-5y+oJfzWwaUc3p4fzsQ4j8a6YJEsI+3Qy3gK6VPkjA4=";
};
propagatedBuildInputs = prevAttrs.propagatedBuildInputs ++ [ final.python3.pkgs.versioningit ];
postPatch = ''
# Upstream uses versioningit to set the version
sed -i '/^name =.*/a version = "${version}"' pyproject.toml
sed -i "/dynamic =/,+2d" pyproject.toml
'';
}
);
})
(final: prev: {
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
(python-final: python-prev: {
aiohttp-client-cache = python-prev.aiohttp-client-cache.overridePythonAttrs (
oldAttrs:
let
version = "0.15.0";
in
{
inherit version;
src = final.fetchPypi {
pname = "aiohttp_client_cache";
inherit version;
hash = "sha256-Jk+n1pvNsuT+mZTn9Bq17sfLuipfXiYNRE0AL5Ym43Q=";
};
}
);
})
];
})
]; ];
# This option defines the first version of NixOS you have installed on this particular machine, # This option defines the first version of NixOS you have installed on this particular machine,

View File

@@ -107,6 +107,7 @@
me.graphical = true; me.graphical = true;
me.graphics_card_type = "amd"; me.graphics_card_type = "amd";
me.graphviz.enable = true; me.graphviz.enable = true;
me.instawow.enable = true;
me.iso_mount.enable = true; me.iso_mount.enable = true;
me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml; me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml;
me.jujutsu.enable = true; me.jujutsu.enable = true;

View File

@@ -100,6 +100,7 @@
me.graphical = true; me.graphical = true;
me.graphics_card_type = "amd"; me.graphics_card_type = "amd";
me.graphviz.enable = true; me.graphviz.enable = true;
me.instawow.enable = true;
me.iso_mount.enable = true; me.iso_mount.enable = true;
me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml; me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml;
me.jujutsu.enable = true; me.jujutsu.enable = true;

View File

@@ -65,33 +65,33 @@
systemd.services."build-cache" = systemd.services."build-cache" =
let let
enabled_targets = [ enabled_targets = [
"wip" # "wip"
"odo" "odo"
"odo_update" # "odo_update"
"odowork" # "odowork"
"odowork_update" # "odowork_update"
"quark" # "quark"
"quark_update" # "quark_update"
"hydra" # "hydra"
"hydra_update" # "hydra_update"
"controller0" # "controller0"
"controller0_update" # "controller0_update"
"controller1" # "controller1"
"controller1_update" # "controller1_update"
"controller2" # "controller2"
"controller2_update" # "controller2_update"
"worker0" # "worker0"
"worker0_update" # "worker0_update"
"worker1" # "worker1"
"worker1_update" # "worker1_update"
"worker2" # "worker2"
"worker2_update" # "worker2_update"
"family_disks" # "family_disks"
"family_disks_update" # "family_disks_update"
"nixbsd" # "nixbsd"
"nix_builder_develop" # "nix_builder_develop"
"organic_develop" # "organic_develop"
"natter_develop" # "natter_develop"
]; ];
build_flags = lib.concatMap (target: [ build_flags = lib.concatMap (target: [
"--target" "--target"

View File

@@ -0,0 +1,53 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ];
options.me = {
instawow.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to install instawow.";
};
};
config = lib.mkIf config.me.instawow.enable {
environment.systemPackages = with pkgs; [
instawow
];
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".config/instawow";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
environment.persistence."/state" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".cache/instawow";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
};
}