created a tokyo night theme for hyprland

This commit is contained in:
2025-04-08 16:55:15 +02:00
parent e03e073a6b
commit f8decdb9c4
26 changed files with 2968 additions and 230 deletions

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(ffffffff)
$dec_shadow = rgba(1a1a1aee)
$border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
$border_inactive = rgba(595959aa)
$border_nogroup_active =
$border_nogroup_inactive =
$border_group_active = 0x66ffff00
$border_group_inactive = 0x66777700
$border_grouplocked_active = 0x66ff5500
$border_grouplocked_inactive = 0x66ff5500
$groupbar_text = 0xffffffff
$groupbar_active = 0x66ffff00
$groupbar_inactive = 0x66777700
$groupbar_grouplocked_active = 0x66ff5500
$groupbar_grouplocked_inactive = 0x66775500

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(a9b1d6ee)
$dec_shadow = rgba(737aa2ee)
$border_active = rgba(9ece6aff) rgba(7aa2f7ff) 45deg
$border_inactive = rgba(9d7cd8aa) rgba(7aa2f7ff) 45deg
$border_nogroup_active = rgba(7aa2f7ff) rgba(89ddffff) 45deg
$border_nogroup_inactive = rgba(7aa2f7aa) rgba(89ddffaa) 45deg
$border_group_active = rgba(ff9e64ff) rgba(ff0e64ff) 45deg
$border_group_inactive = rgba(ff9e64aa) rgba(ff0e64aa) 45deg
$border_grouplocked_active = rgba(ff007cff) rgba(f7767eff) 45deg
$border_grouplocked_inactive = rgba(ff007caa) rgba(f7767eff) 45deg
$groupbar_text = rgba(1f2335ff)
$groupbar_active = rgba(ff9e64ff)
$groupbar_inactive = rgba(ff9e64aa)
$groupbar_grouplocked_active = rgba(ff007cff)
$groupbar_grouplocked_inactive = rgba(ff007caa)

View File

@@ -15,6 +15,12 @@ source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/conf.d/autostart.conf
##############
### COLORS ###
##############
source = ~/.config/hypr/conf.d/theme.conf
#############################
### ENVIRONMENT VARIABLES ###
#############################
@@ -30,13 +36,15 @@ source = ~/.config/hypr/conf.d/autostart.conf
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 0, 10, 10, 10
gaps_out = 0,10,10,10
border_size = 1
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
col.active_border = $border_active
col.inactive_border = $border_inactive
col.nogroup_border = $border_nogroup_inactive
col.nogroup_border_active = $border_nogroup_active
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
@@ -63,7 +71,7 @@ decoration {
enabled = false
range = 4
render_power = 3
color = rgba(1a1a1aee)
color = $dec_shadow
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
@@ -136,6 +144,7 @@ misc {
key_press_enables_dpms = true
layers_hog_keyboard_focus = true
mouse_move_focuses_monitor = true
col.splash = $splash_text
}
#############
@@ -191,27 +200,29 @@ group {
merge_groups_on_groupbar = true
merge_floated_into_tiled_on_groupbar = true
group_on_movetoworkspace = false
col.border_active = 0x66ffff00
col.border_inactive = 0x66777700
col.border_locked_active = 0x66ff5500
col.border_locked_inactive = 0x66ff5500
col.border_active = $border_group_active
col.border_inactive = $border_group_inactive
col.border_locked_active = $border_grouplocked_active
col.border_locked_inactive = $border_grouplocked_active
groupbar{
enabled = true
height = 12
font_family = InconsolataGo Nerd Font Mono
font_size = 8
gradients = true
height = 12
indicator_height = 0
stacked = false
gradients = true
gradient_rounding = 5
text_color = 0xffffffff
col.active = 0x66ffff00
col.inactive = 0x66777700
col.locked_active = 0x66ff5500
col.locked_inactive = 0x66775500
gaps_out = 1
gaps_in = 1
indicator_height = 0
rounding = 0
gradient_round_only_edges = true
text_color = $groupbar_text
col.active = $groupbar_active
col.inactive = $groupbar_inactive
col.locked_active = $groupbar_grouplocked_active
col.locked_inactive = $groupbar_grouplocked_inactive
gaps_out = 0
gaps_in = 0
}
}

View File

@@ -0,0 +1,3 @@
# Generated by nwg-displays on 2025-03-31 at 20:41:02. Do not edit manually.
monitor=eDP-1,1366x768@59.97,0x0,1.0

View File

View File

@@ -0,0 +1,50 @@
# vim:ft=kitty
## name: Tokyo Night
## license: MIT
## author: Folke Lemaitre
## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_night.conf
background #1a1b26
foreground #c0caf5
selection_background #283457
selection_foreground #c0caf5
url_color #73daca
cursor #c0caf5
cursor_text_color #1a1b26
# Tabs
active_tab_background #7aa2f7
active_tab_foreground #16161e
inactive_tab_background #292e42
inactive_tab_foreground #545c7e
#tab_bar_background #15161e
# Windows
active_border_color #7aa2f7
inactive_border_color #292e42
# normal
color0 #15161e
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #a9b1d6
# bright
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5
# extended colors
color16 #ff9e64
color17 #db4b4b

View File

@@ -1251,7 +1251,7 @@ font_size 9.0
#: The foreground and background colors.
background_opacity 0.7
background_opacity 0.9
#: The opacity of the background. A number between zero and one, where
#: one is opaque and zero is fully transparent. This will only work if
@@ -2703,3 +2703,9 @@ bold_font auto
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS
# BEGIN_KITTY_THEME
# Tokyo Night
include current-theme.conf
# END_KITTY_THEME

2705
.config/kitty/kitty.conf.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6,10 +6,9 @@ require("config.keymaps")
require("config.lazy")
-- Plugin settings
require("config.plugins.mason")
require("config.plugins.treesitter")
require("config.plugins.lsp")
require("config.plugins.completion")
require("config.plugins.telescope")
require("config.plugins.explorer")
require("config.plugins.whichkey")

View File

@@ -1,19 +1,13 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "4aa03a08c3705e622f2e7886783fd450f7749cdd" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"nvim-cmp": { "branch": "main", "commit": "059e89495b3ec09395262f16b1ad441a38081d04" },
"nvim-deus": { "branch": "master", "commit": "b930172dc75d00084233abc6f19f0708c298d8be" },
"nvim-lspconfig": { "branch": "master", "commit": "3e873195f501b1e02d9fd7e5af5cbe74fc2f98c1" },
"nvim-lspconfig": { "branch": "master", "commit": "d3ad666b7895f958d088cceb6f6c199672c404fe" },
"nvim-tree.lua": { "branch": "master", "commit": "c3c193594213c5e2f89ec5d7729cad805f76b256" },
"nvim-treesitter": { "branch": "master", "commit": "523a9e148919f58eb5a013f76787e57696e00c93" },
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

0
.config/nvim/lua/cmp.lua Normal file
View File

View File

@@ -1,21 +1,27 @@
local global = vim.g
local o = vim.opt
-- Basic settings
vim.o.number = true
vim.o.relativenumber = true
vim.o.tabstop = 2
vim.o.shiftwidth = 2
vim.o.expandtab = true
vim.o.smartindent = true
vim.o.wrap = false
vim.o.cursorline = true
vim.o.termguicolors = true
vim.o.ruler = true
vim.o.visualbell = true
vim.o.modelines = 0
vim.o.colorcolumn = '+1,100,120'
vim.o.hidden = true
vim.o.showmode = true
-- Editor options
-- Syntax highlighting and filetype plugins
vim.cmd('syntax enable')
vim.cmd('filetype plugin indent on')
o.number = true -- Print the line number in front of each line
o.relativenumber = true -- Show the line number relative to the line with the cursor in front of each line.
o.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank.
o.syntax = "on" -- When this option is set, the syntax with this name is loaded.
o.autoindent = true -- Copy indent from current line when starting a new line.
o.cursorline = true -- Highlight the screen line of the cursor with CursorLine.
o.expandtab = true -- In Insert mode: Use the appropriate number of spaces to insert a <Tab>.
o.shiftwidth = 2 -- Number of spaces to use for each step of (auto)indent.
o.tabstop = 2 -- Number of spaces that a <Tab> in the file counts for.
o.encoding = "UTF-8" -- Sets the character encoding used inside Vim.
o.ruler = true -- Show the line and column number of the cursor position, separated by a comma.
o.mouse = "a" -- Enable the use of the mouse. "a" you can use on all modes
o.title = true -- When on, the title of the window will be set to the value of 'titlestring'
o.hidden = true -- When on a buffer becomes hidden when it is |abandon|ed
o.ttimeoutlen = 0 -- The time in milliseconds that is waited for a key code or mapped key sequence to complete.
o.wildmenu = true -- When 'wildmenu' is on, command-line completion operates in an enhanced mode.
o.showcmd = true -- Show (partial) command in the last line of the screen. Set this option off if your terminal is slow.
o.showmatch = true -- When a bracket is inserted, briefly jump to the matching one.
o.inccommand = "split" -- When nonempty, shows the effects of :substitute, :smagic, :snomagic and user commands with the :command-preview flag as you type.
o.splitright = true
o.splitbelow = true -- When on, splitting a window will put the new window below the current one
o.termguicolors = true

View File

@@ -1,81 +0,0 @@
-- completion.lua
local has_cmp, cmp = pcall(require, 'cmp')
if not has_cmp then
print("Warning: nvim-cmp not found. Autocompletion won't be available.")
return
end
local has_luasnip, luasnip = pcall(require, 'luasnip')
if not has_luasnip then
print("Warning: luasnip not found. Snippet expansion won't be available.")
return
end
cmp.setup({
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept explicitly selected item
-- Tab support
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'buffer' },
{ name = 'path' },
}),
formatting = {
format = function(entry, vim_item)
-- Add icons
vim_item.menu = ({
nvim_lsp = "[LSP]",
luasnip = "[Snippet]",
buffer = "[Buffer]",
path = "[Path]",
})[entry.source.name]
return vim_item
end,
},
})
-- Enable command-line completion
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
{ name = 'cmdline' }
})
})
print("Completion system initialized!")

View File

@@ -1,26 +1,18 @@
-- lsp.lua
-- Install Mason first for managing servers
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = ""
}
}
})
-- Connect Mason with lspconfig
require("mason-lspconfig").setup({
-- Automatically install these servers
ensure_installed = {
"lua_ls", -- Lua
"pyright", -- Python
"biome", -- TypeScript/JavaScript
"rust_analyzer", -- Rust
"gopls", -- Go
"clangd", -- C/C++
"bashls", -- Bash
"lua_ls", -- Lua
"pyright", -- Python
"biome", -- TypeScript/JavaScript
"rust_analyzer", -- Rust
"gopls", -- Go
"clangd", -- C/C++
"bashls", -- Bash
"emmet_language_server", -- Emmet
"somesass_ls", -- SASS
"hyprls", -- Hyprlang
},
automatic_installation = true,
})

View File

@@ -0,0 +1,10 @@
-- Install Mason first for managing servers
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = ""
}
}
})

View File

@@ -1,56 +0,0 @@
-- telescope.lua
-- Check if telescope is available
local has_telescope, telescope = pcall(require, "telescope")
if not has_telescope then
print("Warning: telescope not found. Fuzzy finding won't be available.")
return
end
-- Set up telescope with error handling
local setup_ok, _ = pcall(telescope.setup, {
defaults = {
prompt_prefix = "🔍 ",
selection_caret = " ",
path_display = { "truncate" },
layout_config = {
horizontal = {
preview_width = 0.55,
results_width = 0.8,
},
width = 0.87,
height = 0.80,
preview_cutoff = 120,
},
file_ignore_patterns = {
"node_modules/",
".git/",
".DS_Store"
},
},
extensions = {
-- Configure any extensions here
}
})
if not setup_ok then
print("Error setting up telescope. Some features might not work correctly.")
return
end
-- Load telescope extensions if available
pcall(function() require('telescope').load_extension('fzf') end)
-- Useful Telescope mappings with error handling
local builtin_ok, builtin = pcall(require, 'telescope.builtin')
if builtin_ok then
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "Find files" })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "Live grep" })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "Buffers" })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "Help tags" })
-- LSP-related searches
vim.keymap.set('n', '<leader>fd', builtin.lsp_definitions, { desc = "Find definitions" })
vim.keymap.set('n', '<leader>fr', builtin.lsp_references, { desc = "Find references" })
end
print("Fuzzy finder initialized!")

View File

@@ -1,2 +1,2 @@
-- theme.lua
vim.cmd[[colorscheme deus]]
vim.cmd[[colorscheme tokyonight]]

View File

@@ -1,11 +0,0 @@
-- Autocompletion system
return {
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp", -- LSP source for nvim-cmp
"hrsh7th/cmp-buffer", -- Buffer source
"hrsh7th/cmp-path", -- Path source
"L3MON4D3/LuaSnip", -- Snippet engine
"saadparwaiz1/cmp_luasnip", -- Snippet source
},
}

View File

@@ -1,4 +0,0 @@
-- Color scheme
return {
"theniceboy/nvim-deus"
}

View File

@@ -2,8 +2,6 @@
return {
"neovim/nvim-lspconfig", -- Base LSP configurations
dependencies = {
-- Server installation manager
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
},
}
}
}

View File

@@ -0,0 +1,7 @@
return {
"williamboman/mason.nvim",
dependencies = {
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
}

View File

@@ -1,5 +0,0 @@
-- Fuzzy finder
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" }
}

View File

@@ -0,0 +1,6 @@
return {
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opt = {},
}

View File

@@ -6,3 +6,27 @@ export PATH="${PATH}:/home/mpuchstein/.local/share/JetBrains/Toolbox/scripts"
export PATH="${PATH}:/home/mpuchstein/.local/bin"
export ZDOTDIR="/home/mpuchstein/.config/zsh"
export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS \
--highlight-line \
--info=inline-right \
--ansi \
--layout=reverse \
--border=none \
--color=bg+:#283457 \
--color=bg:#16161e \
--color=border:#27a1b9 \
--color=fg:#c0caf5 \
--color=gutter:#16161e \
--color=header:#ff9e64 \
--color=hl+:#2ac3de \
--color=hl:#2ac3de \
--color=info:#545c7e \
--color=marker:#ff007c \
--color=pointer:#ff007c \
--color=prompt:#2ac3de \
--color=query:#c0caf5:regular \
--color=scrollbar:#27a1b9 \
--color=separator:#ff9e64 \
--color=spinner:#ff007c \
"

View File

@@ -6,3 +6,27 @@ export PATH="${PATH}:/home/mpuchstein/.local/share/JetBrains/Toolbox/scripts"
export PATH="${PATH}:/home/mpuchstein/.local/bin"
export ZDOTDIR="/home/mpuchstein/.config/zsh"
export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS \
--highlight-line \
--info=inline-right \
--ansi \
--layout=reverse \
--border=none \
--color=bg+:#283457 \
--color=bg:#16161e \
--color=border:#27a1b9 \
--color=fg:#c0caf5 \
--color=gutter:#16161e \
--color=header:#ff9e64 \
--color=hl+:#2ac3de \
--color=hl:#2ac3de \
--color=info:#545c7e \
--color=marker:#ff007c \
--color=pointer:#ff007c \
--color=prompt:#2ac3de \
--color=query:#c0caf5:regular \
--color=scrollbar:#27a1b9 \
--color=separator:#ff9e64 \
--color=spinner:#ff007c \
"

View File

@@ -6,3 +6,27 @@ export PATH="${PATH}:/home/mpuchstein/.local/share/JetBrains/Toolbox/scripts"
export PATH="${PATH}:/home/mpuchstein/.local/bin"
export ZDOTDIR="/home/mpuchstein/.config/zsh"
export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS \
--highlight-line \
--info=inline-right \
--ansi \
--layout=reverse \
--border=none \
--color=bg+:#283457 \
--color=bg:#16161e \
--color=border:#27a1b9 \
--color=fg:#c0caf5 \
--color=gutter:#16161e \
--color=header:#ff9e64 \
--color=hl+:#2ac3de \
--color=hl:#2ac3de \
--color=info:#545c7e \
--color=marker:#ff007c \
--color=pointer:#ff007c \
--color=prompt:#2ac3de \
--color=query:#c0caf5:regular \
--color=scrollbar:#27a1b9 \
--color=separator:#ff9e64 \
--color=spinner:#ff007c \
"