55 lines
1.7 KiB
Nix
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...
|
|
];
|
|
};
|
|
};
|
|
}
|