135 lines
2.7 KiB
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|