nix-git/yodaTab/home-manager.nix

87 lines
2.3 KiB
Nix
Raw Normal View History

2023-08-15 20:55:27 +02:00
{ config, pkgs, ... }:
let
#home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
home-manager = (import ./nix/sources.nix).home-manager;
in
{
imports = [
(import "${home-manager}/nixos")
];
home-manager.users.yoda = {
/* The home.stateVersion option does not have a default and must be set */
2023-08-16 18:28:29 +02:00
/* https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion */
2023-08-15 20:55:27 +02:00
home.stateVersion = "23.05";
2023-08-16 18:28:29 +02:00
2023-08-15 20:55:27 +02:00
/* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */
2023-08-28 17:17:01 +02:00
#home.username = "yoda";
#home.homeDirectory = "/home/yoda";
2023-08-15 20:55:27 +02:00
# Git config using Home Manager modules
programs.git = {
enable = true;
userName = "Daniel Langbein";
userEmail = "daniel@systemli.org";
aliases = {
2023-08-28 17:53:47 +02:00
#st = "status";
2023-08-15 20:55:27 +02:00
};
};
#services.gpg-agent = {
# enable = true;
# enableSshSupport = true;
# defaultCacheTtl = 1800;
#};
2023-08-28 17:17:01 +02:00
2023-08-30 19:23:13 +02:00
programs.ssh = {
enable = true;
userKnownHostsFile = "~/.ssh/known_hosts ${../known_hosts}";
matchBlocks = {
"nas" = {
hostname = "p1st.de";
user = "yoda";
port = 2222;
compression = true;
# TODO
#preferredAuthentication = "publickey";
};
};
};
2023-08-28 17:52:35 +02:00
# TODO: See history.path below.
2023-08-28 17:17:01 +02:00
# xdg = {
# enable = true;
# #dataHome = "${config.xdg.home.homeDirectory}/.local/share";
# };
programs.zsh = {
enable = true;
shellAliases = {
#ll = "ls -l";
#update = "sudo nixos-rebuild switch";
};
history.size = 1000;
2023-08-28 17:52:35 +02:00
history.ignoreDups = true;
2023-08-28 17:17:01 +02:00
#history.ignoreAllDups = true;
2023-08-28 17:52:35 +02:00
# TODO:
# Currently, `config` is my NixOS config. However, I want to access Home Manager's `config`.
# I could change home-manager.users.yoda to be a function and take config as an argument there.
#history.path = "${config.xdg.dataHome}/.histfile";
oh-my-zsh = {
enable = true;
2023-08-28 19:33:33 +02:00
plugins = [
# Provides many aliases and a few useful functions.
#"git"
# Easily prefix your current or previous commands with sudo by pressing `esc` twice.
#"sudo"
];
2023-08-28 17:52:35 +02:00
#theme = "robbyrussell";
theme = "agnoster";
};
2023-08-28 17:17:01 +02:00
};
2023-08-15 20:55:27 +02:00
};
}