2023-09-09 13:36:21 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
2023-09-09 14:57:55 +02:00
|
|
|
}: let
|
2023-09-11 19:16:26 +02:00
|
|
|
cfg = config.my.desktop.vinzenz;
|
2023-09-09 13:36:21 +02:00
|
|
|
in {
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
# Define user account
|
|
|
|
users.users.vinzenz = {
|
|
|
|
isNormalUser = true;
|
|
|
|
description = "Vinzenz Schroeter";
|
|
|
|
extraGroups = ["networkmanager" "wheel"];
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
};
|
|
|
|
|
|
|
|
# home manager
|
|
|
|
home-manager.users.vinzenz = {
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
home = {
|
|
|
|
username = "vinzenz";
|
|
|
|
homeDirectory = "/home/vinzenz";
|
|
|
|
stateVersion = "22.11";
|
|
|
|
|
|
|
|
sessionVariables = {
|
|
|
|
EDITOR = "nano";
|
|
|
|
};
|
|
|
|
|
|
|
|
packages = with pkgs; [
|
|
|
|
keepassxc
|
|
|
|
insync
|
|
|
|
telegram-desktop
|
|
|
|
simple-scan
|
|
|
|
wireguard-tools
|
|
|
|
element-desktop
|
|
|
|
etcher
|
|
|
|
iotop
|
|
|
|
lsof
|
|
|
|
wirelesstools
|
|
|
|
thefuck
|
|
|
|
dotnet-sdk_7
|
|
|
|
jetbrains.rider
|
|
|
|
alejandra
|
|
|
|
arduino
|
|
|
|
uucp
|
|
|
|
screen
|
|
|
|
jetbrains.pycharm-professional
|
|
|
|
kdiff3
|
|
|
|
docker
|
2023-09-17 12:44:20 +02:00
|
|
|
youtube-music
|
2023-09-09 13:36:21 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
file.".nanorc".text = ''
|
|
|
|
set linenumbers
|
|
|
|
set mouse
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
|
|
|
|
firefox.enable = true;
|
|
|
|
command-not-found.enable = true;
|
|
|
|
dircolors.enable = true;
|
|
|
|
fzf.enable = true;
|
|
|
|
htop.enable = true;
|
2023-09-23 16:55:06 +02:00
|
|
|
mangohud.enable = true;
|
2023-09-09 13:36:21 +02:00
|
|
|
|
|
|
|
zsh = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
enableSyntaxHighlighting = true;
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
enableVteIntegration = true;
|
|
|
|
|
|
|
|
initExtra = ''
|
|
|
|
eval "$(direnv hook zsh)";
|
|
|
|
eval $(thefuck --alias);
|
|
|
|
'';
|
|
|
|
|
|
|
|
shellAliases = {
|
|
|
|
my-apply = "sudo nixos-rebuild boot";
|
|
|
|
my-switch = "sudo nixos-rebuild switch";
|
|
|
|
my-update = "sudo nixos-rebuild boot --upgrade";
|
|
|
|
my-fmt = "alejandra .";
|
2023-09-17 11:15:06 +02:00
|
|
|
my-direnvallow = "echo \"use nix\" > .envrc && direnv allow";
|
|
|
|
my-ip4 = "ip addr show | grep 192";
|
2023-09-09 13:36:21 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
history = {
|
|
|
|
size = 10000;
|
|
|
|
path = "${config.xdg.dataHome}/zsh/history";
|
|
|
|
expireDuplicatesFirst = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
oh-my-zsh = {
|
|
|
|
enable = true;
|
|
|
|
theme = "agnoster";
|
|
|
|
plugins = ["git" "sudo" "docker" "systemadmin" "thefuck"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Vinzenz Schroeter";
|
|
|
|
userEmail = "vinzenz.f.s@gmail.com";
|
|
|
|
|
|
|
|
aliases = {
|
|
|
|
prettylog = "log --pretty=oneline --graph";
|
|
|
|
};
|
2023-09-09 15:44:15 +02:00
|
|
|
|
2023-09-09 13:36:21 +02:00
|
|
|
extraConfig = {
|
|
|
|
pull.ff = "only";
|
|
|
|
init.defaultBranch = "main";
|
|
|
|
merge.tool = "kdiff3";
|
2023-09-09 15:44:15 +02:00
|
|
|
push.autoSetupRemote = "true";
|
2023-09-09 13:36:21 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
gh = {
|
|
|
|
enable = true;
|
|
|
|
enableGitCredentialHelper = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
vscode = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.vscodium;
|
|
|
|
enableUpdateCheck = false;
|
|
|
|
extensions = with pkgs; [
|
|
|
|
vscode-extensions.bbenoist.nix
|
|
|
|
vscode-extensions.ms-python.python
|
|
|
|
vscode-extensions.kamadorueda.alejandra
|
|
|
|
];
|
|
|
|
userSettings = {
|
|
|
|
"git.autofetch" = true;
|
|
|
|
"update.mode" = "none";
|
|
|
|
"editor.fontFamily" = "'Fira Code', 'Droid Sans Mono', 'monospace', monospace";
|
|
|
|
"editor.fontLigatures" = true;
|
|
|
|
"editor.formatOnSave" = true;
|
|
|
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
|
|
|
"editor.minimap.autohide" = true;
|
|
|
|
"diffEditor.diffAlgorithm" = "advanced";
|
|
|
|
"explorer.excludeGitIgnore" = true;
|
|
|
|
"workbench.startupEditor" = "readme";
|
|
|
|
"markdown.extension.tableFormatter.normalizeIndentation" = true;
|
|
|
|
"markdown.extension.toc.orderedList" = false;
|
|
|
|
"telemetry.telemetryLevel" = "off";
|
|
|
|
"redhat.telemetry.enabled" = false;
|
|
|
|
"workbench.enableExperiments" = false;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
direnv = {
|
|
|
|
enable = true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
chromium = {
|
|
|
|
enable = true;
|
|
|
|
extensions = [
|
|
|
|
{
|
|
|
|
# ublock origin
|
|
|
|
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "dcpihecpambacapedldabdbpakmachpb";
|
|
|
|
updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
exa = {
|
|
|
|
enable = true;
|
|
|
|
git = true;
|
|
|
|
icons = true;
|
|
|
|
enableAliases = true;
|
|
|
|
extraOptions = [
|
|
|
|
"--group-directories-first"
|
|
|
|
"--header"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2023-09-23 16:55:06 +02:00
|
|
|
micro = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
colorcolumn = 120;
|
|
|
|
hlsearch = true;
|
|
|
|
savecursor = true;
|
|
|
|
saveundo = true;
|
|
|
|
scrollbar = true;
|
|
|
|
smartpaste = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# checked https://rycee.gitlab.io/home-manager/options.html until "programs.notmuch"
|
2023-09-09 13:36:21 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
editorconfig = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"*" = {
|
|
|
|
charset = "utf-8";
|
|
|
|
end_of_line = "lf";
|
|
|
|
trim_trailing_whitespace = true;
|
|
|
|
insert_final_newline = true;
|
|
|
|
max_line_width = 120;
|
|
|
|
indent_style = "space";
|
|
|
|
indent_size = 4;
|
|
|
|
};
|
|
|
|
"*.nix" = {
|
|
|
|
indent_size = 2;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|