Clean home env
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
sticky_history = "yes";
|
||||
history_length = "20";
|
||||
|
||||
dmenu = "wofi --show dmenu -p dunst:";
|
||||
dmenu = "${pkgs.wofi}/bin/wofi --show dmenu -p dunst:";
|
||||
browser = "/usr/bin/xdg-open";
|
||||
always_run_script = "true";
|
||||
title = "Dunst";
|
||||
|
||||
3
modules/home/wayland/apps/eww/bar/scripts/color-pick
Normal file
3
modules/home/wayland/apps/eww/bar/scripts/color-pick
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
eww close popup 2>/dev/null
|
||||
hyprpicker -a
|
||||
3
modules/home/wayland/apps/eww/bar/scripts/lock
Normal file
3
modules/home/wayland/apps/eww/bar/scripts/lock
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
eww close popup 2>/dev/null
|
||||
swaylock
|
||||
@@ -1,5 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
DIR="$HOME/Pictures/Screenshots"
|
||||
mkdir -p "$DIR"
|
||||
FILE="$DIR/$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||
grim -g "$(slurp)" "$FILE" && wl-copy < "$FILE"
|
||||
eww close popup 2>/dev/null
|
||||
sleep 0.15
|
||||
hyprshot -m region --raw | satty --filename - --early-exit --action-on-enter save-to-clipboard --copy-command wl-copy
|
||||
|
||||
@@ -89,8 +89,8 @@
|
||||
(quick-btn :icon "" :label "Night Light" :onclick "eww update night-light=$(scripts/nightlight)" :active {night-light}))
|
||||
(box :orientation "h" :space-evenly true
|
||||
(quick-btn :icon "" :label "Screenshot" :onclick "scripts/screenshot" :active false)
|
||||
(quick-btn :icon "" :label "Lock" :onclick "swaylock" :active false)
|
||||
(quick-btn :icon "" :label "Color Pick" :onclick "hyprpicker -a" :active false)))))
|
||||
(quick-btn :icon "" :label "Lock" :onclick "scripts/lock" :active false)
|
||||
(quick-btn :icon "" :label "Color Pick" :onclick "scripts/color-pick" :active false)))))
|
||||
|
||||
; --- Brightness ---
|
||||
|
||||
|
||||
@@ -12,56 +12,90 @@ let
|
||||
|
||||
exec ${lib.getExe pkgs.eww} open "$window" "$@"
|
||||
'';
|
||||
|
||||
# Wraps a static script file with a bash launcher that prepends Nix store
|
||||
# bin dirs to PATH — keeps the source files unchanged.
|
||||
mkScript = name: src: inputs: pkgs.writeShellScriptBin name ''
|
||||
export PATH="${lib.makeBinPath inputs}:$PATH"
|
||||
${builtins.readFile src}
|
||||
'';
|
||||
|
||||
scripts = {
|
||||
"scripts/brightness" = mkScript "brightness" ./bar/scripts/brightness [ pkgs.brightnessctl ];
|
||||
"scripts/nightlight" = mkScript "nightlight" ./bar/scripts/nightlight [ pkgs.wlsunset ];
|
||||
"scripts/panel-toggle" = mkScript "panel-toggle" ./bar/scripts/panel-toggle [ pkgs.eww pkgs.jq ];
|
||||
"scripts/power-save" = mkScript "power-save" ./bar/scripts/power-save [ pkgs.eww ];
|
||||
"scripts/radio" = mkScript "radio" ./bar/scripts/radio [ pkgs.eww pkgs.jq pkgs.curl pkgs.mpv pkgs.playerctl ];
|
||||
"scripts/color-pick" = mkScript "color-pick" ./bar/scripts/color-pick [ pkgs.eww pkgs.hyprpicker ];
|
||||
"scripts/lock" = mkScript "lock" ./bar/scripts/lock [ pkgs.eww pkgs.swaylock-effects ];
|
||||
"scripts/screenshot" = mkScript "screenshot" ./bar/scripts/screenshot [ pkgs.eww pkgs.hyprshot pkgs.satty pkgs.wl-clipboard ];
|
||||
"scripts/sys/gpu" = mkScript "gpu" ./bar/scripts/sys/gpu [ pkgs.custom.amdgpu_top pkgs.jq ];
|
||||
"scripts/sys/memory" = mkScript "memory" ./bar/scripts/sys/memory [ pkgs.ripgrep ];
|
||||
"scripts/volume" = mkScript "volume" ./bar/scripts/volume [ pkgs.ripgrep ];
|
||||
"scripts/weather" = mkScript "weather" ./bar/scripts/weather [ pkgs.jq pkgs.curl ];
|
||||
"scripts/workspaces" = mkScript "workspaces" ./bar/scripts/workspaces [ pkgs.jaq pkgs.socat pkgs.ripgrep ];
|
||||
};
|
||||
in {
|
||||
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
home.packages = with pkgs; [ eww jq jaq custom.amdgpu_top openOnCurrentScreen ];
|
||||
home.packages = [ pkgs.eww openOnCurrentScreen ];
|
||||
|
||||
xdg.configFile."eww" = {
|
||||
source = lib.cleanSourceWith {
|
||||
filter = name: _type:
|
||||
let baseName = baseNameOf (toString name);
|
||||
in !(lib.hasSuffix ".nix" baseName) && (baseName != "_colors.scss");
|
||||
src = lib.cleanSource ./bar/.;
|
||||
};
|
||||
xdg.configFile = lib.mkMerge [
|
||||
{
|
||||
"eww" = {
|
||||
source = lib.cleanSourceWith {
|
||||
filter = name: _type:
|
||||
let
|
||||
baseName = baseNameOf (toString name);
|
||||
relPath = lib.removePrefix (toString ./bar + "/") (toString name);
|
||||
in !(lib.hasSuffix ".nix" baseName)
|
||||
&& (baseName != "_colors.scss")
|
||||
&& !(builtins.elem relPath (builtins.attrNames scripts));
|
||||
src = lib.cleanSource ./bar/.;
|
||||
};
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
# colors file
|
||||
xdg.configFile."eww/css/_colors.scss".text = ''
|
||||
$base00: #${config.colorScheme.palette.base00};
|
||||
$base01: #${config.colorScheme.palette.base01};
|
||||
$base02: #${config.colorScheme.palette.base02};
|
||||
$base03: #${config.colorScheme.palette.base03};
|
||||
$base04: #${config.colorScheme.palette.base04};
|
||||
$base05: #${config.colorScheme.palette.base05};
|
||||
$base06: #${config.colorScheme.palette.base06};
|
||||
$base07: #${config.colorScheme.palette.base07};
|
||||
$base08: #${config.colorScheme.palette.base08};
|
||||
$base09: #${config.colorScheme.palette.base09};
|
||||
$base0A: #${config.colorScheme.palette.base0A};
|
||||
$base0B: #${config.colorScheme.palette.base0B};
|
||||
$base0C: #${config.colorScheme.palette.base0C};
|
||||
$base0D: #${config.colorScheme.palette.base0D};
|
||||
$base0E: #${config.colorScheme.palette.base0E};
|
||||
$base0F: #${config.colorScheme.palette.base0F};
|
||||
"eww/css/_colors.scss".text = ''
|
||||
$base00: #${config.colorScheme.palette.base00};
|
||||
$base01: #${config.colorScheme.palette.base01};
|
||||
$base02: #${config.colorScheme.palette.base02};
|
||||
$base03: #${config.colorScheme.palette.base03};
|
||||
$base04: #${config.colorScheme.palette.base04};
|
||||
$base05: #${config.colorScheme.palette.base05};
|
||||
$base06: #${config.colorScheme.palette.base06};
|
||||
$base07: #${config.colorScheme.palette.base07};
|
||||
$base08: #${config.colorScheme.palette.base08};
|
||||
$base09: #${config.colorScheme.palette.base09};
|
||||
$base0A: #${config.colorScheme.palette.base0A};
|
||||
$base0B: #${config.colorScheme.palette.base0B};
|
||||
$base0C: #${config.colorScheme.palette.base0C};
|
||||
$base0D: #${config.colorScheme.palette.base0D};
|
||||
$base0E: #${config.colorScheme.palette.base0E};
|
||||
$base0F: #${config.colorScheme.palette.base0F};
|
||||
|
||||
|
||||
$fg: $base07;
|
||||
$bg0: $base00;
|
||||
$bg1: $base01;
|
||||
$fg: $base07;
|
||||
$bg0: $base00;
|
||||
$bg1: $base01;
|
||||
|
||||
$border-color: $base03;
|
||||
$border-color-focus: $base04;
|
||||
$border-radius: ${config.colorScheme.palette.border-radius}px;
|
||||
$border-width: ${config.colorScheme.palette.border-width}px;
|
||||
$border-color: $base03;
|
||||
$border-color-focus: $base04;
|
||||
$border-radius: ${config.colorScheme.palette.border-radius}px;
|
||||
$border-width: ${config.colorScheme.palette.border-width}px;
|
||||
|
||||
$gaps-screen: ${config.colorScheme.palette.gaps-screen}px;
|
||||
$gaps-window: ${config.colorScheme.palette.gaps-window}px;
|
||||
$gaps-screen: ${config.colorScheme.palette.gaps-screen}px;
|
||||
$gaps-window: ${config.colorScheme.palette.gaps-window}px;
|
||||
|
||||
$panel-font-size: 10pt;
|
||||
$popup-scale: 1.25;
|
||||
'';
|
||||
$panel-font-size: 10pt;
|
||||
$popup-scale: 1.25;
|
||||
'';
|
||||
}
|
||||
|
||||
(lib.mapAttrs' (rel: drv: {
|
||||
name = "eww/${rel}";
|
||||
value.source = "${drv}/bin/${drv.name}";
|
||||
}) scripts)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,8 +19,6 @@ let
|
||||
in {
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
|
||||
home.packages = [ pkgs.custom.amdgpu_top pkgs.jq ];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
@@ -203,8 +201,7 @@ in {
|
||||
"custom/gpu" = {
|
||||
"exec" = jsonOutput "gpu" {
|
||||
tooltip = "...";
|
||||
percentage = ''
|
||||
$(amdgpu_top -J -n 1 | jq -r '.devices[0].GRBM2."Command Processor - Graphics".value')'';
|
||||
percentage = ''$(${lib.getExe pkgs.custom.amdgpu_top} -J -n 1 | ${pkgs.jq}/bin/jq -r '.devices[0].GRBM2."Command Processor - Graphics".value')'';
|
||||
};
|
||||
"return-type" = "json";
|
||||
"interval" = 5;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ lib, pkgs, config, ... }: {
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
|
||||
home.packages = with pkgs; [ swayidle swaylock-effects ];
|
||||
|
||||
xdg.configFile."swaylock/config".text = ''
|
||||
screenshots
|
||||
grace-no-mouse
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ lib, config, pkgs, ... }: {
|
||||
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
home.packages = with pkgs; [ wofi ];
|
||||
xdg.configFile."wofi/config".text = ''
|
||||
width=280
|
||||
lines=10
|
||||
|
||||
Reference in New Issue
Block a user