Files
nix/users/blake/home.nix

101 lines
2.2 KiB
Nix

{ config, pkgs, ... }:
{
# general config
home.username = "blake";
home.homeDirectory = "/home/blake";
home.packages = with pkgs; [
git
lf
ripgrep
btop
p7zip
ctpv
imagemagick
sops
usbutils
trashy
];
# setup zsh
home.sessionVariables.ZDOTDIR = "$HOME/.config/zsh";
programs.zsh = {
enable = true;
};
# link dotfiles
xdg.configFile."zsh" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/zsh";
recursive = true;
};
# setup neovim
programs.neovim = {
enable = true;
};
# link dotfiles
xdg.configFile."nvim" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/nvim";
recursive = true;
};
# setup lf
programs.lf = {
enable = false;
};
# link dotfiles
xdg.configFile."lf" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/lf";
recursive = true;
};
xdg.configFile."ctpv" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/ctpv";
recursive = true;
};
programs.gpg = {
enable = true;
};
services.gpg-agent = {
enable = true;
};
programs.ssh = {
enable = true;
matchBlocks = {
"git.blakedheld.xyz" = {
user = "gitea";
identityFile = "~/.ssh/id_snowbelle";
};
"git.snowbelle.lan" = {
user = "gitea";
identityFile = "~/.ssh/id_snowbelle";
};
"dockers" = {
hostname = "10.10.0.30";
user = "blake";
identityFile = "~/.ssh/id_snowbelle";
};
};
};
# import sshkeys from keyring
home.file.".ssh/id_snowbelle".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle;
home.file.".ssh/id_snowbelle.pub".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle.pub;
# configure git
programs.git = {
enable = true;
userName = "blake";
userEmail = "me@blakedheld.xyz";
extraConfig = {
init.defaultBranch = "trunk";
core.editor = "nvim";
pull.rebase = true;
push.autoSetupRemote = true;
};
};
home.stateVersion = "25.05";
}