fix(hosts): restore user home-manager wiring and refresh pi-harness deps hash
This commit is contained in:
@@ -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/";}
|
||||||
|
|||||||
@@ -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;
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -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 = [
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
};
|
||||||
|
})
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user