nix/hosts/home.nix

135 lines
2.7 KiB
Nix

{
config,
pkgs,
...
}:
let
p = import ./parameters.nix;
in
{
home = {
username = p.personal.username;
homeDirectory = "/home/${p.personal.username}";
shell.enableShellIntegration = true;
packages = with pkgs; [
agenix-cli
devenv # Fast, Declarative, Reproducible, and Composable Developer Environments
dive # Docker image explorer
just # Command runner (modern make alternative)
nerd-fonts.fira-code
nerd-fonts.overpass
nodejs
repgrep # Interactive ripgrep
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
shellAliases = {
hm = "home-manager";
hms = "home-manager switch";
hmb = "home-manager build";
g = "git";
".." = "cd ../";
"..." = "cd ../..";
ls = "eza";
j = "just";
};
};
programs = {
direnv.enable = true;
fzf.enable = true;
home-manager.enable = true;
htop.enable = true;
lazygit.enable = true;
zellij.enable = true;
zoxide.enable = true;
bash = {
enable = true;
shellOptions = [
"histappend"
"extglob"
"globstar"
"checkjobs"
];
};
delta = {
enable = true;
enableGitIntegration = true;
};
eza = {
enable = true;
colors = "auto";
extraOptions = [
"--group-directories-first"
"--header"
];
git = true;
icons = "auto";
};
git = {
enable = true;
settings = {
init.defaultBranch = "master";
user = with p.personal; {
name = commonName;
email = email;
};
fetch.pruneTags = true;
pull.rebase = false;
};
signing = {
format = "ssh";
key = "~/.ssh/id_ed25519.pub";
signByDefault = true;
};
};
starship = {
enable = true;
settings = {
add_newline = true;
nix_shell.disabled = false;
container.disabled = true;
};
};
uv = {
enable = true;
settings = {
python-downloads = "never";
python-preference = "only-system";
};
};
ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"colmena.home" = {
hostname = "colmena.home.pasetto.me";
};
"colmena-ts" = {
hostname = "192.168.1.22";
};
"*" = {
user = "pazpi";
identityFile = "~/.ssh/id_ed25519";
};
};
};
};
}