You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.4 KiB

{ config, pkgs, ... }:
let
mkPersistentLink = path: pkgs.runCommand "persistent-link" {} ''
ln -s /home/hblobner/.local/share/pfke/nix-config/${path} $out
'';
in {
imports = [
./modules/cli/bat.nix
./modules/cli/fish.nix
./modules/keychain.nix
./modules/cli/starship.nix
];
home.file.".config/nvim".source = mkPersistentLink "dot_files/.config/nvim";
# home.file.".config/nvim".onChange = "nvim --headless \"+Lazy! sync\" +qa";
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "hblobner";
home.homeDirectory = "/home/hblobner";
fonts = {
fonts = with pkgs; [
noto-fonts
noto-fonts-emoji
font-awesome
source-han-sans
(nerdfonts.override { fonts = [ "Meslo" ]})
];
fontconfig = {
enable = true;
defaultFonts = {
monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ];
serif = [ "Noto Serif" "Source Han Serif" ];
sansSerif = [ "Nono Sans" "Source Han Sans" ];
};
}
}
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
exa
fasd
fd
htop
fortune
python3
ranger
ripgrep
rsync
clang
];
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# git
programs.git = {
enable = true;
userName = "hblobner";
userEmail = "hblobner@avm.de";
aliases = {
st = "status";
};
};
programs.neovim = {
enable = true;
vimAlias = true;
};
home.sessionPath = [ "/home/hblobner/.gu/bin" ];
home.sessionVariables = {
EDITOR = "nvim";
PERL5LIB = "/home/hblobner/.gu/lib/perl";
GU_ENV = "1";
MAKE_J_OPTION = "$(nproc)";
MAKEFLAGS = "-j$(nproc)";
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
}