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; enable = true;
defaultEditor = true; defaultEditor = true;
luaLoader.enable = true; luaLoader.enable = true;
colorschemes.catppuccin = { colorschemes.rose-pine = {
enable = true; enable = true;
settings = { settings = {
flavour = "latte"; variant = "dawn";
}; };
}; };
extraConfigLua = '' extraConfigLua = ''

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
programs.zellij = { programs.zellij = {
enable = true; enable = true;
settings = { settings = {
theme = "catppuccin-latte"; theme = "rose-pine-dawn";
default_layout = "default"; default_layout = "default";
default_shell = "${pkgs.nushell}/bin/nu"; default_shell = "${pkgs.nushell}/bin/nu";
pane_frames = false; 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 = '' xdg.configFile."zellij/layouts/default.kdl".text = ''
layout { layout {
default_tab_template { default_tab_template {
@@ -23,26 +41,26 @@
plugin location="file:${pkgs.zjstatus}/bin/zjstatus.wasm" { plugin location="file:${pkgs.zjstatus}/bin/zjstatus.wasm" {
hide_frame_for_single_pane "true" 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_right "{datetime}"
format_space "#[bg=#eff1f5]" format_space "#[bg=#faf4ed]"
mode_normal "#[fg=#eff1f5,bg=#1e66f5] " mode_normal "#[fg=#faf4ed,bg=#286983] "
mode_locked "#[fg=#eff1f5,bg=#fe640b] L " mode_locked "#[fg=#faf4ed,bg=#ea9d34] L "
mode_tab "#[fg=#eff1f5,bg=#40a02b] T " mode_tab "#[fg=#faf4ed,bg=#6d8f89] T "
mode_pane "#[fg=#eff1f5,bg=#8839ef] P " mode_pane "#[fg=#faf4ed,bg=#907aa9] P "
mode_session "#[fg=#eff1f5,bg=#04a5e5] S " mode_session "#[fg=#faf4ed,bg=#56949f] S "
mode_resize "#[fg=#eff1f5,bg=#df8e1d] R " mode_resize "#[fg=#faf4ed,bg=#ea9d34] R "
mode_move "#[fg=#eff1f5,bg=#ea76cb] M " mode_move "#[fg=#faf4ed,bg=#d7827e] M "
mode_search "#[fg=#eff1f5,bg=#d20f39] S " mode_search "#[fg=#faf4ed,bg=#b4637a] S "
tab_normal "#[fg=#acb0be,bg=#eff1f5] {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=#eff1f5,bg=#1e66f5,bold,underline] {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_fullscreen_indicator "󰊓 "
tab_sync_indicator "󰓦 " tab_sync_indicator "󰓦 "
tab_floating_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_format "%A, %d %b %Y %H:%M"
datetime_timezone "Europe/Berlin" datetime_timezone "Europe/Berlin"
} }