95 lines
2.1 KiB
Nix
95 lines
2.1 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
inputs,
|
|
user,
|
|
hostname,
|
|
...
|
|
}: let
|
|
himalaya = config.home-manager.users.${user}.programs.himalaya.package;
|
|
opencode = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode;
|
|
in {
|
|
imports = [
|
|
./adguardhome.nix
|
|
./cache.nix
|
|
./networking.nix
|
|
./paperless.nix
|
|
./secrets.nix
|
|
../../profiles/core.nix
|
|
../../profiles/nixos.nix
|
|
../../profiles/openssh.nix
|
|
../../profiles/tailscale.nix
|
|
inputs.sops-nix.nixosModules.sops
|
|
];
|
|
|
|
networking.hostName = hostname;
|
|
|
|
home-manager.users.${user} = {
|
|
imports = [
|
|
../../profiles/atuin.nix
|
|
../../profiles/bash.nix
|
|
../../profiles/bat.nix
|
|
../../profiles/direnv.nix
|
|
../../profiles/nushell.nix
|
|
../../profiles/fzf.nix
|
|
../../profiles/git.nix
|
|
../../profiles/himalaya.nix
|
|
../../profiles/mbsync.nix
|
|
../../profiles/home.nix
|
|
../../profiles/jjui.nix
|
|
../../profiles/jujutsu.nix
|
|
../../profiles/lazygit.nix
|
|
../../profiles/mise.nix
|
|
../../profiles/neovim
|
|
../../profiles/opencode.nix
|
|
../../profiles/claude-code.nix
|
|
../../profiles/ripgrep.nix
|
|
../../profiles/ssh.nix
|
|
../../profiles/starship.nix
|
|
../../profiles/yazi.nix
|
|
../../profiles/zellij.nix
|
|
../../profiles/zk.nix
|
|
../../profiles/zoxide.nix
|
|
../../profiles/zsh.nix
|
|
inputs.nixvim.homeModules.nixvim
|
|
];
|
|
|
|
programs.git.settings.user.email = "christoph@schmatzler.com";
|
|
|
|
systemd.user.services.opencode-inbox-triage = {
|
|
Unit = {
|
|
Description = "OpenCode inbox triage";
|
|
};
|
|
Service = {
|
|
Type = "oneshot";
|
|
ExecStart = "${opencode}/bin/opencode run --command inbox-triage";
|
|
Environment = "PATH=${himalaya}/bin:${opencode}/bin:${pkgs.coreutils}/bin";
|
|
};
|
|
};
|
|
|
|
systemd.user.timers.opencode-inbox-triage = {
|
|
Unit = {
|
|
Description = "Run OpenCode inbox triage every 10 minutes";
|
|
};
|
|
Timer = {
|
|
OnCalendar = "*:0/10";
|
|
Persistent = true;
|
|
};
|
|
Install = {
|
|
WantedBy = ["timers.target"];
|
|
};
|
|
};
|
|
};
|
|
|
|
virtualisation.docker.enable = true;
|
|
|
|
users.users.${user}.extraGroups = ["docker"];
|
|
|
|
swapDevices = [
|
|
{
|
|
device = "/swapfile";
|
|
size = 16 * 1024;
|
|
}
|
|
];
|
|
}
|