refactor
This commit is contained in:
@@ -1,4 +1,28 @@
|
||||
{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.lib.perHost {
|
||||
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;
|
||||
ssh-client = ./ssh-client.nix;
|
||||
terminal = ./terminal.nix;
|
||||
user = ./user.nix;
|
||||
zellij = ./zellij.nix;
|
||||
zk = ./zk.nix;
|
||||
};
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
{den, ...}: {
|
||||
den.aspects.jason.includes = [
|
||||
(den.lib.perHost {
|
||||
includes = [
|
||||
den.aspects.darwin-system
|
||||
den.aspects.core
|
||||
den.aspects.tailscale
|
||||
];
|
||||
den.hosts.aarch64-darwin.jason.users.cschmatzler.aspect = "jason-cschmatzler";
|
||||
|
||||
darwin = {...}: {
|
||||
networking.hostName = "jason";
|
||||
networking.computerName = "jason";
|
||||
};
|
||||
})
|
||||
(den.lib.perUser {
|
||||
den.aspects.jason-cschmatzler = {
|
||||
includes = [
|
||||
den.aspects.cschmatzler
|
||||
den.aspects.shell
|
||||
den.aspects.ssh-client
|
||||
den.aspects.terminal
|
||||
@@ -29,9 +17,24 @@
|
||||
];
|
||||
|
||||
homeManager = {...}: {
|
||||
programs.home-manager.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
programs.git.settings.user.email = "christoph@schmatzler.com";
|
||||
};
|
||||
};
|
||||
|
||||
den.aspects.jason.includes = [
|
||||
(den.lib.perHost {
|
||||
includes = [
|
||||
den.aspects.darwin-system
|
||||
den.aspects.core
|
||||
den.aspects.tailscale
|
||||
];
|
||||
|
||||
darwin = {...}: {
|
||||
networking.hostName = "jason";
|
||||
networking.computerName = "jason";
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
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.lib.perHost {
|
||||
includes = [
|
||||
|
||||
@@ -1,4 +1,73 @@
|
||||
{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.lib.perHost {
|
||||
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