updates
This commit is contained in:
1 parent
f164d8b76e
commit
5748b3409b
60 files changed
+1346
-590
No files matched your search
@@ -0,0 +1,314 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
palette = (import ./palette.nix).palette;
|
||||
hex = lib.removePrefix "#";
|
||||
wallpaper = ./assets/green-leaves.png;
|
||||
cursor = {
|
||||
name = "phinger-cursors-light";
|
||||
size = 24;
|
||||
};
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.theme =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home-manager.sharedModules = [ config.flake.modules.homeManager.theme ];
|
||||
environment.systemPackages = [ pkgs.phinger-cursors ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.theme =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
version = "unstable-2025-10-23";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Fausto-Korpsvart";
|
||||
repo = "Kanagawa-GKT-Theme";
|
||||
rev = "55ca4ba249eba21f861b9866b71ab41bb8930318";
|
||||
hash = "sha256-UdMoMx2DoovcxSp/zBZ3PRv/Qpj+prd0uPm1gmdak2E=";
|
||||
};
|
||||
kanagawaGtkTheme = pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "kanagawa-gtk-theme";
|
||||
inherit src version;
|
||||
|
||||
nativeBuildInputs = [ pkgs.sassc ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/share/themes"
|
||||
bash ./themes/install.sh \
|
||||
--dest "$out/share/themes" \
|
||||
--name Kanagawa \
|
||||
--color dark
|
||||
|
||||
rm -r "$out/share/themes/Kanagawa-Dark/gtk-2.0"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
home.pointerCursor = cursor // {
|
||||
enable = true;
|
||||
package = pkgs.phinger-cursors;
|
||||
dotIcons.enable = false;
|
||||
gtk.enable = true;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Kanagawa-Dark";
|
||||
package = kanagawaGtkTheme;
|
||||
};
|
||||
gtk4.theme = null;
|
||||
iconTheme = {
|
||||
name = "Kanagawa";
|
||||
package = pkgs.kanagawa-icon-theme.overrideAttrs (old: {
|
||||
inherit src version;
|
||||
postInstall = (old.postInstall or "") + ''
|
||||
find "$out/share/icons" -name index.theme -exec \
|
||||
sed -i 's/^Inherits=.*/Inherits=Adwaita,hicolor/' {} +
|
||||
'';
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
};
|
||||
|
||||
home.packages = [ pkgs.adwaita-icon-theme ];
|
||||
|
||||
xdg.systemDirs.data = [
|
||||
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
||||
];
|
||||
};
|
||||
|
||||
flake.modules.nixos.limine =
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
terminalPalette = palette.terminal;
|
||||
mkPalette = colors: lib.concatStringsSep ";" (map hex colors);
|
||||
in
|
||||
{
|
||||
boot.loader.limine.style = {
|
||||
wallpapers = [ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ];
|
||||
wallpaperStyle = "centered";
|
||||
backdrop = hex palette.secondaryBackground;
|
||||
|
||||
graphicalTerminal = {
|
||||
# TT is transparency: let the boot wallpaper show through the terminal.
|
||||
background = "FF${hex palette.background}";
|
||||
foreground = hex palette.foreground;
|
||||
brightForeground = hex palette.selectionForeground;
|
||||
brightBackground = hex palette.selectionBackground;
|
||||
palette = mkPalette [
|
||||
terminalPalette.color0
|
||||
terminalPalette.color1
|
||||
terminalPalette.color2
|
||||
terminalPalette.color3
|
||||
terminalPalette.color4
|
||||
terminalPalette.color5
|
||||
terminalPalette.color6
|
||||
terminalPalette.color7
|
||||
];
|
||||
brightPalette = mkPalette [
|
||||
terminalPalette.color8
|
||||
terminalPalette.color9
|
||||
terminalPalette.color10
|
||||
terminalPalette.color11
|
||||
terminalPalette.color12
|
||||
terminalPalette.color13
|
||||
terminalPalette.color14
|
||||
terminalPalette.color15
|
||||
];
|
||||
font = {
|
||||
scale = "2x2";
|
||||
spacing = 1;
|
||||
};
|
||||
margin = 64;
|
||||
marginGradient = 0;
|
||||
};
|
||||
|
||||
interface = {
|
||||
branding = "NixOS - ${config.networking.hostName}";
|
||||
brandingColor = hex palette.accents.blue;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.nixos.noctalia-greeter = { pkgs, ... }: {
|
||||
services.displayManager.noctalia-greeter = {
|
||||
cursorTheme = {
|
||||
package = pkgs.phinger-cursors;
|
||||
name = cursor.name;
|
||||
};
|
||||
settings = {
|
||||
appearance = {
|
||||
scheme = "Synced";
|
||||
password_style = "default";
|
||||
hide_logo = true;
|
||||
power_buttons_position = "bottom-right";
|
||||
scheme_selector_position = "hidden";
|
||||
theme_mode = "dark";
|
||||
corner_radius_scale = 1.0;
|
||||
font_family = "Lexend";
|
||||
|
||||
palette = {
|
||||
primary = palette.terminal.color2;
|
||||
on_primary = palette.background;
|
||||
secondary = palette.terminal.color3;
|
||||
on_secondary = palette.background;
|
||||
tertiary = palette.terminal.color4;
|
||||
on_tertiary = palette.background;
|
||||
error = palette.terminal.color1;
|
||||
on_error = palette.background;
|
||||
surface = palette.background;
|
||||
on_surface = palette.selectionForeground;
|
||||
surface_variant = "#2A2A37";
|
||||
on_surface_variant = "#717C7C";
|
||||
outline = "#363646";
|
||||
shadow = palette.background;
|
||||
hover = palette.terminal.color4;
|
||||
on_hover = palette.background;
|
||||
};
|
||||
|
||||
wallpaper = {
|
||||
path = toString wallpaper;
|
||||
fill_mode = "crop";
|
||||
fill_color = palette.background;
|
||||
};
|
||||
};
|
||||
|
||||
cursor.size = cursor.size;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.nixos.plymouth = { pkgs, ... }: {
|
||||
boot.plymouth = {
|
||||
theme = "spinner_alt";
|
||||
themePackages = [ pkgs.adi1090x-plymouth-themes ];
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.terminal-kitty = {
|
||||
programs.kitty = {
|
||||
settings = {
|
||||
bold_font = "postscript_name=JetBrainsMono-Bold";
|
||||
bold_italic_font = "postscript_name=JetBrainsMono-BoldItalic";
|
||||
};
|
||||
font = {
|
||||
name = "JetBrains Mono";
|
||||
size = 11;
|
||||
};
|
||||
extraConfig = ''
|
||||
# Nerd Fonts v3.4.0
|
||||
symbol_map U+e000-U+e00a,U+e0a0-U+e0a2,U+e0a3,U+e0b0-U+e0b3,U+e0b4-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b7,U+e700-U+e8ef,U+ea60-U+ec1e,U+ed00-U+efce,U+f000-U+f2ff,U+f300-U+f381,U+f400-U+f533,U+f0001-U+f1af0 Symbols Nerd Font Mono
|
||||
|
||||
## name: Kanagawa Wave
|
||||
## license: MIT
|
||||
## author: Tommaso Laurenzi
|
||||
## upstream: https://github.com/rebelot/kanagawa.nvim/
|
||||
|
||||
background ${palette.background}
|
||||
foreground ${palette.foreground}
|
||||
selection_background ${palette.selectionBackground}
|
||||
selection_foreground ${palette.selectionForeground}
|
||||
url_color ${palette.url}
|
||||
cursor ${palette.cursor}
|
||||
|
||||
active_tab_background ${palette.background}
|
||||
active_tab_foreground ${palette.selectionForeground}
|
||||
inactive_tab_background ${palette.background}
|
||||
inactive_tab_foreground ${palette.muted}
|
||||
|
||||
color0 ${palette.terminal.color0}
|
||||
color1 ${palette.terminal.color1}
|
||||
color2 ${palette.terminal.color2}
|
||||
color3 ${palette.terminal.color3}
|
||||
color4 ${palette.terminal.color4}
|
||||
color5 ${palette.terminal.color5}
|
||||
color6 ${palette.terminal.color6}
|
||||
color7 ${palette.terminal.color7}
|
||||
|
||||
color8 ${palette.terminal.color8}
|
||||
color9 ${palette.terminal.color9}
|
||||
color10 ${palette.terminal.color10}
|
||||
color11 ${palette.terminal.color11}
|
||||
color12 ${palette.terminal.color12}
|
||||
color13 ${palette.terminal.color13}
|
||||
color14 ${palette.terminal.color14}
|
||||
color15 ${palette.terminal.color15}
|
||||
|
||||
color16 ${palette.terminal.color16}
|
||||
color17 ${palette.terminal.color17}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.niri = {
|
||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||
wayland.windowManager.niri.settings.layout.border = {
|
||||
active-color = palette.accents.blue;
|
||||
inactive-color = palette.subtleBorder;
|
||||
urgent-color = palette.accents.red;
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.ai = {
|
||||
xdg.configFile."herdr/config.toml".text = lib.mkAfter ''
|
||||
[theme]
|
||||
name = "kanagawa"
|
||||
auto_switch = false
|
||||
'';
|
||||
};
|
||||
|
||||
flake.modules.homeManager.noctalia = {
|
||||
programs.noctalia.settings = {
|
||||
shell.font_family = "Lexend";
|
||||
theme = {
|
||||
builtin = "Kanagawa";
|
||||
community_palette = "Kanagawa Paper";
|
||||
wallpaper_scheme = "m3-content";
|
||||
};
|
||||
wallpaper = {
|
||||
default.path = toString wallpaper;
|
||||
last.path = toString wallpaper;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.neovim = { pkgs, ... }: {
|
||||
wrappers.neovim.specs.theme = {
|
||||
data = pkgs.vimPlugins.kanagawa-nvim;
|
||||
before = [ "INIT_MAIN" ];
|
||||
config = ''
|
||||
require("kanagawa").setup({
|
||||
dimInactive = true,
|
||||
colors = {
|
||||
theme = {
|
||||
all = {
|
||||
ui = { bg_gutter = "none" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.cmd.colorscheme("kanagawa-wave")
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.walker = {
|
||||
programs.walker.themes.desktop.style = lib.mkAfter ''
|
||||
@define-color window_bg_color ${palette.background};
|
||||
@define-color accent_bg_color ${palette.selectionBackground};
|
||||
@define-color theme_fg_color ${palette.foreground};
|
||||
@define-color error_bg_color ${palette.terminal.color1};
|
||||
@define-color error_fg_color ${palette.foreground};
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user