nixos-configuration/home.nix

241 lines
5.4 KiB
Nix
Raw Normal View History

2023-04-04 21:41:44 +02:00
{
config,
pkgs,
...
}: {
2023-04-04 21:57:12 +02:00
# override insync build version
nixpkgs.config.packageOverrides = pkgs: {
my = import (builtins.fetchTarball https://github.com/kaesaecracker/nixpkgs/archive/0fa91456d2f6dfb9cd4008e81c89c2fec8512415.tar.gz) {
2023-04-04 21:57:12 +02:00
config = config.nixpkgs.config;
};
};
2023-04-04 21:41:44 +02:00
# Define user account
users.users.vinzenz = {
isNormalUser = true;
description = "Vinzenz Schroeter";
extraGroups = ["networkmanager" "wheel"];
shell = pkgs.zsh;
# openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];
};
# home manager
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.users.vinzenz = {
config,
pkgs,
...
}: {
home = {
username = "vinzenz";
homeDirectory = "/home/vinzenz";
stateVersion = "22.11";
sessionVariables = {
EDITOR = "nano";
};
2023-04-04 22:14:17 +02:00
packages = with pkgs;
[]
# Apps
++ [
keepassxc
steam
wine-staging
my.insync-v3
# gnome-secrets
tdesktop
lutris
amberol
2023-04-13 20:33:20 +02:00
simple-scan
gnome.gpaste
wireguard-tools
# steamlink
element-desktop
2023-08-26 14:54:08 +02:00
youtube-music
2023-04-04 22:14:17 +02:00
]
# system monitoring
++ [
btop
iotop
radeontop
2023-04-13 20:33:20 +02:00
lsof
wirelesstools
#lm-sensors
2023-04-04 22:14:17 +02:00
]
# command line niceness
++ [
tldr
powerline
powerline-fonts
thefuck
]
# development
++ [
dotnet-sdk_7
# gnome workbench
jetbrains.rider
alejandra
2023-04-13 20:33:20 +02:00
arduino
uucp
screen
jetbrains.pycharm-professional
kdiff3
2023-08-26 14:54:08 +02:00
docker
2023-04-04 22:14:17 +02:00
];
2023-04-04 21:41:44 +02:00
file.".nanorc".text = ''
set linenumbers
set mouse
'';
};
services = {
kdeconnect = {
enable = true;
indicator = true;
};
};
programs = {
home-manager.enable = true;
firefox.enable = true;
atuin.enable = true;
command-not-found.enable = true;
dircolors.enable = true;
fzf.enable = true;
htop.enable = true;
2023-04-04 21:41:44 +02:00
zsh = {
enable = true;
2023-08-26 17:29:01 +02:00
enableSyntaxHighlighting = true;
2023-08-26 17:29:01 +02:00
enableAutosuggestions = true;
enableVteIntegration = true;
2023-04-04 21:41:44 +02:00
shellAliases = {
my-update = "sudo nixos-rebuild switch";
2023-08-26 17:29:01 +02:00
my-fmt = "alejandra .";
2023-04-04 21:41:44 +02:00
};
2023-08-26 17:29:01 +02:00
2023-04-04 21:41:44 +02:00
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
2023-08-26 17:29:01 +02:00
expireDuplicatesFirst = true;
2023-04-04 21:41:44 +02:00
};
2023-08-26 17:29:01 +02:00
2023-04-04 21:41:44 +02:00
oh-my-zsh = {
enable = true;
theme = "agnoster";
2023-04-04 22:14:17 +02:00
plugins = ["git" "sudo" "docker" "systemadmin" "thefuck"];
2023-04-04 21:41:44 +02:00
};
2023-08-26 17:29:01 +02:00
initExtra = "eval \"$(direnv hook zsh)\"";
2023-04-04 21:41:44 +02:00
};
git = {
enable = true;
userName = "Vinzenz Schroeter";
userEmail = "vinzenz.f.s@gmail.com";
#package = pkgs.gitFull;
#config.credential.helper = "libsecret";
aliases = {
prettylog = "log --pretty=oneline --graph";
};
extraConfig = {
pull.ff = "only";
init.defaultBranch = "main";
merge.tool = "kdiff3";
2023-04-04 21:41:44 +02:00
};
};
gh = {
enable = true;
enableGitCredentialHelper = true;
};
2023-04-04 21:41:44 +02:00
vscode = {
enable = true;
package = pkgs.vscodium;
enableUpdateCheck = false;
extensions = with pkgs; [
vscode-extensions.bbenoist.nix
vscode-extensions.ms-python.python
];
2023-04-04 21:41:44 +02:00
userSettings = {
2023-04-04 22:02:28 +02:00
"files.insertFinalNewline" = true;
"git.autofetch" = true;
"update.mode" = "none";
"editor.fontFamily" = "'Fira Code', 'Droid Sans Mono', 'monospace', monospace";
"editor.fontLigatures" = true;
2023-04-04 22:02:28 +02:00
"[nix]" = {
"editor.tabSize" = 2;
};
"redhat.telemetry.enabled" = false;
"markdown.extension.tableFormatter.normalizeIndentation" = true;
"markdown.extension.toc.orderedList" = false;
2023-04-04 21:41:44 +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";
}
];
};
bottom = {
enable = true;
settings = {
# https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml
};
};
exa = {
enable = true;
# not availiable at 22.11
# git = true;
# icons = true;
# enableAliases = true;
# extraOptions = [
# "--group-directories-first"
# "--header"
# ];
};
# checked https://rycee.gitlab.io/home-manager/options.html until "programs.jq"
};
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;
};
};
2023-04-04 21:41:44 +02:00
};
};
}