Add home manager to colmena
This commit is contained in:
parent
96e3db4a8b
commit
58a8ff88d5
32 changed files with 245 additions and 189 deletions
135
hosts/home.nix
Normal file
135
hosts/home.nix
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
{
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue