diff options
Diffstat (limited to 'homes')
| -rw-r--r-- | homes/kjtsanaktsidis/default.nix | 140 | ||||
| -rw-r--r-- | homes/kjtsanaktsidis/secrets.yaml | 27 | ||||
| -rw-r--r-- | homes/kjtsanaktsidis/zsh-config.zsh | 48 |
3 files changed, 215 insertions, 0 deletions
diff --git a/homes/kjtsanaktsidis/default.nix b/homes/kjtsanaktsidis/default.nix new file mode 100644 index 0000000..8195727 --- /dev/null +++ b/homes/kjtsanaktsidis/default.nix @@ -0,0 +1,140 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + home.username = "kjtsanaktsidis"; + home.homeDirectory = "/home/kjtsanaktsidis"; + home.stateVersion = "25.11"; + + programs.home-manager.enable = true; + + # Install packages + home.packages = with pkgs; [ + htop + zellij + tmux + git-absorb + # LazyVim dependencies + lazygit + ripgrep + fd + nodejs + python3 + nixos-rebuild-ng + ]; + + # Configure sops for home-manager + sops = { + age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + defaultSopsFile = ./secrets.yaml; + secrets = { + kj_id_ed25519 = { + path = "${config.home.homeDirectory}/.ssh/id_ed25519"; + }; + kj_gpg_private_key = { + path = "${config.home.homeDirectory}/.gnupg/private-key.asc"; + }; + fastmail_app_password = { + path = "${config.xdg.configHome}/secrets/fastmail_app_password"; + }; + }; + }; + + accounts.email.accounts.fastmail = { + enable = true; + primary = true; + address = "kj@kjtsanaktsidis.id.au"; + realName = "KJ Tsanaktsidis"; + userName = "kj@kjtsanaktsidis.id.au"; + flavor = "fastmail.com"; + msmtp = { + enable = true; + extraConfig = { + host = "smtp.fastmail.com"; + port = "465"; + tls = "on"; + auth = "on"; + user = "kj@kjtsanaktsidis.id.au"; + from = "kj@kjtsanaktsidis.id.au"; + passwordeval = "cat ${config.sops.secrets.fastmail_app_password.path}"; + }; + }; + }; + programs.msmtp.enable = true; + + # Git configuration + programs.git = { + enable = true; + settings = { + user.name = "KJ Tsanaktsidis"; + user.email = "kj@kjtsanaktsidis.id.au"; + pull.rebase = true; + sendemail = { + sendmailCmd = "${pkgs.msmtp}/bin/msmtp -a default"; + from = "KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>"; + confirm = "always"; + annotate = true; + }; + }; + signing = { + key = "7F21FB211E24B02A5DEF86E227CD40EB9B81C726"; + signByDefault = true; + }; + }; + + programs.neovim = { + enable = true; + defaultEditor = true; + }; + + # Zsh configuration + programs.zsh = { + enable = true; + history = { + size = 1000000; + save = 1000000; + append = true; + extended = true; + ignoreSpace = false; + ignoreDups = false; + }; + + initContent = lib.mkOrder 1000 (builtins.readFile ./zsh-config.zsh); + }; + + # FZF with standard keybindings + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + programs.gpg = { + enable = true; + homedir = "${config.home.homeDirectory}/.gnupg"; + }; + services.gpg-agent = { + enable = true; + }; + systemd.user.services.manage-secrets = { + Unit = { + Description = "Import GPG and SSH keys from sops secrets"; + After = [ "sops-nix.service" ]; + Requires = [ "sops-nix.service" ]; + }; + Service = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = toString (pkgs.writeShellScript "manage-secrets" '' + export GNUPGHOME="${config.programs.gpg.homedir}" + ${pkgs.gnupg}/bin/gpg --batch --verbose --trust-model always --import "${config.sops.secrets.kj_gpg_private_key.path}" + ${pkgs.openssh}/bin/ssh-keygen -y -f "${config.home.homeDirectory}/.ssh/id_ed25519" > "${config.home.homeDirectory}/.ssh/id_ed25519.pub" + ''); + }; + Install = { + WantedBy = [ "default.target" ]; + }; + }; +} diff --git a/homes/kjtsanaktsidis/secrets.yaml b/homes/kjtsanaktsidis/secrets.yaml new file mode 100644 index 0000000..d6fea82 --- /dev/null +++ b/homes/kjtsanaktsidis/secrets.yaml @@ -0,0 +1,27 @@ +kj_gpg_private_key: ENC[AES256_GCM,data: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,iv:yjqgZRU2Fa00QMtzcyneeK6accUH0FKElqSxn5q9IfE=,tag:pPzFaZQcDJ0kIW7agfFcOQ==,type:str] +kj_id_ed25519: ENC[AES256_GCM,data:ZGFlSmmm03+l+ObxptMCkq+b63uNdWQ90yZeMi3uq639vxlFMIAUu7872pXYj1U1BtCzOgurzcJuCRcvBvhmSLIJa0pIsOHRsgfpATf56XtKHCpeamFc7yZhGAqRDXvmbz/1ruOmcUU76m1X8Vqt4IB2K3m043M2RhQSHyB0p7U/jGBPkOhwDICUsb6huMzk3qeYKIwySQKcQR0CXeK13+oIj/oLJUSQK/wvdLTdf4zgKpIKfJBXitA4UHI+MRC1MN5d37YUd8cOVTvVmYSzQpiWItXvSw1sedwvHZka4V19ZnDFQTPWY+MJR5yIkUx/Jko2kXfsD/YfaPvOAdJ62MjP1TxodW7L5ZwuTb69efaQKCCXhryEosW89lLS1LlpgZYmo5705Z4Dnd9F/yckdx1odbhdxj8J1qIo29e2bqEU5gvWBqLGR+WhmS98hABdMm9bAWyCP++RByYQTVEqAmn9rOSwhUt+23CaOhqumpFddmGPGxVqSTAx8a9t71Yrjfp4Fl7m6k7QPBeI19oxx1Szet8L7IKY3oWggFvsxEL+YL4=,iv:0hN40wBtACcyCySMlhf9PCrs6sBv3XmSxk9RMn07Pxk=,tag:CzvVt6XKrf1M3GTY3H6wfg==,type:str] +fastmail_app_password: ENC[AES256_GCM,data:8SIV2Sg2qfW+FUvHtt74sg==,iv:J1KNEpaKnXtxyytKCeKb+XvD7Gk/RCUl2EHhILDDqcI=,tag:TANwlpVGawVdxekPi8O3sA==,type:str] +sops: + age: + - recipient: age10gj7wx2syxd9xtt032xxrvtz9hcpnh5xfhzdaaw8qztt6xt6jyrqme3pdp + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4WjRVWkptNXF5cjlKZXFn + ZEF0UHBUbUgyMHY5NzR0WmRNNmJoMEdTRURRCmQzTFhYb2grWFowVHovNGgzM1RX + elBxZ29aRHkrblROKzlaTkdzQWU2QzAKLS0tIHVLVGVMQkJCRzRIUE9mTVBHMGMv + YjlzZ2lPOEV0Q05TdDE2Yi9oSlpXaDAKjR8BFjMfGKibe5aLkUlkDrJ82kLN+4Ue + ffRWLwiZjSxhh3mSQ2zo+yVfafgyyBG5DGY62iFEKAqKYjE7jyzUtg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1l545fw72zzs9xskxw3d35szwkcttmtrm9g5y0s8zufhmezffys9sr7asey + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWdHhRdFdKeTRQREpsYmZZ + N0dnZzRJb2lwRkkvRS9YdWNnT1dFc28yeVNFCjBQUEZrZFRqNEhaRXhvdmVwbmQv + bjdVdWNlT3VOdDZOUHZyekloTmlheUUKLS0tIHI4SGFITE1YMlNpUzdONHI1SFdh + c3RVYzBIbmwwVzdIcHJMZjdndTdlS1EKhJCqTL3bBMQu/skSXrg3wRQNMClHQT9y + TqWN5oZRMrlf3uSX1+H27Yp0ItouRY85zSqoutVJsfnPJQwvyuBWeA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-09T00:57:18Z" + mac: ENC[AES256_GCM,data:/moETVdr8PNUCkJV3JmxvoYxgIiLHBmAb+dElBNNtAsvh7KtamXqOiLeGUnsiEx9rG5JIWOuiz/uU5XMIorp3ZddJCGv96EgtCjZkTrg2cJj1p0wQ87wwTYsIv/Szvw+xtCeVTQ2sxpIp8XCOVaa9Jbgtv56cdg23PTz/V4H1qA=,iv:CyyHWJNcWv9MbxlyxOjA/sH/Oi6kArqdrR4fj3xtvx4=,tag:qPW2LP1bENO7B833HmmPeA==,type:str] + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/homes/kjtsanaktsidis/zsh-config.zsh b/homes/kjtsanaktsidis/zsh-config.zsh new file mode 100644 index 0000000..1c38138 --- /dev/null +++ b/homes/kjtsanaktsidis/zsh-config.zsh @@ -0,0 +1,48 @@ +# Initialize completion system +autoload -Uz compinit +compinit + +# Initialize prompt system +autoload -Uz promptinit +promptinit + +# Set options +setopt extendedglob nomatch notify + +# Define gentoo prompt theme +prompt_gentoo_help () { + cat <<'EOF' +This prompt is color-scheme-able. You can invoke it thus: + + prompt gentoo [<promptcolor> [<usercolor> [<rootcolor>]]] + +EOF +} + +prompt_gentoo_setup () { + local prompt_gentoo_prompt=${1:-'blue'} + local prompt_gentoo_user=${2:-'green'} + local prompt_gentoo_root=${3:-'red'} + + if [ "$USER" = 'root' ] + then + local base_prompt="%B%F{$prompt_gentoo_root}%m%k " + else + local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " + fi + local post_prompt="%b%f%k" + + local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" + typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" + typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" + typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" +} + +# Register the prompt with promptinit +prompt_themes+=( gentoo ) + +# Use the gentoo prompt +prompt gentoo + +# Make sure GPG & SSH keys are properly imported +systemctl --user start manage-secrets.service 2>/dev/null || true |
