big changes
This commit is contained in:
parent
ac9462c677
commit
51de7ef3a2
14 changed files with 481 additions and 105 deletions
|
|
@ -94,11 +94,11 @@ in
|
|||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
|
||||
preload = [ "/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" ];
|
||||
preload = [ "/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" "/home/fw/nix/wallpapers/blue.png" ];
|
||||
|
||||
wallpaper = [
|
||||
"DP-1,/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png"
|
||||
"eDP-1,/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png"
|
||||
"DP-1,/home/fw/nix/wallpapers/blue.png"
|
||||
"eDP-1,/home/fw/nix/wallpapers/blue.png"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -286,10 +286,14 @@ in
|
|||
windowrulev2 = [
|
||||
"float, class:^(org.pulseaudio.pavucontrol)$"
|
||||
"size 500 400, class:^(org.pulseaudio.pavucontrol)"
|
||||
"move onscreen cursor -250 0, class:^(org.pulseaudio.pavucontrol)"
|
||||
"move onscreen cursor -250 10, class:^(org.pulseaudio.pavucontrol)"
|
||||
"float, title:^(Bluetooth Devices)$"
|
||||
"size 500 400, title:^(Bluetooth Devices)"
|
||||
"move onscreen cursor -250 0, title:^(Bluetooth Devices)"
|
||||
"move onscreen cursor -250 10, title:^(Bluetooth Devices)"
|
||||
|
||||
"float, class:^(.playerctl-gtk-wrapped)$"
|
||||
"size 300 50, class:^(.playerctl-gtk-wrapped)"
|
||||
"move onscreen cursor -150 30, class:^(.playerctl-gtk-wrapped)"
|
||||
];
|
||||
|
||||
env = [
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
shellIntegration = {
|
||||
mode = "no-cursor";
|
||||
};
|
||||
themeFile = "Catppuccin-Mocha";
|
||||
# themeFile = "Catppuccin-Mocha";
|
||||
themeFile = "Catppuccin-Latte";
|
||||
settings = {
|
||||
confirm_os_window_close = 2;
|
||||
cursor_shape = "block";
|
||||
|
|
|
|||
|
|
@ -6,29 +6,29 @@
|
|||
settings = {
|
||||
"$schema"= "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json";
|
||||
# Macchiato
|
||||
"palette" = {
|
||||
"os"= "#ACB0BE";
|
||||
"closer"= "p:os";
|
||||
"pink"= "#F5BDE6";
|
||||
"lavender"= "#B7BDF8";
|
||||
"blue"= "#8aadf4";
|
||||
"peach" = "#f5a97f";
|
||||
"red" = "#ed8796";
|
||||
"green" = "#a6da95";
|
||||
"mauve" = "#c6a0f6";
|
||||
};
|
||||
# Latte
|
||||
# "palette" = {
|
||||
# "os"= "#ACB0BE";
|
||||
# "closer"= "p:os";
|
||||
# "pink" = "#ea76cb";
|
||||
# "lavender" = "#7287FD";
|
||||
# "blue" = "#1e66f5";
|
||||
# "peach" = "#fe640b";
|
||||
# "red" = "#d20f39";
|
||||
# "green" = "#40a02b";
|
||||
# "mauve" = "#8839ef";
|
||||
# "pink"= "#F5BDE6";
|
||||
# "lavender"= "#B7BDF8";
|
||||
# "blue"= "#8aadf4";
|
||||
# "peach" = "#f5a97f";
|
||||
# "red" = "#ed8796";
|
||||
# "green" = "#a6da95";
|
||||
# "mauve" = "#c6a0f6";
|
||||
# };
|
||||
# Latte
|
||||
"palette" = {
|
||||
"os"= "#ACB0BE";
|
||||
"closer"= "p:os";
|
||||
"pink" = "#ea76cb";
|
||||
"lavender" = "#7287FD";
|
||||
"blue" = "#1e66f5";
|
||||
"peach" = "#fe640b";
|
||||
"red" = "#d20f39";
|
||||
"green" = "#40a02b";
|
||||
"mauve" = "#8839ef";
|
||||
};
|
||||
"blocks"= [
|
||||
{
|
||||
"alignment"= "left";
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
drawio
|
||||
freecad-wayland
|
||||
evince
|
||||
angryipscanner
|
||||
openboard
|
||||
vlc
|
||||
vscode
|
||||
|
||||
# TUI
|
||||
mpc
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ with lib;
|
|||
};
|
||||
};
|
||||
xdg.configFile."waybar/config.jsonc".source = config.waybar.configPath;
|
||||
xdg.configFile."waybar/style.css".source = ./waybar.css;
|
||||
xdg.configFile."waybar/style.css".source = ./waybar-latte.css;
|
||||
};
|
||||
# catppuccin.waybar = {
|
||||
# enable = true;
|
||||
|
|
|
|||
146
moduler/programs/waybar/waybar-latte.css
Normal file
146
moduler/programs/waybar/waybar-latte.css
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
/* -------- Catppuccin Latte Palette -------- */
|
||||
@define-color base #EFF1F5;
|
||||
@define-color mantle #E6E9EF;
|
||||
@define-color crust #DCE0E8;
|
||||
@define-color text #4C4F69;
|
||||
@define-color subtext0 #6C6F85;
|
||||
|
||||
@define-color green #40A02B;
|
||||
@define-color yellow #DF8E1D;
|
||||
@define-color sky #04A5E5;
|
||||
@define-color rose #D20F39;
|
||||
@define-color blue #1E66F5;
|
||||
@define-color surface2 #ACB0BE;
|
||||
@define-color peach #FE640B;
|
||||
|
||||
|
||||
/* -------- Base Styles -------- */
|
||||
* {
|
||||
font-family: "FiraCode Nerd Font", "Font Awesome 7 Free";
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/* background: @base; */
|
||||
background: transparent;
|
||||
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
|
||||
transition: background-color .35s ease, color .35s ease;
|
||||
}
|
||||
|
||||
window#waybar.hidden { opacity: 0.2; }
|
||||
|
||||
window#waybar.termite { background: @base; }
|
||||
window#waybar.chromium { background: @base; border: none; }
|
||||
|
||||
/* -------- Module “pill” look -------- */
|
||||
#workspaces, #clock, #mpris, #pulseaudio, #bluetooth, #upower {
|
||||
background: @base;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px;
|
||||
}
|
||||
|
||||
/* consistent gaps between modules */
|
||||
.modules-left > widget, .modules-right > widget {
|
||||
margin: 0 15px;
|
||||
}
|
||||
.modules-left > widget:first-child { margin-left: 0; }
|
||||
.modules-right > widget:last-child { margin-right: 0; }
|
||||
|
||||
/* -------- Buttons (generic) -------- */
|
||||
/* Buttons */
|
||||
button {
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
background: transparent;
|
||||
color: @text;
|
||||
transition: background-color .2s ease, box-shadow .2s ease;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
/* hover */
|
||||
button:hover {
|
||||
background: rgba(255,255,255,0.08);
|
||||
box-shadow: inset 0 -3px @green;
|
||||
}
|
||||
|
||||
/* active (no CSS transform in GTK; simulate press with padding + shadow) */
|
||||
button:active {
|
||||
padding-top: 1px; /* nudge down visually */
|
||||
padding-bottom: 1px; /* keep height stable */
|
||||
box-shadow: inset 0 -2px @green;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
/* -------- Workspaces -------- */
|
||||
#workspaces {
|
||||
background: @base;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 2px 8px;
|
||||
margin: 0 2px;
|
||||
border-radius: 8px;
|
||||
transition: background-color .2s ease, box-shadow .2s ease;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgba(255,255,255,0.08);
|
||||
}
|
||||
|
||||
#workspaces button.active, #workspaces button.focused {
|
||||
background: @green;
|
||||
color: @base;
|
||||
box-shadow: inset 0 -3px @green;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: @rose;
|
||||
color: @base;
|
||||
box-shadow: inset 0 -3px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
/* -------- Clock -------- */
|
||||
#clock {
|
||||
background: @green;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Mpris -------- */
|
||||
#mpris {
|
||||
background: @green;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Pavu -------- */
|
||||
#pulseaudio {
|
||||
background: @green;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Bluetooth -------- */
|
||||
#bluetooth {
|
||||
background: @green;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Upower -------- */
|
||||
#bluetooth {
|
||||
background: @green;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Helpers -------- */
|
||||
@keyframes blink {
|
||||
to { background-color: @green; color: @base; }
|
||||
}
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
/* -------- Catppuccin Mocha Palette -------- */
|
||||
@define-color mocha-base #1E1E2E;
|
||||
@define-color mocha-mantle #181825;
|
||||
@define-color mocha-crust #11111B;
|
||||
@define-color mocha-text #CDD6F4;
|
||||
@define-color mocha-subtext0 #A6ADC8;
|
||||
@define-color base #1E1E2E;
|
||||
@define-color mantle #181825;
|
||||
@define-color crust #11111B;
|
||||
@define-color text #CDD6F4;
|
||||
@define-color subtext0 #A6ADC8;
|
||||
|
||||
@define-color mocha-green #A6E3A1;
|
||||
@define-color mocha-yellow #F9E2AF;
|
||||
@define-color mocha-sky #89DCEB;
|
||||
@define-color mocha-rose #F38BA8;
|
||||
@define-color mocha-blue #89B4FA;
|
||||
@define-color mocha-surface2 #585B70;
|
||||
@define-color mocha-peach #fab387;
|
||||
@define-color green #A6E3A1;
|
||||
@define-color yellow #F9E2AF;
|
||||
@define-color sky #89DCEB;
|
||||
@define-color rose #F38BA8;
|
||||
@define-color blue #89B4FA;
|
||||
@define-color surface2 #585B70;
|
||||
@define-color peach #fab387;
|
||||
|
||||
/* -------- Base Styles -------- */
|
||||
* {
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
}
|
||||
|
||||
window#waybar {
|
||||
/* background: @mocha-base; */
|
||||
/* background: @base; */
|
||||
background: transparent;
|
||||
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
|
||||
transition: background-color .35s ease, color .35s ease;
|
||||
|
|
@ -28,12 +28,12 @@ window#waybar {
|
|||
|
||||
window#waybar.hidden { opacity: 0.2; }
|
||||
|
||||
window#waybar.termite { background: @mocha-base; }
|
||||
window#waybar.chromium { background: @mocha-base; border: none; }
|
||||
window#waybar.termite { background: @base; }
|
||||
window#waybar.chromium { background: @base; border: none; }
|
||||
|
||||
/* -------- Module “pill” look -------- */
|
||||
#workspaces, #clock, #mpris, #pulseaudio, #bluetooth, #upower {
|
||||
background: @mocha-base;
|
||||
background: @base;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px;
|
||||
|
|
@ -52,7 +52,7 @@ button {
|
|||
border: none;
|
||||
border-radius: 8px;
|
||||
background: transparent;
|
||||
color: @mocha-text;
|
||||
color: @text;
|
||||
transition: background-color .2s ease, box-shadow .2s ease;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
|
@ -60,20 +60,20 @@ button {
|
|||
/* hover */
|
||||
button:hover {
|
||||
background: rgba(255,255,255,0.08);
|
||||
box-shadow: inset 0 -3px @mocha-peach;
|
||||
box-shadow: inset 0 -3px @peach;
|
||||
}
|
||||
|
||||
/* active (no CSS transform in GTK; simulate press with padding + shadow) */
|
||||
button:active {
|
||||
padding-top: 1px; /* nudge down visually */
|
||||
padding-bottom: 1px; /* keep height stable */
|
||||
box-shadow: inset 0 -2px @mocha-peach;
|
||||
color: @mocha-base;
|
||||
box-shadow: inset 0 -2px @peach;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
/* -------- Workspaces -------- */
|
||||
#workspaces {
|
||||
background: @mocha-base;
|
||||
background: @base;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
|
|
@ -88,58 +88,58 @@ button:active {
|
|||
}
|
||||
|
||||
#workspaces button.active, #workspaces button.focused {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
box-shadow: inset 0 -3px @mocha-peach;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
box-shadow: inset 0 -3px @peach;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: @mocha-rose;
|
||||
color: @mocha-base;
|
||||
background: @rose;
|
||||
color: @base;
|
||||
box-shadow: inset 0 -3px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
/* -------- Clock -------- */
|
||||
#clock {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Mpris -------- */
|
||||
#mpris {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Pavu -------- */
|
||||
#pulseaudio {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Bluetooth -------- */
|
||||
#bluetooth {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Upower -------- */
|
||||
#bluetooth {
|
||||
background: @mocha-peach;
|
||||
color: @mocha-base;
|
||||
background: @peach;
|
||||
color: @base;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
/* -------- Helpers -------- */
|
||||
@keyframes blink {
|
||||
to { background-color: @mocha-peach; color: @mocha-base; }
|
||||
to { background-color: @peach; color: @base; }
|
||||
}
|
||||
|
|
@ -27,9 +27,8 @@
|
|||
"interval": 1,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{player} — {status}\n{artist}\n{title}\n{album}",
|
||||
"on-click": "playerctl -p Feishin play-pause",
|
||||
"on-scroll-up": "playerctl -p Feishin next",
|
||||
"on-scroll-down": "playerctl -p Feishin previous"
|
||||
// "on-click": "playerctl -p Feishin play-pause",
|
||||
"on-click": "pgrep playerctl-gtk && pkill playerctl-gtk || playerctl-gtk &",
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": " {status}",
|
||||
|
|
|
|||
|
|
@ -68,25 +68,25 @@ with lib;
|
|||
|
||||
sops.secrets.forgejo-runner-token = {};
|
||||
|
||||
services.gitea-actions-runner = {
|
||||
package = pkgs.forgejo-actions-runner;
|
||||
instances.default = {
|
||||
enable = true;
|
||||
name = "monolith";
|
||||
url = "https://git.wastring.com";
|
||||
# Obtaining the path to the runner token file may differ
|
||||
# tokenFile should be in format TOKEN=<secret>, since it's EnvironmentFile for systemd
|
||||
tokenFile = config.sops.secrets.forgejo-runner-token.path;
|
||||
labels = [
|
||||
"ubuntu-latest:docker://node:20-bullseye"
|
||||
# "ubuntu-22.04:docker://node:16-bullseye"
|
||||
# "ubuntu-20.04:docker://node:16-bullseye"
|
||||
# "ubuntu-18.04:docker://node:16-buster"
|
||||
## optionally provide native execution on the host:
|
||||
# "native:host"
|
||||
];
|
||||
};
|
||||
};
|
||||
# services.gitea-actions-runner = {
|
||||
# package = pkgs.forgejo-actions-runner;
|
||||
# instances.default = {
|
||||
# enable = true;
|
||||
# name = "monolith";
|
||||
# url = "https://git.wastring.com";
|
||||
# # Obtaining the path to the runner token file may differ
|
||||
# # tokenFile should be in format TOKEN=<secret>, since it's EnvironmentFile for systemd
|
||||
# tokenFile = config.sops.secrets.forgejo-runner-token.path;
|
||||
# labels = [
|
||||
# "ubuntu-latest:docker://node:20-bullseye"
|
||||
# # "ubuntu-22.04:docker://node:16-bullseye"
|
||||
# # "ubuntu-20.04:docker://node:16-bullseye"
|
||||
# # "ubuntu-18.04:docker://node:16-buster"
|
||||
# ## optionally provide native execution on the host:
|
||||
# # "native:host"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
services.forgejo = {
|
||||
enable = true;
|
||||
|
|
|
|||
95
moduler/services/glance/default.nix
Normal file
95
moduler/services/glance/default.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
{
|
||||
options = {
|
||||
glance = {
|
||||
enable = mkEnableOption "enables glance";
|
||||
port = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 8857;
|
||||
description = "The port glance listens on.";
|
||||
};
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
defaultText = literalExpression "127.0.0.1";
|
||||
description = "The hostname that glance binds to";
|
||||
};
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
defaultText = literalExpression "home.wastring.com";
|
||||
description = "The hostname that glance binds to";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkMerge [
|
||||
(mkIf config.glance.enable {
|
||||
services.glance = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
theme = {
|
||||
background-color = "240 21 15";
|
||||
contrast-multiplier = 1.2;
|
||||
primary-color = "217 92 83";
|
||||
positive-color = "115 54 76";
|
||||
negative-color = "347 70 65";
|
||||
};
|
||||
server = {
|
||||
host = config.glance.host;
|
||||
port = config.glance.port;
|
||||
};
|
||||
pages = [
|
||||
{
|
||||
name = "Home";
|
||||
columns = [
|
||||
{
|
||||
size = "small";
|
||||
widgets = [
|
||||
{ type = "calendar"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
size = "full";
|
||||
widgets = [
|
||||
{
|
||||
type = "videos";
|
||||
style = "vertical-list";
|
||||
channels = [
|
||||
"UCwHwDuNd9lCdA7chyyquDXw"
|
||||
"UC7YOGHUfC1Tb6E4pudI9STA"
|
||||
"UCs76MNovGkuNYNZCmrxcb3Q"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
size = "small";
|
||||
widgets = [
|
||||
{
|
||||
type = "weather";
|
||||
location = "Malmö, Sweden";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
services.nginx.virtualHosts.${config.glance.domain} = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${toString config.glance.host}:${toString config.glance.port}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue