Compare commits

32 Commits
Author SHA1 Message Date
_N0x a7c4dc8407 fish/.config/fish/fish_variables aktualisiert 2026-08-06 10:35:30 +02:00
_N0x 42c44aec68 Fixes after testing new theme 2026-08-05 18:13:46 +02:00
_N0x 96d3086885 Updated zathura colors to match cursor dark setup 2026-08-05 16:16:09 +02:00
_N0x 699473d7b5 More theming 2026-08-05 16:02:19 +02:00
_N0x a5686ccee0 Updated gtk theme, added SETUP.md 2026-08-05 13:26:10 +02:00
_N0x dcb2b320eb updated broken wallpaper 2026-08-05 11:45:21 +02:00
_N0x dc10b3dfb3 Updated gitconfig 2026-08-05 11:38:13 +02:00
_N0x 79036dce2c Updated hypr, rofi and waybar theme 2026-08-05 10:56:12 +02:00
_N0x 2dcbd80842 Updated nvim theme 2026-08-05 10:36:35 +02:00
_N0x e5fb57c279 First iteration of cursor dark theme for kitty, tmux, fish 2026-08-05 10:13:57 +02:00
_N0x 14c53abbf3 Updated fish to use start-hyprland dispatcher 2026-05-17 16:51:39 +02:00
_N0x 23718c9477 Updated hyprland to use lua to be compatible 0.55 2026-05-17 16:49:33 +02:00
_N0x f308f2fe75 Updated nvim config to work on latest versions 2026-05-17 16:03:56 +02:00
_N0x a945adae10 Fix: fixed broken keymap for closing buffers 2025-11-17 23:00:17 +01:00
_N0x 6c156422be Feat: updated nvim config to use lazy vim and fixed dependencies 2025-11-17 22:54:35 +01:00
_N0x 897bc92c94 new wallpaper 2025-11-09 21:53:45 +01:00
_N0x aa96285da3 FEAT: Updated gtk settings to be similar across gtk versions 2025-09-06 16:20:30 +02:00
_N0x b9959d2c6f FEAT: Updated init.lua 2025-09-06 16:17:50 +02:00
_N0x b7fccc80db FEAT: Updated mimelist 2025-09-06 16:17:01 +02:00
_N0x 7efc69cc34 Updates to nvim stuff 2025-05-20 14:18:28 +02:00
_N0x 93c1b94387 Updated dunstrc with everforest and hyprland tweaks 2025-05-19 22:07:41 +02:00
_N0x f222bd9b8f Moved theming to Everforest theme 2025-05-19 22:01:28 +02:00
_N0x 24979c1872 laptop config to transfer to new laptop 2025-05-01 02:09:09 +02:00
_N0x 0050404bd9 FEAT: updated theme stuff and nwg-bar 2025-03-29 20:29:36 +01:00
_N0x d9375906f0 FEAT: added nwg dotfiles 2025-03-29 19:37:00 +01:00
_N0x 505734efa7 FEAT: updated mimeapps 2025-03-21 15:18:32 +01:00
_N0x a4afa92102 FEAT: updated fish config 2025-03-21 15:15:17 +01:00
_N0x e25799c2a1 FEAT: cleanup of fish config 2025-02-25 16:19:18 +01:00
_N0x 1ac2a8be73 FEAT: Exdented funny git config 2025-02-25 16:18:59 +01:00
_N0x 6433bb1a07 FEAT: Exdented funny git config 2025-02-25 14:35:27 +01:00
_N0x 94ddccdf87 FEAT: Added extended git config 2025-02-25 13:50:44 +01:00
_N0x aae3258c5a FEAT: added fish rustup integration 2025-02-15 19:04:59 +01:00
53 changed files with 1596 additions and 1090 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.
+23 -7
View File
@@ -1,5 +1,5 @@
[Added Associations]
application/pdf=org.pwmt.zathura.desktop;
application/pdf=userapp-librewolf.desktop;
application/x-extension-htm=userapp-librewolf.desktop;
application/x-extension-html=userapp-librewolf.desktop;
application/x-extension-shtml=userapp-librewolf.desktop;
@@ -12,30 +12,32 @@ x-scheme-handler/chrome=userapp-librewolf.desktop;
x-scheme-handler/ftp=userapp-librewolf.desktop;
x-scheme-handler/http=userapp-librewolf.desktop;
x-scheme-handler/https=userapp-librewolf.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-OZQMR0.desktop;userapp-Thunderbird-86ACV1.desktop;userapp-Thunderbird-WB8BX2.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-OZQMR0.desktop;userapp-Thunderbird-86ACV1.desktop;userapp-Thunderbird-WB8BX2.desktop;userapp-Thunderbird-P5H422.desktop;
x-scheme-handler/tg=userapp-Telegram Desktop-4ZQQX0.desktop;org.telegram.desktop.desktop;
x-scheme-handler/mid=userapp-Thunderbird-86ACV1.desktop;userapp-Thunderbird-WB8BX2.desktop;
x-scheme-handler/mid=userapp-Thunderbird-86ACV1.desktop;userapp-Thunderbird-WB8BX2.desktop;userapp-Thunderbird-P5H422.desktop;
text/plain=codium.desktop;
application/zip=xarchiver.desktop;teamspeak3.desktop;
x-scheme-handler/webcal=userapp-Thunderbird-ID7522.desktop;
x-scheme-handler/webcals=userapp-Thunderbird-ID7522.desktop;
[Default Applications]
application/pdf=org.pwmt.zathura.desktop
application/pdf=librewolf.desktop
application/x-extension-htm=librewolf.desktop
application/x-extension-html=librewolf.desktop
application/x-extension-shtml=librewolf.desktop
application/x-extension-xht=librewolf.desktop
application/x-extension-xhtml=librewolf.desktop
application/xhtml+xml=librewolf.desktop
message/rfc822=userapp-Thunderbird-WB8BX2.desktop
message/rfc822=userapp-Thunderbird-P5H422.desktop
text/html=librewolf.desktop
x-scheme-handler/bitwarden=bitwarden.desktop
x-scheme-handler/chrome=librewolf.desktop
x-scheme-handler/ftp=librewolf.desktop
x-scheme-handler/http=librewolf.desktop
x-scheme-handler/https=librewolf.desktop
x-scheme-handler/mailto=userapp-Thunderbird-WB8BX2.desktop
x-scheme-handler/mailto=userapp-Thunderbird-P5H422.desktop
x-scheme-handler/tg=org.telegram.desktop.desktop
x-scheme-handler/mid=userapp-Thunderbird-WB8BX2.desktop
x-scheme-handler/mid=userapp-Thunderbird-P5H422.desktop
image/png=imv-dir.desktop
image/jpg=imv-dir.desktop
application/json=codium.desktop
@@ -53,3 +55,17 @@ image/bmp=imv-dir.desktop
image/tiff=imv-dir.desktop
image/x-icon=imv-dir.desktop
image/svg+xml=imv-dir.desktop
x-scheme-handler/webcal=userapp-Thunderbird-ID7522.desktop
text/calendar=userapp-Thunderbird-ID7522.desktop
application/x-extension-ics=userapp-Thunderbird-ID7522.desktop
x-scheme-handler/webcals=userapp-Thunderbird-ID7522.desktop
application/x-tar=xarchiver.desktop
application/x-7z-compressed=xarchiver.desktop
application/x-rar=xarchiver.desktop
application/x-bzip=xarchiver.desktop
application/x-bzip2=xarchiver.desktop
application/gzip=xarchiver.desktop
application/x-xz=xarchiver.desktop
application/x-lzma=xarchiver.desktop
application/x-iso9660-image=xarchiver.desktop
application/vnd.rar=xarchiver.desktop
+16 -11
View File
@@ -33,7 +33,7 @@
origin = top-right
# Offset from the origin
offset = 15x48
offset = 15x15
# Scale factor. It is auto-detected if value is 0.
scale = 0
@@ -92,10 +92,11 @@
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 5
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#8FBCBB"
# 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"
@@ -250,7 +251,7 @@
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
corner_radius = 10
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
@@ -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 = "#2E3440"
foreground = "#888888"
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 = "#3b4252"
foreground = "#ffffff"
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
-221
View File
@@ -1,221 +0,0 @@
set -Ux LF_ICONS "\
*.7z=:\
*.aac=:\
*.ace=:\
*.alz=:\
*.arc=:\
*.arj=:\
*.asf=:\
*.atom=:\
*.au=:\
*.avi=:\
*.bash=:\
*.bash_history=:\
*.bashprofile=:\
*.bashrc=:\
*.bmp=:\
*.bz2=:\
*.bz=:\
*.c=:\
*.cab=:\
*.cc=:\
*.cfg=:\
*.cgm=:\
*.clang-format=:\
*.clj=:\
*.cmd=:\
*.coffee=:\
*.cpio=:\
*.cpp=:\
*.css=:\
*.d=:\
*.dart=:\
*.deb=:\
*.dl=:\
*.DS_Store=:\
*.dwm=:\
*.dz=:\
*.ear=:\
*.emf=:\
*.env=:\
*.erl=:\
*.esd=:\
*.exs=:\
*.fish=:\
*.flac=:\
*.flc=:\
*.fli=:\
*.flv=:\
*.fs=:\
*.gif=:\
*.git=:\
*.gitattributes=:\
*.gitconfig=:\
*.github=:\
*.gitignore=:\
*.gitignore_global=:\
*.gitkeep=:\
*.gitmodules=:\
*.gl=:\
*.go=:\
*.gz=:\
*.h=:\
*.hh=:\
*.hidden=:\
*.hpp=:\
*.hs=:\
*.html=:\
*.hyper.js=:\
*.jar=:\
*.java=:\
*.jl=:\
*.jpeg=:\
*.jpg=:\
*.js=:\
*.json=:\
*.jsx=:\
*.lha=:\
*.lrz=:\
*.lua=:\
*.lz4=:\
*.lz=:\
*.lzh=:\
*.lzma=:\
*.lzo=:\
*.m2v=:\
*.m4a=:\
*.m4v=:\
*.map=:\
*.md=:\
*.mdx=:\
*.mid=:\
*.midi=:\
*.mjpeg=:\
*.mjpg=:\
*.mka=:\
*.mkv=:\
*.mng=:\
*.mov=:\
*.mp3=:\
*.mp4=:\
*.mp4v=:\
*.mpc=:\
*.mpeg=:\
*.mpg=:\
*.nix=:\
*.npmignore=:\
*.npmrc=:\
*.nuv=:\
*.nvmrc=:\
*.oga=:\
*.ogg=:\
*.ogm=:\
*.ogv=:\
*.ogx=:\
*.opus=:\
*.pbm=:\
*.pcx=:\
*.pdf=:\
*.pgm=:\
*.php=:\
*.pl=:\
*.png=:\
*.ppm=:\
*.pro=:\
*.ps1=:\
*.py=:\
*.qt=:\
*.ra=:\
*.rar=:\
*.rb=:\
*.rm=:\
*.rmvb=:\
*.rpm=:\
*.rs=:\
*.rvm=:\
*.rz=:\
*.sar=:\
*.scala=:\
*.sh=:\
*.skhdrc=:\
*.sol=ﲹ:\
*.spx=:\
*.svg=:\
*.svgz=:\
*.swm=:\
*.t7z=:\
*.tar=:\
*.taz=:\
*.tbz2=:\
*.tbz=:\
*.tga=:\
*.tgz=:\
*.tif=:\
*.tiff=:\
*.tlz=:\
*.tmux.conf=:\
*.trash=:\
*.ts=:\
*.tsx=:\
*.txz=:\
*.tz=:\
*.tzo=:\
*.tzst=:\
*.vim=:\
*.vimrc=:\
*.vob=:\
*.vscode=:\
*.war=:\
*.wav=:\
*.webm=:\
*.wim=:\
*.xbm=:\
*.xcf=:\
*.xpm=:\
*.xspf=:\
*.xwd=:\
*.xz=:\
*.yabairc=:\
*.yaml=פּ:\
*.yarn-integrity=:\
*.yarnrc=:\
*.yml=פּ:\
*.yuv=:\
*.z=:\
*.zip=:\
*.zoo=:\
*.zprofile=:\
*.zprofile=:\
*.zsh=:\
*.zsh_history=:\
*.zshrc=:\
*.zst=:\
*bin=:\
*config=:\
*docker-compose.yml=:\
*dockerfile=:\
*gradle=:\
*gruntfile.coffee=:\
*gruntfile.js=:\
*gruntfile.ls=:\
*gulpfile.coffee=:\
*gulpfile.js=:\
*gulpfile.ls=:\
*include=:\
*lib=:\
*localized=:\
*node_modules=:\
*package.json=:\
*rubydoc=:\
*tsconfig.json=:\
*yarn.lock=:\
di=:\
dt=:\
ex=:\
fi=:\
ln=:\
or=:\
ow=:\
st=:\
tw=:\
"
+4 -14
View File
@@ -1,9 +1,11 @@
if [ -z "$DISPLAY" ] && [ (fgconsole) -eq 1 ];
Hyprland
start-hyprland
end
fish_ssh_agent
umask 0077
function q
exit
end
@@ -13,10 +15,6 @@ function ff
fastfetch --logo-type kitty-direct --logo ~/.config/fish/img/ff.png -c neofetch.jsonc
end
function lf
command lfub
end
function cls
command clear && ls
end
@@ -46,15 +44,7 @@ function tree
end
function ds
command du -sch * | sort -rh
end
function hv
command nmcli --ask connection up "HP VPN"
end
function hvd
command nmcli connection down "HP VPN"
command du -sch (ls -A) | sort -rh
end
function nv
File diff suppressed because one or more lines are too long
+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)
+52
View File
@@ -0,0 +1,52 @@
# Specify the git user in the .gituser files to keep config the same across work and priv systems
[include]
path = .gituser
# global settings to improve git and its behavior
# See https://blog.gitbutler.com/how-git-core-devs-configure-git/
[column]
ui = auto
[branch]
sort = -committerdate
[tag]
sort = version:refname
[init]
defaultBranch = master
[diff]
algorithm = histogram
[push]
default = simple
autoSetupRemote = true
followTags = true
[fetch]
prune = true
pruneTags = true
all = true
[help]
autocorrect = prompt
[commit]
verbose = true
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
[pull]
rebase = true
[merge]
conflictstyle = zdiff3
[core]
fsmonitor = true
untrackedCache = true
[log]
date = iso
[apply]
# Remove trailing whitespaces
whitespace = fix
[color "diff"]
whitespace = red reverse
[alias]
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
+4
View File
@@ -0,0 +1,4 @@
file:///home/n0x/Downloads Downloads
file:///home/n0x/Nextcloud Nextcloud
file:///home/n0x/Pictures Pictures
file:///home/n0x/Workspace Workspace
+15 -8
View File
@@ -1,14 +1,21 @@
[Settings]
gtk-theme-name=Nordic-darker
gtk-icon-theme-name=Nordzy-green-dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=Adwaita
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
gtk-decoration-layout=close,minimize,maximize:
gtk-application-prefer-dark-theme=true
gtk-toolbar-style=3
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-enable-animations=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintmedium
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1
gtk-decoration-layout=close,minimize,maximize:
gtk-enable-animations=1
gtk-primary-button-warps-slider=0
gtk-shell-shows-menubar=1
gtk-toolbar-style=3
+1
View File
@@ -0,0 +1 @@
/usr/share/themes/Everforest-Teal-Dark/gtk-4.0/assets
+1
View File
@@ -0,0 +1 @@
/usr/share/themes/Everforest-Teal-Dark/gtk-4.0/gtk-dark.css
-1
View File
@@ -1 +0,0 @@
@import 'colors.css';
+1
View File
@@ -0,0 +1 @@
/usr/share/themes/Everforest-Teal-Dark/gtk-4.0/gtk.css
+5 -12
View File
@@ -1,14 +1,7 @@
[Settings]
gtk-theme-name=Nordic-darker
gtk-icon-theme-name=Nordzy-green-dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=Adwaita
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
gtk-decoration-layout=close,minimize,maximize:
gtk-application-prefer-dark-theme=true
gtk-button-images=1
gtk-enable-animations=1
gtk-menu-images=1
gtk-primary-button-warps-slider=0
gtk-shell-shows-menubar=1
gtk-toolbar-style=3
gtk-application-prefer-dark-theme=1
+16 -9
View File
@@ -1,12 +1,19 @@
# DO NOT EDIT! This file will be overwritten by nwg-look.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/n0x/.gtkrc-2.0.mine"
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
gtk-theme-name="Nordic-darker"
gtk-enable-animations=1
gtk-primary-button-warps-slider=0
gtk-toolbar-style=3
gtk-menu-images=1
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-cursor-theme-name="Adwaita"
gtk-icon-theme-name="Nordzy-green-dark"
gtk-font-name="Noto Sans, 10"
gtk-application-prefer-dark-theme=true
gtk-modules=appmenu-gtk-module
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintmedium"
gtk-xft-rgba="rgb"
+93
View File
@@ -0,0 +1,93 @@
-----------------------
---- LOOK AND FEEL ----
-----------------------
hl.config({
general = {
gaps_in = 5,
gaps_out = 10,
border_size = 2,
col = {
-- 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,
layout = "dwindle",
},
decoration = {
rounding = 10,
active_opacity = 1.0,
inactive_opacity = 1.0,
shadow = {
enabled = true,
range = 4,
render_power = 3,
color = "rgba(1a1a1aee)",
},
blur = {
enabled = true,
size = 3,
passes = 1,
vibrancy = 0.1696,
},
},
animations = {
enabled = true,
},
dwindle = {
-- pseudotile = true,
preserve_split = true,
},
master = {
new_status = "master",
},
misc = {
force_default_wallpaper = -1,
disable_hyprland_logo = false,
},
cursor = {
no_hardware_cursors = true,
},
})
---------------------
---- ANIMATIONS -----
---------------------
-- Curves and animation leaves are now top-level hl.curve / hl.animation calls.
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "myBezier" })
hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "default", style = "popin 80%" })
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
hl.animation({ leaf = "borderangle", enabled = true, speed = 8, bezier = "default" })
hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "default" })
hl.animation({ leaf = "workspaces", enabled = true, speed = 6, bezier = "default" })
---------------
---- INPUT ----
---------------
hl.config({
input = {
kb_layout = "de",
kb_variant = "",
kb_model = "",
kb_options = "",
kb_rules = "",
follow_mouse = 1,
sensitivity = 0,
numlock_by_default = true,
touchpad = {
natural_scroll = false,
},
},
})
+53
View File
@@ -0,0 +1,53 @@
---------------------
---- KEYBINDINGS ----
---------------------
-- Core
hl.bind(mainMod .. " + SHIFT + return", hl.dsp.exec_cmd(terminal))
hl.bind(mainMod .. " + SHIFT + C", hl.dsp.window.close())
hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.exit())
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + P", hl.dsp.exec_cmd(menu))
hl.bind(mainMod .. " + SHIFT + P", hl.dsp.window.pseudo()) -- dwindle
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd(screenshot))
hl.bind(mainMod .. " + SHIFT + B", hl.dsp.exec_cmd(pwmanager))
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd(lockscreen))
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen())
hl.bind(mainMod .. " + ESCAPE", hl.dsp.exec_cmd("nwg-bar"))
-- Move focus
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "l" }))
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "r" }))
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "u" }))
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "d" }))
-- Special workspace (scratchpad)
hl.bind(mainMod .. " + space", hl.dsp.workspace.toggle_special("magic"))
hl.bind(mainMod .. " + SHIFT + space", hl.dsp.window.move({ workspace = "special:magic" }))
-- Scroll through existing workspaces
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
-- Mouse drag/resize (mouse = true replaces the old `bindm`)
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Multimedia (locked = true makes them work while session is locked,
-- replacing the bindel flags `e` and `l`)
hl.bind(
"XF86AudioRaiseVolume",
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
{ locked = true, repeating = true }
)
hl.bind(
"XF86AudioLowerVolume",
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
{ locked = true, repeating = true }
)
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true })
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 5%+"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 5%-"), { locked = true, repeating = true })
+13
View File
@@ -0,0 +1,13 @@
------------------
---- MONITORS ----
------------------
-- Hyprland uses an inverse Y cartesian system: negative y places a monitor
-- HIGHER. The original conf had DP-2 at y=1440 (below DP-1). Kept as-is.
hl.monitor({ output = "DP-1", mode = "2560x1440@165", position = "0x0", scale = 1 })
hl.monitor({ output = "DP-2", mode = "3440x1440@165", position = "-440x1440", scale = 1 })
-- Persistent workspace 1 on DP-2
hl.workspace_rule({
workspace = "1",
monitor = "DP-2",
})
@@ -0,0 +1,23 @@
hl.config({
plugin = {
split_monitor_workspaces = {
count = 6,
keep_focused = 0,
enable_notifications = 0,
enable_persistent_workspaces = 1,
},
},
})
local smw = hl.plugin.split_monitor_workspaces
-- Switch workspaces with mainMod + [1-5]
for i = 1, 6 do
local key = tostring(i)
hl.bind(mainMod .. " + " .. key, function()
return smw.workspace(i)
end)
hl.bind(mainMod .. " + SHIFT + " .. key, function()
return smw.move_to_workspace_silent(i)
end)
end
-309
View File
@@ -1,309 +0,0 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-2,2560x1440@165,0x0,1
monitor=DP-1,3440x1440@165,-440x1440,1
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = kitty
$fileManager = pcmanfm
$menu = rofi -show drun
#$screenshot = slurp | grim -g - ~/Pictures/Screenshots/screenshot_$(date "+%Y-%m-%d_%T").png
$screenshot = grim -g "$(slurp)" - | swappy -f -
$pwmanager = bitwarden-desktop
$lockscreen = hyprlock
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
exec-once = waybar
exec-once = hyprpaper
exec-once = nm-applet
exec-once = bitwarden-desktop
exec-once = nextcloud --background
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 10
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)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = de
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
numlock_by_default = true
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, return, exec, $terminal
bind = $mainMod SHIFT, C, killactive,
bind = $mainMod SHIFT, Q, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, P, exec, $menu
bind = $mainMod SHIFT, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod SHIFT, S, exec, $screenshot
bind = $mainMod SHIFT, B, exec, $pwmanager
bind = $mainMod, L, exec, $lockscreen
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
#bind = $mainMod, 1, workspace, 1
#bind = $mainMod, 2, workspace, 2
#bind = $mainMod, 3, workspace, 3
#bind = $mainMod, 4, workspace, 4
#bind = $mainMod, 5, workspace, 5
#bind = $mainMod, 6, workspace, 6
#bind = $mainMod, 7, workspace, 7
#bind = $mainMod, 8, workspace, 8
#bind = $mainMod, 9, workspace, 9
#bind = $mainMod, 0, workspace, 10
#
## Move active window to a workspace with mainMod + SHIFT + [0-9]
#bind = $mainMod SHIFT, 1, movetoworkspace, 1
#bind = $mainMod SHIFT, 2, movetoworkspace, 2
#bind = $mainMod SHIFT, 3, movetoworkspace, 3
#bind = $mainMod SHIFT, 4, movetoworkspace, 4
#bind = $mainMod SHIFT, 5, movetoworkspace, 5
#bind = $mainMod SHIFT, 6, movetoworkspace, 6
#bind = $mainMod SHIFT, 7, movetoworkspace, 7
#bind = $mainMod SHIFT, 8, movetoworkspace, 8
#bind = $mainMod SHIFT, 9, movetoworkspace, 9
#bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, space, togglespecialworkspace, magic
bind = $mainMod SHIFT, space, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
#
windowrule = float, ^(Bitwarden)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = NVD_BACKEND,direct
cursor {
no_hardware_cursors = true
}
#workspace = 1, monitor:DP-2
plugin {
split-monitor-workspaces {
count = 5
keep_focused = 0
enable_notifications = 0
enable_persistent_workspaces = 1
}
}
$mainMod = SUPER
# Switch workspaces with mainMod + [0-5]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
# Move active window to a workspace with mainMod + SHIFT + [0-5]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
+79
View File
@@ -0,0 +1,79 @@
-- ##########################################################################
-- Hyprland 0.55+ Lua configuration.
-- Migrated from hyprland.conf (hyprlang). Hyprlang is deprecated since 0.55.
-- File location: $XDG_CONFIG_HOME/hypr/hyprland.lua (~/.config/hypr/hyprland.lua)
-- Wiki: https://wiki.hypr.land/Configuring/Start/
-- ##########################################################################
local configDir = os.getenv("HOME") .. "/.config/hypr/"
package.path = configDir .. "?.lua;" .. package.path
----------------------
---- GLOBAL BINDS ----
----------------------
_G.mainMod = "SUPER"
---------------------
---- MY PROGRAMS ----
---------------------
_G.terminal = "kitty"
_G.fileManager = "pcmanfm"
_G.menu = "rofi -show drun"
_G.screenshot = 'grim -g "$(slurp)" - | swappy -f -'
_G.pwmanager = "bitwarden-desktop"
_G.lockscreen = "hyprlock"
require("hyprconf.base")
require("hyprconf.monitor")
require("hyprconf.keybinds")
require("hyprconf.split-workspace")
-------------------
---- AUTOSTART ----
-------------------
-- exec-once is gone; use hl.on("hyprland.start", ...).
hl.on("hyprland.start", function()
hl.exec_cmd("hyprpm reload")
hl.exec_cmd("waybar")
hl.exec_cmd("hyprpaper")
hl.exec_cmd("nm-applet")
hl.exec_cmd("blueman-applet")
hl.exec_cmd("bitwarden-desktop")
hl.exec_cmd("udiskie")
hl.exec_cmd("dunst")
hl.exec_cmd("nextcloud --background")
end)
-------------------------------
---- ENVIRONMENT VARIABLES ----
-------------------------------
hl.env("XCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_SIZE", "24")
-- NVIDIA / Wayland environment.
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("GBM_BACKEND", "nvidia-drm")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
hl.env("NVD_BACKEND", "direct")
--------------------------------
---- WINDOWS AND WORKSPACES ----
--------------------------------
-- Float Bitwarden
hl.window_rule({
name = "bw-float",
match = { title = "^(Bitwarden)$" },
float = true,
})
-- Suppress maximize events from all clients
hl.window_rule({
name = "suppress-maximize-events",
match = { class = ".*" },
suppress_event = "maximize",
})
+7 -7
View File
@@ -1,7 +1,7 @@
background {
monitor =
path = $HOME/Nextcloud/Pictures/Wallpapers/MRR.png
color = rgba(59,66,82,1)
path = $HOME/.config/hypr/wp.png
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
+7 -2
View File
@@ -1,2 +1,7 @@
preload = ~/.config/hypr/wp.png
wallpaper = , ~/.config/hypr/wp.png
wallpaper {
monitor =
path = ~/.config/hypr/wp.png
fit_mode = cover
}
splash = false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 22 MiB

+48 -35
View File
@@ -1,6 +1,6 @@
# Font stuff
font_family family="Hack JBM Ligatured"
font_family family="Berkeley Mono Regular"
italic_font auto
bold_font auto
bold_italic_font auto
@@ -13,45 +13,65 @@ 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
# The foreground color
foreground #d8dee9
foreground #cccccc
background #181818
selection_foreground none
selection_background #264f78
# The background color
background #2e3440
cursor #aeafad
cursor_text_color #181818
# The foreground for selections
selection_foreground #81a1c1
url_color #3b8eea
# The background for selections
selection_background #eceff4
active_border_color #2472c8
inactive_border_color #2b2b2b
bell_border_color #e5e510
visual_bell_color none
# The cursor color
cursor #e5e9f0
wayland_titlebar_color system
macos_titlebar_color system
# Set up term-colors (Nord Theme)
color0 #3b4252
color8 #4c566a
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
color1 #bf616a
color9 #bf616a
# Set up term-colors (Cursor Dark)
color2 #a3be8c
color10 #a3be8c
#: black
color0 #000000
color8 #666666
color3 #ebcb8b
color11 #ebcb8b
#: red
color1 #cd3131
color9 #f14c4c
color4 #81a1c1
color12 #81a1c1
#: green
color2 #0dbc79
color10 #23d18b
color5 #b48ead
color13 #b48ead
#: yellow
color3 #e5e510
color11 #f5f543
color6 #88c0d0
color14 #8fbcbb
#: blue
color4 #2472c8
color12 #3b8eea
#: magenta
color5 #bc3fbc
color13 #d670d6
#: cyan
color6 #11a8cd
color14 #29b8db
#: white
color7 #e5e5e5
color15 #e5e5e5
color7 #e5e9f0
color15 #eceff4
# The cursor shape can be one of (block, beam, underline)
shell_integration no-cursor
@@ -69,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
+6 -335
View File
@@ -1,41 +1,9 @@
require "keymap"
require "options"
require "plugins"
require "lazy-setup"
require "vars"
-- Color Theme
vim.cmd [[
try
colorscheme nord
endtry
]]
-- Mason Setup
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
}
})
require("mason-lspconfig").setup()
-- Rust Tools Setup
local rt = require("rust-tools")
rt.setup({
server = {
on_attach = function(_, bufnr)
-- Hover actions
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
-- Code action groups
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
end,
},
})
-- LSP Diagnostics Options Setup
-- LSP Diagnostics Options Setup
local sign = function(opts)
vim.fn.sign_define(opts.name, {
texthl = opts.name,
@@ -44,10 +12,10 @@ local sign = function(opts)
})
end
sign({name = 'DiagnosticSignError', text = ''})
sign({name = 'DiagnosticSignWarn', text = ''})
sign({name = 'DiagnosticSignHint', text = ''})
sign({name = 'DiagnosticSignInfo', text = ''})
sign({name = 'DiagnosticSignError', text = ''})
sign({name = 'DiagnosticSignWarn', text = ''})
sign({name = 'DiagnosticSignHint', text = ''})
sign({name = 'DiagnosticSignInfo', text = ''})
vim.diagnostic.config({
virtual_text = false,
@@ -66,300 +34,3 @@ vim.cmd([[
set signcolumn=yes
autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
]])
-- Completion Plugin Setup
local cmp = require'cmp'
cmp.setup({
-- Enable LSP snippets
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(),
-- Add tab support
['<S-Tab>'] = cmp.mapping.select_prev_item(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<C-S-f>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = true,
})
},
-- Installed sources:
sources = {
{ name = 'path' }, -- file paths
{ name = 'nvim_lsp', keyword_length = 3 }, -- from language server
{ name = 'nvim_lsp_signature_help'}, -- display function signatures with current parameter emphasized
{ name = 'nvim_lua', keyword_length = 2}, -- complete neovim's Lua runtime API such vim.lsp.*
{ name = 'buffer', keyword_length = 2 }, -- source current buffer
{ name = 'vsnip', keyword_length = 2 }, -- nvim-cmp source for vim-vsnip
{ name = 'calc'}, -- source for math calculation
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
formatting = {
fields = {'menu', 'abbr', 'kind'},
format = function(entry, item)
local menu_icon ={
nvim_lsp = 'λ',
vsnip = '',
buffer = 'Ω',
path = '🖫',
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})
-- Treesitter Plugin Setup
require('nvim-treesitter.configs').setup {
ensure_installed = { "bash", "c", "cpp", "javascript", "json", "lua", "python", "typescript", "tsx", "css", "rust", "java", "yaml", "markdown", "markdown_inline" },
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting=false,
},
ident = { enable = true },
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = nil,
}
}
-- nvim-tree Setup
-- following options are the default
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
local nvimtree = require("nvim-tree")
nvimtree.setup {
on_attach = function(bufnr)
local api = require("nvim-tree.api")
local function opts(desc)
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
api.config.mappings.default_on_attach(bufnr)
vim.keymap.set("n", "<space>", api.node.open.edit, opts("Open"))
end,
renderer = {
icons = {
webdev_colors = true,
git_placement = "before",
padding = " ",
symlink_arrow = "",
show = {
file = true,
folder = true,
folder_arrow = true,
git = true,
},
glyphs = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
deleted = "",
untracked = "U",
ignored = "",
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
},
},
},
highlight_git = true,
root_folder_modifier = ":t",
indent_markers = {
enable = true,
},
},
hijack_directories = {
enable = true,
auto_open = true,
},
disable_netrw = true,
hijack_netrw = true,
hijack_cursor = false,
update_cwd = true,
diagnostics = {
enable = true,
icons = {
hint = "",
info = "",
warning = "",
error = "",
},
},
update_focused_file = {
enable = true,
update_cwd = true,
ignore_list = {},
},
system_open = {
cmd = nil,
args = {},
},
filters = {
dotfiles = false,
custom = {},
},
git = {
enable = true,
ignore = true,
timeout = 500,
},
view = {
width = 35,
side = "left",
float = {
quit_on_focus_loss = true,
},
},
trash = {
cmd = "trash",
require_confirm = true,
},
actions = {
open_file = {
resize_window = true,
quit_on_open = false,
window_picker = {
enable = false,
},
},
},
}
-- Statusline
require('lualine').setup {
options = { theme = 'nord' }
}
local status_ok, bufferline = pcall(require, "bufferline")
if not status_ok then
return
end
require('bufferline').setup {
options = {
mode = "buffers", -- set to "tabs" to only show tabpages instead
style_preset = bufferline.style_preset.default, -- or bufferline.style_preset.minimal,
themable = true, -- allows highlight groups to be overriden i.e. sets highlights as default
numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
close_command = "bdelete! %d", -- can be a string | function, | false see "Mouse actions"
right_mouse_command = "bdelete! %d", -- can be a string | function | false, see "Mouse actions"
left_mouse_command = "buffer %d", -- can be a string | function, | false see "Mouse actions"
middle_mouse_command = nil, -- can be a string | function, | false see "Mouse actions"
indicator = {
icon = '', -- this should be omitted if indicator style is not 'icon'
style = 'icon', --| 'underline' | 'none',
},
buffer_close_icon = '󰅖',
modified_icon = '',
close_icon = '',
left_trunc_marker = '',
right_trunc_marker = '',
max_name_length = 30,
max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
truncate_names = true, -- whether or not tab names should be truncated
tab_size = 25,
diagnostics = "nvim_lsp",
diagnostics_update_in_insert = false, -- only applies to coc
diagnostics_update_on_event = true, -- use nvim's diagnostic handler
-- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting
offsets = {
{
filetype = "NvimTree",
text = "File Explorer",-- | function ,
text_align = "left",-- | "center" | "right"
separator = true
}
},
color_icons = true, -- whether or not to add the filetype icon highlights
show_buffer_icons = true , -- disable filetype icons for buffers
show_buffer_close_icons = true ,
show_close_icon = true,
show_tab_indicators = true ,
show_duplicate_prefix = true , -- whether to show duplicate buffer prefix
duplicates_across_groups = true, -- whether to consider duplicate paths in different groups as duplicates
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
move_wraps_at_ends = false, -- whether or not the move command "wraps" at the first or last position
-- can also be a table containing 2 custom separators
-- [focused and unfocused]. eg: { '|', '|' }
separator_style = "thin", --| "slope" | "thick" | "thin" | { 'any', 'any' },
enforce_regular_tabs = true,--| true,
always_show_bufferline = true,-- | false,
auto_toggle_bufferline = true,-- | false,
hover = {
enabled = true,
delay = 200,
reveal = {'close'}
},
sort_by = 'insert_after_current',
}
}
-- Git sign
require("gitsigns").setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
interval = 1000,
follow_files = true
},
attach_to_untracked = true,
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
delay = 1000,
ignore_whitespace = false,
},
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000,
preview_config = {
-- Options passed to nvim_open_win
border = 'single',
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
}
require("presence").setup({
debounce_timeout = 5, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
})
+30
View File
@@ -0,0 +1,30 @@
{
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "fd3e882e56956675c620898bf1ffcf4fcbe7ec84" },
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"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" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"vim-bbye": { "branch": "master", "commit": "25ef93ac5a87526111f43e5110675032dbcacf56" },
"vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" },
"vim-vsnip": { "branch": "master", "commit": "9bcfabea653abdcdac584283b5097c3f8760abaa" },
"vimtex": { "branch": "master", "commit": "154eca8f68a5ad54eb12308bb378e88bdd0dfb3e" },
"vimwiki": { "branch": "dev", "commit": "a54a3002e229c4b43d69ced170ff77663a5b2c40" },
"vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
+30 -7
View File
@@ -29,13 +29,20 @@ keymap("n", "<Down>", "<Nop>", opts)
keymap("n", "<Left>", "<Nop>", opts)
keymap("n", "<Right>", "<Nop>", opts)
-- Remap some language specific stuff --
-- German ISO-DE keyboard friendly mappings --
-- On German keyboard, { and } require AltGr+7/0 which is awkward
-- These mappings make paragraph navigation much easier
keymap("n", "ü", "{", opts)
keymap("n", "<C-ü>", "<C-{>", opts)
keymap("n", "+", "}", opts)
keymap("n", "<C-+>", "<C-}>", opts)
-- Alternative: You could also use ö and ä for other bracket operations
-- Uncomment if needed:
-- keymap("n", "ö", "[", opts)
-- keymap("n", "ä", "]", opts)
-- Normal --
-- Better window navigation
keymap("n", "<C-h>", "<C-w>h", opts)
@@ -45,11 +52,11 @@ keymap("n", "<C-l>", "<C-w>l", opts)
keymap("n", "<leader>e", ":NvimTreeToggle<cr>", opts)
-- Resize with arrows
keymap("n", "<C-Up>", ":resize -2<CR>", opts)
keymap("n", "<C-Down>", ":resize +2<CR>", opts)
keymap("n", "<C-Left>", ":vertical resize -2<CR>", opts)
keymap("n", "<C-Right>", ":vertical resize +2<CR>", opts)
-- Resize with hjkl instead of arrows (stay disciplined!)
keymap("n", "<C-S-k>", ":resize -2<CR>", opts)
keymap("n", "<C-S-j>", ":resize +2<CR>", opts)
keymap("n", "<C-S-h>", ":vertical resize -2<CR>", opts)
keymap("n", "<C-S-l>", ":vertical resize +2<CR>", opts)
-- Navigate buffers
keymap("n", "<S-l>", ":bnext<CR>", opts)
@@ -64,6 +71,12 @@ keymap("n", "<A-k>", "<Esc>:m .-2<CR>==gi", opts)
keymap("i", "jk", "<ESC>", opts)
-- Visual --
-- Disable arrow keys in visual mode too
keymap("v", "<Up>", "<Nop>", opts)
keymap("v", "<Down>", "<Nop>", opts)
keymap("v", "<Left>", "<Nop>", opts)
keymap("v", "<Right>", "<Nop>", opts)
-- Stay in indent mode
keymap("v", "<", "<gv", opts)
keymap("v", ">", ">gv", opts)
@@ -74,6 +87,12 @@ keymap("v", "<A-k>", ":m .-2<CR>==", opts)
keymap("v", "p", '"_dP', opts)
-- Visual Block --
-- Disable arrow keys in visual block mode
keymap("x", "<Up>", "<Nop>", opts)
keymap("x", "<Down>", "<Nop>", opts)
keymap("x", "<Left>", "<Nop>", opts)
keymap("x", "<Right>", "<Nop>", opts)
-- Move text up and down
keymap("x", "J", ":move '>+1<CR>gv-gv", opts)
keymap("x", "K", ":move '<-2<CR>gv-gv", opts)
@@ -89,7 +108,7 @@ keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts)
keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts)
-- close buffer --
keymap("n", "<leader>q", "<cmd>Bdelete! %d<cr>", opts)
keymap("n", "<leader>q", "<cmd>Bdelete!<cr>", opts)
-- toggle whitespace --
keymap("n", "<leader>w", "<cmd>set list!<cr>", opts)
@@ -109,3 +128,7 @@ keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
keymap("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
keymap("n", "<leader>f", "<cmd>lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))<cr>", opts)
keymap("n", "<c-t>", "<cmd>Telescope live_grep<cr>", opts)
+34
View File
@@ -0,0 +1,34 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- Import all plugin specs from lua/plugins/
{ import = "plugins" },
},
install = {
colorscheme = { "vscode" },
},
checker = {
enabled = true,
notify = false,
},
change_detection = {
notify = false,
},
})
+12
View File
@@ -5,6 +5,7 @@ local options = {
conceallevel = 0, -- so that `` is visible in markdown files
fileencoding = "utf-8", -- the encoding written to a file
hlsearch = true, -- highlight all matches on previous search pattern
incsearch = true, -- show search matches as you type
ignorecase = true, -- ignore case in search patterns
mouse = "a", -- allow the mouse to be used in neovim
pumheight = 10, -- pop up menu height
@@ -71,3 +72,14 @@ autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
vim.wo.foldmethod = 'expr'
vim.wo.foldexpr = 'nvim_treesitter#foldexpr()'
vim.g.dashboard_default_executive ='telescope'
vim.g.dashboard_custom_header = {
"███████╗██╗ ██╗███████╗██████╗ ███████╗ ██████╗ ██████╗ ███████╗███████╗████████╗",
"██╔════╝██║ ██║██╔════╝██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔════╝╚══██╔══╝",
"█████╗ ██║ ██║█████╗ ██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ███████╗ ██║ ",
"██╔══╝ ╚██╗ ██╔╝██╔══╝ ██╔══██╗██╔══╝ ██║ ██║██╔══██╗██╔══╝ ╚════██║ ██║ ",
"███████╗ ╚████╔╝ ███████╗██║ ██║██║ ╚██████╔╝██║ ██║███████╗███████║ ██║ ",
"╚══════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝ ",
" NEOVIM"
}
@@ -43,14 +43,21 @@ return packer.startup(function(use)
use "wbthomason/packer.nvim" -- Have packer manage itself
-- Colorschemes
use "shaunsingh/nord.nvim"
--use "shaunsingh/nord.nvim"
use({
"neanias/everforest-nvim",
-- Optional; default configuration will be used if setup isn't called.
config = function()
require("everforest").setup()
end,
})
-- LSP
use "neovim/nvim-lspconfig" -- enable LSP
use "williamboman/mason.nvim" -- simple to use language server installer
use "williamboman/mason-lspconfig.nvim" -- simple to use language server installer
use "mason-org/mason.nvim" -- simple to use language server installer
use "mason-org/mason-lspconfig.nvim" -- simple to use language server installer
use 'simrat39/rust-tools.nvim'
use 'mrcjkb/rustaceanvim'
-- Completion framework:
use 'hrsh7th/nvim-cmp'
@@ -61,12 +68,15 @@ return packer.startup(function(use)
-- Useful completion sources:
use 'hrsh7th/cmp-nvim-lua'
use 'hrsh7th/cmp-nvim-lsp-signature-help'
use 'hrsh7th/cmp-vsnip'
use 'hrsh7th/cmp-path'
use 'hrsh7th/vim-vsnip'
use 'hrsh7th/cmp-vsnip'
use 'hrsh7th/cmp-path'
use 'hrsh7th/vim-vsnip'
use "hrsh7th/cmp-cmdline" -- cmdline completions
use 'nvim-treesitter/nvim-treesitter'
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate'
}
use 'nvim-tree/nvim-web-devicons'
@@ -83,6 +93,25 @@ return packer.startup(function(use)
-- VimWiki
use { 'vimwiki/vimwiki', branch='dev'}
-- Dashboard
use {
'nvimdev/dashboard-nvim',
event = 'VimEnter',
config = function()
require('dashboard').setup {
-- config
}
end,
requires = {'nvim-tree/nvim-web-devicons'}
}
-- Telescope
use "nvim-lua/plenary.nvim"
use {
'nvim-telescope/telescope.nvim', tag = '0.1.8',
requires = { {'nvim-lua/plenary.nvim'} }
}
-- dicord fuckery
use 'andweeb/presence.nvim'
@@ -0,0 +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 {
{
"Mofiqul/vscode.nvim",
lazy = false,
priority = 1000,
config = function()
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,
},
}
@@ -0,0 +1,68 @@
return {
-- Completion framework
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-nvim-lsp-signature-help",
"hrsh7th/cmp-vsnip",
"hrsh7th/cmp-path",
"hrsh7th/vim-vsnip",
"hrsh7th/cmp-cmdline",
},
config = function()
local cmp = require('cmp')
cmp.setup({
-- Enable LSP snippets
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(),
-- Add tab support
['<S-Tab>'] = cmp.mapping.select_prev_item(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<C-S-f>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = true,
})
},
-- Installed sources:
sources = {
{ name = 'path' }, -- file paths
{ name = 'nvim_lsp', keyword_length = 3 }, -- from language server
{ name = 'nvim_lsp_signature_help'}, -- display function signatures with current parameter emphasized
{ name = 'nvim_lua', keyword_length = 2}, -- complete neovim's Lua runtime API such vim.lsp.*
{ name = 'buffer', keyword_length = 2 }, -- source current buffer
{ name = 'vsnip', keyword_length = 2 }, -- nvim-cmp source for vim-vsnip
{ name = 'calc'}, -- source for math calculation
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
formatting = {
fields = {'menu', 'abbr', 'kind'},
format = function(entry, item)
local menu_icon = {
nvim_lsp = 'λ',
vsnip = '',
buffer = 'Ω',
path = '🖫',
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})
end,
},
}
+81
View File
@@ -0,0 +1,81 @@
return {
-- Fuzzy finder
{
"nvim-telescope/telescope.nvim",
tag = "0.1.8",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require('telescope').setup{}
end,
},
-- Git signs
{
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signcolumn = true,
numhl = false,
linehl = false,
word_diff = false,
watch_gitdir = {
interval = 1000,
follow_files = true
},
attach_to_untracked = true,
current_line_blame = false,
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol',
delay = 1000,
ignore_whitespace = false,
},
sign_priority = 6,
update_debounce = 100,
status_formatter = nil,
max_file_length = 40000,
preview_config = {
border = 'single',
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
}
end,
},
-- Floating terminal
{
"voldikss/vim-floaterm",
},
-- VimWiki
{
"vimwiki/vimwiki",
branch = "dev",
},
-- Discord presence
{
"andweeb/presence.nvim",
},
-- LaTeX support
{
"lervag/vimtex",
},
-- Better buffer closing
{
"moll/vim-bbye",
},
}
+30
View File
@@ -0,0 +1,30 @@
return {
-- Mason: LSP installer
{
"mason-org/mason.nvim",
config = function()
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
end,
},
-- Mason LSP Config bridge
{
"mason-org/mason-lspconfig.nvim",
dependencies = { "mason-org/mason.nvim" },
config = function()
require("mason-lspconfig").setup()
-- Setup LSP servers using vim.lsp.config (new API)
vim.lsp.config('clangd', {})
vim.lsp.config('pylsp', {})
end,
},
}
+24
View File
@@ -0,0 +1,24 @@
return {
{
"mrcjkb/rustaceanvim",
version = "^5",
lazy = false,
ft = { "rust" },
config = function()
vim.g.rustaceanvim = {
server = {
on_attach = function(client, bufnr)
-- Hover actions
vim.keymap.set("n", "<C-space>", function()
vim.cmd.RustLsp('hover', 'actions')
end, { buffer = bufnr, desc = "Rust hover actions" })
-- Code action groups
vim.keymap.set("n", "<Leader>a", function()
vim.cmd.RustLsp('codeAction')
end, { buffer = bufnr, desc = "Rust code actions" })
end,
},
}
end,
},
}
@@ -0,0 +1,31 @@
return {
{
"nvim-treesitter/nvim-treesitter",
branch = "main",
lazy = false,
build = ":TSUpdate",
config = function()
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,
},
}
+228
View File
@@ -0,0 +1,228 @@
return {
-- File explorer
{
"nvim-tree/nvim-tree.lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local nvimtree = require("nvim-tree")
nvimtree.setup {
on_attach = function(bufnr)
local api = require("nvim-tree.api")
local function opts(desc)
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
api.config.mappings.default_on_attach(bufnr)
vim.keymap.set("n", "<space>", api.node.open.edit, opts("Open"))
end,
renderer = {
icons = {
webdev_colors = true,
git_placement = "before",
padding = " ",
symlink_arrow = "",
show = {
file = true,
folder = true,
folder_arrow = true,
git = true,
},
glyphs = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
deleted = "",
untracked = "U",
ignored = "",
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
},
},
},
highlight_git = true,
root_folder_modifier = ":t",
indent_markers = {
enable = true,
},
},
hijack_directories = {
enable = true,
auto_open = true,
},
disable_netrw = true,
hijack_netrw = true,
hijack_cursor = false,
update_cwd = true,
diagnostics = {
enable = true,
icons = {
hint = "",
info = "",
warning = "",
error = "",
},
},
update_focused_file = {
enable = true,
update_cwd = true,
ignore_list = {},
},
filters = {
dotfiles = false,
custom = {},
},
git = {
enable = true,
ignore = true,
timeout = 500,
},
view = {
width = 35,
side = "left",
float = {
quit_on_focus_loss = true,
},
},
trash = {
cmd = "trash",
require_confirm = true,
},
actions = {
open_file = {
resize_window = true,
quit_on_open = false,
window_picker = {
enable = false,
},
},
},
}
end,
},
-- Status line
{
"nvim-lualine/lualine.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 = cursor_dark,
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
}
}
end,
},
-- Buffer line
{
"akinsho/bufferline.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local bufferline = require("bufferline")
bufferline.setup {
options = {
mode = "buffers",
style_preset = bufferline.style_preset.default,
themable = true,
numbers = "none",
close_command = "bdelete! %d",
right_mouse_command = "bdelete! %d",
left_mouse_command = "buffer %d",
middle_mouse_command = nil,
indicator = {
icon = '',
style = 'icon',
},
buffer_close_icon = '󰅖',
modified_icon = '',
close_icon = ' ',
left_trunc_marker = ' ',
right_trunc_marker = ' ',
max_name_length = 30,
max_prefix_length = 30,
truncate_names = true,
tab_size = 25,
diagnostics = "nvim_lsp",
diagnostics_update_in_insert = false,
diagnostics_update_on_event = true,
offsets = {
{
filetype = "NvimTree",
text = "File Explorer",
text_align = "left",
separator = true
}
},
color_icons = true,
show_buffer_icons = true,
show_buffer_close_icons = true,
show_close_icon = true,
show_tab_indicators = true,
show_duplicate_prefix = true,
duplicates_across_groups = true,
persist_buffer_sort = true,
move_wraps_at_ends = false,
separator_style = "thin",
enforce_regular_tabs = true,
always_show_bufferline = true,
auto_toggle_bufferline = true,
hover = {
enabled = true,
delay = 200,
reveal = {'close'}
},
sort_by = 'insert_after_current',
}
}
end,
},
-- Dashboard
{
"nvimdev/dashboard-nvim",
event = "VimEnter",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require('dashboard').setup {}
end,
},
-- Icons
{ "nvim-tree/nvim-web-devicons" },
}
@@ -0,0 +1,91 @@
return {
{
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
config = function()
local wk = require("which-key")
wk.setup({
plugins = {
marks = true,
registers = true,
spelling = {
enabled = true,
suggestions = 20,
},
presets = {
operators = true,
motions = true,
text_objects = true,
windows = true,
nav = true,
z = true,
g = true,
},
},
win = {
border = "rounded",
position = "bottom",
margin = { 1, 0, 1, 0 },
padding = { 2, 2, 2, 2 },
winblend = 0,
},
layout = {
height = { min = 4, max = 25 },
width = { min = 20, max = 50 },
spacing = 3,
align = "left",
},
})
-- Register leader key mappings with descriptions
wk.add({
{ "<leader>e", desc = "Toggle File Explorer" },
{ "<leader>q", desc = "Close Buffer" },
{ "<leader>w", desc = "Toggle Whitespace" },
{ "<leader>f", desc = "Find Files" },
{ "<leader>rn", desc = "LSP Rename" },
{ "<leader>a", desc = "Code Actions (Rust)" },
{ "<leader><leader>f", desc = "Format Code" },
})
-- Register LSP mappings (global, not buffer-specific)
wk.add({
{ "gD", desc = "Go to Declaration" },
{ "gd", desc = "Go to Definition" },
{ "gi", desc = "Go to Implementation" },
{ "gr", desc = "Find References" },
{ "K", desc = "Hover Documentation" },
})
-- Register German keyboard specific mappings
wk.add({
{ "ü", desc = "Jump to previous paragraph {" },
{ "+", desc = "Jump to next paragraph }" },
})
-- Register buffer navigation
wk.add({
{ "<S-h>", desc = "Previous Buffer" },
{ "<S-l>", desc = "Next Buffer" },
})
-- Register Telescope
wk.add({
{ "<c-t>", desc = "Live Grep" },
})
-- Register Floaterm
wk.add({
{ "<F7>", desc = "New Float Terminal" },
{ "<F8>", desc = "Previous Float Terminal" },
{ "<F9>", desc = "Next Float Terminal" },
{ "<F12>", desc = "Toggle Float Terminal" },
})
end,
},
}
+22
View File
@@ -0,0 +1,22 @@
[
{
"label": "Lock",
"exec": "hyprlock",
"icon": "/usr/share/nwg-bar/images/system-lock-screen.svg"
},
{
"label": "Logout",
"exec": "hyprctl dispatch exit 1",
"icon": "/usr/share/nwg-bar/images/system-log-out.svg"
},
{
"label": "Reboot",
"exec": "systemctl reboot",
"icon": "/usr/share/nwg-bar/images/system-reboot.svg"
},
{
"label": "Shutdown",
"exec": "systemctl -i poweroff",
"icon": "/usr/share/nwg-bar/images/system-shutdown.svg"
}
]
+36
View File
@@ -0,0 +1,36 @@
window {
background-color: rgba (0, 0, 0, 00)
}
/* Outer bar container, takes all the window width/height */
#outer-box {
margin: 0px
}
/* Inner bar container, surrounds buttons */
/* Cursor Dark: #181818 panel, #cccccc outline */
#inner-box {
background-color: rgba (24, 24, 24, 1);
border-radius: 10px;
border-style: solid;
border-width: 2px;
border-color: rgba (204, 204, 204, 0.7);
padding: 10px;
margin: 10px
}
button, image {
background: none;
border: none;
box-shadow: none
}
button {
padding-left: 10px;
padding-right: 10px;
margin: 5px
}
button:hover {
background-color: rgba (204, 204, 204, 0.1)
}
+10
View File
@@ -0,0 +1,10 @@
{
"export-settings-ini": true,
"export-gtkrc-20": true,
"export-index-theme": true,
"export-xsettingsd": true,
"export-gtk4-symlinks": true,
"flatpak-export-gtk-theme-override": false,
"flatpak-export-icon-theme-override": false,
"flatpak-install-current-gtk-theme": false
}
+21 -20
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 */
* {
bg0: #2E3440F2;
bg1: #3B4252;
bg2: #4C566A80;
bg3: #88C0D0F2;
fg0: #D8DEE9;
fg1: #ECEFF4;
fg2: #D8DEE9;
fg3: #4C566A;
bgdark: #181818;
bgalt: #2b2b2b;
bgraised: #313131;
fg0: #cccccc;
fgalt: #6e6e6e;
accent-color: #2472c8;
urgent-color: #e2c08d;
font: "Roboto 12";
@@ -32,7 +33,7 @@ configuration {
}
element selected {
text-color: @bg1;
text-color: #ffffff;
}
window {
@@ -40,7 +41,7 @@ window {
width: 720px;
border-radius: 10px;
background-color: @bg0;
background-color: @bgdark;
}
mainbox {
@@ -48,8 +49,8 @@ mainbox {
}
inputbar {
background-color: @bg1;
border-color: @bg3;
background-color: @bgalt;
border-color: @bgraised;
border: 2px;
border-radius: 8px;
@@ -60,19 +61,19 @@ inputbar {
}
prompt {
text-color: @fg2;
text-color: @accent-color;
}
entry {
placeholder: "Search";
placeholder-color: @fg3;
placeholder-color: @fgalt;
}
message {
margin: 12px 0 0;
border-radius: 8px;
border-color: @bg2;
background-color: @bg2;
border-color: @bgraised;
background-color: @bgraised;
}
textbox {
@@ -96,15 +97,15 @@ element {
}
element normal active {
text-color: @bg3;
text-color: @accent-color;
}
element alternate active {
text-color: @bg3;
text-color: @accent-color;
}
element selected normal, element selected active {
background-color: @bg3;
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
-5
View File
@@ -1,5 +0,0 @@
@define-color bg0 #211a17;
@define-color bg1 #362f2b;
@define-color tip #221e1b;
@define-color accent #ffbf9b;
@define-color text #ffffff;
+26 -6
View File
@@ -10,7 +10,7 @@
// Choose the order of the modules
"modules-left": ["hyprland/workspaces","hyprland/window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "backlight", "network", "cpu", "memory", "tray"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "tray"],
// Modules configuration
@@ -26,6 +26,20 @@
"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,
@@ -79,7 +93,6 @@
"bat": "BAT2"
},
"network": {
"interface": "enp4s0", // (Optional) To force the use of this interface
"format-wifi": "{essid} ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
@@ -110,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",
@@ -135,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": ""
}
}
}
+22 -27
View File
@@ -1,19 +1,12 @@
@define-color base00 #181818;
@define-color base01 #2b2e37;
@define-color base02 #3b3e47;
@define-color base03 #585858;
@define-color base04 #b8b8b8;
@define-color base05 #d8d8d8;
@define-color base06 #e8e8e8;
@define-color base07 #f8f8f8;
@define-color base08 #ab4642;
@define-color base09 #dc9656;
@define-color base0A #f7ca88;
@define-color base0B #a1b56c;
@define-color base0C #86c1b9;
@define-color base0D #7cafc2;
@define-color base0E #ba8baf;
@define-color base0F #a16946;
/* 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;
@@ -24,9 +17,9 @@
font-family: 'Hack JBM Ligatured', "Font Awesome 6 Free";
font-size: 1.2em;
font-weight: 400;
color: @base04;
color: @fg;
border-radius: 10px;
background: @base01;
background: @bg0;
}
#workspaces {
@@ -36,7 +29,7 @@
#workspaces button {
margin: 4px 0;
padding: 0 4px;
color: @base05;
color: @fg;
}
#workspaces button.visible {
@@ -44,22 +37,24 @@
#workspaces button.active {
border-radius: 10px;
background-color: @base03;
background-color: @bg4;
/* @fg on the accent blue is too low-contrast to read */
color: #ffffff;
}
#workspaces button.urgent {
color: rgba(238, 46, 36, 1);
color: @red;
}
#tray {
margin: 4px 4px 4px 4px;
border-radius: 4px;
background-color: @base02;
background-color: @bg2;
}
#tray * {
padding: 0 6px;
border-left: 1px solid @base00;
border-left: 1px solid @bg_dim;
}
#tray *:first-child {
@@ -69,17 +64,17 @@
#mode, #battery, #cpu, #memory, #network, #pulseaudio, #idle_inhibitor, #backlight, #custom-storage, #custom-updates, #custom-weather, #custom-mail, #clock, #temperature, #language{
margin: 4px 2px;
padding: 0 6px;
background-color: @base02;
background-color: @bg2;
border-radius: 4px;
min-width: 20px;
}
#pulseaudio.muted {
color: @base0F;
color: @orange;
}
#pulseaudio.bluetooth {
color: @base0C;
color: @blue;
}
#clock {
@@ -89,7 +84,7 @@
}
#temperature.critical {
color: @base0F;
color: @orange;
}
#window {
+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