refactor
This commit is contained in:
@@ -1,4 +1,28 @@
|
|||||||
{den, ...}: {
|
{den, ...}: {
|
||||||
|
den.hosts.aarch64-darwin.chidi.users.cschmatzler.aspect = "chidi-cschmatzler";
|
||||||
|
|
||||||
|
den.aspects.chidi-cschmatzler = {
|
||||||
|
includes = [
|
||||||
|
den.aspects.shell
|
||||||
|
den.aspects.ssh-client
|
||||||
|
den.aspects.terminal
|
||||||
|
den.aspects.atuin
|
||||||
|
den.aspects.dev-tools
|
||||||
|
den.aspects.neovim
|
||||||
|
den.aspects.ai-tools
|
||||||
|
den.aspects.secrets
|
||||||
|
den.aspects.zellij
|
||||||
|
den.aspects.zk
|
||||||
|
den.aspects.desktop
|
||||||
|
];
|
||||||
|
|
||||||
|
homeManager = {...}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
programs.git.settings.user.email = "christoph@tuist.dev";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
den.aspects.chidi.includes = [
|
den.aspects.chidi.includes = [
|
||||||
(den.lib.perHost {
|
(den.lib.perHost {
|
||||||
includes = [
|
includes = [
|
||||||
@@ -16,26 +40,5 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(den.lib.perUser {
|
|
||||||
includes = [
|
|
||||||
den.aspects.cschmatzler
|
|
||||||
den.aspects.shell
|
|
||||||
den.aspects.ssh-client
|
|
||||||
den.aspects.terminal
|
|
||||||
den.aspects.atuin
|
|
||||||
den.aspects.dev-tools
|
|
||||||
den.aspects.neovim
|
|
||||||
den.aspects.ai-tools
|
|
||||||
den.aspects.secrets
|
|
||||||
den.aspects.zellij
|
|
||||||
den.aspects.zk
|
|
||||||
den.aspects.desktop
|
|
||||||
];
|
|
||||||
|
|
||||||
homeManager = {...}: {
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
programs.git.settings.user.email = "christoph@tuist.dev";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
shell = ./shell.nix;
|
shell = ./shell.nix;
|
||||||
ssh-client = ./ssh-client.nix;
|
ssh-client = ./ssh-client.nix;
|
||||||
terminal = ./terminal.nix;
|
terminal = ./terminal.nix;
|
||||||
user = ./user.nix;
|
|
||||||
zellij = ./zellij.nix;
|
zellij = ./zellij.nix;
|
||||||
zk = ./zk.nix;
|
zk = ./zk.nix;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,28 @@
|
|||||||
{den, ...}: {
|
{den, ...}: {
|
||||||
|
den.hosts.aarch64-darwin.jason.users.cschmatzler.aspect = "jason-cschmatzler";
|
||||||
|
|
||||||
|
den.aspects.jason-cschmatzler = {
|
||||||
|
includes = [
|
||||||
|
den.aspects.shell
|
||||||
|
den.aspects.ssh-client
|
||||||
|
den.aspects.terminal
|
||||||
|
den.aspects.atuin
|
||||||
|
den.aspects.dev-tools
|
||||||
|
den.aspects.neovim
|
||||||
|
den.aspects.ai-tools
|
||||||
|
den.aspects.secrets
|
||||||
|
den.aspects.zellij
|
||||||
|
den.aspects.zk
|
||||||
|
den.aspects.desktop
|
||||||
|
];
|
||||||
|
|
||||||
|
homeManager = {...}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
programs.git.settings.user.email = "christoph@schmatzler.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
den.aspects.jason.includes = [
|
den.aspects.jason.includes = [
|
||||||
(den.lib.perHost {
|
(den.lib.perHost {
|
||||||
includes = [
|
includes = [
|
||||||
@@ -12,26 +36,5 @@
|
|||||||
networking.computerName = "jason";
|
networking.computerName = "jason";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(den.lib.perUser {
|
|
||||||
includes = [
|
|
||||||
den.aspects.cschmatzler
|
|
||||||
den.aspects.shell
|
|
||||||
den.aspects.ssh-client
|
|
||||||
den.aspects.terminal
|
|
||||||
den.aspects.atuin
|
|
||||||
den.aspects.dev-tools
|
|
||||||
den.aspects.neovim
|
|
||||||
den.aspects.ai-tools
|
|
||||||
den.aspects.secrets
|
|
||||||
den.aspects.zellij
|
|
||||||
den.aspects.zk
|
|
||||||
den.aspects.desktop
|
|
||||||
];
|
|
||||||
|
|
||||||
homeManager = {...}: {
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
programs.git.settings.user.email = "christoph@schmatzler.com";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,16 @@
|
|||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
den.hosts.x86_64-linux.michael.users.cschmatzler.aspect = "michael-cschmatzler";
|
||||||
|
|
||||||
|
den.aspects.michael-cschmatzler = {
|
||||||
|
includes = [den.aspects.shell];
|
||||||
|
|
||||||
|
homeManager = {...}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
den.aspects.michael.includes = [
|
den.aspects.michael.includes = [
|
||||||
(den.lib.perHost {
|
(den.lib.perHost {
|
||||||
includes = [
|
includes = [
|
||||||
|
|||||||
@@ -1,4 +1,73 @@
|
|||||||
{den, ...}: {
|
{den, ...}: {
|
||||||
|
den.hosts.x86_64-linux.tahani.users.cschmatzler.aspect = "tahani-cschmatzler";
|
||||||
|
|
||||||
|
den.aspects.tahani-cschmatzler = {
|
||||||
|
includes = [
|
||||||
|
den.aspects.shell
|
||||||
|
den.aspects.ssh-client
|
||||||
|
den.aspects.terminal
|
||||||
|
den.aspects.atuin
|
||||||
|
den.aspects.dev-tools
|
||||||
|
den.aspects.neovim
|
||||||
|
den.aspects.ai-tools
|
||||||
|
den.aspects.secrets
|
||||||
|
den.aspects.zellij
|
||||||
|
den.aspects.zk
|
||||||
|
den.aspects.email
|
||||||
|
];
|
||||||
|
|
||||||
|
homeManager = {
|
||||||
|
config,
|
||||||
|
inputs',
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
opencode = inputs'.llm-agents.packages.opencode;
|
||||||
|
in {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.git.settings.user.email = "christoph@schmatzler.com";
|
||||||
|
|
||||||
|
programs.opencode.settings.permission.external_directory = {
|
||||||
|
"/tmp/himalaya-triage/*" = "allow";
|
||||||
|
"/var/lib/paperless/consume/inbox-triage/*" = "allow";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nushell.extraConfig = ''
|
||||||
|
if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) {
|
||||||
|
try {
|
||||||
|
zellij attach -c main
|
||||||
|
exit
|
||||||
|
} catch {
|
||||||
|
print "zellij auto-start failed; staying in shell"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
systemd.user.services.opencode-inbox-triage = {
|
||||||
|
Unit = {
|
||||||
|
Description = "OpenCode inbox triage";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${opencode}/bin/opencode run --command inbox-triage --model opencode-go/glm-5";
|
||||||
|
Environment = "PATH=${config.home.profileDirectory}/bin:/run/current-system/sw/bin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.timers.opencode-inbox-triage = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Run OpenCode inbox triage every 12 hours";
|
||||||
|
};
|
||||||
|
Timer = {
|
||||||
|
OnCalendar = "*-*-* 0/12:00:00";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["timers.target"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
den.aspects.tahani.includes = [
|
den.aspects.tahani.includes = [
|
||||||
(den.lib.perHost {
|
(den.lib.perHost {
|
||||||
includes = [
|
includes = [
|
||||||
@@ -51,71 +120,5 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(den.lib.perUser {
|
|
||||||
includes = [
|
|
||||||
den.aspects.cschmatzler
|
|
||||||
den.aspects.shell
|
|
||||||
den.aspects.ssh-client
|
|
||||||
den.aspects.terminal
|
|
||||||
den.aspects.atuin
|
|
||||||
den.aspects.dev-tools
|
|
||||||
den.aspects.neovim
|
|
||||||
den.aspects.ai-tools
|
|
||||||
den.aspects.secrets
|
|
||||||
den.aspects.zellij
|
|
||||||
den.aspects.zk
|
|
||||||
den.aspects.email
|
|
||||||
];
|
|
||||||
|
|
||||||
homeManager = {
|
|
||||||
config,
|
|
||||||
inputs',
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
opencode = inputs'.llm-agents.packages.opencode;
|
|
||||||
in {
|
|
||||||
programs.git.settings.user.email = "christoph@schmatzler.com";
|
|
||||||
|
|
||||||
programs.opencode.settings.permission.external_directory = {
|
|
||||||
"/tmp/himalaya-triage/*" = "allow";
|
|
||||||
"/var/lib/paperless/consume/inbox-triage/*" = "allow";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nushell.extraConfig = ''
|
|
||||||
if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) {
|
|
||||||
try {
|
|
||||||
zellij attach -c main
|
|
||||||
exit
|
|
||||||
} catch {
|
|
||||||
print "zellij auto-start failed; staying in shell"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
systemd.user.services.opencode-inbox-triage = {
|
|
||||||
Unit = {
|
|
||||||
Description = "OpenCode inbox triage";
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${opencode}/bin/opencode run --command inbox-triage --model opencode-go/glm-5";
|
|
||||||
Environment = "PATH=${config.home.profileDirectory}/bin:/run/current-system/sw/bin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.timers.opencode-inbox-triage = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Run OpenCode inbox triage every 12 hours";
|
|
||||||
};
|
|
||||||
Timer = {
|
|
||||||
OnCalendar = "*-*-* 0/12:00:00";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
Install = {
|
|
||||||
WantedBy = ["timers.target"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
{den, ...}: {
|
|
||||||
den.aspects.cschmatzler.includes = [
|
|
||||||
den.provides.primary-user
|
|
||||||
];
|
|
||||||
|
|
||||||
den.aspects.cschmatzler.homeManager = {
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user