Add repo-managed configs (atuin/kitty/zellij/etc)

This commit is contained in:
2026-02-09 14:56:14 +11:00
parent c53b82f0a1
commit 0b1dadb0bb
15 changed files with 2420 additions and 47 deletions

View File

@@ -1,14 +1,24 @@
{ config, pkgs, ... }:
let
# Dotfiles live on the installed system itself at: ~/dotfiles
dotfilesDir = "${config.home.homeDirectory}/dotfiles";
# Home Manager helper to symlink files/dirs that live outside the Nix store.
mkOOS = config.lib.file.mkOutOfStoreSymlink;
in
{
home.stateVersion = "24.05";
xdg.configFile."atuin" = { source = ./config/atuin; recursive = true; };
xdg.configFile."kitty" = { source = ./config/kitty; recursive = true; };
xdg.configFile."zellij" = { source = ./config/zellij; recursive = true; };
xdg.configFile."lazygit" = { source = ./config/lazygit; recursive = true; };
xdg.configFile."btop" = { source = ./config/btop; recursive = true; };
xdg.configFile."gh" = { source = ./config/gh; recursive = true; };
xdg.configFile."starship.toml".source = ./config/starship.toml;
xdg.configFile."niri" = { source = ./config/niri; recursive = true; };
xdg.configFile."waybar" = { source = ./config/waybar; recursive = true; };
home.username = "sam";
home.homeDirectory = "/home/sam";
home.stateVersion = "25.11";
programs.home-manager.enable = true;
@@ -22,7 +32,7 @@ in
oh-my-zsh = {
enable = true;
theme = "powerlevel10k/powerlevel10k";
theme = "robbyrussell";
plugins = [ "git" ];
};
@@ -34,24 +44,11 @@ in
cat = "bat --color=always --paging=never";
};
# Dotfiles integration notes:
# - Home Manager manages ~/.zshrc; do not symlink ~/.zshrc directly.
# - If you want to source additional Zsh snippets from ~/dotfiles, tell me
# the exact filename(s) and well add them safely here.
initExtra = ''
# Optional: source additional Zsh config from ~/dotfiles if desired.
# Example (uncomment + adjust if you confirm the exact file path):
# if [ -f "${dotfilesDir}/zsh/extra.zsh" ]; then
# source "${dotfilesDir}/zsh/extra.zsh"
# fi
'';
};
programs.powerlevel10k = {
enable = true;
# If you have a real p10k config file in dotfiles, tell me its exact path.
# Then we can symlink it to ~/.p10k.zsh (or source it) reliably.
};
# ---
# Shell tools
@@ -85,6 +82,7 @@ in
# Packages (NOW list + a few safe essentials)
# ---
home.packages = with pkgs; [
git
curl
wget
@@ -108,29 +106,4 @@ in
p7zip
];
# ---
# Dotfiles (out-of-store symlinks from ~/dotfiles)
# ---
# IMPORTANT:
# - These symlinks will point into ~/dotfiles.
# - Ensure you clone/copy your dotfiles to ~/dotfiles on the new system.
home.file.".config/atuin".source = mkOOS "${dotfilesDir}/atuin";
home.file.".config/kitty".source = mkOOS "${dotfilesDir}/kitty";
home.file.".config/nvim".source = mkOOS "${dotfilesDir}/nvim";
home.file.".config/zellij".source = mkOOS "${dotfilesDir}/zellij";
# TODO (needs confirmation from you):
# - zsh dotfiles: what exact files do you want sourced?
# - pk10k: what is the exact filename for your p10k config?
#
# Once you confirm, we can add e.g.:
# home.file.".p10k.zsh".source = mkOOS "${dotfilesDir}/pk10k/.p10k.zsh";
# ---
# Secrets policy
# ---
# Do NOT put API keys here (or anywhere in git).
# Preferred approach (local-only):
# ~/.config/environment.d/10-secrets.conf
# or add sops-nix later.
}