2023-09-24 12:39:28 +02:00
|
|
|
{
|
|
|
|
config,
|
2023-11-24 14:32:58 +01:00
|
|
|
osConfig,
|
2023-09-24 12:39:28 +02:00
|
|
|
pkgs,
|
2023-11-24 14:32:58 +01:00
|
|
|
lib,
|
2023-09-24 12:39:28 +02:00
|
|
|
...
|
2023-11-24 14:32:58 +01:00
|
|
|
}: let
|
|
|
|
isGnomeEnabled = osConfig.my.desktop.enableGnome;
|
|
|
|
in
|
|
|
|
lib.mkMerge [
|
|
|
|
{
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
keepassxc
|
2023-12-03 13:31:34 +01:00
|
|
|
insync
|
2023-12-16 12:38:58 +01:00
|
|
|
|
2023-11-24 14:32:58 +01:00
|
|
|
telegram-desktop
|
|
|
|
element-desktop
|
2023-12-16 12:38:58 +01:00
|
|
|
|
|
|
|
wireguard-tools
|
2023-11-24 14:32:58 +01:00
|
|
|
wirelesstools
|
2023-12-16 12:38:58 +01:00
|
|
|
|
|
|
|
alejandra # nix formatter
|
|
|
|
|
2023-11-24 14:32:58 +01:00
|
|
|
arduino
|
|
|
|
uucp
|
2023-12-16 12:38:58 +01:00
|
|
|
|
2023-11-24 14:32:58 +01:00
|
|
|
kdiff3
|
2023-12-03 13:31:34 +01:00
|
|
|
jetbrains-toolbox
|
2023-11-24 14:32:58 +01:00
|
|
|
];
|
2023-09-24 12:39:28 +02:00
|
|
|
|
2023-11-24 14:32:58 +01:00
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
|
|
|
|
fzf.enable = true;
|
|
|
|
|
|
|
|
zsh = {
|
|
|
|
initExtra = ''
|
|
|
|
eval "$(direnv hook zsh)";
|
2024-05-25 11:24:00 +02:00
|
|
|
export PATH=$PATH:/home/vinzenz/.cargo/bin
|
2023-11-24 14:32:58 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
shellAliases = {
|
|
|
|
my-apply = "sudo nixos-rebuild boot";
|
|
|
|
my-switch = "sudo nixos-rebuild switch";
|
|
|
|
my-update = "sudo nixos-rebuild boot --upgrade";
|
|
|
|
my-pull = "git -C ~/Repos/nixos-configuration pull --rebase";
|
|
|
|
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";
|
2023-12-16 13:02:59 +01:00
|
|
|
plugins = ["git" "sudo" "docker" "systemadmin"];
|
2023-11-24 14:32:58 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Vinzenz Schroeter";
|
|
|
|
userEmail = "vinzenz.f.s@gmail.com";
|
|
|
|
|
|
|
|
aliases = {
|
|
|
|
prettylog = "log --pretty=oneline --graph";
|
|
|
|
spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d";
|
|
|
|
};
|
|
|
|
|
|
|
|
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
|
|
|
|
editorconfig.editorconfig
|
|
|
|
yzhang.markdown-all-in-one
|
|
|
|
redhat.vscode-yaml
|
|
|
|
pkief.material-icon-theme
|
|
|
|
mhutchie.git-graph
|
|
|
|
rust-lang.rust-analyzer
|
2024-05-25 11:24:00 +02:00
|
|
|
tamasfe.even-better-toml
|
2024-04-19 12:27:51 +02:00
|
|
|
llvm-vs-code-extensions.vscode-clangd
|
2024-05-25 11:24:00 +02:00
|
|
|
mkhl.direnv
|
|
|
|
vadimcn.vscode-lldb
|
|
|
|
ms-dotnettools.csharp
|
2023-11-24 14:32:58 +01: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;
|
|
|
|
"workbench.startupEditor" = "readme";
|
|
|
|
"workbench.enableExperiments" = false;
|
|
|
|
"workbench.iconTheme" = "material-icon-theme";
|
|
|
|
"rust-analyzer.checkOnSave.command" = "clippy";
|
|
|
|
"extensions.autoUpdate" = false;
|
|
|
|
"extensions.autoCheckUpdates" = false;
|
2024-06-21 17:17:37 +02:00
|
|
|
"\[makefile\]" = {
|
|
|
|
"editor.insertSpaces" = false;
|
|
|
|
"editor.detectIndentation" = false;
|
|
|
|
};
|
2023-11-24 14:32:58 +01: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";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2024-05-02 15:35:19 +02:00
|
|
|
eza = {
|
2023-11-24 14:32:58 +01:00
|
|
|
enable = true;
|
|
|
|
git = true;
|
|
|
|
icons = true;
|
2024-10-26 00:04:27 +02:00
|
|
|
extraOptions = [
|
2023-11-24 14:32:58 +01:00
|
|
|
"--group-directories-first"
|
|
|
|
"--header"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
# checked https://rycee.gitlab.io/home-manager/options.html until "programs.notmuch"
|
2024-05-02 15:35:19 +02:00
|
|
|
|
|
|
|
ssh = {
|
|
|
|
enable = true;
|
|
|
|
matchBlocks = {
|
|
|
|
"vpn1" = {
|
|
|
|
host = "vpn1 hetzner-vpn1";
|
|
|
|
hostname = "157.90.146.125"; # 2a01:4f8:c012:7137::/64
|
|
|
|
user = "root";
|
|
|
|
};
|
|
|
|
"vpn1-ts" = {
|
|
|
|
host = "vpn1-ts hetzner-vpn1.donkey-pentatonic.ts.net";
|
|
|
|
hostname = "hetzner-vpn1.donkey-pentatonic.ts.net";
|
|
|
|
user = "root";
|
|
|
|
};
|
|
|
|
"openwrt" = {
|
|
|
|
host = "openwrt openwrt.lan";
|
|
|
|
hostname = "openwrt.lan";
|
|
|
|
user = "root";
|
|
|
|
};
|
|
|
|
"openwrt-ts" = {
|
|
|
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
|
|
|
port = 2222;
|
|
|
|
user = "root";
|
|
|
|
};
|
|
|
|
"openwrt-j" = {
|
|
|
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
|
|
|
proxyJump = "vpn1";
|
|
|
|
port = 2222;
|
|
|
|
user = "root";
|
|
|
|
};
|
|
|
|
"pc2-power" = {
|
|
|
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
|
|
|
proxyJump = "vpn1";
|
|
|
|
port = 2222;
|
|
|
|
user = "pc2-power";
|
|
|
|
};
|
|
|
|
"avd-power" = {
|
|
|
|
# hostname = "2001:678:560:23:9833:63ff:fe2d:f477"
|
|
|
|
# hostname = "195.160.172.25";
|
|
|
|
hostname = "avd-jumphost.club.berlin.ccc.de";
|
|
|
|
user = "power";
|
|
|
|
};
|
|
|
|
"avd" = {
|
|
|
|
hostname = "avd.club.berlin.ccc.de";
|
|
|
|
user = "vinzenz";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-09-24 12:39:28 +02:00
|
|
|
};
|
|
|
|
|
2023-11-24 14:32:58 +01:00
|
|
|
editorconfig = {
|
2023-09-24 12:39:28 +02:00
|
|
|
enable = true;
|
2023-11-24 14:32:58 +01:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
2023-09-24 12:39:28 +02:00
|
|
|
};
|
2024-05-25 11:24:00 +02:00
|
|
|
|
|
|
|
home.file."policy.json" = {
|
|
|
|
target = ".config/containers/policy.json";
|
|
|
|
text = ''
|
|
|
|
{
|
|
|
|
"default": [
|
|
|
|
{
|
|
|
|
"type": "insecureAcceptAnything"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"transports":
|
|
|
|
{
|
|
|
|
"docker-daemon":
|
|
|
|
{
|
|
|
|
"": [{"type":"insecureAcceptAnything"}]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
2023-11-24 14:32:58 +01:00
|
|
|
}
|
|
|
|
]
|