Merged sketchybar config into declaritive Nix Repo
This commit is contained in:
12
flake.nix
12
flake.nix
@@ -85,12 +85,16 @@
|
||||
{
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs primaryUser self;
|
||||
isDarwin = false;
|
||||
};
|
||||
home-manager.users.${primaryUser} = import ./home;
|
||||
}
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
specialArgs = { inherit inputs primaryUser self hostName; };
|
||||
specialArgs = {
|
||||
inherit inputs primaryUser self hostName;
|
||||
isDarwin = false;
|
||||
};
|
||||
};
|
||||
|
||||
mkDarwin = hostName:
|
||||
@@ -105,12 +109,16 @@
|
||||
{
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs primaryUser self;
|
||||
isDarwin = true;
|
||||
};
|
||||
home-manager.users.${primaryUser} = import ./home;
|
||||
}
|
||||
inputs.sops-nix.darwinModules.sops
|
||||
];
|
||||
specialArgs = { inherit inputs primaryUser self hostName; };
|
||||
specialArgs = {
|
||||
inherit inputs primaryUser self hostName;
|
||||
isDarwin = true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
nixosConfigurations."cyper-desktop" = mkNixos "cyper-desktop";
|
||||
|
||||
@@ -1,34 +1,20 @@
|
||||
{
|
||||
config,
|
||||
primaryUser,
|
||||
inputs,
|
||||
self,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
{ config, primaryUser, inputs, self, lib, isDarwin, ... }: {
|
||||
imports = [
|
||||
|
||||
./packages.nix
|
||||
./git.nix
|
||||
./shell.nix
|
||||
|
||||
./xdg.nix
|
||||
./neovim
|
||||
./python.nix
|
||||
|
||||
./nixcord.nix
|
||||
|
||||
./spicetify.nix
|
||||
|
||||
./floorp.nix
|
||||
./obsidian.nix
|
||||
|
||||
./desktop
|
||||
./xdg.nix
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
] ++ lib.optionals (!isDarwin) [ ./desktop ] ++ lib.optionals isDarwin [
|
||||
./desktop/sketchybar
|
||||
inputs.catppuccin.homeModules.catppuccin
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
catppuccin = {
|
||||
@@ -40,14 +26,14 @@
|
||||
fzf.enable = true;
|
||||
bat.enable = true;
|
||||
|
||||
element-desktop = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
element-desktop = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
accent = "green";
|
||||
};
|
||||
|
||||
btop.enable = true;
|
||||
|
||||
cava = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
cava = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
transparent = true;
|
||||
};
|
||||
@@ -57,31 +43,31 @@
|
||||
yazi.enable = true;
|
||||
fish.enable = true;
|
||||
|
||||
cursors = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
cursors = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
accent = "sapphire";
|
||||
};
|
||||
|
||||
hyprland = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) { enable = true; };
|
||||
hyprland = lib.mkIf (!isDarwin) { enable = true; };
|
||||
|
||||
hyprlock = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
hyprlock = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
useDefaultConfig = false;
|
||||
};
|
||||
|
||||
waybar = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
waybar = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
mode = "createLink";
|
||||
};
|
||||
|
||||
mako.enable = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) true;
|
||||
mpv.enable = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) true;
|
||||
newsboat.enable = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) true;
|
||||
mangohud.enable = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) true;
|
||||
mako.enable = lib.mkIf (!isDarwin) true;
|
||||
mpv.enable = lib.mkIf (!isDarwin) true;
|
||||
newsboat.enable = lib.mkIf (!isDarwin) true;
|
||||
mangohud.enable = lib.mkIf (!isDarwin) true;
|
||||
|
||||
gtk.icon.enable = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) true;
|
||||
gtk.icon.enable = lib.mkIf (!isDarwin) true;
|
||||
|
||||
kvantum = pkgs.lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
kvantum = lib.mkIf (!isDarwin) {
|
||||
enable = true;
|
||||
apply = true;
|
||||
};
|
||||
@@ -90,7 +76,7 @@
|
||||
home = {
|
||||
username = primaryUser;
|
||||
stateVersion = "26.05";
|
||||
sessionVariables = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
sessionVariables = lib.mkIf (!isDarwin) {
|
||||
GROQ_API_KEY = config.sops.secrets.GROQ_API_KEY.path;
|
||||
OPENWEATHER_API_KEY = config.sops.secrets.OPENWEATHER_API_KEY.path;
|
||||
};
|
||||
@@ -111,8 +97,7 @@
|
||||
sops = {
|
||||
defaultSopsFile = ../secrets/secrets.yaml;
|
||||
defaultSopsFormat = "yaml";
|
||||
age.keyFile =
|
||||
if pkgs.stdenv.isDarwin then
|
||||
age.keyFile = if isDarwin then
|
||||
"/Users/${primaryUser}/.config/nix/secrets/keys.txt"
|
||||
else
|
||||
"/home/${primaryUser}/.config/nix/secrets/keys.txt";
|
||||
@@ -121,8 +106,10 @@
|
||||
GROQ_API_KEY = { };
|
||||
OPENWEATHER_API_KEY = { };
|
||||
ssh_private_key = {
|
||||
path =
|
||||
if pkgs.stdenv.isDarwin then "/Users/${primaryUser}/.ssh/ssh" else "/home/${primaryUser}/.ssh/ssh";
|
||||
path = if isDarwin then
|
||||
"/Users/${primaryUser}/.ssh/ssh"
|
||||
else
|
||||
"/home/${primaryUser}/.ssh/ssh";
|
||||
mode = "0600";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,32 +1,24 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.catppuccin.homeModules.catppuccin
|
||||
{ pkgs, inputs, lib, system, ... }:
|
||||
let isDarwin = builtins.match ".*-darwin" system != null;
|
||||
in {
|
||||
imports = [ inputs.catppuccin.homeModules.catppuccin ]
|
||||
++ lib.optionals (!isDarwin) [
|
||||
./hyprland
|
||||
./rofi
|
||||
./waybar
|
||||
./gtk.nix
|
||||
./qt.nix
|
||||
./sketchybar.nix
|
||||
];
|
||||
] ++ lib.optionals isDarwin [ ./sketchybar.nix ];
|
||||
|
||||
_module.args.compositor = if pkgs.stdenv.isDarwin then "quartz" else "hyprland";
|
||||
_module.args.compositor = if isDarwin then "quartz" else "hyprland";
|
||||
|
||||
home = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
packages = with pkgs; [
|
||||
waypaper
|
||||
awww
|
||||
];
|
||||
home = lib.mkIf (!isDarwin) {
|
||||
packages = with pkgs; [ waypaper awww ];
|
||||
file.".config/waypaper/config.ini".source = ./waypaper.ini;
|
||||
};
|
||||
|
||||
# TODO: Qutebrowser install
|
||||
programs = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
programs = lib.mkIf (!isDarwin) {
|
||||
mangohud = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,23 +1,17 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
{ inputs, pkgs, lib, ... }:
|
||||
let
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
super = "SUPER";
|
||||
terminal = "kitty";
|
||||
fileManager = "yazi";
|
||||
theme = "-theme $HOME/.config/rofi/custom.rasi";
|
||||
menu = "rofi -show drun ${theme}";
|
||||
filebrowser = "rofi -show filebrowser ${theme}";
|
||||
power = "rofi -show p -modi p:rofi-power-menu -theme $HOME/.config/rofi/power.rasi";
|
||||
power =
|
||||
"rofi -show p -modi p:rofi-power-menu -theme $HOME/.config/rofi/power.rasi";
|
||||
apps = "rofi -show window ${theme}";
|
||||
in
|
||||
{
|
||||
in lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
|
||||
imports = [
|
||||
./hypridle.nix
|
||||
./hyprlock.nix
|
||||
./mako.nix
|
||||
./portal.nix
|
||||
];
|
||||
imports = [ ./hypridle.nix ./hyprlock.nix ./mako.nix ./portal.nix ];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
catppuccin-cursors.mochaDark
|
||||
@@ -29,12 +23,12 @@ in
|
||||
playerctl
|
||||
];
|
||||
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||
"xdg-desktop-autostart.target"
|
||||
];
|
||||
systemd.user.targets.hyprland-session.Unit.Wants =
|
||||
[ "xdg-desktop-autostart.target" ];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
inherit package;
|
||||
package =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
enable = true;
|
||||
|
||||
xwayland.enable = true;
|
||||
@@ -45,7 +39,9 @@ in
|
||||
enableXdgAutostart = false;
|
||||
};
|
||||
|
||||
plugins = with inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||
plugins =
|
||||
with inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system};
|
||||
[
|
||||
#hyprbars
|
||||
# hyprexpo
|
||||
];
|
||||
@@ -69,10 +65,8 @@ in
|
||||
"XCURSOR_SIZE,24"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"DP-1, 1920x1080@60, 1920x0, 1"
|
||||
"HDMI-A-2, 1920x1080@60, 0x0, 1"
|
||||
];
|
||||
monitor =
|
||||
[ "DP-1, 1920x1080@60, 1920x0, 1" "HDMI-A-2, 1920x1080@60, 0x0, 1" ];
|
||||
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
@@ -126,7 +120,7 @@ in
|
||||
size = 1;
|
||||
passes = 3;
|
||||
new_optimizations = 1;
|
||||
noise = 0.04;
|
||||
noise = 4.0e-2;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -195,10 +189,7 @@ in
|
||||
# "noblur, class:^(org\\.gnome\\.|io\\.github\\.|org\\.gtk\\.)"
|
||||
# ];
|
||||
|
||||
exec-once = [
|
||||
"awww-daemon & disown"
|
||||
"waybar &"
|
||||
];
|
||||
exec-once = [ "awww-daemon & disown" "waybar &" ];
|
||||
|
||||
# Keybindings
|
||||
bind = [
|
||||
@@ -270,7 +261,8 @@ in
|
||||
"${super}, mouse_up, workspace, e-1"
|
||||
|
||||
# Screenshot
|
||||
''${super}, Z, exec, grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
|
||||
''
|
||||
${super}, Z, exec, grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
|
||||
"${super}, U, exec, grim $HOME/Pictures/Screenshots/$(date +'%s_grim.png')"
|
||||
];
|
||||
|
||||
|
||||
@@ -1,31 +1,21 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
{ pkgs, lib, ... }: {
|
||||
home.packages =
|
||||
lib.mkIf (!pkgs.stdenv.isDarwin) (with pkgs; [ rofi-power-menu rofi-calc ]);
|
||||
|
||||
home.packages = with pkgs; [
|
||||
rofi-power-menu
|
||||
rofi-calc
|
||||
];
|
||||
|
||||
programs.rofi = {
|
||||
programs.rofi = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
enable = true;
|
||||
cycle = true;
|
||||
package = pkgs.rofi;
|
||||
font = "FiraCode Nerd Font Mono 12";
|
||||
|
||||
location = "center";
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
|
||||
};
|
||||
|
||||
home.file = {
|
||||
home.file = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
".config/rofi/background.png".source = ./background.png;
|
||||
".config/rofi/custom.rasi".source = ./custom.rasi;
|
||||
".config/rofi/power.jpg".source = ./power.jpg;
|
||||
".config/rofi/power.rasi".source = ./power.rasi;
|
||||
".config/rofi/smoking_girl.png".source = ./smoking_girl.png;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
programs.sketchybar = lib.mkIf pkgs.stdenv.isDarwin {
|
||||
enable = true;
|
||||
configType = "lua";
|
||||
sbarLuaPackage = pkgs.sbarlua;
|
||||
};
|
||||
}
|
||||
32
home/desktop/sketchybar/default.nix
Normal file
32
home/desktop/sketchybar/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ pkgs, lib, isDarwin, ... }: {
|
||||
programs.sketchybar = lib.mkIf isDarwin {
|
||||
enable = true;
|
||||
configType = "lua";
|
||||
sbarLuaPackage = pkgs.sbarlua;
|
||||
};
|
||||
|
||||
home.file = lib.mkIf isDarwin {
|
||||
".config/sketchybar/sketchybar.lua".source = ./sketchybar.lua;
|
||||
".config/sketchybar/sketchybarrc".source = ./sketchybarrc;
|
||||
".config/sketchybar/plugins/battery.sh" = {
|
||||
source = ./plugins/battery.sh;
|
||||
executable = true;
|
||||
};
|
||||
".config/sketchybar/plugins/clock.sh" = {
|
||||
source = ./plugins/clock.sh;
|
||||
executable = true;
|
||||
};
|
||||
".config/sketchybar/plugins/front_app.sh" = {
|
||||
source = ./plugins/front_app.sh;
|
||||
executable = true;
|
||||
};
|
||||
".config/sketchybar/plugins/space.sh" = {
|
||||
source = ./plugins/space.sh;
|
||||
executable = true;
|
||||
};
|
||||
".config/sketchybar/plugins/volume.sh" = {
|
||||
source = ./plugins/volume.sh;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
28
home/desktop/sketchybar/plugins/battery.sh
Executable file
28
home/desktop/sketchybar/plugins/battery.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
PERCENTAGE="$(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1)"
|
||||
CHARGING="$(pmset -g batt | grep 'AC Power')"
|
||||
|
||||
if [ "$PERCENTAGE" = "" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "${PERCENTAGE}" in
|
||||
9[0-9]|100) ICON=" "
|
||||
;;
|
||||
[6-8][0-9]) ICON=" "
|
||||
;;
|
||||
[3-5][0-9]) ICON=" "
|
||||
;;
|
||||
[1-2][0-9]) ICON=" "
|
||||
;;
|
||||
*) ICON=" "
|
||||
esac
|
||||
|
||||
if [[ "$CHARGING" != "" ]]; then
|
||||
ICON=""
|
||||
fi
|
||||
|
||||
# The item invoking this script (name $NAME) will get its icon and label
|
||||
# updated with the current battery status
|
||||
sketchybar --set "$NAME" icon="$ICON" label="${PERCENTAGE}%"
|
||||
7
home/desktop/sketchybar/plugins/clock.sh
Executable file
7
home/desktop/sketchybar/plugins/clock.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The $NAME variable is passed from sketchybar and holds the name of
|
||||
# the item invoking this script:
|
||||
# https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting
|
||||
|
||||
sketchybar --set "$NAME" label="$(date '+%a %d %b %H:%M:%S')"
|
||||
10
home/desktop/sketchybar/plugins/front_app.sh
Executable file
10
home/desktop/sketchybar/plugins/front_app.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Some events send additional information specific to the event in the $INFO
|
||||
# variable. E.g. the front_app_switched event sends the name of the newly
|
||||
# focused application in the $INFO variable:
|
||||
# https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting
|
||||
|
||||
if [ "$SENDER" = "front_app_switched" ]; then
|
||||
sketchybar --set "$NAME" label="$INFO"
|
||||
fi
|
||||
7
home/desktop/sketchybar/plugins/space.sh
Executable file
7
home/desktop/sketchybar/plugins/space.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The $SELECTED variable is available for space components and indicates if
|
||||
# the space invoking this script (with name: $NAME) is currently selected:
|
||||
# https://felixkratz.github.io/SketchyBar/config/components#space----associate-mission-control-spaces-with-an-item
|
||||
|
||||
sketchybar --set "$NAME" icon.highlight="$SELECTED"
|
||||
20
home/desktop/sketchybar/plugins/volume.sh
Executable file
20
home/desktop/sketchybar/plugins/volume.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The volume_change event supplies a $INFO variable in which the current volume
|
||||
# percentage is passed to the script.
|
||||
|
||||
if [ "$SENDER" = "volume_change" ]; then
|
||||
VOLUME="$INFO"
|
||||
|
||||
case "$VOLUME" in
|
||||
[6-9][0-9]|100) ICON=""
|
||||
;;
|
||||
[3-5][0-9]) ICON=""
|
||||
;;
|
||||
[1-9]|[1-2][0-9]) ICON=""
|
||||
;;
|
||||
*) ICON=""
|
||||
esac
|
||||
|
||||
sketchybar --set "$NAME" icon="$ICON" label="$VOLUME%"
|
||||
fi
|
||||
278
home/desktop/sketchybar/sketchybar.lua
Executable file
278
home/desktop/sketchybar/sketchybar.lua
Executable file
@@ -0,0 +1,278 @@
|
||||
-- Main configuration file: sketchybar.lua
|
||||
-- Save this in ~/.config/sketchybar/
|
||||
|
||||
-- SketchyBar Lua API
|
||||
sbar = require("sketchybar")
|
||||
|
||||
-- Colors (Catppuccin Mocha theme)
|
||||
local colors = {
|
||||
text = 0xffcdd6f4,
|
||||
bg = 0xff1e1e2e,
|
||||
accent = 0xff74c7ec,
|
||||
green = 0xffa6e3a1,
|
||||
rosewater = 0xfff5e0dc,
|
||||
flamingo = 0xfff2cdcd,
|
||||
pink = 0xfff5c2e7,
|
||||
mauve = 0xffcba6f7,
|
||||
red = 0xfff38ba8,
|
||||
maroon = 0xffeba0ac,
|
||||
peach = 0xfffab387,
|
||||
yellow = 0xfff9e2af,
|
||||
teal = 0xff94e2d5,
|
||||
sky = 0xff89dceb,
|
||||
sapphire = 0xff74c7ec,
|
||||
blue = 0xff89b4fa,
|
||||
lavender = 0xffb4befe,
|
||||
subtext1 = 0xffbac2de,
|
||||
subtext0 = 0xffa6adc8,
|
||||
overlay2 = 0xff9399b2,
|
||||
overlay1 = 0xff7f849c,
|
||||
overlay0 = 0xff6c7086,
|
||||
surface2 = 0xff585b70,
|
||||
surface1 = 0xff45475a,
|
||||
surface0 = 0xff313244,
|
||||
base = 0xff1e1e2e,
|
||||
mantle = 0xff181825,
|
||||
crust = 0xff11111b,
|
||||
}
|
||||
|
||||
-- Default styles
|
||||
sbar.default({
|
||||
icon = {
|
||||
color = colors.text,
|
||||
font = "Hack Nerd Font:Bold:14.0",
|
||||
padding_right = 4,
|
||||
},
|
||||
label = {
|
||||
color = colors.text,
|
||||
font = "Hack Nerd Font:Bold:14.0",
|
||||
},
|
||||
padding_right = 20,
|
||||
popup = {
|
||||
background = {
|
||||
border_width = 2,
|
||||
corner_radius = 9,
|
||||
border_color = colors.accent,
|
||||
color = colors.bg,
|
||||
padding_right = 12,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Bar configuration
|
||||
sbar.bar({
|
||||
height = 32,
|
||||
position = "top",
|
||||
y_offset = 6,
|
||||
padding_left = 12,
|
||||
padding_right = 12,
|
||||
margin = 12,
|
||||
color = colors.bg,
|
||||
border_color = colors.accent,
|
||||
border_width = 2,
|
||||
corner_radius = 60,
|
||||
})
|
||||
|
||||
-- Apple logo menu
|
||||
local apple_logo = sbar.add("item", "apple.logo", {
|
||||
icon = {
|
||||
string = " ",
|
||||
padding_left = 6,
|
||||
font = "Hack Nerd Font:Bold:20.0",
|
||||
},
|
||||
label = { drawing = false },
|
||||
padding_left = 0,
|
||||
click_script = "sketchybar -m --set $NAME popup.drawing=toggle",
|
||||
popup = {
|
||||
y_offset = 8,
|
||||
},
|
||||
})
|
||||
|
||||
sbar.add("item", "apple.about", {
|
||||
position = "popup.apple.logo",
|
||||
icon = " ",
|
||||
label = "About",
|
||||
click_script = 'osascript -e \'tell application "System Events" to tell process "Finder" to click menu item "About This Mac" of menu 1 of menu bar item "Apple" of menu bar 1\'; sketchybar -m --set apple.logo popup.drawing=off',
|
||||
padding_left = 8,
|
||||
padding_right = 8,
|
||||
})
|
||||
|
||||
sbar.add("item", "apple.preferences", {
|
||||
position = "popup.apple.logo",
|
||||
icon = " ",
|
||||
label = "Preferences",
|
||||
click_script = "open -a 'System Preferences'; sketchybar -m --set apple.logo popup.drawing=off",
|
||||
padding_left = 8,
|
||||
padding_right = 8,
|
||||
})
|
||||
|
||||
sbar.add("item", "apple.activity", {
|
||||
position = "popup.apple.logo",
|
||||
icon = " ",
|
||||
label = "Activity",
|
||||
click_script = "open -a 'Activity Monitor'; sketchybar -m --set apple.logo popup.drawing=off",
|
||||
padding_left = 8,
|
||||
padding_right = 8,
|
||||
})
|
||||
|
||||
sbar.add("item", "apple.lock", {
|
||||
position = "popup.apple.logo",
|
||||
icon = " ",
|
||||
label = "Lock Screen",
|
||||
click_script = "pmset displaysleepnow; sketchybar -m --set apple.logo popup.drawing=off",
|
||||
padding_left = 8,
|
||||
padding_right = 8,
|
||||
})
|
||||
|
||||
-- Spaces
|
||||
local space_icons = { " ", " ", " ", " ", " ", " ", "7", "8", "9", "10" }
|
||||
for i = 1, #space_icons do
|
||||
local space = sbar.add("space", "space." .. i, {
|
||||
space = i,
|
||||
icon = {
|
||||
string = space_icons[i],
|
||||
padding_left = 2,
|
||||
padding_right = 2,
|
||||
highlight_color = colors.green,
|
||||
},
|
||||
label = { drawing = false },
|
||||
padding_right = 4,
|
||||
script = "$CONFIG_DIR/plugins/space.lua",
|
||||
click_script = "yabai -m space --focus " .. i,
|
||||
})
|
||||
|
||||
space:subscribe("space_change", function(env)
|
||||
local selected = env.SELECTED == "true"
|
||||
sbar.set(env.NAME, { icon = { highlight = selected } })
|
||||
end)
|
||||
end
|
||||
|
||||
-- Front app
|
||||
local front_app = sbar.add("item", "front_app", {
|
||||
position = "center",
|
||||
icon = " ",
|
||||
script = "$CONFIG_DIR/plugins/front_app.lua",
|
||||
})
|
||||
|
||||
front_app:subscribe("front_app_switched", function(env)
|
||||
sbar.set(env.NAME, { label = env.INFO })
|
||||
end)
|
||||
|
||||
-- Clock
|
||||
local clock = sbar.add("item", "clock", {
|
||||
position = "right",
|
||||
icon = " ",
|
||||
padding_right = 0,
|
||||
update_freq = 1,
|
||||
script = "$CONFIG_DIR/plugins/clock.lua",
|
||||
})
|
||||
|
||||
clock:subscribe("routine", function()
|
||||
sbar.exec("date '+%a %d %b %H:%M:%S'", function(date)
|
||||
sbar.set("clock", { label = date })
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Battery
|
||||
local battery = sbar.add("item", "battery", {
|
||||
position = "right",
|
||||
update_freq = 1,
|
||||
script = "$CONFIG_DIR/plugins/battery.lua",
|
||||
})
|
||||
|
||||
battery:subscribe({ "routine", "system_woke", "power_source_change" }, function()
|
||||
sbar.exec("pmset -g batt", function(batt_info)
|
||||
local percentage = batt_info:match("(%d+)%%")
|
||||
local charging = batt_info:match("AC Power") ~= nil
|
||||
|
||||
if not percentage then
|
||||
return
|
||||
end
|
||||
|
||||
local icon = " "
|
||||
local pct = tonumber(percentage)
|
||||
|
||||
if pct >= 90 then
|
||||
icon = " "
|
||||
elseif pct >= 60 then
|
||||
icon = " "
|
||||
elseif pct >= 30 then
|
||||
icon = " "
|
||||
elseif pct >= 10 then
|
||||
icon = " "
|
||||
else
|
||||
icon = " "
|
||||
end
|
||||
|
||||
if charging then
|
||||
icon = ""
|
||||
end
|
||||
|
||||
sbar.set("battery", {
|
||||
icon = icon,
|
||||
label = percentage .. "%",
|
||||
})
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Volume
|
||||
local volume = sbar.add("item", "volume", {
|
||||
position = "right",
|
||||
script = "$CONFIG_DIR/plugins/volume.lua",
|
||||
})
|
||||
|
||||
volume:subscribe("volume_change", function(env)
|
||||
local vol = tonumber(env.INFO)
|
||||
local icon = ""
|
||||
|
||||
if vol >= 60 then
|
||||
icon = ""
|
||||
elseif vol >= 30 then
|
||||
icon = ""
|
||||
elseif vol >= 1 then
|
||||
icon = ""
|
||||
end
|
||||
|
||||
sbar.set(env.NAME, {
|
||||
icon = icon,
|
||||
label = vol .. "%",
|
||||
})
|
||||
end)
|
||||
|
||||
-- WiFi
|
||||
local wifi = sbar.add("item", "wifi", {
|
||||
position = "right",
|
||||
update_freq = 10,
|
||||
})
|
||||
|
||||
wifi:subscribe("routine", function()
|
||||
-- Check if WiFi is active
|
||||
sbar.exec("ifconfig en0 | grep 'status: active'", function(status)
|
||||
local icon = " " -- Off
|
||||
|
||||
if status and status ~= "" then
|
||||
-- WiFi is active, check if connected to network
|
||||
sbar.exec("ifconfig en0 | grep 'inet '", function(inet)
|
||||
if inet and inet ~= "" then
|
||||
icon = " " -- Connected
|
||||
else
|
||||
icon = " " -- Disconnected
|
||||
end
|
||||
sbar.set("wifi", {
|
||||
icon = icon,
|
||||
label = "",
|
||||
})
|
||||
end)
|
||||
else
|
||||
-- WiFi is off
|
||||
sbar.set("wifi", {
|
||||
icon = icon,
|
||||
label = "",
|
||||
})
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Run the bar
|
||||
sbar.hotload(true)
|
||||
sbar.update()
|
||||
7
home/desktop/sketchybar/sketchybarrc
Executable file
7
home/desktop/sketchybar/sketchybarrc
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env lua
|
||||
|
||||
-- Load the sketchybar lua module
|
||||
package.cpath = package.cpath .. ";/Users/" .. os.getenv("USER") .. "/.local/share/sketchybar_lua/?.so"
|
||||
|
||||
-- Load your main config
|
||||
dofile(os.getenv("HOME") .. "/.config/sketchybar/sketchybar.lua")
|
||||
@@ -1,18 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
compositor ? "hyprland",
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
programs.waybar = {
|
||||
{ pkgs, lib, compositor ? "hyprland", ... }: {
|
||||
programs.waybar = lib.mkIf (!pkgs.stdenv.isDarwin) ({
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
}
|
||||
// (import ./dual.nix { inherit compositor; });
|
||||
home = {
|
||||
packages = with pkgs; [ cava ];
|
||||
file.".config/waybar" = {
|
||||
} // (import ./dual.nix { inherit compositor; }));
|
||||
|
||||
home.packages = lib.mkIf (!pkgs.stdenv.isDarwin) (with pkgs; [ cava ]);
|
||||
|
||||
home.file = lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
".config/waybar" = {
|
||||
source = ./configs;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.nixvim = {
|
||||
{ isDarwin, lib, ... }: {
|
||||
programs.nixvim = lib.mkIf (!isDarwin) {
|
||||
plugins.molten = {
|
||||
enable = true;
|
||||
python3Dependencies = p:
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
# GUI
|
||||
openscad
|
||||
blender
|
||||
fstl
|
||||
|
||||
# PDF Tools
|
||||
@@ -60,6 +59,7 @@
|
||||
thunderbird
|
||||
xonotic
|
||||
irssi
|
||||
blender
|
||||
] ++ lib.optionals pkgs.stdenv.isDarwin [ graphite-cli ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
eza # ls replacement
|
||||
tdf # terminal pdf viewer
|
||||
@@ -41,10 +40,10 @@
|
||||
tab_bar_min_tabs = 1;
|
||||
tab_bar_edge = "bottom";
|
||||
tab_bar_style = "custom"; # Should be changed to custom
|
||||
tab_title_template = "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}";
|
||||
tab_title_template =
|
||||
"{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}";
|
||||
|
||||
symbol_map =
|
||||
let
|
||||
symbol_map = let
|
||||
mappings = [
|
||||
"U+23FB-U+23FE"
|
||||
"U+2B58"
|
||||
@@ -65,8 +64,7 @@
|
||||
"U+F300-U+F313"
|
||||
"U+E5FA-U+E62B"
|
||||
];
|
||||
in
|
||||
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font Mono";
|
||||
in (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font Mono";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -77,24 +75,15 @@
|
||||
urls = [
|
||||
{
|
||||
url = "https://www.tagesschau.de/xml/rss2";
|
||||
tags = [
|
||||
"news"
|
||||
"de"
|
||||
];
|
||||
tags = [ "news" "de" ];
|
||||
}
|
||||
{
|
||||
url = "https://www.spiegel.de/schlagzeilen/index.rss";
|
||||
tags = [
|
||||
"news"
|
||||
"de"
|
||||
];
|
||||
tags = [ "news" "de" ];
|
||||
}
|
||||
{
|
||||
url = "https://www.focus.de/rss";
|
||||
tags = [
|
||||
"news"
|
||||
"de"
|
||||
];
|
||||
tags = [ "news" "de" ];
|
||||
}
|
||||
{
|
||||
url = "https://feeds.feedburner.com/blogspot/rkEL";
|
||||
@@ -103,9 +92,7 @@
|
||||
];
|
||||
};
|
||||
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
};
|
||||
programs.cava = { enable = true; };
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
@@ -113,13 +100,7 @@
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
settings = {
|
||||
ration = [
|
||||
1
|
||||
3
|
||||
4
|
||||
];
|
||||
};
|
||||
settings = { ration = [ 1 3 4 ]; };
|
||||
};
|
||||
|
||||
programs.fzf = {
|
||||
@@ -128,7 +109,8 @@
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
defaultCommand = "fd --type f --strip-cwd-prefix --hidden --exclude .git";
|
||||
fileWidgetCommand = "fd --type f --strip-cwd-prefix --hidden --exclude .git";
|
||||
fileWidgetCommand =
|
||||
"fd --type f --strip-cwd-prefix --hidden --exclude .git";
|
||||
defaultOptions = [
|
||||
"--height 100%"
|
||||
"--border sharp"
|
||||
@@ -189,9 +171,8 @@
|
||||
cat = "bat --color=always --style=numbers";
|
||||
grep = "rg";
|
||||
cp = "rsync -ah --progress";
|
||||
nix-switch =
|
||||
if pkgs.stdenv.isDarwin then
|
||||
"darwin-rebuild switch --flake ~/.config/nix#(hostname -s)"
|
||||
nix-switch = if pkgs.stdenv.isDarwin then
|
||||
"sudo darwin-rebuild switch --flake ~/.config/nix#(hostname -s)"
|
||||
else
|
||||
"sudo nixos-rebuild switch --flake ~/.config/nix#(hostname -s)";
|
||||
};
|
||||
@@ -249,7 +230,8 @@
|
||||
|
||||
# Git status module settings
|
||||
git_status = {
|
||||
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
|
||||
format =
|
||||
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
|
||||
style = "bold #a6e3a1";
|
||||
conflicted = "";
|
||||
untracked = "";
|
||||
|
||||
Reference in New Issue
Block a user