diff --git a/flake.nix b/flake.nix
index d2a79c0..22a7973 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,6 +1,23 @@
{
description = "My system configuration";
+ nixConfig = {
+ extra-substituters = [
+ "https://nix-community.cachix.org"
+ "https://cache.garnix.io"
+ "https://hyprland.cachix.org"
+ "https://ezkea.cachix.org"
+ "https://risdeveau.cachix.org"
+ ];
+ extra-trusted-public-keys = [
+ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
+ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
+ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
+ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
+ "risdeveau.cachix.org-1:TsoFSVeLl7iKtUYGX7qsvKPjf2vbNLfLC5v3SAdU8r0="
+ ];
+ };
+
inputs = {
ayugram-desktop.url = "github:/ayugram-port/ayugram-desktop/release?submodules=1";
diff --git a/home-manager/data/ags/ags.nix b/home-manager/data/ags/ags.nix
index f703b4f..9527797 100644
--- a/home-manager/data/ags/ags.nix
+++ b/home-manager/data/ags/ags.nix
@@ -10,6 +10,8 @@
echo \$surface0: \#${colors.base02}\; >> colors.scss
echo \$fg: \#${colors.base05}\; >> colors.scss
echo \$accent: \#${colors.base0B}\; >> colors.scss
+
+ echo \#${colors.base0B} > accent.css
'';
installPhase = ''
@@ -17,5 +19,7 @@
mkdir $out
cp $src/* $out -r
mv colors.scss $out
+ mv accent.css $out
'';
}
+
diff --git a/home-manager/data/ags/ags/style.scss b/home-manager/data/ags/ags/style.scss
index 7e61e01..62194e8 100644
--- a/home-manager/data/ags/ags/style.scss
+++ b/home-manager/data/ags/ags/style.scss
@@ -67,8 +67,8 @@ window.Bar {
background: $surface0;
}
}
-
- Media {
+
+ .Media {
&.playing {
border: 2pt solid $accent;
}
@@ -91,7 +91,7 @@ window.Bar {
.AudioSlider icon { margin-left: 8px; }
- .Workspaces, .Layout, .Media, .SysTray, .AudioSlider, .Time {
+ .Workspaces, .Wifi, .Layout, .Media, .SysTray, .AudioSlider, .Battery, .Time {
@extend %item;
}
}
diff --git a/home-manager/data/ags/ags/widget/elements/Audio.tsx b/home-manager/data/ags/ags/widget/elements/Audio.tsx
index eb44096..9d5b9de 100644
--- a/home-manager/data/ags/ags/widget/elements/Audio.tsx
+++ b/home-manager/data/ags/ags/widget/elements/Audio.tsx
@@ -1,16 +1,16 @@
import { bind } from "astal"
+import { execAsync } from "astal/process"
import Wp from "gi://AstalWp"
-import {execAsync} from "astal/process"
export default function Audio() {
const speaker = Wp.get_default()?.audio.defaultSpeaker!
- return
-
-
+ return
}
diff --git a/home-manager/data/ags/ags/widget/elements/Battery.tsx b/home-manager/data/ags/ags/widget/elements/Battery.tsx
index 6dc6934..cfac651 100644
--- a/home-manager/data/ags/ags/widget/elements/Battery.tsx
+++ b/home-manager/data/ags/ags/widget/elements/Battery.tsx
@@ -1,14 +1,30 @@
-import { bind } from "astal"
-import Battery from "gi://AstalBattery"
+import { bind } from "astal";
+import Battery from "gi://AstalBattery";
+import accent from "../../accent.css";
export default function BatteryLevel() {
- const bat = Battery.get_default()
+ const bat = Battery.get_default();
+ const percent = bind(bat, "percentage").as(p => Math.floor(p * 100));
- return
-
-
+ return (
+ `
+ background-image: linear-gradient(
+ to right,
+ ${accent} 0%,
+ ${accent} ${p}%,
+ transparent ${p}%,
+ transparent 100%
+ );
+ background-size: 100% 3px;
+ background-repeat: no-repeat;
+ background-position: bottom;
+ `)}
+ >
+
+
+ );
}
diff --git a/home-manager/data/ags/ags/widget/elements/Wifi.tsx b/home-manager/data/ags/ags/widget/elements/Wifi.tsx
index 11a0d32..44f9816 100644
--- a/home-manager/data/ags/ags/widget/elements/Wifi.tsx
+++ b/home-manager/data/ags/ags/widget/elements/Wifi.tsx
@@ -1,21 +1,6 @@
import { bind } from "astal"
import Network from "gi://AstalNetwork"
-import {execAsync} from "astal/process"
-
-/*export default function Wifi() {
- const network = Network.get_default()
- const wifi = bind(network, "wifi")
-
- return
- {wifi.as(wifi => wifi && (
-
- ))}
-
-}*/
+import { execAsync } from "astal/process"
export default function Wifi() {
const network = Network.get_default()
@@ -23,10 +8,17 @@ export default function Wifi() {
return
{wifi.as(wifi => wifi && (
-