.
This commit is contained in:
parent
73ff9ee8ee
commit
664eb70e8c
14 changed files with 698 additions and 495 deletions
200
home/agents.nix
Normal file
200
home/agents.nix
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
home-manager-config =
|
||||
{
|
||||
uid,
|
||||
username,
|
||||
}:
|
||||
let
|
||||
HOME = "/home/${username}";
|
||||
in
|
||||
{
|
||||
${username} =
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./nvim
|
||||
./tmux.nix
|
||||
];
|
||||
|
||||
home.username = username;
|
||||
home.homeDirectory = "${HOME}";
|
||||
home.stateVersion = "25.11";
|
||||
home.enableNixpkgsReleaseCheck = false;
|
||||
home.sessionVariables = {
|
||||
DISPLAY = ":1";
|
||||
};
|
||||
|
||||
programs = {
|
||||
chromium.enable = true;
|
||||
claude-code.enable = true;
|
||||
opencode.enable = true;
|
||||
ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
matchBlocks = {
|
||||
"*" = {
|
||||
serverAliveInterval = 60;
|
||||
serverAliveCountMax = 3;
|
||||
};
|
||||
"github.com" = {
|
||||
identityFile = "${HOME}/.ssh/id_ed25519";
|
||||
};
|
||||
};
|
||||
};
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
navigate = true;
|
||||
line-numbers = true;
|
||||
side-by-side = true;
|
||||
};
|
||||
enableGitIntegration = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
signing = {
|
||||
key = "${HOME}/.ssh/id_ed25519.pub";
|
||||
signByDefault = true;
|
||||
};
|
||||
includes = [
|
||||
{
|
||||
condition = "gitdir:~/dealwise/";
|
||||
contents = {
|
||||
user = {
|
||||
name = "felipematos";
|
||||
email = "5471818+fnzr@users.noreply.github.com";
|
||||
signingkey = "${HOME}/.ssh/id_ed25519.pub";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
contents = {
|
||||
user = {
|
||||
name = "${username}";
|
||||
email = "${username}@sandbox.dev";
|
||||
signingkey = "${HOME}/.ssh/id_ed25519.pub";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
settings = {
|
||||
user = {
|
||||
email = "${username}@sandbox.dev";
|
||||
name = "${username}";
|
||||
signingkey = "${HOME}/.ssh/id_ed25519.pub";
|
||||
};
|
||||
gpg.format = "ssh";
|
||||
commit.gpgsign = true;
|
||||
tag.gpgsign = true;
|
||||
core = {
|
||||
editor = "nvim";
|
||||
whitespace = "fix,only-indent-error,trailing-space,space-before-tab";
|
||||
quotepath = false;
|
||||
};
|
||||
diff = {
|
||||
algorithm = "histogram";
|
||||
renames = "copies";
|
||||
tool = "nvim";
|
||||
};
|
||||
difftool = {
|
||||
prompt = false;
|
||||
nvim.cmd = "nvim -d $LOCAL $REMOTE";
|
||||
};
|
||||
merge = {
|
||||
conflictstyle = "zdiff3";
|
||||
tool = "nvim";
|
||||
};
|
||||
mergetool = {
|
||||
prompt = false;
|
||||
keepBackup = false;
|
||||
nvim.cmd = "nvim -d $LOCAL $REMOTE $MERGED -c 'wincmd w' -c 'wincmd J'";
|
||||
};
|
||||
init = {
|
||||
defaultBranch = "master";
|
||||
};
|
||||
push = {
|
||||
autoSetupRemote = true;
|
||||
default = "current";
|
||||
};
|
||||
pull = {
|
||||
rebase = true;
|
||||
};
|
||||
fetch = {
|
||||
prune = true;
|
||||
};
|
||||
help = {
|
||||
autocorrect = "prompt";
|
||||
};
|
||||
};
|
||||
};
|
||||
fish = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{
|
||||
name = "puffer";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "nickeb96";
|
||||
repo = "puffer-fish";
|
||||
rev = "83174b0";
|
||||
sha256 = "sha256-Dhx5+XRxJvlhdnFyimNxFyFiASrGU4ZwyefsDwtKnSg=";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
bind ctrl-space ""
|
||||
'';
|
||||
};
|
||||
starship.enable = true;
|
||||
};
|
||||
custom.tmux.enable = true;
|
||||
custom.neovim = {
|
||||
enable = true;
|
||||
colorscheme = "rose-pine-moon";
|
||||
hostname = "amelia";
|
||||
};
|
||||
xdg.configFile."containers/containers.conf".text = ''
|
||||
[engine]
|
||||
compose_warning_logs=false
|
||||
events_logger="file"
|
||||
|
||||
[containers]
|
||||
log_driver="k8s-file"
|
||||
'';
|
||||
xdg.configFile."opencode/opencode.json".text = builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/config.json";
|
||||
plugin = [ "opencode-antigravity-auth@latest" ];
|
||||
# {
|
||||
# "provider": "ollama",
|
||||
# "ollama": {
|
||||
# "base_url": "http://localhost:11434",
|
||||
# "model": "llama3.2"
|
||||
# }
|
||||
# }
|
||||
provider = {
|
||||
ollama = {
|
||||
model = "qwen3.6";
|
||||
base_url = "http://localhost:11434";
|
||||
};
|
||||
};
|
||||
};
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
XDG_CACHE_HOME = "$HOME/.cache";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home-manager.users = lib.mkMerge [
|
||||
(home-manager-config {
|
||||
uid = 1002;
|
||||
username = "agent";
|
||||
})
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue