512 lines
12 KiB
CSS

/* ==UserStyle==
@name NixOS Search Catppuccin
@namespace github.com/catppuccin/userstyles/nixos-search
@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nixos-search
@version 0.3.0
@description Soothing pastel theme for NixOS Search
@author Catppuccin
@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nixos-search/catppuccin.user.css
@license MIT
@preprocessor less
@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"]
@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"]
@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue*", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"]
==/UserStyle== */
@-moz-document domain("search.nixos.org") {
@media (prefers-color-scheme: light) {
#catppuccin(@lightFlavor, @accentColor);
}
@media (prefers-color-scheme: dark) {
#catppuccin(@darkFlavor, @accentColor);
}
#catppuccin(@lookup, @accent) {
@rosewater: @catppuccin[@@lookup][@rosewater];
@flamingo: @catppuccin[@@lookup][@flamingo];
@pink: @catppuccin[@@lookup][@pink];
@mauve: @catppuccin[@@lookup][@mauve];
@red: @catppuccin[@@lookup][@red];
@maroon: @catppuccin[@@lookup][@maroon];
@peach: @catppuccin[@@lookup][@peach];
@yellow: @catppuccin[@@lookup][@yellow];
@green: @catppuccin[@@lookup][@green];
@teal: @catppuccin[@@lookup][@teal];
@sky: @catppuccin[@@lookup][@sky];
@sapphire: @catppuccin[@@lookup][@sapphire];
@blue: @catppuccin[@@lookup][@blue];
@lavender: @catppuccin[@@lookup][@lavender];
@text: @catppuccin[@@lookup][@text];
@subtext1: @catppuccin[@@lookup][@subtext1];
@subtext0: @catppuccin[@@lookup][@subtext0];
@overlay2: @catppuccin[@@lookup][@overlay2];
@overlay1: @catppuccin[@@lookup][@overlay1];
@overlay0: @catppuccin[@@lookup][@overlay0];
@surface2: @catppuccin[@@lookup][@surface2];
@surface1: @catppuccin[@@lookup][@surface1];
@surface0: @catppuccin[@@lookup][@surface0];
@base: @catppuccin[@@lookup][@base];
@mantle: @catppuccin[@@lookup][@mantle];
@crust: @catppuccin[@@lookup][@crust];
@accent-color: @catppuccin[@@lookup][@@accent];
/* Generic */
html,
body {
background-color: @base;
color: @text;
}
code,
pre {
color: @red;
background-color: @surface0;
border: none;
}
a,
a:hover,
a:focus {
color: @accent-color;
outline: none;
}
/* Navbar */
.navbar .navbar-static-top {
background-color: @mantle;
}
.navbar-inner {
background-color: @mantle;
background-image: none;
border: 1px solid @base;
}
.nav-tabs {
border-bottom: 1px solid @surface0;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
background-color: @base;
border: 1px solid @surface0;
color: @text;
}
.navbar .nav > li > a {
text-shadow: none;
color: @subtext0;
}
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
color: @text;
border: none;
}
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
background-color: @surface0;
color: @text;
}
/* Installation instructions tabs */
.nav > li > a:hover,
.nav > li > a:focus {
background-color: @surface0;
border: 1px solid @surface0;
}
/* "Experimental" label */
.label,
.badge {
background-color: @accent-color;
color: @crust;
text-shadow: none;
}
/* Buttons */
.btn {
background-color: @surface0;
background-image: none;
text-shadow: none;
box-shadow: none;
color: @text;
border: 1px solid @base;
}
.btn:focus {
outline: none;
color: @text;
background-color: @surface1;
}
.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
background-color: @surface1;
color: @text;
}
/* "Sort" menu */
.dropdown-menu {
background-color: @mantle;
border: 1px solid @crust;
box-shadow: 0 5px 10px @mantle;
}
.dropdown-menu > li > a {
color: @text;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
background-color: @surface0;
background-image: none;
}
.dropdown-menu .divider {
background-color: @surface0;
border-bottom: @surface0;
}
.dropdown .caret {
border-top: 4px solid @text;
}
/* Overrides menu item hover color */
.search-page
> .search-results
> div
> :first-child
> div:first-child
> ul
> li
> a {
color: @text;
}
/* Loading indicator */
.loader {
color: @crust;
}
/* Input box */
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
background-color: @surface0;
color: @text;
border: 1px solid @base;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
border-color: @accent-color;
box-shadow:
inset 0 1px 1px @crust,
0 0 8px @accent-color;
}
/* Fix input box placeholder text */
textarea::placeholder,
input[type="text"]::placeholder,
input[type="password"]::placeholder,
input[type="datetime"]::placeholder,
input[type="datetime-local"]::placeholder,
input[type="date"]::placeholder,
input[type="month"]::placeholder,
input[type="time"]::placeholder,
input[type="week"]::placeholder,
input[type="number"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
input[type="search"]::placeholder,
input[type="tel"]::placeholder,
input[type="color"]::placeholder,
.uneditable-input::placeholder {
color: @subtext0;
}
/* Search results */
.search-page > .search-results > div > :nth-child(2) > li {
border-bottom: 1px solid @surface0;
}
.search-page > .search-results > div > :nth-child(2) > li > :first-child {
color: @accent-color;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.package
> :nth-child(5)
> :nth-child(2)
ul.nav-tabs
> li
> a {
color: @text;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.package
> :nth-child(5)
> :nth-child(2)
pre {
color: @text;
background-color: @mantle;
border: none;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.package
.result-item-show-more {
background-color: @base;
color: @text;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.package
> :nth-child(3)
> li {
color: @text;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.package
> :nth-child(5)
> :nth-child(2)
div.tab-content {
border: 1px solid @surface0;
}
.search-page
> .search-results
> div
> :nth-child(2)
> li.option
> :nth-child(2)
> div:nth-child(2n)
pre
code {
color: @text;
background-color: @mantle;
}
/* Search sidebar */
.search-page ul.search-sidebar > li {
border-color: @surface0;
}
.search-page ul.search-sidebar > li > ul > li > a {
color: @text;
}
.search-page ul.search-sidebar > li > ul > li > a:hover {
background-color: @surface0;
}
.search-page ul.search-sidebar > li > ul > li > a.selected {
color: @crust;
background-color: @accent-color;
}
/* Override sidebar labels (number of packages) */
.search-sidebar .label,
.search-sidebar .badge {
background-color: @surface0;
color: @text;
text-shadow: none;
}
/* Pager */
.pager li > a,
.pager li > span {
color: @text;
background-color: @surface0;
border: none;
border-radius: 5px;
}
.pager li > a:hover,
.pager li > a:focus {
background-color: @surface1;
transition: all;
transition-duration: 5ms;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: @text;
background-color: @mantle;
border: none;
border-radius: 5px;
}
}
}
@catppuccin: {
@latte: {
@rosewater: #dc8a78;
@flamingo: #dd7878;
@pink: #ea76cb;
@mauve: #8839ef;
@red: #d20f39;
@maroon: #e64553;
@peach: #fe640b;
@yellow: #df8e1d;
@green: #40a02b;
@teal: #179299;
@sky: #04a5e5;
@sapphire: #209fb5;
@blue: #1e66f5;
@lavender: #7287fd;
@text: #4c4f69;
@subtext1: #5c5f77;
@subtext0: #6c6f85;
@overlay2: #7c7f93;
@overlay1: #8c8fa1;
@overlay0: #9ca0b0;
@surface2: #acb0be;
@surface1: #bcc0cc;
@surface0: #ccd0da;
@base: #eff1f5;
@mantle: #e6e9ef;
@crust: #dce0e8;
};
@frappe: {
@rosewater: #f2d5cf;
@flamingo: #eebebe;
@pink: #f4b8e4;
@mauve: #ca9ee6;
@red: #e78284;
@maroon: #ea999c;
@peach: #ef9f76;
@yellow: #e5c890;
@green: #a6d189;
@teal: #81c8be;
@sky: #99d1db;
@sapphire: #85c1dc;
@blue: #8caaee;
@lavender: #babbf1;
@text: #c6d0f5;
@subtext1: #b5bfe2;
@subtext0: #a5adce;
@overlay2: #949cbb;
@overlay1: #838ba7;
@overlay0: #737994;
@surface2: #626880;
@surface1: #51576d;
@surface0: #414559;
@base: #303446;
@mantle: #292c3c;
@crust: #232634;
};
@macchiato: {
@rosewater: #f4dbd6;
@flamingo: #f0c6c6;
@pink: #f5bde6;
@mauve: #c6a0f6;
@red: #ed8796;
@maroon: #ee99a0;
@peach: #f5a97f;
@yellow: #eed49f;
@green: #a6da95;
@teal: #8bd5ca;
@sky: #91d7e3;
@sapphire: #7dc4e4;
@blue: #8aadf4;
@lavender: #b7bdf8;
@text: #cad3f5;
@subtext1: #b8c0e0;
@subtext0: #a5adcb;
@overlay2: #939ab7;
@overlay1: #8087a2;
@overlay0: #6e738d;
@surface2: #5b6078;
@surface1: #494d64;
@surface0: #363a4f;
@base: #24273a;
@mantle: #1e2030;
@crust: #181926;
};
@mocha: {
@rosewater: #f5e0dc;
@flamingo: #f2cdcd;
@pink: #f5c2e7;
@mauve: #cba6f7;
@red: #f38ba8;
@maroon: #eba0ac;
@peach: #fab387;
@yellow: #f9e2af;
@green: #a6e3a1;
@teal: #94e2d5;
@sky: #89dceb;
@sapphire: #74c7ec;
@blue: #89b4fa;
@lavender: #b4befe;
@text: #cdd6f4;
@subtext1: #bac2de;
@subtext0: #a6adc8;
@overlay2: #9399b2;
@overlay1: #7f849c;
@overlay0: #6c7086;
@surface2: #585b70;
@surface1: #45475a;
@surface0: #313244;
@base: #1e1e2e;
@mantle: #181825;
@crust: #11111b;
};
};