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;
|
|
|
|
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-20 06:16:39 +00:00
|
|
|
plugins = [ "git" "sudo" "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;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
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
|
|
|
}
|