Files
nix-flake/home/ags-config/resources/styles/_control-center.scss
Zephrynis b2ae32a078 feat: make AGS colorshell configuration fully declarative
- Add complete colorshell v2.0.3 configuration to home/ags-config/
- Disable runner plugin and NightLight tile (incompatible with NixOS)
- Customize SCSS with full opacity (no transparency)
- Add dark pale blue color scheme in home/pywal-colors/
- Configure Papirus-Dark icon theme via home-manager
- Make ~/.config/ags/ immutable and managed by Nix store
- Auto-deploy pywal colors to ~/.cache/wal/colors.json

All AGS configuration is now reproducible and version controlled.
2025-11-04 21:36:38 +00:00

302 lines
5.1 KiB
SCSS

@use "sass:color";
@use "./wal";
@use "./colors";
@use "./functions" as funs;
@use "./mixins";
.control-center-container {
@include mixins.reset-props;
background: colors.$bg-translucent;
border-radius: 28px;
padding: 20px;
& > * {
margin: 9px 0;
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
& button:focus-visible {
box-shadow: inset 0 0 0 1px colors.$fg-primary;
}
& .quickactions {
margin-bottom: .8em;
& .user-face {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
min-height: 32px;
min-width: 34px;
margin-right: 6px;
border-radius: 50%;
}
& .user-host {
.user {
font-size: 15px;
font-weight: 600;
}
.host {
color: colors.$fg-disabled;
font-size: 10px;
font-weight: 500;
}
}
& > box:not(.button-row) image {
-gtk-icon-size: 12px;
color: colors.$fg-disabled;
margin-right: 3px;
}
& .uptime {
font-size: 10.1px;
font-family: "Symbols Nerd Font Mono";
color: colors.$fg-disabled;
}
& .button-row {
& button {
padding: 7px;
margin: {
top: 2px;
bottom: 2px;
};
}
}
}
& .sliders {
icon {
font-size: 16px;
}
button {
padding: 4px;
border-radius: 16px;
icon {
font-size: 14px;
}
&:hover {
background: rgba(colors.$fg-primary, .2);
}
}
& .page .content {
& label.name {
font-size: 14px;
font-weight: 500;
}
& trough {
margin-right: 10px;
}
& label.sub-header {
margin-top: 6px;
}
}
}
& #page {
transition: 120ms linear;
background: colors.$bg-secondary;
padding: 14px;
border-radius: 24px;
& .header {
margin-bottom: 12px;
& .top .title {
font-size: 20px;
font-weight: 600;
}
& .description {
font-size: 12px;
font-weight: 500;
color: colors.$fg-disabled;
}
}
& .sub-header {
font-size: 14px;
font-weight: 500;
margin-bottom: 4px;
}
& .page-button, .extra-buttons {
& button {
padding: 6px;
border-radius: 12px;
&.selected {
background: colors.$bg-tertiary;
}
&:hover {
background: rgba(colors.$fg-primary, .1);
}
&:active {
border-radius: 10px;
}
}
& label.title {
font-size: 14px;
}
& label.description {
font-size: 10px;
font-weight: 400;
color: colors.$fg-disabled;
}
& icon {
font-size: 16px;
}
}
& .bottom-buttons button {
& label.title {
font-size: 14px;
font-weight: 500;
}
& label.description {
font-size: 10px;
margin-top: -1px;
font-weight: 400;
color: colors.$fg-disabled;
}
}
& .extra-buttons {
margin-left: 2px;
button {
border-radius: 10px;
&:active {
border-radius: 8px;
}
}
}
}
}
.tiles-container {
@include mixins.reset-props;
& .tile {
$radius: 18px;
$padding: 4px;
background: color.scale($color: colors.$bg-primary, $lightness: -25%);
border-radius: $radius;
padding: $padding;
min-height: 40px;
& .icon {
transition: 120ms ease-in;
border-radius: calc($radius - $padding);
padding: 8px 12px;
margin-right: 6px;
background: color.scale($color: colors.$bg-primary, $lightness: 10%);
& image {
-gtk-icon-size: 18px;
}
&:hover {
background: color.scale($color: colors.$bg-primary, $lightness: 15%);
}
&:active {
border-radius: calc($radius - $padding - 2px);
}
}
& .content {
& .title {
font-weight: 600;
font-size: 15.1px;
}
& .description {
font-size: 12px;
color: colors.$fg-disabled;
font-weight: 400;
}
}
& .arrow {
-gtk-icon-size: 12px;
color: rgba(colors.$fg-disabled, .4);
}
&:hover {
background: color.scale($color: colors.$bg-primary, $lightness: 5%);
}
&.enabled .icon {
background: colors.$bg-secondary;
&:hover {
background: colors.$bg-tertiary;
}
}
&:active {
border-radius: calc($radius - 2px);
}
}
}
.tile-pages #page {
margin-top: 10px;
}
box.notif-history {
background: colors.$bg-translucent;
border-radius: 24px;
padding: 18px;
transition: 120ms linear;
&.hide {
opacity: 0;
}
& .notifications {
& .notification {
background: colors.$bg-translucent-primary;
padding: 3px;
}
}
& .button-row {
margin-top: 12px;
& button {
@include mixins.button-reactive-secondary;
padding: 7px;
& label {
font-size: 12px;
font-weight: 600;
}
}
}
}