Add repo-managed configs (atuin/kitty/zellij/etc)
This commit is contained in:
@@ -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 we’ll 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.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user