fix(hosts): restore user home-manager wiring and refresh pi-harness deps hash

This commit is contained in:
2026-03-29 18:03:12 +00:00
parent 901059d0cd
commit 11c816b2c2
9 changed files with 136 additions and 127 deletions

View File

@@ -39,7 +39,7 @@ in {
}; };
}); });
default = [ default = [
{path = "/Applications/Helium.app/";} {path = "/Applications/Safari.app/";}
{path = "/Applications/Ghostty.app/";} {path = "/Applications/Ghostty.app/";}
{path = "/System/Applications/Calendar.app/";} {path = "/System/Applications/Calendar.app/";}
{path = "/System/Applications/Mail.app/";} {path = "/System/Applications/Mail.app/";}

View File

@@ -1,7 +1,9 @@
{ {
den, den,
lib, lib,
}: { }: let
merge = lib.recursiveUpdate;
in {
mkUserHost = { mkUserHost = {
system, system,
host, host,
@@ -10,8 +12,9 @@
includes ? [], includes ? [],
homeManager ? null, homeManager ? null,
}: }:
merge
(lib.setAttrByPath ["den" "hosts" system host "users" user "aspect"] userAspect) (lib.setAttrByPath ["den" "hosts" system host "users" user "aspect"] userAspect)
// (lib.setAttrByPath ["den" "aspects" userAspect] ({inherit includes;} (lib.setAttrByPath ["den" "aspects" userAspect] ({inherit includes;}
// lib.optionalAttrs (homeManager != null) { // lib.optionalAttrs (homeManager != null) {
inherit homeManager; inherit homeManager;
})); }));

View File

@@ -12,7 +12,7 @@
src = inputs.pi-harness; src = inputs.pi-harness;
pnpm = prev.pnpm_10; pnpm = prev.pnpm_10;
fetcherVersion = 1; fetcherVersion = 1;
hash = "sha256-NxdWrSNhk+rcvACQoBRPa+bHgLi9vMwCxjH2UySVXEc="; hash = "sha256-l85j3MH/uott+6Cbo9r3w8jojdlikjGf26l4Q1qa43g=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@@ -151,10 +151,12 @@ in {
"alcove" "alcove"
"aqua-voice" "aqua-voice"
"ghostty@tip" "ghostty@tip"
"helium-browser"
"raycast" "raycast"
"spotify" "spotify"
]; ];
masApps = {
"Wipr 2" = 1662217862;
};
}; };
}; };
} }

View File

@@ -56,7 +56,7 @@
} }
{ {
"if" = { "if" = {
"app-id" = "net.imput.helium"; "app-id" = "com.apple.Safari";
}; };
run = "move-node-to-workspace 2"; run = "move-node-to-workspace 2";
} }

View File

@@ -8,27 +8,28 @@
host = "chidi"; host = "chidi";
hostMeta = local.hosts.chidi; hostMeta = local.hosts.chidi;
in in
hostLib.mkUserHost { lib.recursiveUpdate
system = hostMeta.system; (hostLib.mkUserHost {
inherit host; system = hostMeta.system;
user = local.user.name; inherit host;
includes = [den.aspects.user-darwin-laptop]; user = local.user.name;
homeManager = {...}: { includes = [den.aspects.user-darwin-laptop];
programs.git.settings.user.email = local.user.emails.work; homeManager = {...}: {
}; programs.git.settings.user.email = local.user.emails.work;
} };
// hostLib.mkPerHostAspect { })
inherit host; (hostLib.mkPerHostAspect {
includes = [ inherit host;
den.aspects.host-darwin-base includes = [
den.aspects.opencode-api-key den.aspects.host-darwin-base
]; den.aspects.opencode-api-key
darwin = {...}: {
networking.hostName = host;
networking.computerName = host;
homebrew.casks = [
"slack"
]; ];
}; darwin = {...}: {
} networking.hostName = host;
networking.computerName = host;
homebrew.casks = [
"slack"
];
};
})

View File

@@ -8,23 +8,24 @@
host = "janet"; host = "janet";
hostMeta = local.hosts.janet; hostMeta = local.hosts.janet;
in in
hostLib.mkUserHost { lib.recursiveUpdate
system = hostMeta.system; (hostLib.mkUserHost {
inherit host; system = hostMeta.system;
user = local.user.name; inherit host;
includes = [ user = local.user.name;
den.aspects.user-darwin-laptop includes = [
den.aspects.user-personal den.aspects.user-darwin-laptop
]; den.aspects.user-personal
} ];
// hostLib.mkPerHostAspect { })
inherit host; (hostLib.mkPerHostAspect {
includes = [ inherit host;
den.aspects.host-darwin-base includes = [
den.aspects.opencode-api-key den.aspects.host-darwin-base
]; den.aspects.opencode-api-key
darwin = {...}: { ];
networking.hostName = host; darwin = {...}: {
networking.computerName = host; networking.hostName = host;
}; networking.computerName = host;
} };
})

View File

@@ -9,26 +9,27 @@
host = "michael"; host = "michael";
hostMeta = local.hosts.michael; hostMeta = local.hosts.michael;
in in
hostLib.mkUserHost { lib.recursiveUpdate
system = hostMeta.system; (hostLib.mkUserHost {
inherit host; system = hostMeta.system;
user = local.user.name; inherit host;
includes = [den.aspects.user-minimal]; user = local.user.name;
} includes = [den.aspects.user-minimal];
// hostLib.mkPerHostAspect { })
inherit host; (hostLib.mkPerHostAspect {
includes = [ inherit host;
den.aspects.host-public-server includes = [
den.aspects.gitea den.aspects.host-public-server
]; den.aspects.gitea
nixos = {modulesPath, ...}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
./_parts/michael/disk-config.nix
./_parts/michael/hardware-configuration.nix
inputs.disko.nixosModules.default
]; ];
nixos = {modulesPath, ...}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
./_parts/michael/disk-config.nix
./_parts/michael/hardware-configuration.nix
inputs.disko.nixosModules.default
];
networking.hostName = host; networking.hostName = host;
}; };
} })

View File

@@ -9,66 +9,67 @@
host = "tahani"; host = "tahani";
hostMeta = local.hosts.tahani; hostMeta = local.hosts.tahani;
in in
hostLib.mkUserHost { lib.recursiveUpdate
system = hostMeta.system; (hostLib.mkUserHost {
inherit host; system = hostMeta.system;
user = local.user.name; inherit host;
includes = [ user = local.user.name;
den.aspects.user-workstation includes = [
den.aspects.user-personal den.aspects.user-workstation
den.aspects.email den.aspects.user-personal
]; den.aspects.email
homeManager = { ];
programs.nushell.extraConfig = '' homeManager = {
if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) { programs.nushell.extraConfig = ''
try { if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) {
zellij attach -c main try {
exit zellij attach -c main
} catch { exit
print "zellij auto-start failed; staying in shell" } catch {
print "zellij auto-start failed; staying in shell"
}
} }
} '';
''; };
}; })
} (hostLib.mkPerHostAspect {
// hostLib.mkPerHostAspect { inherit host;
inherit host; includes = [
includes = [ den.aspects.host-nixos-base
den.aspects.host-nixos-base den.aspects.opencode-api-key
den.aspects.opencode-api-key den.aspects.adguardhome
den.aspects.adguardhome den.aspects.cache
den.aspects.cache den.aspects.notability
den.aspects.notability den.aspects.paperless
den.aspects.paperless
];
nixos = {...}: {
imports = [
./_parts/tahani/networking.nix
]; ];
nixos = {...}: {
imports = [
./_parts/tahani/networking.nix
];
networking.hostName = host; networking.hostName = host;
sops.secrets.tahani-email-password = sops.secrets.tahani-email-password =
secretLib.mkUserBinarySecret { secretLib.mkUserBinarySecret {
name = "tahani-email-password"; name = "tahani-email-password";
sopsFile = ../../secrets/tahani-email-password; sopsFile = ../../secrets/tahani-email-password;
}; };
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
users.users.${local.user.name}.extraGroups = [ users.users.${local.user.name}.extraGroups = [
"docker" "docker"
"paperless" "paperless"
]; ];
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /var/lib/paperless/consume 2775 paperless paperless -" "d /var/lib/paperless/consume 2775 paperless paperless -"
"d /var/lib/paperless/consume/inbox-triage 2775 paperless paperless -" "d /var/lib/paperless/consume/inbox-triage 2775 paperless paperless -"
]; ];
swapDevices = [ swapDevices = [
{ {
device = "/swapfile"; device = "/swapfile";
size = 16 * 1024; size = 16 * 1024;
} }
]; ];
}; };
} })