Compare commits
8 Commits
383d8bd0c6
...
4b92ff743e
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b92ff743e | |||
| 73658e1563 | |||
| d5c0c6836f | |||
| 6976180fd4 | |||
| 31aa73fcee | |||
| 85616a53eb | |||
| 43e161db0e | |||
| f2f044eebe |
@@ -6,6 +6,8 @@ in
|
|||||||
config.var = {
|
config.var = {
|
||||||
hostname = "altair";
|
hostname = "altair";
|
||||||
|
|
||||||
|
has_battery = true;
|
||||||
|
|
||||||
hyprsunset.temperature = 2000;
|
hyprsunset.temperature = 2000;
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ in
|
|||||||
config.var = {
|
config.var = {
|
||||||
hostname = "polaris";
|
hostname = "polaris";
|
||||||
|
|
||||||
|
has_battery = false;
|
||||||
|
|
||||||
hyprsunset.temperature = 3500;
|
hyprsunset.temperature = 3500;
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
pfetch
|
pfetch
|
||||||
btop
|
btop
|
||||||
fastfetch
|
fastfetch
|
||||||
|
gimp
|
||||||
|
|
||||||
# Just cool
|
# Just cool
|
||||||
peaclock
|
peaclock
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Hyprpanel is the bar on top of the screen
|
# Hyprpanel is the bar on top of the screen
|
||||||
# Display information like workspaces, battery, wifi, ...
|
# Display information like workspaces, battery, wifi, ...
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
transparentButtons = config.theme.bar.transparentButtons;
|
transparentButtons = config.theme.bar.transparentButtons;
|
||||||
|
|
||||||
@@ -46,11 +46,11 @@ in
|
|||||||
middle = [
|
middle = [
|
||||||
"media"
|
"media"
|
||||||
];
|
];
|
||||||
right = [
|
right = lib.flatten [
|
||||||
"systray"
|
"systray"
|
||||||
"volume"
|
"volume"
|
||||||
"bluetooth"
|
"bluetooth"
|
||||||
"battery"
|
(lib.optional config.var.has_battery "battery")
|
||||||
"network"
|
"network"
|
||||||
"clock"
|
"clock"
|
||||||
"notifications"
|
"notifications"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Kitty is a fast, featureful, GPU based terminal emulator
|
# Kitty is a fast, featureful, GPU based terminal emulator
|
||||||
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -20,5 +21,52 @@
|
|||||||
allow_remote_control = "yes";
|
allow_remote_control = "yes";
|
||||||
listen_on = "unix:/tmp/mykitty";
|
listen_on = "unix:/tmp/mykitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Override stylix generated colorscheme by officially provided kitty colorscheme
|
||||||
|
extraConfig = lib.mkAfter ''
|
||||||
|
## name: Kanagawa
|
||||||
|
## license: MIT
|
||||||
|
## author: Tommaso Laurenzi
|
||||||
|
## upstream: https://github.com/rebelot/kanagawa.nvim/
|
||||||
|
|
||||||
|
background #1F1F28
|
||||||
|
foreground #DCD7BA
|
||||||
|
selection_background #2D4F67
|
||||||
|
selection_foreground #C8C093
|
||||||
|
url_color #72A7BC
|
||||||
|
cursor #C8C093
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
active_tab_background #1F1F28
|
||||||
|
active_tab_foreground #C8C093
|
||||||
|
inactive_tab_background #1F1F28
|
||||||
|
inactive_tab_foreground #727169
|
||||||
|
#tab_bar_background #15161E
|
||||||
|
|
||||||
|
# normal
|
||||||
|
color0 #16161D
|
||||||
|
color1 #C34043
|
||||||
|
color2 #76946A
|
||||||
|
color3 #C0A36E
|
||||||
|
color4 #7E9CD8
|
||||||
|
color5 #957FB8
|
||||||
|
color6 #6A9589
|
||||||
|
color7 #C8C093
|
||||||
|
|
||||||
|
# bright
|
||||||
|
color8 #727169
|
||||||
|
color9 #E82424
|
||||||
|
color10 #98BB6C
|
||||||
|
color11 #E6C384
|
||||||
|
color12 #7FB4CA
|
||||||
|
color13 #938AA9
|
||||||
|
color14 #7AA89F
|
||||||
|
color15 #DCD7BA
|
||||||
|
|
||||||
|
# extended colors
|
||||||
|
color16 #FFA066
|
||||||
|
color17 #FF5D62
|
||||||
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,6 +101,8 @@ let
|
|||||||
|
|
||||||
colorful-menu-nvim
|
colorful-menu-nvim
|
||||||
|
|
||||||
|
lualine-nvim
|
||||||
|
bufferline-nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -205,12 +205,8 @@ require("lz.n").load({
|
|||||||
documentation = {
|
documentation = {
|
||||||
auto_show = true,
|
auto_show = true,
|
||||||
auto_show_delay_ms = 500,
|
auto_show_delay_ms = 500,
|
||||||
window = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
menu = {
|
menu = {
|
||||||
border = "rounded",
|
|
||||||
draw = {
|
draw = {
|
||||||
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
||||||
components = {
|
components = {
|
||||||
@@ -254,7 +250,6 @@ require("lz.n").load({
|
|||||||
|
|
||||||
-- Shows a signature help window while you type arguments for a function
|
-- Shows a signature help window while you type arguments for a function
|
||||||
signature = {
|
signature = {
|
||||||
window = { border = "rounded" },
|
|
||||||
enabled = true,
|
enabled = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -167,4 +167,47 @@ require("lz.n").load({
|
|||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"mini.nvim",
|
||||||
|
after = function()
|
||||||
|
-- Better Around/Inside textobjects
|
||||||
|
require("mini.ai").setup({ n_lines = 500 })
|
||||||
|
|
||||||
|
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||||
|
require("mini.surround").setup()
|
||||||
|
|
||||||
|
local files = require("mini.files")
|
||||||
|
files.setup()
|
||||||
|
vim.keymap.set("n", "<leader>e", function()
|
||||||
|
if not files.close() then
|
||||||
|
files.open(vim.api.nvim_buf_get_name(0))
|
||||||
|
end
|
||||||
|
end, { desc = "File [E]xplorer" })
|
||||||
|
|
||||||
|
local icons = require("mini.icons")
|
||||||
|
icons.setup()
|
||||||
|
icons.mock_nvim_web_devicons()
|
||||||
|
|
||||||
|
local hipatterns = require("mini.hipatterns")
|
||||||
|
hipatterns.setup({
|
||||||
|
highlighters = {
|
||||||
|
-- Highlight hex color strings (#rrggbb) using that color
|
||||||
|
hex_color = hipatterns.gen_highlighter.hex_color(),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
local indentscope = require("mini.indentscope")
|
||||||
|
indentscope.setup({
|
||||||
|
symbol = "│",
|
||||||
|
-- draw = { animation = indentscope.gen_animation.linear({}) },
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" },
|
||||||
|
callback = function()
|
||||||
|
vim.b.miniindentscope_disable = true
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -78,7 +78,6 @@ require("lz.n").load({
|
|||||||
-- 1. Setup Diagnostics (Visuals)
|
-- 1. Setup Diagnostics (Visuals)
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
float = { border = "rounded", source = "if_many" },
|
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
underline = { severity = vim.diagnostic.severity.ERROR },
|
||||||
signs = {
|
signs = {
|
||||||
text = {
|
text = {
|
||||||
|
|||||||
@@ -109,9 +109,6 @@ require("lz.n").load({
|
|||||||
require("which-key").setup({
|
require("which-key").setup({
|
||||||
preset = "modern",
|
preset = "modern",
|
||||||
delay = 200,
|
delay = 200,
|
||||||
win = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
icons = {
|
icons = {
|
||||||
-- set icon mappings to true if you have a Nerd Font
|
-- set icon mappings to true if you have a Nerd Font
|
||||||
mappings = true,
|
mappings = true,
|
||||||
@@ -130,52 +127,71 @@ require("lz.n").load({
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mini.nvim",
|
"lualine.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
after = function()
|
after = function()
|
||||||
-- Better Around/Inside textobjects
|
require("lualine").setup({
|
||||||
require("mini.ai").setup({ n_lines = 500 })
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
globalstatus = true,
|
||||||
|
component_separators = "",
|
||||||
|
section_separators = "",
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { "mode" },
|
||||||
|
lualine_b = { "branch", "diagnostics" },
|
||||||
|
lualine_c = { "filename" },
|
||||||
|
|
||||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
lualine_x = { "lsp_status" },
|
||||||
require("mini.surround").setup()
|
lualine_y = { "progress" },
|
||||||
|
lualine_z = { "location" },
|
||||||
-- Simple and easy statusline.
|
|
||||||
local statusline = require("mini.statusline")
|
|
||||||
statusline.setup({ use_icons = true })
|
|
||||||
statusline.section_location = function()
|
|
||||||
return "%2l:%-2v"
|
|
||||||
end
|
|
||||||
|
|
||||||
local files = require("mini.files")
|
|
||||||
files.setup()
|
|
||||||
vim.keymap.set("n", "<leader>e", function()
|
|
||||||
if not files.close() then
|
|
||||||
files.open(vim.api.nvim_buf_get_name(0))
|
|
||||||
end
|
|
||||||
end, { desc = "File [E]xplorer" })
|
|
||||||
|
|
||||||
local icons = require("mini.icons")
|
|
||||||
icons.setup()
|
|
||||||
icons.mock_nvim_web_devicons()
|
|
||||||
|
|
||||||
local hipatterns = require("mini.hipatterns")
|
|
||||||
hipatterns.setup({
|
|
||||||
highlighters = {
|
|
||||||
-- Highlight hex color strings (#rrggbb) using that color
|
|
||||||
hex_color = hipatterns.gen_highlighter.hex_color(),
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferline.nvim",
|
||||||
|
enabled = false,
|
||||||
|
event = "VimEnter",
|
||||||
|
after = function()
|
||||||
|
require("bufferline").setup({
|
||||||
|
options = {
|
||||||
|
mode = "buffers",
|
||||||
|
numbers = "none",
|
||||||
|
|
||||||
local indentscope = require("mini.indentscope")
|
separator_style = "thick",
|
||||||
indentscope.setup({
|
|
||||||
symbol = "│",
|
|
||||||
-- draw = { animation = indentscope.gen_animation.linear({}) },
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
-- Integrations
|
||||||
pattern = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" },
|
diagnostics = "nvim_lsp",
|
||||||
callback = function()
|
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
vim.b.miniindentscope_disable = true
|
local icon = level:match("error") and " " or " "
|
||||||
end,
|
return " " .. icon .. count
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- Visuals
|
||||||
|
show_buffer_close_icons = false,
|
||||||
|
show_close_icon = false,
|
||||||
|
color_icons = true,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
highlights = {
|
||||||
|
fill = {
|
||||||
|
bg = "NONE", -- Makes the empty space transparent/blended
|
||||||
|
},
|
||||||
|
background = {
|
||||||
|
bg = "NONE", -- Makes inactive buffers transparent/blended
|
||||||
|
},
|
||||||
|
-- Optional: Fix separators if they look "cut off"
|
||||||
|
separator = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = "NONE",
|
||||||
|
},
|
||||||
|
separator_visible = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = "NONE",
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
username = config.var.username;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
copyparty = {
|
copyparty = {
|
||||||
@@ -7,6 +11,39 @@
|
|||||||
e2dsa = true;
|
e2dsa = true;
|
||||||
no-cfg = true;
|
no-cfg = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
accounts = {
|
||||||
|
"${username}" = {
|
||||||
|
passwordFile = "/run/keys/copyparty-kiri-pass";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
groups = {
|
||||||
|
"admin" = [ "${username}" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
volumes = {
|
||||||
|
"/public" = {
|
||||||
|
path = "/var/lib/copyparty/public";
|
||||||
|
|
||||||
|
access = {
|
||||||
|
r = "*";
|
||||||
|
rwmd = "@admin";
|
||||||
|
};
|
||||||
|
|
||||||
|
flags = {
|
||||||
|
fk = 4;
|
||||||
|
scan = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"/" = {
|
||||||
|
path = "/var/lib/copyparty/private";
|
||||||
|
access = {
|
||||||
|
rwmd = "@admin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
caddy.virtualHosts."files.jelles.net".extraConfig = "reverse_proxy :3923";
|
caddy.virtualHosts."files.jelles.net".extraConfig = "reverse_proxy :3923";
|
||||||
|
|||||||
@@ -26,6 +26,13 @@
|
|||||||
transparentButtons = false;
|
transparentButtons = false;
|
||||||
floating = true;
|
floating = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.catppuccin-nvim;
|
||||||
|
setup = ''
|
||||||
|
vim.cmd.colorscheme("catppuccin");
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
description = "Theme configuration options";
|
description = "Theme configuration options";
|
||||||
};
|
};
|
||||||
@@ -36,22 +43,22 @@
|
|||||||
# Mocha
|
# Mocha
|
||||||
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
base16Scheme = {
|
base16Scheme = {
|
||||||
base00 = "1e1e2e"; # Default Background
|
base00 = "#1e1e2e";
|
||||||
base01 = "181825"; # Lighter Background (Used for status bars, line number and folding marks)
|
base01 = "#181825";
|
||||||
base02 = "313244"; # Selection Background
|
base02 = "#313244";
|
||||||
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
|
base03 = "#45475a";
|
||||||
base04 = "585b70"; # Dark Foreground (Used for status bars)
|
base04 = "#585b70";
|
||||||
base05 = "cdd6f4"; # Default Foreground, Caret, Delimiters, Operators
|
base05 = "#cdd6f4";
|
||||||
base06 = "f5e0dc"; # Light Foreground (Not often used)
|
base06 = "#f5e0dc";
|
||||||
base07 = "b4befe"; # Light Background (Not often used)
|
base07 = "#b4befe";
|
||||||
base08 = "f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
|
base08 = "#f38ba8";
|
||||||
base09 = "fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
|
base09 = "#fab387";
|
||||||
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
|
base0A = "#f9e2af";
|
||||||
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
|
base0B = "#a6e3a1";
|
||||||
base0C = "94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
|
base0C = "#94e2d5";
|
||||||
base0D = "89b4fa"; # Functions, Methods, Attribute IDs, Headings, Accent color
|
base0D = "#89b4fa";
|
||||||
base0E = "cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
|
base0E = "#cba6f7";
|
||||||
base0F = "f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
|
base0F = "#f2cdcd";
|
||||||
};
|
};
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|||||||
114
modules/themes/gruvbox.nix
Normal file
114
modules/themes/gruvbox.nix
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.tokyonight-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("tokyonight").setup({
|
||||||
|
style = "night"
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme("tokyonight")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#1A1B26";
|
||||||
|
base01 = "#16161E";
|
||||||
|
base02 = "#2F3549";
|
||||||
|
base03 = "#444B6A";
|
||||||
|
base04 = "#787C99";
|
||||||
|
base05 = "#A9B1D6";
|
||||||
|
base06 = "#CBCCD1";
|
||||||
|
base07 = "#D5D6DB";
|
||||||
|
base08 = "#C0CAF5";
|
||||||
|
base09 = "#A9B1D6";
|
||||||
|
base0A = "#0DB9D7";
|
||||||
|
base0B = "#9ECE6A";
|
||||||
|
base0C = "#B4F9F8";
|
||||||
|
base0D = "#2AC3DE";
|
||||||
|
base0E = "#BB9AF7";
|
||||||
|
base0F = "#F7768E";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
162
modules/themes/kanagawa-dragon.nix
Normal file
162
modules/themes/kanagawa-dragon.nix
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.kanagawa-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("kanagawa").setup({
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
theme = {
|
||||||
|
all = {
|
||||||
|
ui = {
|
||||||
|
bg_gutter = "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
overrides = function(colors)
|
||||||
|
local theme = colors.theme
|
||||||
|
|
||||||
|
local makeDiagnosticColor = function(color)
|
||||||
|
local c = require("kanagawa.lib.color")
|
||||||
|
return { fg = color, bg = c(color):blend(theme.ui.bg, 0.95):to_hex() }
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
NormalFloat = { bg = "none" },
|
||||||
|
FloatBorder = { bg = "none" },
|
||||||
|
FloatTitle = { bg = "none" },
|
||||||
|
|
||||||
|
-- Save an hlgroup with dark background and dimmed foreground
|
||||||
|
-- so that you can use it where your still want darker windows.
|
||||||
|
-- E.g.: autocmd TermOpen * setlocal winhighlight=Normal:NormalDark
|
||||||
|
NormalDark = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m3 },
|
||||||
|
|
||||||
|
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
||||||
|
TelescopePromptNormal = { bg = theme.ui.bg_p1 },
|
||||||
|
TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },
|
||||||
|
TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopePreviewNormal = { bg = theme.ui.bg_dim },
|
||||||
|
TelescopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },
|
||||||
|
|
||||||
|
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
||||||
|
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
||||||
|
PmenuSbar = { bg = theme.ui.bg_m1 },
|
||||||
|
PmenuThumb = { bg = theme.ui.bg_p2 },
|
||||||
|
|
||||||
|
DiagnosticVirtualTextHint = makeDiagnosticColor(theme.diag.hint),
|
||||||
|
DiagnosticVirtualTextInfo = makeDiagnosticColor(theme.diag.info),
|
||||||
|
DiagnosticVirtualTextWarn = makeDiagnosticColor(theme.diag.warning),
|
||||||
|
DiagnosticVirtualTextError = makeDiagnosticColor(theme.diag.error),
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd.colorscheme("kanagawa-dragon")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#181616";
|
||||||
|
base01 = "#0d0c0c";
|
||||||
|
base02 = "#2d4f67";
|
||||||
|
base03 = "#a6a69c";
|
||||||
|
base04 = "#7fb4ca";
|
||||||
|
base05 = "#c5c9c5";
|
||||||
|
base06 = "#938aa9";
|
||||||
|
base07 = "#c5c9c5";
|
||||||
|
base08 = "#c4746e";
|
||||||
|
base09 = "#e46876";
|
||||||
|
base0A = "#c4b28a";
|
||||||
|
base0B = "#8a9a7b";
|
||||||
|
base0C = "#8ea4a2";
|
||||||
|
base0D = "#8ba4b0";
|
||||||
|
base0E = "#a292a3";
|
||||||
|
base0F = "#7aa89f";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
155
modules/themes/kanagawa-wave.nix
Normal file
155
modules/themes/kanagawa-wave.nix
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.kanagawa-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("kanagawa").setup({
|
||||||
|
colors = {
|
||||||
|
theme = {
|
||||||
|
all = {
|
||||||
|
ui = {
|
||||||
|
bg_gutter = "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
overrides = function(colors)
|
||||||
|
local theme = colors.theme
|
||||||
|
|
||||||
|
local makeDiagnosticColor = function(color)
|
||||||
|
local c = require("kanagawa.lib.color")
|
||||||
|
return { fg = color, bg = c(color):blend(theme.ui.bg, 0.95):to_hex() }
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
||||||
|
TelescopePromptNormal = { bg = theme.ui.bg_p1 },
|
||||||
|
TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },
|
||||||
|
TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopePreviewNormal = { bg = theme.ui.bg_dim },
|
||||||
|
TelescopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },
|
||||||
|
|
||||||
|
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
||||||
|
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
||||||
|
PmenuSbar = { bg = theme.ui.bg_m1 },
|
||||||
|
PmenuThumb = { bg = theme.ui.bg_p2 },
|
||||||
|
|
||||||
|
DiagnosticVirtualTextHint = makeDiagnosticColor(theme.diag.hint),
|
||||||
|
DiagnosticVirtualTextInfo = makeDiagnosticColor(theme.diag.info),
|
||||||
|
DiagnosticVirtualTextWarn = makeDiagnosticColor(theme.diag.warning),
|
||||||
|
DiagnosticVirtualTextError = makeDiagnosticColor(theme.diag.error),
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd.colorscheme("kanagawa-wave")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# See https =//tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#1F1F28";
|
||||||
|
base01 = "#16161D";
|
||||||
|
base02 = "#223249";
|
||||||
|
base03 = "#54546D";
|
||||||
|
base04 = "#727169";
|
||||||
|
base05 = "#DCD7BA";
|
||||||
|
base06 = "#C8C093";
|
||||||
|
base07 = "#717C7C";
|
||||||
|
base08 = "#C34043";
|
||||||
|
base09 = "#FFA066";
|
||||||
|
base0A = "#C0A36E";
|
||||||
|
base0B = "#76946A";
|
||||||
|
base0C = "#6A9589";
|
||||||
|
base0D = "#7E9CD8";
|
||||||
|
base0E = "#957FB8";
|
||||||
|
base0F = "#D27E99";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://files.jelles.net/public/green-leaves.png";
|
||||||
|
sha256 = "sha256-XVj5dDJL383QqUjmdqjpr35odXIU0sQO5WM9yAuRgN0=";
|
||||||
|
};
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
# sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./themes/tokyo-city.nix
|
./themes/kanagawa-wave.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config.var = {
|
config.var = {
|
||||||
|
|||||||
Reference in New Issue
Block a user