Skip to content

Commit

Permalink
glance: init (#827)
Browse files Browse the repository at this point in the history
Link: #827

Co-authored-by: NAHO <[email protected]>
Reviewed-by: NAHO <[email protected]>
  • Loading branch information
louis-thevenet and trueNAHO authored Feb 8, 2025
1 parent 87791e0 commit b3ef236
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 0 deletions.
46 changes: 46 additions & 0 deletions modules/glance/hm.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{ config, lib, ... }:
{
options.stylix.targets.glance.enable =
config.lib.stylix.mkEnableTarget "Glance" true;

config =
lib.mkIf (config.stylix.enable && config.stylix.targets.glance.enable)
{
services.glance.settings.theme =
let
rgb-to-hsl =
color:
let
r = ((lib.toInt config.lib.stylix.colors."${color}-rgb-r") * 100) / 255;
g = ((lib.toInt config.lib.stylix.colors."${color}-rgb-g") * 100) / 255;
b = ((lib.toInt config.lib.stylix.colors."${color}-rgb-b") * 100) / 255;
max = lib.max r (lib.max g b);
min = lib.min r (lib.min g b);
delta = max - min;
h =
if delta == 0 then
0
else if max == r then
60 * (lib.mod ((g - b) / delta) 6)
else if max == g then
60 * (((b - r) / delta) + 2)
else if max == b then
60 * (((r - g) / delta) + 4)
else
0;
l = (max + min) / 2;
s =
if delta == 0 then 0 else delta / (100 - lib.max (2 * l - 100) (100 - (2 * l)));
in
"${builtins.toString h} ${builtins.toString s} ${builtins.toString l}";
in
{
light = config.stylix.polarity == "light";
contrast-multiplier = 1.0;
background-color = rgb-to-hsl "base00";
primary-color = rgb-to-hsl "base05";
positive-color = rgb-to-hsl "base01";
negative-color = rgb-to-hsl "base04";
};
};
}
84 changes: 84 additions & 0 deletions modules/glance/testbed.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{ lib, pkgs, ... }:
let
host = "127.0.0.1";

package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies.OverrideFirstRunPage = "http://${host}:${builtins.toString port}";
};

port = 1234;
in
{
stylix.testbed.application = {
enable = true;
name = "firefox";
inherit package;
};

home-manager.sharedModules = lib.singleton {
programs.firefox = {
enable = true;
inherit package;
};

services.glance = {
enable = true;

settings = {
pages = lib.singleton {
columns = [
{
size = "small";

widgets = lib.singleton {
hide-location = false;
hour-format = "24h";
location = "Tokyo, Japan";
show-area-name = true;
type = "weather";
units = "metric";
};
}

{
size = "full";

widgets = [
{
autofocus = true;
search-engine = "https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+{QUERY}";
type = "search";
}

{
type = "group";

widgets = lib.singleton {
collapse-after = 15;

feeds = lib.singleton {
title = "LessWrong";
url = "https://www.lesswrong.com/feed.xml?view=curated-rss";
};

style = "vertical-list";
type = "rss";
};
}
];
}

{
size = "small";
widgets = [ { type = "calendar"; } ];
}
];

name = "Home";
};

server = { inherit host port; };
};
};
};
}

0 comments on commit b3ef236

Please sign in to comment.