dotfiles vCurrent version: v1.0.0 1.1.0

This commit is contained in:
Your Name
2026-06-19 19:16:09 +00:00
commit ef481a03cb
7 changed files with 1241 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
# =============================================================================
# ~/.config/starship.toml — Starship prompt configuration
# Managed by dotfiles ( ~/.config/fish/config.fish )
# Manual changes will be overwritten when `dotfiles update` is run.
# To customise, edit this template at:
# ~/.config/fish/dotfiles/starship.toml
# then run `dotfiles update starship`.
# =============================================================================
# ── Appearance ───────────────────────────────────────────────────────────────
format = """
[░▒▓](#a6adc8)\
$os\
$username\
$hostname\
$directory\
$git_branch\
$git_status\
$git_commit\
$git_state\
$nodejs\
$python\
$rust\
$c\
$docker_context\
$cmd_duration\
$line_break\
$character"""
right_format = """$time"""
# ── Modules ──────────────────────────────────────────────────────────────────
[character]
success_symbol = "[▶](bold green)"
error_symbol = "[▶](bold red)"
[directory]
truncation_length = 3
truncate_to_repo = true
[git_branch]
format = " on [$branch](bold purple)"
truncation_length = 20
[git_status]
conflicted = "🏳"
ahead = "⇡\${count}"
behind = "⇣\${count}"
diverged = "⇕\${ahead_count}⇣\${behind_count}"
stashed = "📦"
renamed = "📝"
[nodejs]
format = "via [⬢ $version](bold green)"
[python]
format = "via [🐍 $version](bold yellow)"
[rust]
format = "via [🦀 $version](bold red)"
[cmd_duration]
show_milliseconds = true
min_time = 500
[time]
disabled = false
format = "🕙 $time"
time_format = "%H:%M"
style = "bold bright-white"
[os]
disabled = false
style = "bold white"
format = "[$symbol]"
[os.symbols]
windows = "🪟"
macos = "🍎"
linux = "🐧"

View File

@@ -0,0 +1,62 @@
; =============================================================================
; ~/.gitconfig — Git configuration
; Managed by dotfiles ( ~/.config/fish/config.fish )
; Manual changes will be overwritten when `dotfiles update` is run.
; To customise, edit this template at:
; ~/.config/fish/dotfiles/gitconfig
; then run `dotfiles update gitconfig`.
; =============================================================================
[user]
; ── IMPORTANT: set your real name and email ──
name = Your Name
email = you@example.com
[init]
defaultBranch = main
[core]
editor = nano
pager = less
autocrlf = input
whitespace = trailing-space,space-before-tab
excludesfile = ~/.gitignore
[color]
ui = auto
[color "branch"]
current = yellow bold
local = green
remote = cyan
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = green
changed = yellow
untracked = red
[push]
default = simple
autoSetupRemote = true
[fetch]
prune = true
[merge]
conflictstyle = zdiff3
[rebase]
autosquash = true
autoStash = true
[diff]
tool = vimdiff
[help]
autocorrect = 10

View File

@@ -0,0 +1,66 @@
# =============================================================================
# ~/.tmux.conf — tmux configuration
# Managed by dotfiles ( ~/.config/fish/config.fish )
# Manual changes will be overwritten when `dotfiles update` is run.
# To customise, edit this template at:
# ~/.config/fish/dotfiles/tmux.conf
# then run `dotfiles update tmux`.
# =============================================================================
# ── Base settings ────────────────────────────────────────────────────────────
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"
set -g escape-time 0
set -g history-limit 50000
set -g mouse on
set -g focus-events on
# ── Prefix key (unbind C-b, rebind to C-a for easier reach) ─────────────────
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# ── Easy reload ──────────────────────────────────────────────────────────────
bind r source-file ~/.tmux.conf \; display " tmux.conf reloaded"
# ── Splitting ────────────────────────────────────────────────────────────────
bind | split-window -h
bind - split-window -v
# ── Vim-style pane navigation ────────────────────────────────────────────────
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# ── Resize panes with arrow keys ─────────────────────────────────────────────
bind -r Left resize-pane -L 2
bind -r Right resize-pane -R 2
bind -r Down resize-pane -D 2
bind -r Up resize-pane -U 2
# ── Window management ────────────────────────────────────────────────────────
bind c new-window -c "#{pane_current_path}"
bind , command-prompt -I "#W" { rename-window -- "%%" }
bind w choose-tree -w
# ── Status bar ───────────────────────────────────────────────────────────────
set -g status-interval 5
set -g status-position top
set -g status-style "bg=#1e1e2e,fg=#cdd6f4"
set -g status-left " #[fg=#89b4fa]#S #[fg=#585b70]│"
set -g status-left-length 40
set -g status-right "#[fg=#585b70]│ #[fg=#a6e3a1]%Y-%m-%d #[fg=#fab387]%H:%M "
set -g status-right-length 60
setw -g window-status-current-style "fg=#89b4fa,bold"
setw -g window-status-style "fg=#6c7086"
setw -g window-status-format " #I:#W "
setw -g window-status-current-format " #I:#W "
setw -g window-status-separator " "
# ── Notifications ────────────────────────────────────────────────────────────
set -g bell-action any
setw -g monitor-activity on
set -g visual-activity off