nix-dotfiles/home.nix
2021-04-17 19:55:29 +02:00

110 lines
2.2 KiB
Nix

{ pkgs, ... }:
let unstable = import <nixos-unstable> {};
in {
fonts.fontconfig = {
enable = true;
};
home = {
language.base = "it_IT.UTF-8";
keyboard.layout = "it";
keyboard.options = ["terminate:ctrl_alt_bksp" "compose:rctrl"];
packages = with pkgs; [
nerdfonts
];
};
programs = {
alacritty = {
enable = false;
settings = import ./alacritty.nix;
};
bat = {
enable = true;
config = {
theme = "Nord";
};
};
command-not-found.enable = true;
broot = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
dircolors = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
direnv = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableNixDirenvIntegration = true;
};
git =
let kakouneCommand = "${pkgs.kakoune}/bin/kak";
meldCommand = "${pkgs.meld}/bin/meld";
in {
enable = true;
userName = "Filippo Berto";
userEmail = "berto.f@protonmail.com";
signing = {
key = "berto.f@protonmail.com";
signByDefault = true;
};
extraConfig = {
core.editor = kakouneCommand;
credential.helper = "cache --timeout=3600";
diff.guitool = meldCommand;
merge.guitool = meldCommand;
pull.rebase = true;
rebase.autostash = true;
init.defaultBranch = "master";
};
lfs.enable = true;
delta.enable = true;
};
home-manager.enable = true;
info.enable = true;
kakoune = {
enable = true;
config = import ./kakoune.nix pkgs;
extraConfig = builtins.concatStringsSep "\n" [
"# Extra"
"define-command -docstring 'save and quit' x 'write-all; quit'"
"add-highlighter global/ regex \\h+$ 0:Error"
"eval %sh{kak-lsp --kakoune -s \$kak_session}"
"require-module auto-pairs"
"require-module powerline"
];
plugins = with pkgs; [
kakounePlugins.kak-auto-pairs
unstable.kakounePlugins.powerline-kak
unstable.kakounePlugins.prelude-kak
];
};
zsh = {
enableVteIntegration = true;
};
};
qt = {
enable = true;
platformTheme = "gtk";
};
xsession.numlock.enable = true;
}