Working on terminal stuff
This commit is contained in:
+368
-380
File diff suppressed because it is too large
Load Diff
@@ -1,18 +1,25 @@
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot, ... }:
|
||||
{ config, pkgs, lib, user, ... }:
|
||||
let
|
||||
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
||||
in
|
||||
{
|
||||
# NixOS-level packages (optional, if you want Kitty installed system-wide)
|
||||
environment.systemPackages = with pkgs; [ kitty ];
|
||||
|
||||
# Home Manager configuration for Kitty
|
||||
home-manager.users.${user.username} = {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font_family = "FiraCode Nerd Font Mono";
|
||||
include = [ "${flakeRoot}/assets/kitty/themes/Catppuccin-Mocha.conf" ];
|
||||
background_opacity = 0.60;
|
||||
dynamic_background_opacity = true;
|
||||
font_family = "JetBrainsMono Nerd Font";
|
||||
font_size = 12.0;
|
||||
cursor = "Beam";
|
||||
cursor_blink_interval = -1;
|
||||
shell = "${pkgs.zsh}/bin/zsh";
|
||||
};
|
||||
};
|
||||
|
||||
# Catppuccin Mocha theme for Kitty
|
||||
xdg.configFile."kitty/theme.conf".source = "${pkgs.catppuccin-kitty}/share/kitty/themes/Catppuccin-Mocha.conf";
|
||||
xdg.configFile."kitty/kitty.conf".text = ''
|
||||
include ${kittyConfigDir}/theme.conf
|
||||
background_opacity 0.9
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,30 +1,27 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
user,
|
||||
...
|
||||
}:
|
||||
{ config, pkgs, lib, user, ... }:
|
||||
{
|
||||
home-manager.users.${user.username} = {
|
||||
programs.starship = {
|
||||
enable = true; # Globally enables Starship for all shells
|
||||
settings = {
|
||||
addNewline = false;
|
||||
# Example: Catppuccin Mocha theme
|
||||
format = "$all";
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Optional: Ensure Starship init is in shell configs (if not auto-added)
|
||||
xdg.configFile."bashrc".text = lib.concatStringsSep "\n" [
|
||||
"eval \"$(starship init bash)\""
|
||||
];
|
||||
xdg.configFile."zshrc".text = lib.concatStringsSep "\n" [
|
||||
"eval \"$(starship init zsh)\""
|
||||
];
|
||||
xdg.configFile."config/fish/config.fish".text = ''
|
||||
starship init fish | source
|
||||
# Catppuccin Mocha theme for Starship
|
||||
xdg.configFile."starship.toml".text = ''
|
||||
format = "$all"
|
||||
|
||||
[character]
|
||||
success_symbol = "[❯](bold green)"
|
||||
error_symbol = "[❯](bold red)"
|
||||
|
||||
[directory]
|
||||
style = "bold lavender"
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
style = "bold maroon"
|
||||
|
||||
[package]
|
||||
disabled = true
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,50 +1,36 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
user,
|
||||
...
|
||||
}:
|
||||
{ config, pkgs, lib, user, ... }:
|
||||
let
|
||||
zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
|
||||
in
|
||||
{
|
||||
home-manager.users.${user.username} = {
|
||||
# Install and enable Zsh
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
dotDir = zshConfigDir;
|
||||
autosuggestion.enable = true;
|
||||
autosuggestions.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
theme = "agnoster"; # Popular minimal theme
|
||||
theme = "agnoster";
|
||||
plugins = [
|
||||
"git"
|
||||
"sudo"
|
||||
"docker"
|
||||
"kubectl"
|
||||
"zsh-autosuggestions"
|
||||
"zsh-syntax-highlighting"
|
||||
"docker"
|
||||
"kubectl"
|
||||
"history"
|
||||
"command-not-found"
|
||||
"extract"
|
||||
"colored-man-pages"
|
||||
];
|
||||
};
|
||||
# Shell options (setopt)
|
||||
shellAliases = {
|
||||
ls = "exa --icons -a --group-directories-first";
|
||||
ll = "exa --icons -la --group-directories-first";
|
||||
grep = "grep --color=auto";
|
||||
};
|
||||
};
|
||||
|
||||
# Consolidated .zshrc with best practices
|
||||
# Consolidated .zshrc
|
||||
xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [
|
||||
"# Enable Powerlevel10k (if installed)"
|
||||
"${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"
|
||||
"# Oh-My-Zsh"
|
||||
"export ZSH=\"${zshConfigDir}\""
|
||||
"source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\""
|
||||
@@ -54,36 +40,20 @@ in
|
||||
"setopt AUTO_CD"
|
||||
"setopt CORRECT"
|
||||
"setopt INTERACTIVE_COMMENTS"
|
||||
"setopt APPEND_HISTORY"
|
||||
"setopt INC_APPEND_HISTORY"
|
||||
"setopt HIST_IGNORE_ALL_DUPS"
|
||||
"setopt HIST_REDUCE_BLANKS"
|
||||
"setopt HIST_SAVE_NO_DUPS"
|
||||
"setopt HIST_VERIFY"
|
||||
"setopt SHARE_HISTORY"
|
||||
""
|
||||
"# Starship prompt (if enabled)"
|
||||
"# Starship"
|
||||
"eval \"$(starship init zsh)\""
|
||||
""
|
||||
"# fzf key bindings and completion"
|
||||
"# fzf"
|
||||
"source \"${pkgs.fzf}/shell/key-bindings.zsh\""
|
||||
"source \"${pkgs.fzf}/shell/completion.zsh\""
|
||||
""
|
||||
"# Load direnv"
|
||||
"eval \"$(direnv hook zsh)\""
|
||||
""
|
||||
"# Load nix-direnv (if using direnv with Nix)"
|
||||
"if [ -f \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\" ]; then"
|
||||
" source \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\""
|
||||
"fi"
|
||||
""
|
||||
"# User-specific customizations"
|
||||
"# User customizations"
|
||||
"source \"${zshConfigDir}/custom.zsh\" 2>/dev/null"
|
||||
];
|
||||
|
||||
# Optional: User customizations (managed separately)
|
||||
# User customizations
|
||||
xdg.configFile."zsh/custom.zsh".text = ''
|
||||
# Add your custom aliases, functions, and exports here
|
||||
export EDITOR="nvim"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user