Merge pull request 'cursor-dark Theme Implementierung' (#2) from cursor-dark into master

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-08-06 10:35:43 +02:00
29 changed files with 484 additions and 188 deletions
+101
View File
@@ -0,0 +1,101 @@
# Setup after pulling (Arch)
Everything needed to bring the Cursor Dark theme up on a machine that has just
pulled these changes.
## 1. Packages
```sh
sudo pacman -S --needed papirus-icon-theme ttf-nerd-fonts-symbols-mono
```
| Package | Why |
| --- | --- |
| `papirus-icon-theme` | rofi, dunst and the GTK configs all reference `Papirus-Dark` |
| `ttf-nerd-fonts-symbols-mono` | the tmux status bar uses powerline separators (U+E0B0E0B3), and `kitty.conf` maps that range to `Symbols Nerd Font Mono` |
Not in the repos: **Berkeley Mono** (`kitty.conf`) and **Hack JBM Ligatured**
(waybar, rofi, hyprlock) are installed by hand.
## 2. Deploy
```sh
cd ~/.dotfiles
stow fish kitty tmux nvim hypr waybar rofi dunst gtktheme
```
> The README suggests `stow *`, which now also picks up `SETUP.md`.
> Use `stow */` or an explicit list.
## 3. Reload
```sh
# fish - close every running fish session BEFORE pulling (see notes)
exec fish
# tmux - plugins now bootstrap themselves, no prefix+I needed
tmux kill-server && tmux
# nvim - installs vscode.nvim, drops everforest
nvim --headless "+Lazy! sync" +qa
# desktop
hyprctl reload
killall -SIGUSR2 waybar
killall dunst # respawns via dbus
```
kitty: `ctrl+shift+F5` to reload, or restart it. rofi has no daemon.
## 4. GTK theme
The configs are set to `Orchis-Dark-Compact` (Material Design, accent `#1A73E8`).
```sh
sudo pacman -S orchis-theme xdg-desktop-portal-gtk
```
libadwaita ignores `gtk-theme-name`, so GTK4 apps also need the portal settings
and Orchis' own GTK4 stylesheet linked in:
```sh
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
gsettings set org.gnome.desktop.interface gtk-theme 'Orchis-Dark-Compact'
mkdir -p ~/.config/gtk-4.0
ln -sf /usr/share/themes/Orchis-Dark-Compact/gtk-4.0/gtk.css ~/.config/gtk-4.0/gtk.css
ln -sf /usr/share/themes/Orchis-Dark-Compact/gtk-4.0/assets ~/.config/gtk-4.0/assets
```
`nwg-look` can do the symlink step for you — `nwg/.config/nwg-look/config` already
has `export-gtk4-symlinks: true`. Set the gsettings values above first, then run
`nwg-look` and hit Apply; it writes `.gtkrc-2.0`, both `settings.ini` files and the
GTK4 symlinks from those values.
### Window buttons
Both `settings.ini` files set `gtk-decoration-layout=close,minimize,maximize:`
— everything left of the `:` sits on the **left**, which is macOS placement and
order. That is client-side decoration, so it is all Hyprland apps use.
Orchis' `--tweaks macos` is **not** useful here: it only replaces `xfwm4` and
`metacity-1` assets (Xfce / Marco window managers) and touches no GTK CSS, so it
would change nothing under Hyprland — and it requires building from source,
giving up the packaged theme. Circular red/yellow/green buttons are not
available from Orchis for GTK client-side decorations.
## Notes
- **fish universal variables.** The colours live in `fish/.config/fish/fish_variables`,
which fish rewrites from memory whenever any universal variable changes. Close
running fish sessions before pulling so an old session can't write the previous
palette back over it.
- **`cat` is broken on Arch.** `config.fish` defines `cat` as `batcat …`, which is
the Debian binary name. Arch's `bat` package installs `/usr/bin/bat`. Either
`sudo pacman -S bat` and rename the call, or add an alias.
- **nwg-look overwrites GTK config.** It regenerates `.gtkrc-2.0` and the
`settings.ini` files. Run it *before* editing these by hand, or re-apply after.
- **`gtktheme/.gtkrc-2.0` line 4** includes `/home/n0x/.gtkrc-2.0.mine`, a stale
path from a previous username. Harmless, but dead.
- **`~/.tmux/plugins/nord-tmux`** is no longer used or tracked. Safe to delete.
+13 -8
View File
@@ -95,7 +95,8 @@
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#A7C080"
# Cursor Dark: neutral by default, overridden per urgency below.
frame_color = "#2b2b2b"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
@@ -201,7 +202,7 @@
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = Nordzy-green-dark
icon_theme = Papirus-Dark
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
@@ -313,23 +314,27 @@
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#2E383C"
foreground = "#D3C6AA"
background = "#181818"
foreground = "#9d9d9d"
frame_color = "#2b2b2b"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#2E383C"
foreground = "#D3C6AA"
background = "#181818"
foreground = "#cccccc"
frame_color = "#2472c8"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#900000"
# #5a1d1d is VS Code's error-validation background, so it stays in-family
# while still reading as alarming.
background = "#5a1d1d"
foreground = "#ffffff"
frame_color = "#ff0000"
frame_color = "#f14c4c"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
+26 -24
View File
@@ -1,36 +1,38 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export COMPOSE_BAKE:true
SETUVAR --export DISPLAY:\x3a0
SETUVAR --export EDITOR:nvim
SETUVAR --export VISUAL:nvim
SETUVAR --export _JAVA_AWT_WM_NONREPARENTING:1
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:4c566a
SETUVAR fish_color_autosuggestion:666666
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:green
SETUVAR fish_color_comment:434c5e
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:88c0d0
SETUVAR fish_color_error:ebcb8b
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_command:569CD6
SETUVAR fish_color_comment:6A9955
SETUVAR fish_color_cwd:4EC9B0
SETUVAR fish_color_cwd_root:F14C4C
SETUVAR fish_color_end:C586C0
SETUVAR fish_color_error:F14C4C
SETUVAR fish_color_escape:D7BA7D
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
SETUVAR fish_color_host:569CD6
SETUVAR fish_color_host_remote:DCDCAA
SETUVAR fish_color_keyword:C586C0
SETUVAR fish_color_match:\x2d\x2dbackground\x3d264F78
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_operator:D4D4D4
SETUVAR fish_color_option:9CDCFE
SETUVAR fish_color_param:normal
SETUVAR fish_color_quote:999900
SETUVAR fish_color_redirection:00afff
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_quote:CE9178
SETUVAR fish_color_redirection:9CDCFE
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d264F78
SETUVAR fish_color_selection:E5E5E5\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3d264F78
SETUVAR fish_color_status:F14C4C
SETUVAR fish_color_user:9CDCFE
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_pager_color_description:9D9D9D
SETUVAR fish_pager_color_prefix:569CD6\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:E5E5E5\x1e\x2d\x2dbackground\x3d264F78
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3d264F78
SETUVAR fish_user_paths:/home/n0x/\x2ecargo/bin\x1e/home/n0x/\x2elocal/bin
+13 -14
View File
@@ -1,20 +1,19 @@
set fish_prompt_pwd_dir_length 0
set __fish_git_prompt_show_informative_status 1
# Fish command and parameter colors
set fish_color_command green
set fish_color_param $fish_color_normal
# Command and parameter colors come from fish_variables (Cursor Dark)
# Git prompt
set __fish_git_prompt_showdirtystate 'yes'
set __fish_git_prompt_showupstream 'yes'
set __fish_git_prompt_color_branch brown
set __fish_git_prompt_color_dirtystate FCBC47
set __fish_git_prompt_color_stagedstate yellow
set __fish_git_prompt_color_upstream cyan
set __fish_git_prompt_color_cleanstate green
set __fish_git_prompt_color_invalidstate red
# Colors mirror Cursor's git decorations
set __fish_git_prompt_color_branch 569CD6
set __fish_git_prompt_color_dirtystate E2C08D
set __fish_git_prompt_color_stagedstate 73C991
set __fish_git_prompt_color_upstream 4EC9B0
set __fish_git_prompt_color_cleanstate 73C991
set __fish_git_prompt_color_invalidstate E4676B
# Git Characters
set __fish_git_prompt_char_dirtystate '*'
@@ -41,9 +40,9 @@ end
function _prompt_color_for_status
if test $argv[1] -eq 0
echo magenta
echo C586C0
else
echo red
echo F14C4C
end
end
@@ -51,7 +50,7 @@ function fish_prompt
set -l last_status $status
# username and hostname
_print_in_color "┏["$USER"@"(prompt_hostname)"]" blue
_print_in_color "┏["$USER"@"(prompt_hostname)"]" 569CD6
# current working dir
_print_in_color " "(prompt_pwd) $fish_color_cwd
@@ -59,10 +58,10 @@ function fish_prompt
__fish_git_prompt " (%s)"
# beginning of new line
_print_in_color "\n┗" blue
_print_in_color "\n┗" 569CD6
# time information
_print_in_color " "(date "+%H:%M:%S") green
_print_in_color " "(date "+%H:%M:%S") 73C991
# little error that indicates the status of the previous command
_print_in_color " " (_prompt_color_for_status $last_status)
+2
View File
@@ -48,3 +48,5 @@
ll = !git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' --all
s = status
unstage = reset HEAD --
[advice]
addIgnoredFile = false
+2 -2
View File
@@ -1,6 +1,6 @@
[Settings]
gtk-theme-name=Everforest-Teal-Dark
gtk-icon-theme-name=Everforest-Light
gtk-theme-name=Orchis-Dark-Compact
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans 11
gtk-cursor-theme-name=default
gtk-cursor-theme-size=24
+2 -2
View File
@@ -1,6 +1,6 @@
[Settings]
gtk-theme-name=Everforest-Teal-Dark
gtk-icon-theme-name=Everforest-Light
gtk-theme-name=Orchis-Dark-Compact
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans 11
gtk-cursor-theme-name=default
gtk-cursor-theme-size=24
+2 -2
View File
@@ -2,8 +2,8 @@
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/n0x/.gtkrc-2.0.mine"
gtk-theme-name="Everforest-Teal-Dark"
gtk-icon-theme-name="Everforest-Light"
gtk-theme-name="Orchis-Dark-Compact"
gtk-icon-theme-name="Papirus-Dark"
gtk-font-name="Noto Sans 11"
gtk-cursor-theme-name="default"
gtk-cursor-theme-size=24
+3 -2
View File
@@ -7,8 +7,9 @@ hl.config({
gaps_out = 10,
border_size = 2,
col = {
active_border = { colors = { "rgba(7fbbb3ee)", "rgba(a7c080ee)" }, angle = 45 },
inactive_border = "rgba(384b55aa)",
-- Cursor Dark: accent blue gradient, neutral dark inactive
active_border = { colors = { "rgba(2472c8ee)", "rgba(3b8eeaee)" }, angle = 45 },
inactive_border = "rgba(2b2b2baa)",
},
resize_on_border = false,
allow_tearing = false,
+6 -6
View File
@@ -1,7 +1,7 @@
background {
monitor =
path = $HOME/.config/hypr/wp.png
color = rgba(59,66,82,1)
color = rgba(24,24,24,1)
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_size = 5
@@ -20,9 +20,9 @@ input-field {
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 1.00 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(59,66,82,1)
inner_color = rgba(59,66,82,1)
font_color = rgba(235,203,139,1)
outer_color = rgba(36,114,200,1)
inner_color = rgba(43,43,43,1)
font_color = rgba(204,204,204,1)
fade_on_empty = true
placeholder_text = <i>Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
@@ -56,7 +56,7 @@ label {
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%d %b") </big></b>"
color =rgb(163,190,140)
color =rgb(59,142,234)
font_size = 16
font_family = HackJBMLigatured-Regular 10
position = 0, -160
@@ -66,7 +66,7 @@ label {
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%A") </big></b>"
color =rgb(163,190,140)
color =rgb(59,142,234)
font_size = 16
font_family = HackJBMLigatured-Regular 10
position = 0, -180
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

After

Width:  |  Height:  |  Size: 22 MiB

+32 -39
View File
@@ -13,64 +13,64 @@ symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200
# Transparency
background_opacity 0.85
foreground #d3c6aa
background #2b3339
selection_foreground #9da9a0
selection_background #503946
foreground #cccccc
background #181818
selection_foreground none
selection_background #264f78
cursor #d3c6aa
cursor_text_color #323c41
cursor #aeafad
cursor_text_color #181818
url_color #7fbbb3
url_color #3b8eea
active_border_color #a7c080
inactive_border_color #53605c
bell_border_color #e69875
active_border_color #2472c8
inactive_border_color #2b2b2b
bell_border_color #e5e510
visual_bell_color none
wayland_titlebar_color system
macos_titlebar_color system
active_tab_background #2b3339
active_tab_foreground #d3c6aa
inactive_tab_background #3a454a
inactive_tab_foreground #9da9a0
tab_bar_background #323c41
active_tab_background #1f1f1f
active_tab_foreground #ffffff
inactive_tab_background #181818
inactive_tab_foreground #9d9d9d
tab_bar_background #181818
tab_bar_margin_color none
# Set up term-colors (Nord Theme)
# Set up term-colors (Cursor Dark)
#: black
color0 #374247
color8 #404c51
color0 #000000
color8 #666666
#: red
color1 #e67e80
color9 #e67e80
color1 #cd3131
color9 #f14c4c
#: green
color2 #a7c080
color10 #a7c080
color2 #0dbc79
color10 #23d18b
#: yellow
color3 #dbbc7f
color11 #dbbc7f
color3 #e5e510
color11 #f5f543
#: blue
color4 #7fbbb3
color12 #7fbbb3
color4 #2472c8
color12 #3b8eea
#: magenta
color5 #d699b6
color13 #d699b6
color5 #bc3fbc
color13 #d670d6
#: cyan
color6 #83c092
color14 #83c092
color6 #11a8cd
color14 #29b8db
#: white
color7 #859289
color15 #9da9a0
color7 #e5e5e5
color15 #e5e5e5
# The cursor shape can be one of (block, beam, underline)
@@ -89,13 +89,6 @@ window_border_width 0
window_margin_width 20
# The color for the border of the active window
active_border_color #ffffff
# The color for the border of inactive windows
inactive_border_color #cccccc
# Manage font size
map ctrl+shift+up increase_font_size
map ctrl+shift+down decrease_font_size
+10 -10
View File
@@ -7,16 +7,15 @@
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
"everforest-nvim": { "branch": "main", "commit": "d235ca0aa6a29546e661a020e2618612acbbffbe" },
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" },
"mason.nvim": { "branch": "main", "commit": "8e921c2b68571e978db5d4d3fef9c9a7f8755473" },
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
"nvim-tree.lua": { "branch": "master", "commit": "07f541fcaa4a5ae019598240362449ab7e9812b3" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "2795c26c916bb3c57dde308b82be51971fa92747" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "67029ccdac1ef8941e13b826417bc0ffac24cc86" },
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
"nvim-cmp": { "branch": "main", "commit": "2ffe79f1f021def8dd1fcd81deb16f1bb0d989f3" },
"nvim-tree.lua": { "branch": "master", "commit": "b2aadda94b107480c48e548d6db51c6840b7b33c" },
"nvim-treesitter": { "branch": "main", "commit": "7b6cc8949f9999c5ed91436cbe24aa5f99c42025" },
"nvim-web-devicons": { "branch": "master", "commit": "2ae6958df7ced50baac5035cec0c15799eedfbf7" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
@@ -24,7 +23,8 @@
"vim-bbye": { "branch": "master", "commit": "25ef93ac5a87526111f43e5110675032dbcacf56" },
"vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" },
"vim-vsnip": { "branch": "master", "commit": "9bcfabea653abdcdac584283b5097c3f8760abaa" },
"vimtex": { "branch": "master", "commit": "182ad387e3f3107699483606c9a2b6648f8437b2" },
"vimtex": { "branch": "master", "commit": "154eca8f68a5ad54eb12308bb378e88bdd0dfb3e" },
"vimwiki": { "branch": "dev", "commit": "a54a3002e229c4b43d69ced170ff77663a5b2c40" },
"vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
+1 -1
View File
@@ -22,7 +22,7 @@ require("lazy").setup({
{ import = "plugins" },
},
install = {
colorscheme = { "everforest" },
colorscheme = { "vscode" },
},
checker = {
enabled = true,
+37 -3
View File
@@ -1,10 +1,44 @@
-- Cursor Dark.
--
-- Cursor's default theme is VS Code Dark Modern lineage, so vscode.nvim already
-- ships the exact token colors (#569CD6 keywords, #CE9178 strings, #6A9955
-- comments, #4EC9B0 types). Only the chrome and the :terminal palette need
-- pinning so Neovim matches kitty/tmux/fish.
return {
{
"neanias/everforest-nvim",
"Mofiqul/vscode.nvim",
lazy = false,
priority = 1000,
config = function()
require("everforest").setup({})
vim.cmd([[colorscheme everforest]])
vim.o.background = "dark"
require("vscode").setup({
-- The editor background is pinned to kitty's #181818 instead of Cursor's
-- #1F1F1F: kitty only leaves a cell transparent when it uses the default
-- background, so matching it keeps background_opacity working in nvim.
color_overrides = {
vscBack = "#181818",
vscTabCurrent = "#1F1F1F",
vscTabOther = "#181818",
vscTabOutside = "#181818",
vscLeftDark = "#181818",
},
})
vim.cmd.colorscheme("vscode")
-- :terminal gets the same 16 colors as kitty and tmux. vscode.nvim would
-- otherwise map them onto the syntax palette, which makes green the
-- comment green (#6A9955) and looks nothing like the shell.
local palette = {
[0] = "#000000", "#cd3131", "#0dbc79", "#e5e510",
"#2472c8", "#bc3fbc", "#11a8cd", "#e5e5e5",
"#666666", "#f14c4c", "#23d18b", "#f5f543",
"#3b8eea", "#d670d6", "#29b8db", "#e5e5e5",
}
for i, color in pairs(palette) do
vim.g["terminal_color_" .. i] = color
end
end,
},
}
+22 -8
View File
@@ -1,17 +1,31 @@
return {
{
"nvim-treesitter/nvim-treesitter",
branch = "main",
lazy = false,
build = ":TSUpdate",
config = function()
require("nvim-treesitter").setup {
ensure_installed = { "bash", "c", "cpp", "javascript", "json", "python", "css", "rust", "lua", "markdown", "markdown_inline" },
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = { enable = true },
local ts = require("nvim-treesitter")
ts.setup()
local ensure = {
"bash", "c", "cpp", "javascript", "json", "python",
"css", "rust", "lua", "markdown", "markdown_inline",
"php", "html", "terraform",
}
ts.install(ensure)
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"bash", "sh", "c", "cpp", "javascript", "json", "python",
"css", "rust", "lua", "markdown",
"php", "html", "terraform",
},
callback = function()
pcall(vim.treesitter.start)
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})
end,
},
}
+28 -2
View File
@@ -111,11 +111,37 @@ return {
-- Status line
{
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons", "neanias/everforest-nvim" },
dependencies = { "nvim-tree/nvim-web-devicons", "Mofiqul/vscode.nvim" },
config = function()
-- Cursor Dark, deliberately mirroring the tmux status bar: same #181818
-- bar, same #2b2b2b raised segments, mode colour from the shared palette.
local bar, raised, text, dim = "#181818", "#2b2b2b", "#cccccc", "#9d9d9d"
local function mode(bg, fg)
return {
a = { bg = bg, fg = fg or "#ffffff", gui = "bold" },
b = { bg = raised, fg = text },
c = { bg = bar, fg = dim },
}
end
local cursor_dark = {
normal = mode("#2472c8"),
insert = mode("#0dbc79"),
visual = mode("#bc3fbc"),
replace = mode("#cd3131"),
-- dark text on yellow; white would be unreadable here
command = mode("#e5e510", "#181818"),
inactive = {
a = { bg = bar, fg = "#666666" },
b = { bg = bar, fg = "#666666" },
c = { bg = bar, fg = "#666666" },
},
}
require('lualine').setup {
options = {
theme = 'everforest',
theme = cursor_dark,
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
}
+4 -3
View File
@@ -8,12 +8,13 @@ window {
}
/* Inner bar container, surrounds buttons */
/* Cursor Dark: #181818 panel, #cccccc outline */
#inner-box {
background-color: rgba (59, 66, 82, 1);
background-color: rgba (24, 24, 24, 1);
border-radius: 10px;
border-style: solid;
border-width: 2px;
border-color: rgba (216, 222, 233, 0.7);
border-color: rgba (204, 204, 204, 0.7);
padding: 10px;
margin: 10px
}
@@ -31,5 +32,5 @@ button {
}
button:hover {
background-color: rgba (216, 222, 233, 0.1)
background-color: rgba (204, 204, 204, 0.1)
}
+4 -1
View File
@@ -3,5 +3,8 @@
"export-gtkrc-20": true,
"export-index-theme": true,
"export-xsettingsd": true,
"export-gtk4-symlinks": true
"export-gtk4-symlinks": true,
"flatpak-export-gtk-theme-override": false,
"flatpak-export-icon-theme-override": false,
"flatpak-install-current-gtk-theme": false
}
+17 -16
View File
@@ -6,20 +6,21 @@ configuration {
modi: "combi,run,drun";
show-icons: true;
icon-theme: "Nordzy-green-dark";
icon-theme: "Papirus-Dark";
}
@theme "/dev/null"
/* Cursor Dark */
* {
bgdark: #272E33;
bgalt: #3C4841;
bggreen: #56635F;
fg0: #A7C080;
fgalt: #4f5b58;
bgdark: #181818;
bgalt: #2b2b2b;
bgraised: #313131;
fg0: #cccccc;
fgalt: #6e6e6e;
accent-color: #A7C080;
urgent-color: #DBBC7F;
accent-color: #2472c8;
urgent-color: #e2c08d;
font: "Roboto 12";
@@ -32,7 +33,7 @@ configuration {
}
element selected {
text-color: @bgalt;
text-color: #ffffff;
}
window {
@@ -49,7 +50,7 @@ mainbox {
inputbar {
background-color: @bgalt;
border-color: @bggreen;
border-color: @bgraised;
border: 2px;
border-radius: 8px;
@@ -60,7 +61,7 @@ inputbar {
}
prompt {
text-color: @fg0;
text-color: @accent-color;
}
entry {
@@ -71,8 +72,8 @@ entry {
message {
margin: 12px 0 0;
border-radius: 8px;
border-color: @bggreen;
background-color: @bggreen;
border-color: @bgraised;
background-color: @bgraised;
}
textbox {
@@ -96,15 +97,15 @@ element {
}
element normal active {
text-color: @fg0;
text-color: @accent-color;
}
element alternate active {
text-color: @fg0;
text-color: @accent-color;
}
element selected normal, element selected active {
background-color: @fg0;
background-color: @accent-color;
}
element-icon {
+62 -3
View File
@@ -22,6 +22,48 @@ set -g mouse on
set-option -g status-position bottom
set-option -g renumber-windows on
# ==========================
# === Cursor Dark theme ===
# ==========================
# Powerline status bar, ported from nordtheme/tmux with Cursor Dark colors.
# Requires a patched (Nerd) font for the U+E0B0-E0B3 separators.
#
# bar bg #181818 raised segment #2b2b2b text #cccccc
# session #2472c8 current window / host #11a8cd
set -g status on
set -g status-interval 1
set -g status-justify left
set -g status-style "bg=#181818,fg=#cccccc"
set -g status-left-length 40
set -g status-right-length 80
#+--- Bars ---+
set -g status-left "#[fg=#ffffff,bg=#2472c8,bold] #S #[fg=#2472c8,bg=#181818,nobold,noitalics,nounderscore]"
set -g status-right "#[fg=#2b2b2b,bg=#181818,nobold,noitalics,nounderscore]#[fg=#cccccc,bg=#2b2b2b] %Y-%m-%d #[fg=#cccccc,bg=#2b2b2b,nobold,noitalics,nounderscore]#[fg=#cccccc,bg=#2b2b2b] %H:%M #[fg=#11a8cd,bg=#2b2b2b,nobold,noitalics,nounderscore]#[fg=#181818,bg=#11a8cd,bold] #H "
#+--- Windows ---+
set -g window-status-format "#[fg=#181818,bg=#2b2b2b,nobold,noitalics,nounderscore] #[fg=#cccccc,bg=#2b2b2b]#I #[fg=#cccccc,bg=#2b2b2b,nobold,noitalics,nounderscore] #[fg=#cccccc,bg=#2b2b2b]#W #F #[fg=#2b2b2b,bg=#181818,nobold,noitalics,nounderscore]"
set -g window-status-current-format "#[fg=#181818,bg=#11a8cd,nobold,noitalics,nounderscore] #[fg=#181818,bg=#11a8cd]#I #[fg=#181818,bg=#11a8cd,nobold,noitalics,nounderscore] #[fg=#181818,bg=#11a8cd]#W #F #[fg=#11a8cd,bg=#181818,nobold,noitalics,nounderscore]"
set -g window-status-separator ""
# Let the formats above own the colors; activity/bell still show via the #F flag
setw -g window-status-activity-style "none"
setw -g window-status-bell-style "none"
#+--- Panes ---+
set -g pane-border-style "bg=default,fg=#2b2b2b"
set -g pane-active-border-style "bg=default,fg=#2472c8"
set -g display-panes-colour "#666666"
set -g display-panes-active-colour "#2472c8"
#+--- Messages ---+
set -g message-style "bg=#2b2b2b,fg=#11a8cd"
set -g message-command-style "bg=#2b2b2b,fg=#11a8cd"
setw -g mode-style "bg=#264f78,fg=#e5e5e5"
#+--- Clock ---+
setw -g clock-mode-colour "#11a8cd"
# ================================================
# === Copy mode, scroll and clipboard ===
# ================================================
@@ -92,12 +134,29 @@ bind -T copy-mode-vi MouseDown1Pane select-pane \;\
# tmux show-options -g -s set-clipboard
# set-clipboard on|external
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
# ==========================
# === Plugins ===
# ==========================
# Nothing under ~/.tmux/plugins is tracked in git - tpm owns that directory and
# clones everything listed below itself. Do not commit the plugin folders: they
# would be checked out as empty dirs, and tpm would then skip installing them.
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin "arcticicestudio/nord-tmux"
# tpm and its installer both resolve the plugin dir from this tmux environment
# variable, and only the tpm script itself sets it. Pin it up-front so the
# installer below already works on the very first run.
run 'tmux set-environment -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/"'
# Bootstrap tpm itself on a machine that has never run it
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone -q --single-branch https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm'"
# Clone any declared plugin that is missing. Deliberately in the foreground, so
# plugins installed here are already on disk when tpm sources them below.
run '~/.tmux/plugins/tpm/bin/install_plugins'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Submodule tmux/.tmux/plugins/nord-tmux deleted from f7b6da07ab
Submodule tmux/.tmux/plugins/tmux-sensible deleted from 25cb91f42d
Submodule tmux/.tmux/plugins/tmux-yank deleted from acfd36e4fc
Submodule tmux/.tmux/plugins/tpm deleted from 99469c4a9b
+36 -30
View File
@@ -10,36 +10,36 @@
// Choose the order of the modules
"modules-left": ["hyprland/workspaces","hyprland/window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "backlight", "network", "battery", "cpu", "memory", "tray"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "tray"],
// Modules configuration
// "hyprland/workspaces": {
// "disable-scroll": true,
// //"all-outputs": true,
// "on-click": "activate",
// "format": "{icon}",
// "format-icons": {
// "empty": "",
// //"default": "",
// "default": "",
// "active": "",
// }
// },
"hyprland/workspaces": {
"format": "{name}",
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
},
"all-outputs": true,
"active-only": false,
"sort-by-number": true
"disable-scroll": true,
//"all-outputs": true,
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"empty": "",
//"default": "",
"default": "",
"active": "",
}
},
// "hyprland/workspaces": {
// "format": "{name}",
// "persistent_workspaces": {
// "1": [],
// "2": [],
// "3": [],
// "4": [],
// "5": []
// },
// "all-outputs": true,
// "active-only": false,
// "sort-by-number": true
// },
"keyboard-state": {
"numlock": false,
"capslock": false,
@@ -93,7 +93,6 @@
"bat": "BAT2"
},
"network": {
"interface": "wlo1", // (Optional) To force the use of this interface
"format-wifi": "{essid} ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
@@ -124,13 +123,13 @@
"tooltip": false,
"format": "{} {icon}",
"format-icons": {
"notification": "<span foreground='red'><sup></sup></span> ",
"notification": "<span foreground='#f14c4c'><sup></sup></span> ",
"none": "",
"dnd-notification": "<span foreground='red'><sup></sup></span> ",
"dnd-notification": "<span foreground='#f14c4c'><sup></sup></span> ",
"dnd-none": "",
"inhibited-notification": "<span foreground='red'><sup></sup></span> ",
"inhibited-notification": "<span foreground='#f14c4c'><sup></sup></span> ",
"inhibited-none": "",
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span> ",
"dnd-inhibited-notification": "<span foreground='#f14c4c'><sup></sup></span> ",
"dnd-inhibited-none": ""
},
"return-type": "json",
@@ -149,6 +148,13 @@
},
"exec-if": "which waybar-updates",
"exec": "waybar-updates --interval-seconds 5 --network-interval-seconds 300"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
}
}
+11 -8
View File
@@ -1,11 +1,12 @@
@define-color bg_dim #1e2326;
@define-color bg0 #272e33;
@define-color bg2 #374145;
@define-color fg #D3C6AA;
@define-color red #E67E80;
@define-color blue #7fbbb3;
@define-color orange #e69875;
@define-color bg4 #495156;
/* Cursor Dark */
@define-color bg_dim #141414;
@define-color bg0 #181818;
@define-color bg2 #2b2b2b;
@define-color fg #cccccc;
@define-color red #f14c4c;
@define-color blue #3b8eea;
@define-color orange #e2c08d;
@define-color bg4 #2472c8;
* {
transition: none;
@@ -37,6 +38,8 @@
#workspaces button.active {
border-radius: 10px;
background-color: @bg4;
/* @fg on the accent blue is too low-contrast to read */
color: #ffffff;
}
#workspaces button.urgent {
+50
View File
@@ -13,3 +13,53 @@ map J zoom out
map i recolor
map p print
map g goto top
# ==========================
# === Cursor Dark ===
# ==========================
# bg #181818 | raised #2b2b2b | popup #202020 | text #cccccc
# accent #2472c8 | selection #264f78
# Chrome
set default-bg "#181818"
set default-fg "#cccccc"
set statusbar-bg "#2b2b2b"
set statusbar-fg "#cccccc"
set inputbar-bg "#181818"
set inputbar-fg "#cccccc"
set render-loading-bg "#181818"
set render-loading-fg "#9d9d9d"
# Notifications. Error/warning backgrounds are VS Code's input-validation
# colors, so the error tint matches dunst's critical notifications.
set notification-bg "#2b2b2b"
set notification-fg "#cccccc"
set notification-error-bg "#5a1d1d"
set notification-error-fg "#ffffff"
set notification-warning-bg "#352a05"
set notification-warning-fg "#ffffff"
# Completion and index reuse the popup/selection colors from nvim
set completion-bg "#202020"
set completion-fg "#cccccc"
set completion-group-bg "#181818"
set completion-group-fg "#9d9d9d"
set completion-highlight-bg "#264f78"
set completion-highlight-fg "#ffffff"
set index-bg "#181818"
set index-fg "#cccccc"
set index-active-bg "#264f78"
set index-active-fg "#ffffff"
# Search: every match subtle, the current one in the accent blue
set highlight-color "#264f78"
set highlight-active-color "#2472c8"
# Render the document itself dark; 'i' (mapped above) toggles it back off.
# Despite the names, lightcolor is what LIGHT areas become (the page
# background) and darkcolor is what DARK areas become (the text).
set recolor true
set recolor-lightcolor "#181818"
set recolor-darkcolor "#cccccc"
# Keep colored figures and links recognisable instead of crushing them to mono
set recolor-keephue true