nixconf/program-homemanager.nix
2025-04-21 16:48:42 +02:00

55 lines
1.7 KiB
Nix

{ config, pkgs, ... }:
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz";
in
{
imports = [
(import "${home-manager}/nixos")
];
home-manager.users."${config.vars.username}" = {
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "23.11";
/* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */
programs.git = {
enable = true;
userName = config.vars.hm_git_username;
userEmail = config.vars.usermail;
};
programs.zoxide.enable = true;
programs.zoxide.enableZshIntegration = true;
programs.zsh.envExtra = ["LANG=en_US.UTF-8" "EDITOR='nano'"];
programs.ssh.matchBlocks = {
"nixconf" = {
hostname = "github.com";
user = "${config.vars.email}";
identityFile = "/home/${config.vars.username}/.ssh/id_nix";
};
};
};
programs.nix-ld.enable = true;
programs.zsh = {
enable = true;
syntaxHighlighting.enable = true;
enableCompletion = true;
autosuggestions.enable = true;
shellAliases = {
nixapply = "sudo nixos-rebuild switch";
nixupdate = "sudo nix-channel --update && sudo nixos-rebuild switch";
nixclean = "sudo nix-collect-garbage -d";
cp="rsync -ah --info=progress2";
sct="systemctl";
jct="journalctl";
};
ohMyZsh = {
enable = true;
plugins = [ "git" "python" "man" "command-not-found" "safe-paste" "tmux" "zoxide" "kubectl" "zsh-interactive-cd" ];
theme = "agnoster";
customPkgs = [
pkgs.nix-zsh-completions
# and even more...
];
};
};
}