diff --git a/common/themes/default.nix b/common/themes/default.nix index 7fe8757..b2ab52b 100644 --- a/common/themes/default.nix +++ b/common/themes/default.nix @@ -7,99 +7,78 @@ let popups = amount; }; + base16 = name: "${inputs.base16-schemes}/base16/${name}.yaml"; + themes = { - # {{{ Catppuccin variants + # {{{ Catppuccin mocha catppuccin-mocha = { stylix = { image = ./wallpapers/breaking_phos.jpg; - base16Scheme = "${inputs.catppuccin-base16}/base16/mocha.yaml"; + base16Scheme = base16 "catppuccin-mocha"; opacity = transparency 0.7; polarity = "dark"; }; - - satellite = { - rounding.radius = 8.0; - }; + satellite.rounding.radius = 8.0; }; - + # }}} + # {{{ Catppuccin latte catppuccin-latte = { stylix = { image = ./wallpapers/field_diamond.jpg; - base16Scheme = "${inputs.catppuccin-base16}/base16/latte.yaml"; + base16Scheme = base16 "catppuccin-latte"; opacity = transparency 0.7; polarity = "light"; }; - - satellite = { - rounding.radius = 8.0; - }; + satellite.rounding.radius = 8.0; }; - + # }}} + # {{{ Catppuccin macchiato catppuccin-macchiato = { stylix = { image = ./wallpapers/gabriel.jpg; - base16Scheme = "${inputs.catppuccin-base16}/base16/macchiato.yaml"; + base16Scheme = base16 "catppuccin-macchiato"; opacity = transparency 0.7; polarity = "dark"; }; - satellite = { - rounding.radius = 8.0; - }; + satellite.rounding.radius = 8.0; }; # }}} - # {{{ Rosepine variants + # {{{ Rosepine dawn rosepine-dawn = { stylix = { image = ./wallpapers/rosepine_light_field.png; - base16Scheme = "${inputs.rosepine-base16}/rose-pine-dawn.yaml"; + base16Scheme = base16 "rose-pine-dawn"; polarity = "light"; }; satellite = { }; }; # }}} - # {{{ Bluloco variants - bluloco-light = { + # {{{ Gruvbox light + gruvbox-light = { stylix = { - image = ./wallpapers/watercag.png; - base16Scheme = ./schemes/bluloco-light.yaml; - opacity = transparency 0.6; + image = ./wallpapers/rosepine_light_field.png; + base16Scheme = base16 "gruvbox-light-soft"; + opacity = transparency 0.7; polarity = "light"; }; - - satellite = { - rounding.radius = 8.0; - }; + satellite.rounding.radius = 8.0; }; # }}} - # {{{ Experiment: AI generated themes - gpt = { - monopurple-light = { - stylix = { - image = ./wallpapers/auto/catppuccin-latte-city.png; - base16Scheme = ./schemes/gpt-themes/monopurple-light.yaml; - polarity = "light"; - }; - satellite = { }; - }; - - purplepink-light = { - stylix = { - image = ./wallpapers/spaceship.jpg; - base16Scheme = ./schemes/gpt-themes/purplepink-light.yaml; - transparency.alpha = 0.6; - polarity = "light"; - }; - - satellite = { - rounding.radius = 8.0; - }; + # {{{ Gruvbox dark + gruvbox-dark = { + stylix = { + image = ./wallpapers/sad_hikari.png; + base16Scheme = base16 "gruvbox-dark-soft"; + opacity = transparency 0.7; + polarity = "dark"; }; + satellite.rounding.radius = 8.0; }; # }}} }; # Select your current theme here! - currentTheme = themes.catppuccin-latte; + currentTheme = themes.gruvbox-dark; in { # We apply the current theme here. diff --git a/common/themes/wallpapers/sad_hikari.png b/common/themes/wallpapers/sad_hikari.png new file mode 100644 index 0000000..9d1d883 Binary files /dev/null and b/common/themes/wallpapers/sad_hikari.png differ diff --git a/docs/history.md b/docs/history.md index 84d14e2..7d0c58e 100644 --- a/docs/history.md +++ b/docs/history.md @@ -4,13 +4,22 @@ This file tells the story of my setup throughout it's history. This document is ## 2024-04-29 +- the vibe of sad light passing through the trees +- [Hikari (Arcaea) wallpaper](https://wallhaven.cc/w/85doxj) +- apps on display: [pipes](https://github.com/pipeseroni/pipes.sh), [uptimes script](../home/features/cli/scripts/uptimes.sh), [bottom](https://github.com/ClementTsang/bottom), [Neovim](https://neovim.io/), [Zathura](https://pwmt.org/projects/zathura/) + +![terminals](img/2024-04-29-terminals.png) +![zathura and neovim](img/2024-04-29-zathura-neovim.png) + +## 2024-04-07 + - sunny field vibes - [Diamond (Land of the Lustrous) wallpaper](https://wallhaven.cc/w/vmk2e3) - [catppuccin-latte](https://github.com/catppuccin/base16) colors - apps on display: [Yazi](https://github.com/sxyazi/yazi), [Cmatrix](https://github.com/abishekvashok/cmatrix), [Neovim](https://neovim.io/), [Anyrun](https://github.com/catppuccin/base16) -![Terminals](img/2024-04-29-terminals.png) -![Anyrun](img/2024-04-29-anyrun-calculation.png) +![Terminals](img/2024-04-07-terminals.png) +![Anyrun](img/2024-04-07-anyrun-calculation.png) ## 2024-02-29 diff --git a/docs/img/2024-04-29-anyrun-calculation.png b/docs/img/2024-04-07-anyrun-calculation.png similarity index 100% rename from docs/img/2024-04-29-anyrun-calculation.png rename to docs/img/2024-04-07-anyrun-calculation.png diff --git a/docs/img/2024-04-07-terminals.png b/docs/img/2024-04-07-terminals.png new file mode 100644 index 0000000..d22febb Binary files /dev/null and b/docs/img/2024-04-07-terminals.png differ diff --git a/docs/img/2024-04-29-terminals.png b/docs/img/2024-04-29-terminals.png index d22febb..a7475db 100644 Binary files a/docs/img/2024-04-29-terminals.png and b/docs/img/2024-04-29-terminals.png differ diff --git a/docs/img/2024-04-29-zathura-neovim.png b/docs/img/2024-04-29-zathura-neovim.png new file mode 100644 index 0000000..dad8f6b Binary files /dev/null and b/docs/img/2024-04-29-zathura-neovim.png differ diff --git a/flake.lock b/flake.lock index 5aee0a5..b0acb12 100644 --- a/flake.lock +++ b/flake.lock @@ -90,11 +90,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1689633990, - "narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=", + "lastModified": 1708890466, + "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "dddf2e1c04845d43c89a8e9e37d574519649a404", + "rev": "665b3c6748534eb766c777298721cece9453fdae", "type": "github" }, "original": { @@ -200,6 +200,22 @@ "type": "github" } }, + "base16-schemes": { + "flake": false, + "locked": { + "lastModified": 1713388094, + "narHash": "sha256-wcotm0Ek2ISn8iJBzEujJQdcPLKWrPAOZ/dS/DLKafw=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "abcf2a055ae69f1bf047463332f83db3125aa8a5", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, "base16-tmux": { "flake": false, "locked": { @@ -232,22 +248,6 @@ "type": "github" } }, - "catppuccin-base16": { - "flake": false, - "locked": { - "lastModified": 1665586920, - "narHash": "sha256-fZDsmJ+xFjOJDoI+bPki9W7PEI5lT5aGoCYtkatcZ8A=", - "owner": "catppuccin", - "repo": "base16", - "rev": "ca74b4070d6ead4213e92da1273fcc1853de7af8", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "base16", - "type": "github" - } - }, "conformance": { "flake": false, "locked": { @@ -1110,11 +1110,11 @@ ] }, "locked": { - "lastModified": 1700847865, - "narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=", + "lastModified": 1706001011, + "narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe", + "rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084", "type": "github" }, "original": { @@ -1918,7 +1918,7 @@ "root": { "inputs": { "anyrun": "anyrun", - "catppuccin-base16": "catppuccin-base16", + "base16-schemes": "base16-schemes", "darkmatter-grub-theme": "darkmatter-grub-theme", "disko": "disko", "firefox-addons": "firefox-addons", @@ -1932,29 +1932,12 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_8", "nixpkgs-unstable": "nixpkgs-unstable", - "rosepine-base16": "rosepine-base16", "smos": "smos", "sops-nix": "sops-nix", "spicetify-nix": "spicetify-nix", "stylix": "stylix" } }, - "rosepine-base16": { - "flake": false, - "locked": { - "lastModified": 1669049843, - "narHash": "sha256-4+U8llaqsztHrmR7OYBplz2Ez7Txbi8z/r9AQjKJEBk=", - "owner": "edunfelt", - "repo": "base16-rose-pine-scheme", - "rev": "424c0327b8251e4662e6cbc62518273c8800f507", - "type": "github" - }, - "original": { - "owner": "edunfelt", - "repo": "base16-rose-pine-scheme", - "type": "github" - } - }, "safe-coloured-text": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 6f910bc..dc94f5a 100644 --- a/flake.nix +++ b/flake.nix @@ -71,11 +71,8 @@ # stylix.inputs.nixpkgs.follows = "nixpkgs"; # stylix.inputs.home-manager.follows = "home-manager"; - catppuccin-base16.url = "github:catppuccin/base16"; - catppuccin-base16.flake = false; - - rosepine-base16.url = "github:edunfelt/base16-rose-pine-scheme"; - rosepine-base16.flake = false; + base16-schemes.url = "github:tinted-theming/schemes"; + base16-schemes.flake = false; # }}} }; # }}} diff --git a/home/features/desktop/wezterm/wezterm.lua b/home/features/desktop/wezterm/wezterm.lua index 83fe59c..781715b 100644 --- a/home/features/desktop/wezterm/wezterm.lua +++ b/home/features/desktop/wezterm/wezterm.lua @@ -15,7 +15,14 @@ end local font_size = 20.0 -- {{{ Theming -config.colors = wezterm.color.load_base16_scheme(colorscheme.source) +local themeMap = { + ["Gruvbox light, soft"] = "Gruvbox light, soft (base16)", + ["Gruvbox dark, soft"] = "Gruvbox dark, soft (base16)", +} + +config.color_scheme = themeMap[colorscheme.name] +config.colors = {} +-- config.colors = wezterm.color.load_base16_scheme(colorscheme.source) -- {{{ Window frame config.window_frame = { diff --git a/home/features/neovim/config/lazy-lock.json b/home/features/neovim/config/lazy-lock.json index f3b042f..278b69e 100644 --- a/home/features/neovim/config/lazy-lock.json +++ b/home/features/neovim/config/lazy-lock.json @@ -1,5 +1,4 @@ { - "catppuccin": { "branch": "main", "commit": "9703f227bfab20d04bcee62d2f08f1795723b4ae" }, "clipboard-image": { "branch": "main", "commit": "485de5493d196154db30f85665f8ac480ce116a2" }, "cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -18,6 +17,7 @@ "github-actions": { "branch": "master", "commit": "f2f16243447cea174daa6b4a9ffd3ff9213814ef" }, "gitlinker": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" }, "gitsigns": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "gruvbox": { "branch": "main", "commit": "6e4027ae957cddf7b193adfaec4a8f9e03b4555f" }, "harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" }, "haskell-tools": { "branch": "master", "commit": "92e097c6832405fb64e4c44a7ce8bebe7836cae6" }, "hyprland": { "branch": "main", "commit": "71760fe0cad972070657b0528f48456f7e0027b2" }, diff --git a/home/features/neovim/config/lua/my/lazy.lua b/home/features/neovim/config/lua/my/lazy.lua index 0772aa0..01ee65c 100644 --- a/home/features/neovim/config/lua/my/lazy.lua +++ b/home/features/neovim/config/lua/my/lazy.lua @@ -6,8 +6,8 @@ end function M.setup() require("lazy").setup({ - importFrom("my.plugins"), - importFrom("my.plugins.themes"), + require("my.plugins.themes"), + require("my.plugins.whichkey"), unpack(require("nix").lazy), }, { defaults = { lazy = true }, diff --git a/home/features/neovim/config/lua/my/plugins/themes.lua b/home/features/neovim/config/lua/my/plugins/themes.lua new file mode 100644 index 0000000..1bc5ae2 --- /dev/null +++ b/home/features/neovim/config/lua/my/plugins/themes.lua @@ -0,0 +1,99 @@ +local H = require("my.tempest") +local M = {} + +-- {{{ Custom overrides +local function theme(callback) + return function() + if H.theme.polarity ~= nil then + vim.o.background = H.theme.polarity + end + + callback() + + if H.theme.transparency.terminal.enabled then + vim.cmd([[highlight FloatBorder blend=0 guibg=NONE]]) + -- vim.cmd([[highlight MiniStatuslineInactive blend=0 guibg=NONE]]) + vim.cmd([[highlight MiniStatuslineFilename blend=0 guibg=NONE]]) + -- vim.cmd([[highlight MiniStatuslineFileinfo blend=0 guibg=NONE]]) + -- vim.cmd([[highlight MiniStatuslineDevInfo blend=0 guibg=NONE]]) + vim.cmd([[highlight Statusline blend=0 guibg=NONE]]) + vim.cmd([[highlight StatuslineNC blend=0 guibg=NONE]]) + end + end +end +-- }}} +-- {{{ Catppuccin +table.insert(M, { + "catppuccin/nvim", + name = "catppuccin", + lazy = false, + enabled = H.theme_contains("Catppuccin"), + config = theme(function() + local catppuccin = require("catppuccin") + vim.g.catppuccin_flavour = H.theme_variant("Catppuccin") + + catppuccin.setup({ + transparent_background = H.theme.transparency.terminal.enabled, + integrations = { + nvimtree = true, + telescope = true, + mini = { enabled = true }, + }, + }) + + vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]]) + vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]]) + + vim.cmd("colorscheme catppuccin") + end), +}) +-- }}} +-- {{{ Rose-pine +table.insert(M, { + "rose-pine/neovim", + name = "rose-pine", + lazy = false, + enabled = H.theme_contains("Rosé Pine"), + config = theme(function() + local variant = H.theme_variant("Rosé Pine") + + if variant == "" then + variant = "main" + end + + require("rose-pine").setup({ + dark_variant = variant, + }) + + vim.cmd("colorscheme rose-pine") + end), +}) +-- }}} +-- {{{ Gruvbox +table.insert(M, { + "ellisonleao/gruvbox.nvim", + name = "gruvbox", + lazy = false, + enabled = H.theme_contains("Gruvbox"), + config = theme(function() + local variant = H.theme_variant("Gruvbox") + local contrast = H.helpers.drop_prefix(variant, H.theme.polarity .. ", ") + + require("gruvbox").setup({ + contrast = contrast, + transparent_mode = H.theme.transparency.terminal.enabled, + }) + + vim.cmd("colorscheme gruvbox") + vim.cmd( + "hi MiniStatuslineDevInfo guibg=#" + .. H.theme.base06 + .. " guifg=#" + .. H.theme.base00 + ) + vim.cmd("redraw") + end), +}) +-- }}} + +return M diff --git a/home/features/neovim/config/lua/my/plugins/themes/bluloco.lua b/home/features/neovim/config/lua/my/plugins/themes/bluloco.lua deleted file mode 100644 index 3d5d088..0000000 --- a/home/features/neovim/config/lua/my/plugins/themes/bluloco.lua +++ /dev/null @@ -1,21 +0,0 @@ -local H = require("my.tempest") - -local M = { - "uloco/bluloco.nvim", - lazy = false, - dependencies = { "rktjmp/lush.nvim" }, - enabled = H.theme_contains("Bluloco"), -} - -function M.config() - local bluloco = require("bluloco") - - bluloco.setup({ - transparent = H.theme.transaprency.terminal.enabled, - style = H.theme_variant("Bluloco"), - }) - - vim.cmd("colorscheme bluloco") -end - -return M diff --git a/home/features/neovim/config/lua/my/plugins/themes/catppuccin.lua b/home/features/neovim/config/lua/my/plugins/themes/catppuccin.lua deleted file mode 100644 index 95d8eb4..0000000 --- a/home/features/neovim/config/lua/my/plugins/themes/catppuccin.lua +++ /dev/null @@ -1,39 +0,0 @@ -local H = require("my.tempest") - -local M = { - "catppuccin/nvim", - name = "catppuccin", - lazy = false, - enabled = H.theme_contains("Catppuccin"), -} - -function M.config() - local catppuccin = require("catppuccin") - vim.g.catppuccin_flavour = H.theme_variant("Catppuccin") - - catppuccin.setup({ - transparent_background = H.theme.transparency.terminal.enabled, - integrations = { - nvimtree = true, - telescope = true, - mini = { enabled = true }, - }, - }) - - vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]]) - vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]]) - - vim.cmd("colorscheme catppuccin") - - if H.theme.transparency.terminal.enabled then - vim.cmd([[highlight FloatBorder blend=0 guibg=NONE]]) - -- vim.cmd([[highlight MiniStatuslineInactive blend=0 guibg=NONE]]) - vim.cmd([[highlight MiniStatuslineFilename blend=0 guibg=NONE]]) - -- vim.cmd([[highlight MiniStatuslineFileinfo blend=0 guibg=NONE]]) - -- vim.cmd([[highlight MiniStatuslineDevInfo blend=0 guibg=NONE]]) - vim.cmd([[highlight Statusline blend=0 guibg=NONE]]) - vim.cmd([[highlight StatuslineNC blend=0 guibg=NONE]]) - end -end - -return M diff --git a/home/features/neovim/config/lua/my/plugins/themes/rosepine.lua b/home/features/neovim/config/lua/my/plugins/themes/rosepine.lua deleted file mode 100644 index f053597..0000000 --- a/home/features/neovim/config/lua/my/plugins/themes/rosepine.lua +++ /dev/null @@ -1,31 +0,0 @@ -local H = require("my.tempest") - -local M = { - "rose-pine/neovim", - name = "rose-pine", - lazy = false, - enabled = H.theme_contains("Rosé Pine"), -} - -function M.config() - local variant = H.theme_variant("Rosé Pine") - - if variant == "dawn" then - vim.o.background = "light" - else - vim.o.background = "dark" - end - - local dark_variants = { - [""] = "main", - moon = "moon", - } - - require("rose-pine").setup({ - dark_variant = dark_variants[variant], - }) - - vim.cmd("colorscheme rose-pine") -end - -return M diff --git a/home/features/neovim/config/lua/my/tempest.lua b/home/features/neovim/config/lua/my/tempest.lua index 5947780..1a587d6 100644 --- a/home/features/neovim/config/lua/my/tempest.lua +++ b/home/features/neovim/config/lua/my/tempest.lua @@ -31,6 +31,11 @@ function H.split(text, sep) end) return fields end + +function H.drop_prefix(whole, prefix) + -- +1 for 1-indexed strings + return string.sub(whole, string.len(prefix) + 1) +end -- }}} -- {{{ Tables function H.mergeTables(t1, t2) @@ -326,8 +331,7 @@ function M.theme_contains(name) end function M.theme_variant(name) - -- +1 for 1-indexed strings and +1 for the space between name and variant - return string.lower(string.sub(theme.name, string.len(name) + 2)) + return string.lower(H.drop_prefix(theme.name, name .. " ")) end -- }}} diff --git a/modules/common/lua-colorscheme.nix b/modules/common/lua-colorscheme.nix index 4be4e19..4075427 100644 --- a/modules/common/lua-colorscheme.nix +++ b/modules/common/lua-colorscheme.nix @@ -44,6 +44,7 @@ theme = { name = config.lib.stylix.scheme.scheme; + polarity = config.stylix.polarity or null; base00 = config.lib.stylix.scheme.base00; base01 = config.lib.stylix.scheme.base01; base02 = config.lib.stylix.scheme.base02;