diff --git a/flake.lock b/flake.lock index 5c9e685..8229c04 100644 --- a/flake.lock +++ b/flake.lock @@ -81,6 +81,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -443,6 +461,25 @@ "type": "github" } }, + "jolt": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1770062423, + "narHash": "sha256-eOaDXp895RMY+yp4P/1PoafDqISLnt/PMZw0d+bfQ4w=", + "owner": "jordond", + "repo": "jolt", + "rev": "3e3bcae0f9a1be31984ff407811a9fa7773742a3", + "type": "github" + }, + "original": { + "owner": "jordond", + "repo": "jolt", + "type": "github" + } + }, "nix-colors": { "inputs": { "base16-schemes": "base16-schemes", @@ -494,6 +531,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1768886240, + "narHash": "sha256-C2TjvwYZ2VDxYWeqvvJ5XPPp6U7H66zeJlRaErJKoEM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "80e4adbcf8992d3fd27ad4964fbb84907f9478b0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1769789167, "narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=", @@ -509,7 +562,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1719082008, "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", @@ -525,7 +578,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1743315132, "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", @@ -567,9 +620,9 @@ "pyprland": { "inputs": { "flake-compat": "flake-compat_2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "pyproject-nix": "pyproject-nix", - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1767543672, @@ -611,8 +664,9 @@ "inputs": { "home-manager": "home-manager", "hyprland": "hyprland", + "jolt": "jolt", "nix-colors": "nix-colors", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "pyprland": "pyprland", "wiremix": "wiremix" } @@ -633,6 +687,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -647,7 +716,7 @@ "type": "github" } }, - "systems_3": { + "systems_4": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -664,8 +733,8 @@ }, "wiremix": { "inputs": { - "nixpkgs": "nixpkgs_4", - "systems": "systems_3" + "nixpkgs": "nixpkgs_5", + "systems": "systems_4" }, "locked": { "lastModified": 1769575550, diff --git a/flake.nix b/flake.nix index cdda4c9..7ce7174 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,7 @@ nix-colors.url = "github:misterio77/nix-colors"; pyprland.url = "github:hyprland-community/pyprland/2.6.0"; wiremix.url = "github:tsowell/wiremix"; + jolt.url = "github:jordond/jolt"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -20,6 +21,7 @@ hyprland, nix-colors, home-manager, + jolt, }: { nixosModules = { @@ -41,6 +43,7 @@ (final: prev: { pyprland = pyprland.packages.${final.system}.default; wiremix = wiremix.packages.${final.system}.default; + jolt = jolt.packages.${final.system}.default; }) ]; }; diff --git a/modules/home-manager/jolt.nix b/modules/home-manager/jolt.nix new file mode 100644 index 0000000..c6550e4 --- /dev/null +++ b/modules/home-manager/jolt.nix @@ -0,0 +1,40 @@ +{ + config, + ... +}: +let + cfg = config.hyperdeepnix; +in +{ + home.file = { + ".config/jolt/config.toml" = { + text = '' + appearance = "dark" + theme = ${cfg.theme} + refresh_ms = 2000 + show_graph = true + graph_metric = "merged" + process_count = 50 + energy_threshold = 0.5 + merge_mode = true + forecast_window_secs = 300 + excluded_processes = [] + log_level = "info" + + [history] + background_recording = false + sample_interval_secs = 60 + retention_raw_days = 30 + retention_hourly_days = 180 + retention_daily_days = 0 + retention_sessions_days = 90 + max_database_mb = 500 + + [units] + energy = "wh" + temperature = "celsius" + data_size = "si" + ''; + }; + }; +} diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index c199e28..e35a2a2 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -184,6 +184,7 @@ in warning = 20; critical = 10; }; + on-click = "kitty --class=com.markd.nmtui jolt"; events = { on-discharging-critical = "notify-send -u critical 'Battery is very low!'"; }; diff --git a/modules/packages.nix b/modules/packages.nix index 7aedfa7..eea40b8 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -15,6 +15,7 @@ let gnome-themes-extra wiremix pyprland + jolt wl-clipboard wl-clip-persist wf-recorder