nixos-configuration/modules/users/vinzenz-home.nix

194 lines
4.6 KiB
Nix
Raw Normal View History

2023-09-24 12:39:28 +02:00
{
config,
pkgs,
...
}: {
home.packages = with pkgs; [
keepassxc
unstable.insync
2023-09-24 12:39:28 +02:00
telegram-desktop
simple-scan
wireguard-tools
element-desktop
etcher
iotop
lsof
wirelesstools
thefuck
dotnet-sdk_7
ultrastable.jetbrains.rider
2023-09-24 12:39:28 +02:00
alejandra
arduino
uucp
screen
ultrastable.jetbrains.pycharm-professional
2023-09-24 12:39:28 +02:00
kdiff3
docker
youtube-music
2023-10-31 14:43:19 +01:00
cargo
rustc
gcc
rustfmt
clippy
cargo-generate
2023-09-24 12:39:28 +02:00
];
programs = {
home-manager.enable = true;
fzf.enable = true;
mangohud.enable = true;
zsh = {
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";
2023-10-08 12:29:20 +02:00
my-pull = "git -C ~/Repos/nixos-configuration pull --rebase";
2023-09-24 12:39:28 +02:00
my-fmt = "alejandra .";
my-test = "sudo nixos-rebuild test";
my-direnvallow = "echo \"use nix\" > .envrc && direnv allow";
my-ip4 = "ip addr show | grep 192";
};
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-24 13:04:45 +02:00
spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d";
2023-09-24 12:39:28 +02:00
};
extraConfig = {
pull.ff = "only";
merge.tool = "kdiff3";
push.autoSetupRemote = "true";
};
};
vscode = {
enable = true;
package = pkgs.vscodium;
enableUpdateCheck = false;
extensions = with pkgs.vscode-extensions; [
bbenoist.nix
ms-python.python
kamadorueda.alejandra
2023-09-24 14:25:24 +02:00
#samuelcolvin.jinjahtml
2023-10-22 14:15:28 +02:00
editorconfig.editorconfig
2023-09-24 14:25:24 +02:00
#KnisterPeter.vscode-github
yzhang.markdown-all-in-one
redhat.vscode-yaml
2023-10-22 14:15:28 +02:00
pkief.material-icon-theme
2023-09-24 14:25:24 +02:00
mhutchie.git-graph
2023-10-22 14:15:28 +02:00
rust-lang.rust-analyzer
2023-10-31 14:43:19 +01:00
bungcip.better-toml
2023-09-24 12:39:28 +02:00
];
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;
"markdown.extension.tableFormatter.normalizeIndentation" = true;
"markdown.extension.toc.orderedList" = false;
"telemetry.telemetryLevel" = "off";
"redhat.telemetry.enabled" = false;
2023-09-24 14:25:24 +02:00
"workbench.startupEditor" = "readme";
2023-09-24 12:39:28 +02:00
"workbench.enableExperiments" = false;
2023-09-24 14:25:24 +02:00
"workbench.iconTheme" = "material-icon-theme";
2023-10-31 14:43:19 +01:00
"rust-analyzer.checkOnSave.command" = "clippy";
2023-11-06 13:53:11 +01:00
"extensions.autoUpdate" = false;
"extensions.autoCheckUpdates" = false;
2023-09-24 12:39:28 +02:00
};
};
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"
];
};
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"
};
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;
};
};
};
}