This repository has been archived on 2024-12-15. You can view files and clone it, but cannot push or open issues or pull requests.
nixos-config/home-mandlm.nix

202 lines
4.3 KiB
Nix
Raw Normal View History

2022-06-18 17:48:25 +00:00
{ config, lib, pkgs, user, ...}:
{
home = {
username = "${user}";
homeDirectory = "/home/${user}";
2022-06-18 18:16:46 +00:00
packages = with pkgs; [
bat
2022-06-19 16:42:34 +00:00
firefox
2022-06-20 06:16:24 +00:00
jq
2022-06-18 18:16:46 +00:00
htop
2022-06-20 06:38:03 +00:00
ripgrep
2022-06-20 09:44:49 +00:00
pavucontrol
2022-06-20 13:49:53 +00:00
gcc
nodejs
unzip
cargo
rustc
gcc
2022-06-20 18:35:47 +00:00
pkg-config
openssl
2022-06-18 18:16:46 +00:00
];
2022-06-20 13:49:53 +00:00
file = {
".config/nvim/init.lua" = {
source = nvim/init.lua;
};
".config/nvim/lua" = {
source = nvim/lua;
recursive = true;
};
};
2022-06-18 17:48:25 +00:00
stateVersion = "22.05";
};
2022-06-20 18:35:47 +00:00
services.gpg-agent = {
enable = true;
enableZshIntegration = true;
pinentryFlavor = "gnome3";
};
2022-06-18 18:16:46 +00:00
programs = {
2022-06-20 06:15:45 +00:00
fzf = {
2022-06-19 16:42:34 +00:00
enable = true;
2022-06-20 06:15:45 +00:00
enableZshIntegration = true;
};
2022-06-20 06:15:18 +00:00
git = {
enable = true;
extraConfig = {
2022-06-20 13:48:54 +00:00
user.private.name = "Michael Mandl";
user.private.email = "mandlm@molez.net";
user.private.signingkey = "4AA25D647AA54CC7";
user.swp.name = "Michael Mandl";
user.swp.email = "mandl@vi-bim.de";
user.swp.signingkey = "4E60F44227F611B4";
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";
2022-06-20 06:15:18 +00:00
init.defaultBranch = "main";
2022-06-20 13:48:54 +00:00
log.date = "relative";
pull.rebase = true;
rebase.autostash = true;
rerere.enabled = true;
worktree.guessRemote = true;
};
aliases = {
2022-06-20 17:42:49 +00:00
identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config user.signingkey \"$(git config user.$1.signingkey)\"; git config commit.gpgsign \"true\"; :";
2022-06-20 06:15:18 +00:00
};
};
2022-06-20 06:15:45 +00:00
kitty = {
enable = true;
theme = "Solarized Dark";
font = {
name = "DejaVu Sans Mono";
2022-06-20 13:48:54 +00:00
size = 12;
2022-06-19 16:42:34 +00:00
};
};
2022-06-20 06:16:13 +00:00
neovim = {
enable = true;
};
2022-06-19 16:42:34 +00:00
tmux = {
enable = true;
newSession = true;
2022-06-21 12:33:28 +00:00
keyMode = "vi";
2022-06-19 16:42:34 +00:00
extraConfig = ''
set-option -g status off
'';
};
2022-06-20 17:18:46 +00:00
gpg = {
enable = true;
mutableKeys = false;
mutableTrust = false;
publicKeys = [{
source = ./gnupg/pubring.asc;
trust = "ultimate";
}];
};
2022-06-18 18:16:46 +00:00
zsh = {
enable = true;
enableSyntaxHighlighting = true;
history.size = 10000;
oh-my-zsh = {
enable = true;
2022-06-21 12:34:09 +00:00
plugins = [ "git" "direnv" "tmux" "vi-mode" ];
2022-06-18 18:16:46 +00:00
theme = "intheloop";
};
2022-06-20 06:16:39 +00:00
localVariables = {
ZSH_TMUX_AUTOSTART = true;
ZSH_TMUX_AUTOCONNECT = true;
ZSH_TMUX_UNICODE = true;
};
2022-06-18 18:16:46 +00:00
};
2022-06-20 09:34:05 +00:00
i3status-rust = {
enable = true;
2022-06-20 13:49:18 +00:00
bars = {
default = {
theme = "solarized-dark";
icons = "awesome";
blocks = [
{
block = "memory";
display_type = "memory";
format_mem = "{mem_used_percents}";
}
{
block = "cpu";
interval = 1;
format = "{barchart} {frequency}";
2022-06-20 13:49:18 +00:00
}
{
block = "load";
interval = 1;
format = "{1m}";
}
{
block = "battery";
hide_missing = true;
format = "{time} ({percentage})";
}
{
block = "time";
interval = 60;
format = "%a %d.%m %R";
}
];
};
};
2022-06-20 09:34:05 +00:00
};
2022-06-18 18:16:46 +00:00
home-manager.enable = true;
};
2022-06-20 06:16:53 +00:00
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = "Mod4";
2022-06-20 09:34:05 +00:00
terminal = "${pkgs.kitty}/bin/kitty";
2022-06-20 06:16:53 +00:00
fonts = {
names = ["DejaVu Sans Mono" ];
size = 12.0;
};
2022-06-20 09:34:05 +00:00
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;
};
}];
2022-06-20 06:16:53 +00:00
};
};
2022-06-18 17:48:25 +00:00
}