mirror of
https://github.com/mentos1386/dotfiles.git
synced 2025-02-16 22:33:37 +00:00
feat: night and day theme across tools
This commit is contained in:
parent
fb84096201
commit
a39dd03e8d
12 changed files with 292 additions and 65 deletions
11
README.md
11
README.md
|
@ -3,3 +3,14 @@
|
||||||
Expected configuration:
|
Expected configuration:
|
||||||
* Fedora Silverblue as host
|
* Fedora Silverblue as host
|
||||||
* Nix with home-manager for tools and software.
|
* Nix with home-manager for tools and software.
|
||||||
|
|
||||||
|
## Dark and Light themes
|
||||||
|
|
||||||
|
Neovim and Kitty are configured to follow Gnome's dark and light theme
|
||||||
|
changes.
|
||||||
|
|
||||||
|
By default they are initially light and in case of changes, they will start
|
||||||
|
to match the correct preferences.
|
||||||
|
|
||||||
|
To make this work, [night theme switcher](https://extensions.gnome.org/extension/2236/night-theme-switcher/)
|
||||||
|
extension is needed and configured to use `scripts/sunrise.sh` and `scripts/sunset.sh` as "run commands".
|
||||||
|
|
2
bat/config
Normal file
2
bat/config
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
--italic-text='always'
|
||||||
|
--theme=OneHalfDark
|
|
@ -30,8 +30,9 @@ echo "==[host] Installing Home Manager"
|
||||||
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
|
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
|
||||||
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||||
nix-channel --update
|
nix-channel --update
|
||||||
|
|
||||||
nix-shell '<home-manager>' -A install
|
nix-shell '<home-manager>' -A install
|
||||||
workspace_link home.nix .config/home-manager/home.nix
|
workspace_link nix/home.nix .config/home-manager/home.nix
|
||||||
|
|
||||||
echo "==[host] Installing Home Manager packages"
|
echo "==[host] Installing Home Manager packages"
|
||||||
home-manager switch
|
home-manager switch
|
||||||
|
|
|
@ -4,59 +4,20 @@ italic_font Liga Operator Mono SSm BookItalic Nerd Font
|
||||||
bold_italic_font Liga Operator Mono SSm MediumItalic Nerd Font
|
bold_italic_font Liga Operator Mono SSm MediumItalic Nerd Font
|
||||||
|
|
||||||
disable_ligatures never
|
disable_ligatures never
|
||||||
|
hide_window_decorations yes
|
||||||
wayland_titlebar_color system
|
wayland_titlebar_color system
|
||||||
|
|
||||||
# https://github.com/sainnhe/edge-extras/blob/master/kitty/edge-light.conf
|
# Theme, default to light
|
||||||
foreground #4b505b
|
include themes/rose-pine-dawn.conf
|
||||||
background #fafafa
|
include theme.conf
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #4b505b
|
|
||||||
color8 #4b505b
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #d05858
|
|
||||||
color9 #d05858
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #608e32
|
|
||||||
color10 #608e32
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #be7e05
|
|
||||||
color11 #be7e05
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #5079be
|
|
||||||
color12 #5079be
|
|
||||||
url_color #5079be
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #b05ccc
|
|
||||||
color13 #b05ccc
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #3a8b84
|
|
||||||
color14 #3a8b84
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #fafafa
|
|
||||||
color15 #fafafa
|
|
||||||
|
|
||||||
# Tab Bar
|
# Tab Bar
|
||||||
tab_bar_style separator
|
tab_bar_style separator
|
||||||
tab_separator ""
|
tab_separator ""
|
||||||
tab_title_template " {fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{'/'.join(tab.active_oldest_wd.split('/')[-2:])} "
|
tab_title_template " {fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{'/'.join(tab.active_oldest_wd.split('/')[-2:])} "
|
||||||
|
|
||||||
tab_bar_background #b05ccc
|
|
||||||
inactive_tab_foreground #fafafa
|
|
||||||
inactive_tab_background #b05ccc
|
|
||||||
active_tab_background #fafafa
|
|
||||||
active_tab_foreground #4b505b
|
|
||||||
|
|
||||||
# Layouts
|
# Layouts
|
||||||
enabled_layouts fat:bias=70;full_size=1;mirrored=false,tall:bias=50;full_size=1;mirrored=false,stack
|
enabled_layouts fat:bias=70;full_size=1;mirrored=false,tall:bias=50;full_size=1;mirrored=false,stack
|
||||||
active_border_color #b05ccc
|
|
||||||
|
|
||||||
# Window movement
|
# Window movement
|
||||||
map ctrl+left neighboring_window left
|
map ctrl+left neighboring_window left
|
||||||
|
|
56
kitty/themes/rose-pine-dawn.conf
Normal file
56
kitty/themes/rose-pine-dawn.conf
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
## name: Rosé Pine Dawn
|
||||||
|
## author: mvllow
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-dawn.conf
|
||||||
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
|
|
||||||
|
foreground #575279
|
||||||
|
background #faf4ed
|
||||||
|
selection_foreground #575279
|
||||||
|
selection_background #dfdad9
|
||||||
|
|
||||||
|
cursor #cecacd
|
||||||
|
cursor_text_color #575279
|
||||||
|
|
||||||
|
url_color #907aa9
|
||||||
|
|
||||||
|
active_tab_foreground #575279
|
||||||
|
active_tab_background #f2e9e1
|
||||||
|
inactive_tab_foreground #9893a5
|
||||||
|
inactive_tab_background #faf4ed
|
||||||
|
|
||||||
|
active_border_color #286983
|
||||||
|
inactive_border_color #dfdad9
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #f2e9e1
|
||||||
|
color8 #9893a5
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #b4637a
|
||||||
|
color9 #b4637a
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #286983
|
||||||
|
color10 #286983
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #ea9d34
|
||||||
|
color11 #ea9d34
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #56949f
|
||||||
|
color12 #56949f
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #907aa9
|
||||||
|
color13 #907aa9
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #d7827e
|
||||||
|
color14 #d7827e
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #575279
|
||||||
|
color15 #575279
|
||||||
|
|
56
kitty/themes/rose-pine-moon.conf
Normal file
56
kitty/themes/rose-pine-moon.conf
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
## name: Rosé Pine Moon
|
||||||
|
## author: mvllow
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
|
||||||
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
|
|
||||||
|
foreground #e0def4
|
||||||
|
background #232136
|
||||||
|
selection_foreground #e0def4
|
||||||
|
selection_background #44415a
|
||||||
|
|
||||||
|
cursor #56526e
|
||||||
|
cursor_text_color #e0def4
|
||||||
|
|
||||||
|
url_color #c4a7e7
|
||||||
|
|
||||||
|
active_tab_foreground #e0def4
|
||||||
|
active_tab_background #393552
|
||||||
|
inactive_tab_foreground #6e6a86
|
||||||
|
inactive_tab_background #232136
|
||||||
|
|
||||||
|
active_border_color #3e8fb0
|
||||||
|
inactive_border_color #44415a
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #393552
|
||||||
|
color8 #6e6a86
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #eb6f92
|
||||||
|
color9 #eb6f92
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #3e8fb0
|
||||||
|
color10 #3e8fb0
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f6c177
|
||||||
|
color11 #f6c177
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #9ccfd8
|
||||||
|
color12 #9ccfd8
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c4a7e7
|
||||||
|
color13 #c4a7e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #ea9a97
|
||||||
|
color14 #ea9a97
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #e0def4
|
||||||
|
color15 #e0def4
|
||||||
|
|
56
kitty/themes/rose-pine.conf
Normal file
56
kitty/themes/rose-pine.conf
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
## name: Rosé Pine
|
||||||
|
## author: mvllow
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
||||||
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
|
|
||||||
|
foreground #e0def4
|
||||||
|
background #191724
|
||||||
|
selection_foreground #e0def4
|
||||||
|
selection_background #403d52
|
||||||
|
|
||||||
|
cursor #524f67
|
||||||
|
cursor_text_color #e0def4
|
||||||
|
|
||||||
|
url_color #c4a7e7
|
||||||
|
|
||||||
|
active_tab_foreground #e0def4
|
||||||
|
active_tab_background #26233a
|
||||||
|
inactive_tab_foreground #6e6a86
|
||||||
|
inactive_tab_background #191724
|
||||||
|
|
||||||
|
active_border_color #31748f
|
||||||
|
inactive_border_color #403d52
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #26233a
|
||||||
|
color8 #6e6a86
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #eb6f92
|
||||||
|
color9 #eb6f92
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #31748f
|
||||||
|
color10 #31748f
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f6c177
|
||||||
|
color11 #f6c177
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #9ccfd8
|
||||||
|
color12 #9ccfd8
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c4a7e7
|
||||||
|
color13 #c4a7e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #ebbcba
|
||||||
|
color14 #ebbcba
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #e0def4
|
||||||
|
color15 #e0def4
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
tmux
|
tmux
|
||||||
jq
|
jq
|
||||||
fd
|
fd
|
||||||
|
fzf
|
||||||
|
|
||||||
# Nodejs
|
# Nodejs
|
||||||
nodejs_20
|
nodejs_20
|
||||||
|
@ -46,18 +47,28 @@
|
||||||
# Shell
|
# Shell
|
||||||
zsh
|
zsh
|
||||||
shfmt
|
shfmt
|
||||||
|
|
||||||
|
# Lua
|
||||||
|
stylua
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
# plain files is through 'home.file'.
|
# plain files is through 'home.file'.
|
||||||
home.file = {
|
home.file = {
|
||||||
"~/.tmux.conf".source = tmux/tmux.conf;
|
"~/.tmux.conf".source = ../tmux/tmux.conf;
|
||||||
"~/.ssh/authorized_keys".source = ssh/authorized_keys;
|
"~/.ssh/authorized_keys".source = ../ssh/authorized_keys;
|
||||||
"${config.xdg.configHome}/starship.toml".source = starship/starship.toml;
|
"${config.xdg.configHome}/starship.toml".source = ../starship/starship.toml;
|
||||||
"${config.xdg.configHome}/kitty.conf".source = kitty/kitty.conf;
|
"${config.xdg.configHome}/bat" = {
|
||||||
|
recursive = true;
|
||||||
|
source = ../bat;
|
||||||
|
};
|
||||||
|
"${config.xdg.configHome}/kitty" = {
|
||||||
|
recursive = true;
|
||||||
|
source = ../kitty;
|
||||||
|
};
|
||||||
"${config.xdg.configHome}/nvim" = {
|
"${config.xdg.configHome}/nvim" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ./nvim;
|
source = ../nvim;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -100,14 +111,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
theme = "OneHalfLight";
|
|
||||||
italic-text = "always";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
|
@ -15,8 +15,8 @@ Plug 'ojroques/vim-oscyank'
|
||||||
Plug 'tpope/vim-obsession'
|
Plug 'tpope/vim-obsession'
|
||||||
Plug 'tmux-plugins/vim-tmux-focus-events'
|
Plug 'tmux-plugins/vim-tmux-focus-events'
|
||||||
" Look
|
" Look
|
||||||
|
Plug 'rose-pine/neovim', {'as': 'rose-pine', 'tag': 'v1.*'}
|
||||||
Plug 'nvim-lualine/lualine.nvim'
|
Plug 'nvim-lualine/lualine.nvim'
|
||||||
Plug 'sainnhe/edge'
|
|
||||||
Plug 'Yggdroot/indentLine'
|
Plug 'Yggdroot/indentLine'
|
||||||
Plug 'koenverburg/peepsight.nvim'
|
Plug 'koenverburg/peepsight.nvim'
|
||||||
Plug 'norcalli/nvim-colorizer.lua'
|
Plug 'norcalli/nvim-colorizer.lua'
|
||||||
|
@ -168,17 +168,14 @@ set number
|
||||||
set cursorline
|
set cursorline
|
||||||
set hlsearch " highlight all results
|
set hlsearch " highlight all results
|
||||||
set signcolumn=number " always show git diff column
|
set signcolumn=number " always show git diff column
|
||||||
set background=light
|
|
||||||
let g:edge_enable_italic = 1
|
""" Theme configuration
|
||||||
let g:edge_background = 'hard'
|
lua require('theme')
|
||||||
let g:edge_diagnostic_line_highlight = 1
|
|
||||||
let g:edge_better_performance = 1
|
|
||||||
colorscheme edge
|
|
||||||
|
|
||||||
lua << END
|
lua << END
|
||||||
require('lualine').setup({
|
require('lualine').setup({
|
||||||
options = {
|
options = {
|
||||||
theme = 'edge',
|
theme = 'rose-pine',
|
||||||
section_separators = {'', ''},
|
section_separators = {'', ''},
|
||||||
component_separators = {'', ''},
|
component_separators = {'', ''},
|
||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
|
|
56
nvim/lua/theme.lua
Normal file
56
nvim/lua/theme.lua
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
-- Configure theme
|
||||||
|
require("rose-pine").setup({
|
||||||
|
variant = "auto", -- auto, main, moon, or dawn
|
||||||
|
dark_variant = "moon", -- main, moon, or dawn
|
||||||
|
dim_inactive_windows = false,
|
||||||
|
extend_background_behind_borders = true,
|
||||||
|
|
||||||
|
enable = {
|
||||||
|
terminal = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
bold = true,
|
||||||
|
italic = true,
|
||||||
|
transparency = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.cmd("colorscheme rose-pine")
|
||||||
|
vim.o.background = "light"
|
||||||
|
|
||||||
|
local debounce = function(ms, fn)
|
||||||
|
local running = false
|
||||||
|
return function()
|
||||||
|
if running then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
vim.defer_fn(function()
|
||||||
|
running = false
|
||||||
|
end, ms)
|
||||||
|
running = true
|
||||||
|
vim.schedule(fn)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Create a job to detect current gnome color scheme and set background
|
||||||
|
local Job = require("plenary.job")
|
||||||
|
local set_background = function()
|
||||||
|
local j = Job:new({ command = "gsettings", args = { "get", "org.gnome.desktop.interface", "color-scheme" } })
|
||||||
|
j:sync()
|
||||||
|
if j:result()[1] == "'default'" then
|
||||||
|
vim.o.background = "light"
|
||||||
|
else
|
||||||
|
vim.o.background = "dark"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Call imidiatly to set initially
|
||||||
|
set_background()
|
||||||
|
|
||||||
|
-- Listen for SIGUSR1 signal to update background
|
||||||
|
local group = vim.api.nvim_create_augroup("BackgroundWatch", { clear = true })
|
||||||
|
vim.api.nvim_create_autocmd("Signal", {
|
||||||
|
pattern = "SIGUSR1",
|
||||||
|
callback = debounce(500, set_background),
|
||||||
|
group = group,
|
||||||
|
})
|
14
scripts/sunrise.sh
Executable file
14
scripts/sunrise.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
CONFIG_DIR=$(dirname $(dirname "$(realpath $0)"))
|
||||||
|
|
||||||
|
# Kitty terminal
|
||||||
|
echo "include themes/rose-pine-dawn.conf" >$HOME/.config/kitty/theme.conf
|
||||||
|
kill -SIGUSR1 $(pidof kitty)
|
||||||
|
|
||||||
|
# Neovim
|
||||||
|
kill -SIGUSR1 $(pidof nvim)
|
||||||
|
|
||||||
|
# Bat
|
||||||
|
sed -i "s/--theme=.*/--theme=OneHalfLight/g" ${CONFIG_DIR}/bat/config
|
||||||
|
|
||||||
|
home-manager switch
|
14
scripts/sunset.sh
Executable file
14
scripts/sunset.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
CONFIG_DIR=$(dirname $(dirname "$(realpath $0)"))
|
||||||
|
|
||||||
|
# Kitty terminal
|
||||||
|
echo "include themes/rose-pine-moon.conf" >$HOME/.config/kitty/theme.conf
|
||||||
|
kill -SIGUSR1 $(pidof kitty)
|
||||||
|
|
||||||
|
# Neovim
|
||||||
|
kill -SIGUSR1 $(pidof nvim)
|
||||||
|
|
||||||
|
# Bat
|
||||||
|
sed -i "s/--theme=.*/--theme=OneHalfDark/g" ${CONFIG_DIR}/bat/config
|
||||||
|
|
||||||
|
home-manager switch
|
Loading…
Reference in a new issue