123 lines
2.8 KiB
Nix
123 lines
2.8 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
username = "becky";
|
|
homedir = "/home/${username}";
|
|
|
|
zshSourceCommon = ../.zsh/common;
|
|
zshSourceUser = ../.zsh/dingleberry;
|
|
in
|
|
{
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
|
|
nixGL.packages = pkgs.nixgl;
|
|
nixGL.defaultWrapper = "nvidia";
|
|
|
|
home.username = username;
|
|
|
|
home.homeDirectory = homedir;
|
|
|
|
home.stateVersion = "24.11";
|
|
|
|
home.packages = with pkgs; [
|
|
# TODO: Move from system to nix
|
|
# awscli2
|
|
# k9s
|
|
# kubectl
|
|
# nixd
|
|
];
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Arnie";
|
|
userEmail = "i@cechis.cz";
|
|
ignores = [
|
|
".vscode"
|
|
".direnv"
|
|
".devenv"
|
|
".envrc"
|
|
];
|
|
extraConfig = {
|
|
core = {
|
|
autocrlf = "input";
|
|
# TODO: Provide through nix
|
|
hooksPath = "~/.git/hooks";
|
|
editor = "vim";
|
|
};
|
|
|
|
pull.rebase = false;
|
|
|
|
init.defaultBranch = "main";
|
|
};
|
|
};
|
|
|
|
programs.ghostty = {
|
|
enable = true;
|
|
|
|
installVimSyntax = true;
|
|
enableZshIntegration = true;
|
|
|
|
package = config.lib.nixGL.wrap pkgs.ghostty;
|
|
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
|
|
dirHashes = {
|
|
mac = "${homedir}/storage/.macshare";
|
|
circuitry = "${homedir}/storage/.circuitry";
|
|
dev = "${homedir}/storage/.devstack";
|
|
ai = "${homedir}/storage/.devstack/ai";
|
|
life = "${homedir}/storage/.life";
|
|
vysokyujezd = "${homedir}/storage/.life/stavby/vysoky-ujezd";
|
|
work = "/mnt/yosuke/share/arnie/work";
|
|
smarthome = "/mnt/yosuke/share/arnie/smarthome";
|
|
|
|
# Hardware
|
|
v2-red = "${homedir}/storage/.hardware/3d-print/v2-red-V2-2201270017";
|
|
"3dprint" = "${homedir}/storage/.hardware/3d-print";
|
|
|
|
# Development
|
|
projects = "${homedir}/storage/.devstack/projects";
|
|
yp = "${homedir}/storage/.devstack/projects/yp";
|
|
ys = "${homedir}/storage/.devstack/projects/ys";
|
|
investbay = "${homedir}/storage/.devstack/projects/investbay";
|
|
resource = "${homedir}/storage/.devstack/resource";
|
|
cechis = "${homedir}/storage/.devstack/projects/dev.cechis.cz";
|
|
gh = "${homedir}/storage/.devstack/projects/github/Sharsie";
|
|
rpi = "${homedir}/storage/.devstack/projects/hardware/rpi";
|
|
c4 = "/mnt/yosuke/share/arnie/smarthome/control4/drivers";
|
|
};
|
|
|
|
initExtra = ''
|
|
for file in ${zshSourceCommon}/*.zsh; do
|
|
source "$file"
|
|
done
|
|
|
|
for file in ${zshSourceUser}/*.zsh; do
|
|
source "$file"
|
|
done
|
|
|
|
autoload -U +X bashcompinit && bashcompinit
|
|
|
|
source <(kubectl completion zsh)
|
|
complete -C '/usr/local/bin/aws_completer' aws
|
|
'';
|
|
};
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "vim";
|
|
GO111MODULE = "on";
|
|
};
|
|
}
|