format
This commit is contained in:
@@ -4,83 +4,85 @@ let cfg = config.custom.cli-tools;
|
||||
in {
|
||||
options.custom.cli-tools = { enable = mkEnableOption "Enables cli-tools"; };
|
||||
|
||||
config = let
|
||||
getTotalPowerUsed = pkgs.writeShellScriptBin "total-power" ''
|
||||
echo "$(sudo cat /sys/class/powercap/*/energy_uj | awk 'BEGIN { sum = 0; } { sum += $1; } END { print sum; }' "$@") / 1000000" | bc | xargs -I _ echo "_ W"
|
||||
'';
|
||||
watchCurrentPowerUsed = pkgs.writeShellScriptBin "watch-current-power" ''
|
||||
function getCurrentPowerUsed() {
|
||||
local energy_uj=$(sudo cat $energy_path | awk 'BEGIN { sum = 0; } { sum += $1; } END { print sum; }' "$@")
|
||||
echo "scale=2; $energy_uj / 1000000" | bc
|
||||
}
|
||||
config =
|
||||
let
|
||||
getTotalPowerUsed = pkgs.writeShellScriptBin "total-power" ''
|
||||
echo "$(sudo cat /sys/class/powercap/*/energy_uj | awk 'BEGIN { sum = 0; } { sum += $1; } END { print sum; }' "$@") / 1000000" | bc | xargs -I _ echo "_ W"
|
||||
'';
|
||||
watchCurrentPowerUsed = pkgs.writeShellScriptBin "watch-current-power" ''
|
||||
function getCurrentPowerUsed() {
|
||||
local energy_uj=$(sudo cat $energy_path | awk 'BEGIN { sum = 0; } { sum += $1; } END { print sum; }' "$@")
|
||||
echo "scale=2; $energy_uj / 1000000" | bc
|
||||
}
|
||||
|
||||
energy_path=$(grep package /sys/class/powercap/*/name | sed 's/name.*$/energy_uj/')
|
||||
power_prev=0
|
||||
power_curr=$(getCurrentPowerUsed)
|
||||
while true; do
|
||||
power_prev=$power_curr
|
||||
sleep 1
|
||||
energy_path=$(grep package /sys/class/powercap/*/name | sed 's/name.*$/energy_uj/')
|
||||
power_prev=0
|
||||
power_curr=$(getCurrentPowerUsed)
|
||||
echo "scale=2; ($power_curr - $power_prev) / 1" | bc | xargs -I _ echo "_ W"
|
||||
done
|
||||
'';
|
||||
in mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
getTotalPowerUsed
|
||||
watchCurrentPowerUsed
|
||||
(if lib.versionOlder lib.version "25.05" then
|
||||
while true; do
|
||||
power_prev=$power_curr
|
||||
sleep 1
|
||||
power_curr=$(getCurrentPowerUsed)
|
||||
echo "scale=2; ($power_curr - $power_prev) / 1" | bc | xargs -I _ echo "_ W"
|
||||
done
|
||||
'';
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
getTotalPowerUsed
|
||||
watchCurrentPowerUsed
|
||||
(if lib.versionOlder lib.version "25.05" then
|
||||
wget
|
||||
else
|
||||
powerjoular) # monitor power usage
|
||||
fzf # fuzzy finder
|
||||
bat # fancy cat
|
||||
fd # nicer find
|
||||
duf # nicer du
|
||||
eza # nicer ls
|
||||
ripgrep # faster grep
|
||||
gdu
|
||||
wget
|
||||
else
|
||||
powerjoular) # monitor power usage
|
||||
fzf # fuzzy finder
|
||||
bat # fancy cat
|
||||
fd # nicer find
|
||||
duf # nicer du
|
||||
eza # nicer ls
|
||||
ripgrep # faster grep
|
||||
gdu
|
||||
wget
|
||||
pciutils
|
||||
rippkgs # faster nixpkgs search, init with `rippkgs-index nixpkgs && mv rippkgs-index.sqlite ~/.local/share/`;
|
||||
nixos-option
|
||||
btop
|
||||
git
|
||||
gh # github
|
||||
killall
|
||||
xclip
|
||||
usbutils
|
||||
inputs.agenix.packages."x86_64-linux".default
|
||||
fastfetch
|
||||
pdfgrep
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
ffmpeg
|
||||
nethogs
|
||||
dig
|
||||
smartmontools
|
||||
bc
|
||||
xxd
|
||||
tldr
|
||||
file
|
||||
unzip
|
||||
lsof
|
||||
lshw
|
||||
screen
|
||||
tmux
|
||||
fatrace # monitor filesystem events
|
||||
nh
|
||||
nix-output-monitor # nom
|
||||
nvd # nix diff, example: nvd diff /nix/var/nix/profiles/system-389-link /nix/var/nix/profiles/system-390-link
|
||||
compsize
|
||||
trashy # move files to trash
|
||||
shell-gpt
|
||||
libheif # convert heic to jpg with `heif-convert something.heic something.jpg`
|
||||
imagemagick # convert images
|
||||
tree
|
||||
kop-newproject # creates a shell.nix and .envrc
|
||||
nix-tree # show nix derivations
|
||||
binwalk # show what's inside a binary
|
||||
iotop
|
||||
];
|
||||
};
|
||||
pciutils
|
||||
rippkgs # faster nixpkgs search, init with `rippkgs-index nixpkgs && mv rippkgs-index.sqlite ~/.local/share/`;
|
||||
nixos-option
|
||||
btop
|
||||
git
|
||||
gh # github
|
||||
killall
|
||||
xclip
|
||||
usbutils
|
||||
inputs.agenix.packages."x86_64-linux".default
|
||||
fastfetch
|
||||
pdfgrep
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
ffmpeg
|
||||
nethogs
|
||||
dig
|
||||
smartmontools
|
||||
bc
|
||||
xxd
|
||||
tldr
|
||||
file
|
||||
unzip
|
||||
lsof
|
||||
lshw
|
||||
screen
|
||||
tmux
|
||||
fatrace # monitor filesystem events
|
||||
nh
|
||||
nix-output-monitor # nom
|
||||
nvd # nix diff, example: nvd diff /nix/var/nix/profiles/system-389-link /nix/var/nix/profiles/system-390-link
|
||||
compsize
|
||||
trashy # move files to trash
|
||||
shell-gpt
|
||||
libheif # convert heic to jpg with `heif-convert something.heic something.jpg`
|
||||
imagemagick # convert images
|
||||
tree
|
||||
kop-newproject # creates a shell.nix and .envrc
|
||||
nix-tree # show nix derivations
|
||||
binwalk # show what's inside a binary
|
||||
iotop
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user