rose pine

This commit is contained in:
2026-03-12 18:49:17 +00:00
parent 7b72236b4c
commit 4c29259470
7 changed files with 174 additions and 166 deletions

View File

@@ -25,10 +25,10 @@
enable = true;
defaultEditor = true;
luaLoader.enable = true;
colorschemes.catppuccin = {
colorschemes.rose-pine = {
enable = true;
settings = {
flavour = "latte";
variant = "dawn";
};
};
extraConfigLua = ''

View File

@@ -28,20 +28,20 @@ in {
}
local palette = {
base = '#eff1f5',
mantle = '#e6e9ef',
surface0 = '#ccd0da',
surface1 = '#bcc0cc',
text = '#4c4f69',
subtext0 = '#6c6f85',
overlay0 = '#9ca0b0',
blue = '#1e66f5',
lavender = '#7287fd',
sapphire = '#209fb5',
teal = '#179299',
green = '#40a02b',
mauve = '#8839ef',
peach = '#fe640b',
base = '#faf4ed',
surface = '#fffaf3',
overlay = '#f2e9e1',
highlight_med = '#dfdad9',
text = '#575279',
subtle = '#797593',
muted = '#9893a5',
pine = '#286983',
iris = '#907aa9',
foam = '#56949f',
leaf = '#6d8f89',
gold = '#ea9d34',
rose = '#d7827e',
love = '#b4637a',
}
local function set_highlights(highlights)
@@ -145,15 +145,15 @@ in {
})
set_highlights({
RenderMarkdownCode = { bg = palette.mantle },
RenderMarkdownCodeBorder = { fg = palette.surface0, bg = palette.mantle },
RenderMarkdownCodeInline = { bg = palette.mantle },
RenderMarkdownH1 = { fg = palette.blue, bold = true },
RenderMarkdownH2 = { fg = palette.mauve, bold = true },
RenderMarkdownH3 = { fg = palette.teal, bold = true },
RenderMarkdownH4 = { fg = palette.peach, bold = true },
OpencodeInputLegend = { fg = palette.subtext0, bold = true },
OpencodeAgentBuild = { bg = palette.overlay0, fg = palette.base, bold = true },
RenderMarkdownCode = { bg = palette.surface },
RenderMarkdownCodeBorder = { fg = palette.highlight_med, bg = palette.surface },
RenderMarkdownCodeInline = { bg = palette.surface },
RenderMarkdownH1 = { fg = palette.pine, bold = true },
RenderMarkdownH2 = { fg = palette.iris, bold = true },
RenderMarkdownH3 = { fg = palette.foam, bold = true },
RenderMarkdownH4 = { fg = palette.gold, bold = true },
OpencodeInputLegend = { fg = palette.subtle, bold = true },
OpencodeAgentBuild = { bg = palette.muted, fg = palette.base, bold = true },
})
local render_markdown_config = {

View File

@@ -11,7 +11,7 @@
settings = {
model = "anthropic/claude-opus-4-6";
small_model = "anthropic/claude-haiku-4-5";
theme = "catppuccin";
theme = "rosepine";
plugin = ["opencode-anthropic-auth@latest"];
permission = {
read = {

View File

@@ -316,36 +316,36 @@
gui = {
authorColors = {
"*" = "#7287fd";
"*" = "#907aa9";
};
theme = {
activeBorderColor = [
"#8839ef"
"#907aa9"
"bold"
];
inactiveBorderColor = [
"#6c6f85"
"#9893a5"
];
optionsTextColor = [
"#1e66f5"
"#286983"
];
selectedLineBgColor = [
"#ccd0da"
"#f2e9e1"
];
cherryPickedCommitBgColor = [
"#bcc0cc"
"#dfdad9"
];
cherryPickedCommitFgColor = [
"#8839ef"
"#907aa9"
];
defaultFgColor = [
"#4c4f69"
"#575279"
];
searchingActiveBorderColor = [
"#df8e1d"
"#ea9d34"
];
unstagedChangesColor = [
"#d20f39"
"#b4637a"
];
};
};

View File

@@ -27,7 +27,7 @@
extraEnv =
''
$env.LS_COLORS = (${pkgs.vivid}/bin/vivid generate catppuccin-latte)
$env.LS_COLORS = (${pkgs.vivid}/bin/vivid generate rose-pine-dawn)
''
+ lib.optionalString pkgs.stdenv.isDarwin ''
# Nushell on Darwin doesn't source /etc/zprofile or path_helper,
@@ -36,65 +36,55 @@
'';
extraConfig = ''
# --- Catppuccin Latte Theme ---
# --- Rosé Pine Dawn Theme ---
let theme = {
rosewater: "#dc8a78"
flamingo: "#dd7878"
pink: "#ea76cb"
mauve: "#8839ef"
red: "#d20f39"
maroon: "#e64553"
peach: "#fe640b"
yellow: "#df8e1d"
green: "#40a02b"
teal: "#179299"
sky: "#04a5e5"
sapphire: "#209fb5"
blue: "#1e66f5"
lavender: "#7287fd"
text: "#4c4f69"
subtext1: "#5c5f77"
subtext0: "#6c6f85"
overlay2: "#7c7f93"
overlay1: "#8c8fa1"
overlay0: "#9ca0b0"
surface2: "#acb0be"
surface1: "#bcc0cc"
surface0: "#ccd0da"
base: "#eff1f5"
mantle: "#e6e9ef"
crust: "#dce0e8"
love: "#b4637a"
gold: "#ea9d34"
rose: "#d7827e"
pine: "#286983"
foam: "#56949f"
iris: "#907aa9"
leaf: "#6d8f89"
text: "#575279"
subtle: "#797593"
muted: "#9893a5"
highlight_high: "#cecacd"
highlight_med: "#dfdad9"
highlight_low: "#f4ede8"
overlay: "#f2e9e1"
surface: "#fffaf3"
base: "#faf4ed"
}
let scheme = {
recognized_command: $theme.blue
recognized_command: $theme.pine
unrecognized_command: $theme.text
constant: $theme.peach
punctuation: $theme.overlay2
operator: $theme.sky
string: $theme.green
virtual_text: $theme.surface2
variable: { fg: $theme.flamingo attr: i }
filepath: $theme.yellow
constant: $theme.gold
punctuation: $theme.muted
operator: $theme.subtle
string: $theme.gold
virtual_text: $theme.highlight_high
variable: { fg: $theme.rose attr: i }
filepath: $theme.iris
}
$env.config.color_config = {
separator: { fg: $theme.surface2 attr: b }
leading_trailing_space_bg: { fg: $theme.lavender attr: u }
separator: { fg: $theme.highlight_high attr: b }
leading_trailing_space_bg: { fg: $theme.iris attr: u }
header: { fg: $theme.text attr: b }
row_index: $scheme.virtual_text
record: $theme.text
list: $theme.text
hints: $scheme.virtual_text
search_result: { fg: $theme.base bg: $theme.yellow }
shape_closure: $theme.teal
closure: $theme.teal
shape_flag: { fg: $theme.maroon attr: i }
search_result: { fg: $theme.base bg: $theme.gold }
shape_closure: $theme.foam
closure: $theme.foam
shape_flag: { fg: $theme.love attr: i }
shape_matching_brackets: { attr: u }
shape_garbage: $theme.red
shape_keyword: $theme.mauve
shape_match_pattern: $theme.green
shape_signature: $theme.teal
shape_garbage: $theme.love
shape_keyword: $theme.iris
shape_match_pattern: $theme.leaf
shape_signature: $theme.foam
shape_table: $scheme.punctuation
cell-path: $scheme.punctuation
shape_list: $scheme.punctuation
@@ -104,53 +94,53 @@
empty: { attr: n }
filesize: {||
if $in < 1kb {
$theme.teal
$theme.foam
} else if $in < 10kb {
$theme.green
$theme.leaf
} else if $in < 100kb {
$theme.yellow
$theme.gold
} else if $in < 10mb {
$theme.peach
$theme.rose
} else if $in < 100mb {
$theme.maroon
$theme.love
} else if $in < 1gb {
$theme.red
$theme.love
} else {
$theme.mauve
$theme.iris
}
}
duration: {||
if $in < 1day {
$theme.teal
$theme.foam
} else if $in < 1wk {
$theme.green
$theme.leaf
} else if $in < 4wk {
$theme.yellow
$theme.gold
} else if $in < 12wk {
$theme.peach
$theme.rose
} else if $in < 24wk {
$theme.maroon
$theme.love
} else if $in < 52wk {
$theme.red
$theme.love
} else {
$theme.mauve
$theme.iris
}
}
datetime: {|| (date now) - $in |
if $in < 1day {
$theme.teal
$theme.foam
} else if $in < 1wk {
$theme.green
$theme.leaf
} else if $in < 4wk {
$theme.yellow
$theme.gold
} else if $in < 12wk {
$theme.peach
$theme.rose
} else if $in < 24wk {
$theme.maroon
$theme.love
} else if $in < 52wk {
$theme.red
$theme.love
} else {
$theme.mauve
$theme.iris
}
}
shape_external: $scheme.unrecognized_command
@@ -158,11 +148,11 @@
shape_external_resolved: $scheme.recognized_command
shape_block: $scheme.recognized_command
block: $scheme.recognized_command
shape_custom: $theme.pink
custom: $theme.pink
shape_custom: $theme.rose
custom: $theme.rose
background: $theme.base
foreground: $theme.text
cursor: { bg: $theme.rosewater fg: $theme.base }
cursor: { bg: $theme.text fg: $theme.base }
shape_range: $scheme.operator
range: $scheme.operator
shape_pipe: $scheme.operator
@@ -187,21 +177,21 @@
shape_literal: $scheme.constant
string: $scheme.string
shape_string: $scheme.string
shape_string_interpolation: $theme.flamingo
shape_string_interpolation: $theme.rose
shape_raw_string: $scheme.string
shape_externalarg: $scheme.string
}
$env.config.highlight_resolved_externals = true
$env.config.explore = {
status_bar_background: { fg: $theme.text, bg: $theme.mantle },
status_bar_background: { fg: $theme.text, bg: $theme.surface },
command_bar_text: { fg: $theme.text },
highlight: { fg: $theme.base, bg: $theme.yellow },
highlight: { fg: $theme.base, bg: $theme.gold },
status: {
error: $theme.red,
warn: $theme.yellow,
info: $theme.blue,
error: $theme.love,
warn: $theme.gold,
info: $theme.pine,
},
selected_cell: { bg: $theme.blue fg: $theme.base },
selected_cell: { bg: $theme.pine fg: $theme.base },
}
# --- Custom Commands ---

View File

@@ -6,7 +6,7 @@
}: {
xdg.configFile."ghostty/config".text = ''
command = ${pkgs.nushell}/bin/nu
theme = Catppuccin Latte
theme = Rose Pine Dawn
window-padding-x = 12
window-padding-y = 3
window-padding-balance = true
@@ -24,19 +24,19 @@
programs.bat = {
enable = true;
config = {
theme = "Catppuccin Latte";
theme = "Rosé Pine Dawn";
pager = "ov";
};
themes = {
"Catppuccin Latte" = {
"Rosé Pine Dawn" = {
src =
pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "6810349b28055dce54076712fc05fc68da4b8ec0";
sha256 = "lJapSgRVENTrbmpVyn+UQabC9fpV1G1e+CdlJ090uvg=";
owner = "rose-pine";
repo = "tm-theme";
rev = "23bb25b9c421cdc9ea89ff3ad3825840cd19d65d";
hash = "sha256-GUFdv5V5OZ2PG+gfsbiohMT23LWsrZda34ReHBr2Xy0=";
};
file = "themes/Catppuccin Latte.tmTheme";
file = "dist/rose-pine-dawn.tmTheme";
};
};
};
@@ -55,11 +55,11 @@
--preview-window='border-rounded' --prompt=' ' --marker=' ' --pointer=' '
--separator='' --scrollbar='' --layout='reverse'
--color=bg+:#CCD0DA,bg:#EFF1F5,spinner:#DC8A78,hl:#D20F39
--color=fg:#4C4F69,header:#D20F39,info:#8839EF,pointer:#DC8A78
--color=marker:#7287FD,fg+:#4C4F69,prompt:#8839EF,hl+:#D20F39
--color=selected-bg:#BCC0CC
--color=border:#9CA0B0,label:#4C4F69
--color=bg+:#f2e9e1,bg:#faf4ed,spinner:#ea9d34,hl:#d7827e
--color=fg:#797593,header:#286983,info:#56949f,pointer:#907aa9
--color=marker:#b4637a,fg+:#575279,prompt:#797593,hl+:#d7827e
--color=selected-bg:#f2e9e1
--color=border:#dfdad9,label:#575279
'';
};

View File

@@ -3,7 +3,7 @@
programs.zellij = {
enable = true;
settings = {
theme = "catppuccin-latte";
theme = "rose-pine-dawn";
default_layout = "default";
default_shell = "${pkgs.nushell}/bin/nu";
pane_frames = false;
@@ -12,6 +12,24 @@
};
};
xdg.configFile."zellij/themes/rose-pine-dawn.kdl".text = ''
themes {
rose-pine-dawn {
fg "#575279"
bg "#f2e9e1"
black "#faf4ed"
red "#b4637a"
green "#6d8f89"
yellow "#ea9d34"
blue "#286983"
magenta "#907aa9"
cyan "#56949f"
white "#575279"
orange "#d7827e"
}
}
'';
xdg.configFile."zellij/layouts/default.kdl".text = ''
layout {
default_tab_template {
@@ -23,26 +41,26 @@
plugin location="file:${pkgs.zjstatus}/bin/zjstatus.wasm" {
hide_frame_for_single_pane "true"
format_left "{mode}#[fg=#1e66f5,bg=#eff1f5,bold] {session}#[bg=#eff1f5] {tabs}"
format_left "{mode}#[fg=#286983,bg=#faf4ed,bold] {session}#[bg=#faf4ed] {tabs}"
format_right "{datetime}"
format_space "#[bg=#eff1f5]"
format_space "#[bg=#faf4ed]"
mode_normal "#[fg=#eff1f5,bg=#1e66f5] "
mode_locked "#[fg=#eff1f5,bg=#fe640b] L "
mode_tab "#[fg=#eff1f5,bg=#40a02b] T "
mode_pane "#[fg=#eff1f5,bg=#8839ef] P "
mode_session "#[fg=#eff1f5,bg=#04a5e5] S "
mode_resize "#[fg=#eff1f5,bg=#df8e1d] R "
mode_move "#[fg=#eff1f5,bg=#ea76cb] M "
mode_search "#[fg=#eff1f5,bg=#d20f39] S "
mode_normal "#[fg=#faf4ed,bg=#286983] "
mode_locked "#[fg=#faf4ed,bg=#ea9d34] L "
mode_tab "#[fg=#faf4ed,bg=#6d8f89] T "
mode_pane "#[fg=#faf4ed,bg=#907aa9] P "
mode_session "#[fg=#faf4ed,bg=#56949f] S "
mode_resize "#[fg=#faf4ed,bg=#ea9d34] R "
mode_move "#[fg=#faf4ed,bg=#d7827e] M "
mode_search "#[fg=#faf4ed,bg=#b4637a] S "
tab_normal "#[fg=#acb0be,bg=#eff1f5] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_active "#[fg=#eff1f5,bg=#1e66f5,bold,underline] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_normal "#[fg=#9893a5,bg=#faf4ed] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_active "#[fg=#faf4ed,bg=#286983,bold,underline] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_fullscreen_indicator "󰊓 "
tab_sync_indicator "󰓦 "
tab_floating_indicator "󰉈 "
datetime "#[fg=#4c4f69,bg=#eff1f5] {format} "
datetime "#[fg=#575279,bg=#faf4ed] {format} "
datetime_format "%A, %d %b %Y %H:%M"
datetime_timezone "Europe/Berlin"
}