Update
This commit is contained in:
parent
90e8d5577e
commit
55a5c52c51
90
flake.lock
90
flake.lock
@ -1,5 +1,24 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"ags": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721306136,
|
||||||
|
"narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=",
|
||||||
|
"owner": "Aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"apple-fonts": {
|
"apple-fonts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
@ -149,7 +168,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
@ -400,6 +419,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprpanel": {
|
||||||
|
"inputs": {
|
||||||
|
"ags": "ags",
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724741517,
|
||||||
|
"narHash": "sha256-jC8FN8L4Xl/btXJg/gEPjJfC+NAf0oNnHwOA+goG52Y=",
|
||||||
|
"owner": "Jas-SinghFSU",
|
||||||
|
"repo": "HyprPanel",
|
||||||
|
"rev": "6140778e5d2dc6f71c5ab18c166254490bc26bac",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jas-SinghFSU",
|
||||||
|
"repo": "HyprPanel",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprutils": {
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -536,6 +574,38 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1718714799,
|
||||||
|
"narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722185531,
|
||||||
|
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724479785,
|
"lastModified": 1724479785,
|
||||||
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
|
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
|
||||||
@ -619,8 +689,9 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-plugins": "hyprland-plugins",
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
|
"hyprpanel": "hyprpanel",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix"
|
"spicetify-nix": "spicetify-nix"
|
||||||
@ -747,6 +818,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
@ -30,15 +30,18 @@
|
|||||||
inputs.hyprland.follows = "hyprland";
|
inputs.hyprland.follows = "hyprland";
|
||||||
};
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, ... }: {
|
outputs = inputs@{ nixpkgs, ... }: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
||||||
nixy = nixpkgs.lib.nixosSystem { # CHANGEME
|
nixy = nixpkgs.lib.nixosSystem { # CHANGEME
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
{ _module.args = { inherit inputs; }; }
|
{
|
||||||
|
nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
|
||||||
|
_module.args = { inherit inputs; };
|
||||||
|
}
|
||||||
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
|
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
./hosts/laptop/configuration.nix # CHANGEME
|
./hosts/laptop/configuration.nix # CHANGEME
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
|
|
||||||
while true;do
|
|
||||||
battery-plugged &
|
|
||||||
battery-level &
|
|
||||||
sleep 60
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
battery-plugged = pkgs.writeShellScriptBin "battery-plugged" ''
|
|
||||||
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
|
|
||||||
OLD_BATTERY_STATUS=$(cat /tmp/old_battery_status 2>/dev/null || echo "Unknown")
|
|
||||||
if [[ $BATTERY_STATUS != $OLD_BATTERY_STATUS && $OLD_BATTERY_STATUS != "Unknown" ]]; then
|
|
||||||
if [[ $BATTERY_STATUS == "Discharging" ]]; then
|
|
||||||
notif "battery" " Battery is unplugged"
|
|
||||||
else
|
|
||||||
notif "battery" " Battery is plugged in"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo $BATTERY_STATUS > /tmp/old_battery_status
|
|
||||||
'';
|
|
||||||
|
|
||||||
battery-level = pkgs.writeShellScriptBin "battery-level" ''
|
|
||||||
BATTERY_LEVEL=$(cat /sys/class/power_supply/BAT*/capacity | head -n1)
|
|
||||||
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
|
|
||||||
if [[ $BATTERY_LEVEL -le 20 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
|
|
||||||
notif "battery" " Low battery" "Battery level is $BATTERY_LEVEL%"
|
|
||||||
elif [[ $BATTERY_LEVEL -le 10 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
|
|
||||||
notif "battery" " Very low battery" "Battery level is $BATTERY_LEVEL%"
|
|
||||||
# elif [[ $BATTERY_LEVEL -eq 100 ]] && [[ $BATTERY_STATUS -ne "Discharging" ]]; then
|
|
||||||
# notif "battery" " Fully charged"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
in { home.packages = [ battery-watch battery-plugged battery-level ]; }
|
|
@ -8,12 +8,6 @@ let
|
|||||||
|
|
||||||
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+
|
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+
|
||||||
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%-
|
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%-
|
||||||
|
|
||||||
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
|
|
||||||
|
|
||||||
message=" Brightness: $brightness_level%"
|
|
||||||
|
|
||||||
notif "brightness" "$message" "extraargs=-h int:value:$brightness_level"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
|
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
|
||||||
|
@ -6,11 +6,9 @@
|
|||||||
./caffeine
|
./caffeine
|
||||||
./night-shift
|
./night-shift
|
||||||
./screenshot
|
./screenshot
|
||||||
./startup
|
|
||||||
./nerdfont_fzf
|
./nerdfont_fzf
|
||||||
./notification
|
./notification
|
||||||
./battery
|
|
||||||
./compress
|
./compress
|
||||||
./misc
|
./system
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
increments = "5";
|
increments = "5";
|
||||||
|
|
||||||
sound-change = pkgs.writeShellScriptBin "sound-change" ''
|
sound-change = pkgs.writeShellScriptBin "sound-change" ''
|
||||||
@ -10,23 +9,6 @@ let
|
|||||||
[[ $1 == "mute" ]] && wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
[[ $1 == "mute" ]] && wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
[[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%+"
|
[[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%+"
|
||||||
[[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%-"
|
[[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%-"
|
||||||
|
|
||||||
sink_info=$(wpctl get-volume @DEFAULT_AUDIO_SINK@)
|
|
||||||
|
|
||||||
volume=$(echo "$(echo "$sink_info" | awk '{print $2}' | sed 's/%//')*100" | bc -l | xargs printf "%.0f")
|
|
||||||
muted=false
|
|
||||||
if [[ $sink_info == *"MUTED"* ]]; then
|
|
||||||
muted=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
message=""
|
|
||||||
if [ $muted = true ]; then
|
|
||||||
message=" Muted"
|
|
||||||
else
|
|
||||||
message=" Volume: $volume%"
|
|
||||||
fi
|
|
||||||
|
|
||||||
notif "sound" "$message" "extraargs=-h int:value:$volume"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sound-up = pkgs.writeShellScriptBin "sound-up" ''
|
sound-up = pkgs.writeShellScriptBin "sound-up" ''
|
||||||
@ -40,47 +22,4 @@ let
|
|||||||
sound-toggle = pkgs.writeShellScriptBin "sound-toggle" ''
|
sound-toggle = pkgs.writeShellScriptBin "sound-toggle" ''
|
||||||
sound-change mute
|
sound-change mute
|
||||||
'';
|
'';
|
||||||
|
in { home.packages = [ sound-change sound-up sound-down sound-toggle ]; }
|
||||||
sound-output = pkgs.writeShellScriptBin "sound-output" ''
|
|
||||||
function parse_sinks(){
|
|
||||||
output=$(wpctl status)
|
|
||||||
sinks=($(echo "$output" | sed 's/ │ //' | awk '/Sinks:/ {flag=1; next} /^$/ {flag=0} flag' | sed 's/ /-/g'))
|
|
||||||
|
|
||||||
for sink in "''${sinks[@]}"; do
|
|
||||||
|
|
||||||
id=""
|
|
||||||
default=false
|
|
||||||
sink=$(echo "$sink" | sed 's/-/ /g')
|
|
||||||
sink_name=$(echo "$sink" | sed 's/\[vol:.*$//')
|
|
||||||
|
|
||||||
if [[ $sink_name == "*"* ]]; then
|
|
||||||
sink_name=$(echo "$sink_name" | sed 's/*//')
|
|
||||||
default=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
id=$(echo "$sink_name" | cut -d'.' -f1)
|
|
||||||
sink_name=$(echo "$sink_name" | sed 's/^[ ]*//;s/[ ]*$//' )
|
|
||||||
sink_name=$(echo "$sink_name" | cut -d'.' -f2 )
|
|
||||||
|
|
||||||
if [[ $default == true ]];then
|
|
||||||
printf "*%s (%d)" "$sink_name" "$id"
|
|
||||||
else
|
|
||||||
printf " %s (%d)" "$sink_name" "$id"
|
|
||||||
fi
|
|
||||||
printf "\n"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
choosed_sink=$(echo "$(parse_sinks)" | ${pkgs.fzf}/bin/fzf \
|
|
||||||
--border-label "Choose sound output" ) || exit 1
|
|
||||||
|
|
||||||
choosed_sink_id=$(echo "$choosed_sink" | sed 's/.*(\(.*\))/\1/')
|
|
||||||
|
|
||||||
wpctl set-default $choosed_sink_id
|
|
||||||
'';
|
|
||||||
|
|
||||||
in {
|
|
||||||
home.packages =
|
|
||||||
[ sound-output sound-change sound-up sound-down sound-toggle ];
|
|
||||||
}
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
# File runned at startup by Hyprland
|
|
||||||
{ pkgs, config, ... }:
|
|
||||||
let
|
|
||||||
startup = pkgs.writeShellScriptBin "startup" ''
|
|
||||||
# Startup is a script called by Hyprland on startup
|
|
||||||
# Because HM enabling services suck.
|
|
||||||
|
|
||||||
[[ ${toString config.var.sops} == "1" ]] && systemctl --user start sops-nix
|
|
||||||
|
|
||||||
battery-watch &
|
|
||||||
${pkgs.waybar}/bin/waybar &
|
|
||||||
|
|
||||||
|
|
||||||
wlr-randr --output "Unknown-1" --off # FIX: REMOVE WEIRD GHOST MONITOR
|
|
||||||
'';
|
|
||||||
|
|
||||||
in { home.packages = [ startup ]; }
|
|
1
home/system/batsignal/default.nix
Normal file
1
home/system/batsignal/default.nix
Normal file
@ -0,0 +1 @@
|
|||||||
|
{ services.batsignal.enable = true; }
|
@ -1,83 +0,0 @@
|
|||||||
{ config, pkgs, ... }: {
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ libnotify ];
|
|
||||||
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
name = "Moka";
|
|
||||||
package = pkgs.moka-icon-theme;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
rounded = "yes";
|
|
||||||
origin = "top-center";
|
|
||||||
monitor = "0";
|
|
||||||
alignment = "center";
|
|
||||||
vertical_alignment = "center";
|
|
||||||
width = "400";
|
|
||||||
height = "400";
|
|
||||||
scale = 0;
|
|
||||||
gap_size = 0;
|
|
||||||
progress_bar = true;
|
|
||||||
transparency = 0;
|
|
||||||
text_icon_padding = 0;
|
|
||||||
separator_color = "frame";
|
|
||||||
sort = "yes";
|
|
||||||
idle_threshold = 120;
|
|
||||||
line_height = 0;
|
|
||||||
markup = "full";
|
|
||||||
show_age_threshold = 60;
|
|
||||||
ellipsize = "middle";
|
|
||||||
ignore_newline = "no";
|
|
||||||
stack_duplicates = true;
|
|
||||||
sticky_history = "yes";
|
|
||||||
history_length = 20;
|
|
||||||
always_run_script = true;
|
|
||||||
corner_radius = config.var.theme.rounding;
|
|
||||||
follow = "mouse";
|
|
||||||
font = config.var.theme.font;
|
|
||||||
format = "<b>%s</b>\\n%b";
|
|
||||||
progress_bar_corner_radius = config.var.theme.rounding - 10;
|
|
||||||
#format = ''
|
|
||||||
# <span foreground='#${config.var.theme.colors.accent}'><b>%s %p</b></span>
|
|
||||||
# %b'';
|
|
||||||
frame_color = "#" + config.var.theme.colors.bg;
|
|
||||||
highlight = "#" + config.var.theme.colors.accent;
|
|
||||||
foreground = "#" + config.var.theme.colors.fg;
|
|
||||||
frame_width = 1;
|
|
||||||
offset = "0x10";
|
|
||||||
horizontal_padding = 10;
|
|
||||||
icon_position = "left";
|
|
||||||
indicate_hidden = "yes";
|
|
||||||
min_icon_size = 0;
|
|
||||||
max_icon_size = 64;
|
|
||||||
mouse_left_click = "do_action, close_current";
|
|
||||||
mouse_middle_click = "close_current";
|
|
||||||
mouse_right_click = "close_all";
|
|
||||||
padding = 10;
|
|
||||||
plain_text = "no";
|
|
||||||
separator_height = 2;
|
|
||||||
show_indicators = "yes";
|
|
||||||
shrink = "no";
|
|
||||||
word_wrap = "yes";
|
|
||||||
browser = "${pkgs.qutebrowser}/bin/qutebrowser";
|
|
||||||
};
|
|
||||||
|
|
||||||
fullscreen_delay_everything = { fullscreen = "delay"; };
|
|
||||||
|
|
||||||
urgency_critical = {
|
|
||||||
background = "#" + config.var.theme.colors.c1;
|
|
||||||
foreground = "#" + config.var.theme.colors.c0;
|
|
||||||
};
|
|
||||||
urgency_low = {
|
|
||||||
background = "#" + config.var.theme.colors.bgalt;
|
|
||||||
foreground = "#" + config.var.theme.colors.fgalt;
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#" + config.var.theme.colors.bgalt;
|
|
||||||
foreground = "#" + config.var.theme.colors.fgalt;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,7 +1,12 @@
|
|||||||
{ pkgs, config, inputs, ... }: {
|
{ pkgs, config, inputs, ... }: {
|
||||||
|
|
||||||
imports =
|
imports = [
|
||||||
[ ./hyprlock/macos.nix ./hypridle.nix ./hyprpaper.nix ./hyprcursor.nix ];
|
./hyprlock/macos.nix
|
||||||
|
./hypridle.nix
|
||||||
|
./hyprpaper.nix
|
||||||
|
./hyprcursor.nix
|
||||||
|
./hyprpanel.nix
|
||||||
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
hyprshot
|
hyprshot
|
||||||
@ -9,14 +14,13 @@
|
|||||||
swappy
|
swappy
|
||||||
imv
|
imv
|
||||||
wf-recorder
|
wf-recorder
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
wlr-randr
|
wlr-randr
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
brightnessctl
|
brightnessctl
|
||||||
gnome-themes-extra
|
gnome-themes-extra
|
||||||
wlsunset
|
wlsunset
|
||||||
xwayland
|
# xwayland
|
||||||
xdg-desktop-portal-gtk
|
# xdg-desktop-portal-gtk
|
||||||
qt5ct
|
qt5ct
|
||||||
libva
|
libva
|
||||||
dconf
|
dconf
|
||||||
@ -29,21 +33,36 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||||
# plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ]; # TODO: Fix, stack overflow
|
plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$shiftMod" = "SUPER_SHIFT";
|
"$shiftMod" = "SUPER_SHIFT";
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"startup"
|
|
||||||
"${pkgs.hypridle}/bin/hypridle"
|
|
||||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
|
||||||
"${pkgs.bitwarden}/bin/bitwarden"
|
"${pkgs.bitwarden}/bin/bitwarden"
|
||||||
|
"[[ ${
|
||||||
|
toString config.var.sops
|
||||||
|
} == 1 ]] && systemctl --user start sops-nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [ "eDP-2,highres,0x0,1" ",prefered,auto,1" ];
|
monitor = [ "eDP-2,highres,0x0,1" ",prefered,auto,1" ];
|
||||||
|
|
||||||
|
plugin = {
|
||||||
|
hyprexpo = {
|
||||||
|
columns = 2;
|
||||||
|
gap_size = 5;
|
||||||
|
bg_col = "rgb(111111)";
|
||||||
|
workspace_method =
|
||||||
|
"center current"; # [center/first] [workspace] e.g. first 1 or center m+1
|
||||||
|
|
||||||
|
enable_gesture = true; # laptop touchpad
|
||||||
|
gesture_fingers = 3; # 3 or 4
|
||||||
|
gesture_distance = 300; # how far is the "max"
|
||||||
|
gesture_positive = true; # positive = swipe down. Negative = swipe up.
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
bind = [
|
bind = [
|
||||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
|
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
|
||||||
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
||||||
@ -53,6 +72,7 @@
|
|||||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
|
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
|
||||||
"$mod, X, exec, powermenu" # Powermenu
|
"$mod, X, exec, powermenu" # Powermenu
|
||||||
"$mod, SPACE, exec, menu" # Launcher
|
"$mod, SPACE, exec, menu" # Launcher
|
||||||
|
"$shiftMod, SPACE, hyprexpo:expo, toggle" # HyprExpo
|
||||||
|
|
||||||
"$mod, Q, killactive," # Close window
|
"$mod, Q, killactive," # Close window
|
||||||
"$mod, T, togglefloating," # Toggle Floating
|
"$mod, T, togglefloating," # Toggle Floating
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once =
|
||||||
|
[ "${pkgs.hypridle}/bin/hypridle" ];
|
||||||
|
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,84 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
disable_loading_bar = true;
|
|
||||||
grace = 5;
|
|
||||||
no_fade_in = true;
|
|
||||||
no_fade_out = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
background = {
|
|
||||||
monitor = "";
|
|
||||||
path = "$HOME/wallpapers/${config.var.theme.wallpaper}";
|
|
||||||
color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
|
|
||||||
blur_size = 4;
|
|
||||||
blur_passes = 3;
|
|
||||||
noise = 1.17e-2;
|
|
||||||
contrast = 1.3;
|
|
||||||
brightness = 0.8;
|
|
||||||
vibrancy = 0.21;
|
|
||||||
vibrancy_darkness = 0.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
input-field = [{
|
|
||||||
monitor = "";
|
|
||||||
size = "250, 50";
|
|
||||||
outline_thickness = 3;
|
|
||||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
|
||||||
dots_spacing = 0.64; # Scale of dots' absolute size, 0.0 - 1.0
|
|
||||||
dots_center = true;
|
|
||||||
outer_color = "rgb(${config.var.theme.colors.accent})";
|
|
||||||
inner_color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
font_color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
fade_on_empty = true;
|
|
||||||
placeholder_text =
|
|
||||||
"Password..."; # Text rendered in the input box when it's empty.
|
|
||||||
position = "0, 80";
|
|
||||||
halign = "center";
|
|
||||||
valign = "bottom";
|
|
||||||
}];
|
|
||||||
|
|
||||||
label = [
|
|
||||||
# Current time
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text =
|
|
||||||
''cmd[update:1000] echo "<b><big> $(date +"%H:%M:%S") </big></b>"'';
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = 64;
|
|
||||||
font_family = config.var.theme.font;
|
|
||||||
position = "0, 16";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
# User label
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = ''
|
|
||||||
Hey <span text_transform="capitalize" size="larger">$USER</span>'';
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = config.var.theme.font-size;
|
|
||||||
font_family = config.var.theme.font;
|
|
||||||
position = "0, 0";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
# Type to unlock
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "Type to unlock!";
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = config.var.theme.font-size;
|
|
||||||
font_family = config.var.theme.font;
|
|
||||||
position = "0, 30";
|
|
||||||
halign = "center";
|
|
||||||
valign = "bottom";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,86 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
disable_loading_bar = true;
|
|
||||||
grace = 5;
|
|
||||||
no_fade_in = true;
|
|
||||||
no_fade_out = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
background = {
|
|
||||||
monitor = "";
|
|
||||||
color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
};
|
|
||||||
|
|
||||||
input-field = [{
|
|
||||||
monitor = "";
|
|
||||||
size = "250, 50";
|
|
||||||
outline_thickness = 3;
|
|
||||||
dots_size = 0.2;
|
|
||||||
dots_spacing = 0.64;
|
|
||||||
dots_center = false;
|
|
||||||
outer_color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
inner_color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
font_color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
fade_on_empty = false;
|
|
||||||
placeholder_text = "";
|
|
||||||
position = "1190, -50";
|
|
||||||
halign = "left";
|
|
||||||
valign = "center";
|
|
||||||
}];
|
|
||||||
|
|
||||||
shape = [{
|
|
||||||
monitor = "";
|
|
||||||
size = "520, 200";
|
|
||||||
color = "rgb(${config.var.theme.colors.bg})";
|
|
||||||
rounding = "0";
|
|
||||||
border_size = "3";
|
|
||||||
border_color = "rgba(255, 255, 255, 1.0)";
|
|
||||||
rotate = "0";
|
|
||||||
xray = "false";
|
|
||||||
position = "0, 0";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}];
|
|
||||||
|
|
||||||
label = [
|
|
||||||
# Current time
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = ''cmd[update:900] echo "time: $(date +"%H:%M:%S")"'';
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = config.var.theme.font-size;
|
|
||||||
font_family = config.var.theme.font-mono;
|
|
||||||
position = "1100, 50";
|
|
||||||
halign = "left";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
# Username
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "username: ${config.var.username}";
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = config.var.theme.font-size;
|
|
||||||
font_family = config.var.theme.font-mono;
|
|
||||||
position = "1100, 0";
|
|
||||||
halign = "left";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
# Password
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "password: ";
|
|
||||||
color = "rgb(${config.var.theme.colors.fg})";
|
|
||||||
font_size = config.var.theme.font-size;
|
|
||||||
font_family = config.var.theme.font-mono;
|
|
||||||
position = "1100, -50";
|
|
||||||
halign = "left";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
6
home/system/hyprland/hyprpanel.nix
Normal file
6
home/system/hyprland/hyprpanel.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs, config, ... }: {
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once =
|
||||||
|
[ "${pkgs.hyprpanel}/bin/hyprpanel" ];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ hyprpanel ];
|
||||||
|
}
|
@ -1,4 +1,7 @@
|
|||||||
{ config, ... }: {
|
{ pkgs, config, ... }: {
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once =
|
||||||
|
[ "${pkgs.hyprpaper}/bin/hyprpaper" ];
|
||||||
|
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -1,125 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
|
|
||||||
imports = [ ./style.nix ];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ libnotify ];
|
|
||||||
|
|
||||||
services.swaync = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
positionX = "right";
|
|
||||||
positionY = "top";
|
|
||||||
|
|
||||||
control-center-margin-top = 15;
|
|
||||||
control-center-margin-bottom = 15;
|
|
||||||
control-center-margin-right = 15;
|
|
||||||
control-center-margin-left = 15;
|
|
||||||
|
|
||||||
notification-icon-size = 32;
|
|
||||||
notification-body-image-height = 50;
|
|
||||||
notification-body-image-width = 50;
|
|
||||||
|
|
||||||
timeout-low = 5;
|
|
||||||
timeout = 10;
|
|
||||||
timeout-critical = 0;
|
|
||||||
|
|
||||||
fit-to-screen = true;
|
|
||||||
control-center-width = 500;
|
|
||||||
notification-window-width = 400;
|
|
||||||
|
|
||||||
keyboard-shortcuts = true;
|
|
||||||
image-visibility = "when-available";
|
|
||||||
|
|
||||||
transition-time = 200;
|
|
||||||
hide-on-clear = false;
|
|
||||||
hide-on-action = true;
|
|
||||||
script-fail-notify = true;
|
|
||||||
|
|
||||||
widgets = [
|
|
||||||
"menubar"
|
|
||||||
"title"
|
|
||||||
"buttons-grid"
|
|
||||||
"mpris"
|
|
||||||
"volume"
|
|
||||||
"backlight"
|
|
||||||
"dnd"
|
|
||||||
"notifications"
|
|
||||||
];
|
|
||||||
|
|
||||||
widget-config = {
|
|
||||||
title = {
|
|
||||||
text = "Notification Center";
|
|
||||||
clear-all-button = true;
|
|
||||||
button-text = " Clear All";
|
|
||||||
};
|
|
||||||
dnd = { text = "Do Not Disturb"; };
|
|
||||||
mpris = {
|
|
||||||
image-size = 96;
|
|
||||||
image-radius = 7;
|
|
||||||
};
|
|
||||||
volume = { label = ""; };
|
|
||||||
backlight = {
|
|
||||||
label = "";
|
|
||||||
subsystem = "backlight";
|
|
||||||
device = "nvidia_0";
|
|
||||||
};
|
|
||||||
menubar = {
|
|
||||||
"menu#power-buttons" = {
|
|
||||||
label = "";
|
|
||||||
position = "right";
|
|
||||||
actions = [
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "systemctl poweroff";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "systemctl reboot";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "systemctl suspend";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" = "${pkgs.hyprlock}/bin/hyprlock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" = "${pkgs.hyprland}/bin/hyprctl dispatch exit";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"buttons-grid" = {
|
|
||||||
"actions" = [
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" =
|
|
||||||
"${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" =
|
|
||||||
"${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" = "${pkgs.blueman}/bin/blueman-manager";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" =
|
|
||||||
"${pkgs.grimblast}/bin/grimblast --notify --freeze --wait 1 copysave area ~/Pictures/$(date +%Y-%m-%dT%H%M%S).png";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" = "";
|
|
||||||
"command" = "${pkgs.kooha}/bin/kooha";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,315 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
|
|
||||||
xdg.configFile."swaync/style.css" = {
|
|
||||||
text = ''
|
|
||||||
@define-color notif-bg #${config.var.theme.colors.bgalt};
|
|
||||||
@define-color notif-fg #${config.var.theme.colors.fgalt};
|
|
||||||
@define-color cc-bg #${config.var.theme.colors.bg};
|
|
||||||
@define-color cc-fg #${config.var.theme.colors.fg};
|
|
||||||
@define-color red #${config.var.theme.colors.c1};
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: "${config.var.theme.font}";
|
|
||||||
color: #${config.var.theme.colors.fg};
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-row {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-row:focus,
|
|
||||||
.notification-row:hover {
|
|
||||||
background: @notif-bg;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification {
|
|
||||||
border-radius: ${toString config.var.theme.rounding}px;
|
|
||||||
margin: 6px 12px;
|
|
||||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7),
|
|
||||||
0 2px 6px 2px rgba(0, 0, 0, 0.3);
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-content {
|
|
||||||
background: transparent;
|
|
||||||
padding: 6px;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close-button {
|
|
||||||
background: @cc-bg;
|
|
||||||
color: @cc-fg;
|
|
||||||
text-shadow: none;
|
|
||||||
padding: 0;
|
|
||||||
border-radius: 100%;
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-right: 16px;
|
|
||||||
box-shadow: none;
|
|
||||||
border: none;
|
|
||||||
min-width: 24px;
|
|
||||||
min-height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close-button:hover {
|
|
||||||
box-shadow: none;
|
|
||||||
background: @red;
|
|
||||||
transition: all 0.15s ease-in-out;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-default-action,
|
|
||||||
.notification-action {
|
|
||||||
padding: 4px;
|
|
||||||
margin: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
background: @cc-bg;
|
|
||||||
color: @cc-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-default-action:hover,
|
|
||||||
.notification-action:hover {
|
|
||||||
-gtk-icon-effect: none;
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-default-action {
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* When alternative actions are visible */
|
|
||||||
.notification-default-action:not(:only-child) {
|
|
||||||
border-bottom-left-radius: 0px;
|
|
||||||
border-bottom-right-radius: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-action {
|
|
||||||
border-radius: 0px;
|
|
||||||
border-top: none;
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* add bottom border radius to eliminate clipping */
|
|
||||||
.notification-action:first-child {
|
|
||||||
border-bottom-left-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-action:last-child {
|
|
||||||
border-bottom-right-radius: 10px;
|
|
||||||
border-right: 1px solid @noti-border-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.image {}
|
|
||||||
|
|
||||||
.body-image {
|
|
||||||
margin-top: 6px;
|
|
||||||
background-color: white;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.summary {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
background: transparent;
|
|
||||||
color: white;
|
|
||||||
text-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.time {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
background: transparent;
|
|
||||||
color: white;
|
|
||||||
text-shadow: none;
|
|
||||||
margin-right: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.body {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: normal;
|
|
||||||
background: transparent;
|
|
||||||
color: white;
|
|
||||||
text-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The "Notifications" and "Do Not Disturb" text widget */
|
|
||||||
.top-action-title {
|
|
||||||
color: white;
|
|
||||||
text-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center {
|
|
||||||
background-color: @cc-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center-list {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Window behind control center and on all other monitors */
|
|
||||||
.blank-window {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*** Widgets ***/
|
|
||||||
|
|
||||||
/* Title widget */
|
|
||||||
.widget-title {
|
|
||||||
margin: 8px;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-title>button {
|
|
||||||
font-size: initial;
|
|
||||||
color: white;
|
|
||||||
text-shadow: none;
|
|
||||||
background: @noti-bg;
|
|
||||||
border: 1px solid @noti-border-color;
|
|
||||||
box-shadow: none;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-title>button:hover {
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DND widget */
|
|
||||||
.widget-dnd {
|
|
||||||
margin: 8px;
|
|
||||||
font-size: 1.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd>switch {
|
|
||||||
font-size: initial;
|
|
||||||
border-radius: 12px;
|
|
||||||
background: @noti-bg;
|
|
||||||
border: 1px solid @noti-border-color;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd>switch:checked {
|
|
||||||
background: @bg-selected;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd>switch slider {
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Label widget */
|
|
||||||
.widget-label {
|
|
||||||
margin: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-label>label {
|
|
||||||
font-size: 1.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mpris widget */
|
|
||||||
.widget-mpris {
|
|
||||||
/* The parent to all players */
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-mpris-player {
|
|
||||||
padding: 8px;
|
|
||||||
margin: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-mpris-title {
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-mpris-subtitle {
|
|
||||||
font-size: 1.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Volume and Brightness Widget*/
|
|
||||||
|
|
||||||
.widget-volume {
|
|
||||||
background-color: @noti-bg;
|
|
||||||
padding: 4px 8px 8px 8px;
|
|
||||||
margin: 0px 8px 8px 8px;
|
|
||||||
border-bottom-left-radius: 12px;
|
|
||||||
border-bottom-right-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-backlight {
|
|
||||||
background-color: @noti-bg;
|
|
||||||
padding: 8px 8px 4px 8px;
|
|
||||||
margin: 8px 8px 0px 8px;
|
|
||||||
border-top-left-radius: 12px;
|
|
||||||
border-top-right-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.KB {
|
|
||||||
padding: 4px 8px 4px 8px;
|
|
||||||
margin: 0px 8px 0px 8px;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.power-buttons{
|
|
||||||
background-color: @noti-bg;
|
|
||||||
padding: 8px;
|
|
||||||
margin: 8px;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.power-buttons>button {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.power-buttons>button:hover {
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-menubar>box>.menu-button-bar>button{
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topbar-buttons>button{
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid{
|
|
||||||
padding: 8px;
|
|
||||||
margin: 8px;
|
|
||||||
border-radius: 12px;
|
|
||||||
background-color: @noti-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid>flowbox>flowboxchild>button{
|
|
||||||
background: @noti-bg;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermode-buttons{
|
|
||||||
background-color: @noti-bg;
|
|
||||||
padding: 8px;
|
|
||||||
margin: 8px;
|
|
||||||
border-radius: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermode-buttons>button {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermode-buttons>button:hover {
|
|
||||||
background: @noti-bg-hover;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,337 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
services = {
|
|
||||||
blueman-applet.enable = true;
|
|
||||||
network-manager-applet.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
mainBar = {
|
|
||||||
layer = config.var.theme.waybar.position;
|
|
||||||
position = config.var.theme.waybar.position;
|
|
||||||
spacing = 0;
|
|
||||||
"margin-top" = if config.var.theme.waybar.float
|
|
||||||
&& config.var.theme.waybar.position == "top" then
|
|
||||||
config.var.theme.gaps-out
|
|
||||||
else
|
|
||||||
0;
|
|
||||||
"margin-bottom" = if config.var.theme.waybar.float
|
|
||||||
&& config.var.theme.waybar.position == "bottom" then
|
|
||||||
config.var.theme.gaps-out
|
|
||||||
else
|
|
||||||
0;
|
|
||||||
"margin-left" = if config.var.theme.waybar.float then
|
|
||||||
config.var.theme.gaps-out
|
|
||||||
else
|
|
||||||
0;
|
|
||||||
"margin-right" = if config.var.theme.waybar.float then
|
|
||||||
config.var.theme.gaps-out
|
|
||||||
else
|
|
||||||
0;
|
|
||||||
height = 44;
|
|
||||||
modules-left = [ "custom/logo" "hyprland/window" ];
|
|
||||||
modules-center = [ "hyprland/workspaces" ];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
# "backlight"
|
|
||||||
# "pulseaudio"
|
|
||||||
"custom/caffeine"
|
|
||||||
"custom/night-shift"
|
|
||||||
"battery"
|
|
||||||
"clock"
|
|
||||||
"custom/notification"
|
|
||||||
"custom/power"
|
|
||||||
];
|
|
||||||
|
|
||||||
"wlr/taskbar" = {
|
|
||||||
format = "{icon}";
|
|
||||||
"on-click" = "activate";
|
|
||||||
"on-click-right" = "fullscreen";
|
|
||||||
|
|
||||||
"icon-size" = 25;
|
|
||||||
"tooltip-format" = "{title}";
|
|
||||||
};
|
|
||||||
"hyprland/window" = {
|
|
||||||
"format" = "{title:30}";
|
|
||||||
"max-length" = 30;
|
|
||||||
"separate-outputs" = true;
|
|
||||||
rewrite = {
|
|
||||||
"\\s*(.*)\\s+" = "$1"; # Remove trailing whitespace
|
|
||||||
# "\\s*" = # TODO FIXME
|
|
||||||
# "\${USER}@\${HOST}"; # Replace empty string with your username
|
|
||||||
".* - LibreWolf" = "LibreWolf";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
"on-click" = "activate";
|
|
||||||
format = "{icon}";
|
|
||||||
"format-icons" = {
|
|
||||||
"default" = "";
|
|
||||||
"1" = "1";
|
|
||||||
"2" = "2";
|
|
||||||
"3" = "3";
|
|
||||||
"4" = "4";
|
|
||||||
"5" = "5";
|
|
||||||
"6" = "6";
|
|
||||||
"7" = "7";
|
|
||||||
"8" = "8";
|
|
||||||
"9" = "9";
|
|
||||||
"active" = "";
|
|
||||||
"urgent" = "";
|
|
||||||
};
|
|
||||||
"persistent-workspaces" = {
|
|
||||||
"1" = [ ];
|
|
||||||
"2" = [ ];
|
|
||||||
"3" = [ ];
|
|
||||||
"4" = [ ];
|
|
||||||
"5" = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
tray = { spacing = 16; };
|
|
||||||
|
|
||||||
clock = {
|
|
||||||
"tooltip-format" = "<tt>{calendar}</tt>";
|
|
||||||
"format-alt" = " {:%a, %d %b %Y}";
|
|
||||||
format = " {:%I:%M %p}";
|
|
||||||
};
|
|
||||||
|
|
||||||
pulseaudio = {
|
|
||||||
format = "{icon}";
|
|
||||||
"format-bluetooth" = "";
|
|
||||||
nospacing = 1;
|
|
||||||
"tooltip-format" = "Volume : {volume}%";
|
|
||||||
"format-muted" = "";
|
|
||||||
"format-icons" = {
|
|
||||||
"headphone" = "";
|
|
||||||
"default" = [ "" "" "" ];
|
|
||||||
};
|
|
||||||
"on-click" = "sound-toggle";
|
|
||||||
"scroll-step" = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
"custom/logo" = {
|
|
||||||
format = " ";
|
|
||||||
tooltip = false;
|
|
||||||
on-click = "menu";
|
|
||||||
};
|
|
||||||
|
|
||||||
"custom/notification" = {
|
|
||||||
tooltip = false;
|
|
||||||
format = "{} {icon}";
|
|
||||||
"format-icons" = {
|
|
||||||
notification = "";
|
|
||||||
none = "";
|
|
||||||
"dnd-notification" = " ";
|
|
||||||
"dnd-none" = "";
|
|
||||||
"inhibited-notification" = " ";
|
|
||||||
"inhibited-none" = "";
|
|
||||||
"dnd-inhibited-notification" = " ";
|
|
||||||
"dnd-inhibited-none" = " ";
|
|
||||||
};
|
|
||||||
"return-type" = "json";
|
|
||||||
"exec-if" = "which swaync-client";
|
|
||||||
exec = "swaync-client -swb";
|
|
||||||
"on-click" = "sleep 0.1 && swaync-client -t -sw";
|
|
||||||
"on-click-right" = "sleep 0.1 && swaync-client -d -sw";
|
|
||||||
escape = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
battery = {
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
"format-icons" = {
|
|
||||||
"charging" = [ "" "" "" "" "" "" "" "" "" "" ];
|
|
||||||
"default" = [ "" "" "" "" "" "" "" "" "" "" ];
|
|
||||||
};
|
|
||||||
"format-full" = " ";
|
|
||||||
interval = 10;
|
|
||||||
states = {
|
|
||||||
warning = 20;
|
|
||||||
critical = 10;
|
|
||||||
};
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
"custom/power" = {
|
|
||||||
format = "";
|
|
||||||
tooltip = false;
|
|
||||||
on-click = "powermenu";
|
|
||||||
};
|
|
||||||
"custom/caffeine" = {
|
|
||||||
format = "{}";
|
|
||||||
max-length = 5;
|
|
||||||
interval = 10;
|
|
||||||
exec = "caffeine-status-icon";
|
|
||||||
"on-click" = "caffeine";
|
|
||||||
# exec-if = "pgrep spotify";
|
|
||||||
# return-type = "";
|
|
||||||
};
|
|
||||||
"custom/night-shift" = {
|
|
||||||
format = "{}";
|
|
||||||
max-length = 5;
|
|
||||||
interval = 10;
|
|
||||||
exec = "night-shift-status-icon";
|
|
||||||
"on-click" = "night-shift";
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
device = "nvidia_0";
|
|
||||||
format = "{icon}";
|
|
||||||
"format-icons" = [ " " " " "" "" "" "" "" "" "" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
min-height: 0;
|
|
||||||
font-family: "${config.var.theme.font}";
|
|
||||||
color: #${config.var.theme.colors.fg};
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: ${
|
|
||||||
if config.var.theme.waybar.transparent then
|
|
||||||
"rgba(0, 0, 0, 0)"
|
|
||||||
else
|
|
||||||
"#${config.var.theme.colors.bg}"
|
|
||||||
};
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: 0.5s;
|
|
||||||
border-radius: ${
|
|
||||||
if config.var.theme.waybar.float then
|
|
||||||
toString config.var.theme.rounding
|
|
||||||
else
|
|
||||||
"0"
|
|
||||||
}px;
|
|
||||||
font-size: ${toString config.var.theme.waybar.font-size}px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-left, .modules-center, .modules-right {
|
|
||||||
border-radius: ${
|
|
||||||
if config.var.theme.waybar.float then
|
|
||||||
toString config.var.theme.rounding
|
|
||||||
else
|
|
||||||
"0"
|
|
||||||
}px;
|
|
||||||
background-color: #${config.var.theme.colors.bg};
|
|
||||||
padding: 2px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar.hidden {
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
all: initial; /* Remove GTK theme values (waybar #1351) */
|
|
||||||
min-width: 0; /* Fix weird spacing in materia (waybar #450) */
|
|
||||||
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */
|
|
||||||
padding: 6px 18px;
|
|
||||||
margin: 6px 3px;
|
|
||||||
border-radius: 4px;
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
color: #${config.var.theme.colors.accentFg};
|
|
||||||
background-color: #${config.var.theme.colors.accent};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
box-shadow: inherit;
|
|
||||||
text-shadow: inherit;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: #${config.var.theme.colors.c1};
|
|
||||||
}
|
|
||||||
|
|
||||||
#window > * {
|
|
||||||
font-family: "${config.var.theme.font-mono}";
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory,
|
|
||||||
#custom-power,
|
|
||||||
#custom-notification,
|
|
||||||
#custom-caffeine,
|
|
||||||
#custom-night-shift,
|
|
||||||
#battery,
|
|
||||||
#backlight,
|
|
||||||
#pulseaudio,
|
|
||||||
#network,
|
|
||||||
#clock,
|
|
||||||
#tray,
|
|
||||||
#backlight{
|
|
||||||
border-radius: 9px;
|
|
||||||
margin: 6px 3px;
|
|
||||||
padding: 6px 12px;
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray menu {
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-logo {
|
|
||||||
padding-right: 7px;
|
|
||||||
font-size: ${toString config.var.theme.waybar.font-size}px;
|
|
||||||
color: #${config.var.theme.colors.accent};
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: #f38ba8;
|
|
||||||
color: #181825;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning,
|
|
||||||
#battery.critical,
|
|
||||||
#battery.urgent {
|
|
||||||
background-color: #ff0048;
|
|
||||||
color: #181825;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging {
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
animation: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-power {
|
|
||||||
background-color: #${config.var.theme.colors.accent};
|
|
||||||
color: #${config.var.theme.colors.accentFg};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 15px;
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip label {
|
|
||||||
padding: 5px;
|
|
||||||
background-color: #${config.var.theme.colors.bgalt};
|
|
||||||
color: #${config.var.theme.colors.fgalt};
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -21,16 +21,14 @@
|
|||||||
../../home/scripts # All scripts
|
../../home/scripts # All scripts
|
||||||
|
|
||||||
# System (Desktop environment like stuff)
|
# System (Desktop environment like stuff)
|
||||||
# ../../home/system/dunst
|
|
||||||
../../home/system/gtk
|
../../home/system/gtk
|
||||||
|
../../home/system/batsignal
|
||||||
../../home/system/zathura
|
../../home/system/zathura
|
||||||
../../home/system/hyprland
|
../../home/system/hyprland
|
||||||
../../home/system/waybar
|
|
||||||
../../home/system/wlogout
|
../../home/system/wlogout
|
||||||
../../home/system/wofi
|
../../home/system/wofi
|
||||||
../../home/system/mime
|
../../home/system/mime
|
||||||
../../home/system/udiskie
|
../../home/system/udiskie
|
||||||
../../home/system/swaync
|
|
||||||
|
|
||||||
./secrets # You should probably remove this line
|
./secrets # You should probably remove this line
|
||||||
];
|
];
|
||||||
@ -49,10 +47,7 @@
|
|||||||
wireguard-tools
|
wireguard-tools
|
||||||
|
|
||||||
# Dev
|
# Dev
|
||||||
wails
|
|
||||||
pkg-config
|
|
||||||
go
|
go
|
||||||
cargo
|
|
||||||
nodejs
|
nodejs
|
||||||
python3
|
python3
|
||||||
jq
|
jq
|
||||||
@ -78,7 +73,6 @@
|
|||||||
vscode
|
vscode
|
||||||
firefox
|
firefox
|
||||||
neovide
|
neovide
|
||||||
brave
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Import wallpapers into $HOME/wallpapers
|
# Import wallpapers into $HOME/wallpapers
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user