nixos-config/home-mandlm.nix

127 lines
2.3 KiB
Nix

{ config, lib, pkgs, user, ...}:
{
home = {
username = "${user}";
homeDirectory = "/home/${user}";
packages = with pkgs; [
bat
firefox
jq
htop
ripgrep
pavucontrol
];
stateVersion = "22.05";
};
programs = {
fzf = {
enable = true;
enableZshIntegration = true;
tmux.enableShellIntegration = true;
};
git = {
enable = true;
userName = "Michael Mandl";
userEmail = "mandlm@molez.net";
extraConfig = {
core.editor = "nvim";
fetch.writeCommitGraph = true;
format.pretty = "format:%C(yellow)%h %Cblue%>(12)%ad %C(red)%G? %Cgreen%<(7,trunc)%aN%Cred%d %Creset%s";
init.defaultBranch = "main";
log.date = "relative";
pull.rebase = true;
rebase.autostash = true;
rerere.enabled = true;
worktree.guessRemote = true;
};
};
kitty = {
enable = true;
theme = "Solarized Dark";
font = {
name = "DejaVu Sans Mono";
size = 12;
};
};
neovim = {
enable = true;
plugins = with pkgs.vimPlugins; [
vim-fugitive
];
};
tmux = {
enable = true;
newSession = true;
extraConfig = ''
set-option -g status off
'';
};
zsh = {
enable = true;
enableSyntaxHighlighting = true;
history.size = 10000;
oh-my-zsh = {
enable = true;
plugins = [ "git" "sudo" "tmux" "vi-mode" ];
theme = "intheloop";
};
localVariables = {
ZSH_TMUX_AUTOSTART = true;
ZSH_TMUX_AUTOCONNECT = true;
ZSH_TMUX_UNICODE = true;
};
};
i3status-rust = {
enable = true;
};
home-manager.enable = true;
};
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = "Mod4";
terminal = "${pkgs.kitty}/bin/kitty";
fonts = {
names = ["DejaVu Sans Mono" ];
size = 12.0;
};
window = {
titlebar = false;
border = 0;
};
floating = {
titlebar = false;
border = 0;
};
bars = [{
mode = "hide";
position = "top";
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
fonts = {
names = ["DejaVu Sans Mono" ];
size = 12.0;
};
}];
};
};
}