{ config, pkgs, ... }: let username = "becky"; homedir = "/home/${username}"; zshSourceDirs = [ ../modules/zsh/dingleberry ]; in { #targets.genericLinux.enable = true; # Enable XDG for non terminal apps # https://github.com/nix-community/home-manager/issues/1439 #programs.bash.enable = true; #xdg = { # enable = true; # mime = { # enable = true; # }; #}; nixGL.packages = pkgs.nixgl; nixGL.defaultWrapper = "nvidia"; home.username = username; home.homeDirectory = homedir; home.stateVersion = "24.11"; home.packages = with pkgs; [ nixd # TODO: Move from system to nix # awscli2 # k9s # kubectl ]; 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; installBatSyntax = true; installVimSyntax = true; enableZshIntegration = true; package = config.lib.nixGL.wrap pkgs.ghostty; settings = { theme = "catppuccin-mocha"; font-size = 10; }; }; programs.zsh = { enable = true; shellAliases = { hm-switch = "home-manager switch --impure --flake ~/.config/nix"; }; dirHashes = { mac = "${homedir}/storage/.macshare"; nix = "${homedir}/.config/nix"; 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 = '' ${builtins.concatStringsSep "\n" ( builtins.map (dir: '' for file in ${dir}/*.zsh; do source "$file" done '') zshSourceDirs )} autoload -U +X bashcompinit && bashcompinit source <(kubectl completion zsh) complete -C '/usr/local/bin/aws_completer' aws ''; }; home.sessionVariables = { EDITOR = "vim"; GO111MODULE = "on"; TERMINAL = "ghostty"; }; }