Added better bluetooth headphone setup, starting pollkit agent, better screenshot script

This commit is contained in:
Nate Anderson 2025-01-06 16:00:23 -07:00
parent 63500cd8cc
commit ecdab71a09
9 changed files with 50 additions and 27 deletions

View File

@ -74,7 +74,6 @@ in
installGaming = deskCfg.installGaming; installGaming = deskCfg.installGaming;
systemPackages = with pkgs; [ systemPackages = with pkgs; [
libreoffice libreoffice
rpi-imager
]; ];
}; };

View File

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
entries="Screen Window Area" entries="Screen Window Area Area+Edit"
selected=$(printf '%s\n' "$entries" | tr ' ' '\n' | wofi --style="$HOME"/.config/wofi/macc_style.css --conf="$HOME"/.config/wofi/config.screenshot | awk '{print tolower($1)}') selected=$(printf '%s\n' "$entries" | tr ' ' '\n' | wofi --style="$HOME"/.config/wofi/macc_style.css --conf="$HOME"/.config/wofi/config.screenshot | awk '{print tolower($1)}')
@ -12,14 +12,24 @@ if [ "$1" == "clipboard" ]; then
hyprshot --notif-timeout 2000 -m window --clipboard-only;; hyprshot --notif-timeout 2000 -m window --clipboard-only;;
area) area)
hyprshot --notif-timeout 2000 -m region --clipboard-only;; hyprshot --notif-timeout 2000 -m region --clipboard-only;;
area+edit)
hyprshot --notif-timeout 2000 -m region --clipboard-only
sleep 0.1
flatpak run com.github.maoschanz.drawing -c
;;
esac esac
else else
case $selected in case $selected in
screen) screen)
hyprshot --notif-timeout 2000 -m output -o ~/;; hyprshot --notif-timeout 2000 -m output -o ~/Pictures/;;
window) window)
hyprshot --notif-timeout 2000 -m window -o ~/;; hyprshot --notif-timeout 2000 -m window -o ~/Pictures/;;
area) area)
hyprshot --notif-timeout 2000 -m region -o ~/;; hyprshot --notif-timeout 2000 -m region -o ~/Pictures/;;
area+edit)
hyprshot --notif-timeout 2000 -m region --clipboard-only
sleep 0.1
flatpak run com.github.maoschanz.drawing -c
;;
esac esac
fi fi

View File

@ -6,3 +6,4 @@ show=dmenu
location=top_right location=top_right
x=-200 x=-200
y=60 y=60
prompt="Screenshot"

View File

@ -94,6 +94,7 @@
cli-visualizer cli-visualizer
openscad openscad
libxml2 libxml2
nfs-utils
# #
# Better Unix # Better Unix
@ -118,11 +119,9 @@
# #
# Photo / Video # Photo / Video
# #
# oldstable.davinci-resolve-studio davinci-resolve-studio
# davinciDesktop
imv imv
mpv mpv
gimp
ffmpeg ffmpeg
tenacity tenacity
yt-dlp yt-dlp
@ -179,6 +178,8 @@
enable = true; enable = true;
indicator = true; indicator = true;
}; };
# Enable bluetooth headphone controls
services.mpris-proxy.enable = true;
home.sessionVariables = { home.sessionVariables = {
# BAT_THEME="Catppuccin Macchiato"; # BAT_THEME="Catppuccin Macchiato";

View File

@ -1,7 +1,7 @@
{ inputs, lib, config, pkgs, ... }: { inputs, lib, config, pkgs, ... }:
# let let
# unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; # unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; };
# in in
{ {
options.hyprhome = { options.hyprhome = {
enable = lib.mkEnableOption "Enable hyprland home config"; enable = lib.mkEnableOption "Enable hyprland home config";
@ -29,6 +29,7 @@
"sleep 5 && syncthingtray --wait" "sleep 5 && syncthingtray --wait"
"blueman-applet" "blueman-applet"
"hypridle" "hypridle"
"lxqt-policykit-agent"
# May need to kill mako if nwg-panel starts it # May need to kill mako if nwg-panel starts it
"swaync" "swaync"
"keepassxc" "keepassxc"
@ -143,12 +144,12 @@
bindel = [ bindel = [
# Brightness / Volume Controls # Brightness / Volume Controls
# Chromebook has the printed symbols for these actions, but are really just fn keys # Chromebook has the printed symbols for these actions, but are really just fn keys
"$mod, XF86MonBrightnessDown, exec, brightnessctl s 10%-" ", XF86MonBrightnessDown, exec, brightnessctl s 10%-"
"$mod, XF86MonBrightnessUp, exec, brightnessctl s 10%+" ", XF86MonBrightnessUp, exec, brightnessctl s 10%+"
"$mod, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
"$mod, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
"$mod, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
"$mod, XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
]; ];
# Lid switch binds # Lid switch binds
bindl = [ bindl = [
@ -159,12 +160,6 @@
", switch:off:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, 2560x1600@165, 0x0, 1.00' && nwg-panel" ", switch:off:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, 2560x1600@165, 0x0, 1.00' && nwg-panel"
# ", switch:off:[switch name], exec, hyprctl dispatch dpms on eDP-1" # ", switch:off:[switch name], exec, hyprctl dispatch dpms on eDP-1"
]; ];
# env = [
# "XCURSOR_THEME,catppuccin-macchiato-lavender-cursors"
# "XCURSOR_SIZE,24"
# "HYPRCURSOR_THEME,catppuccin-macchiato-lavender-cursors"
# "HYPRCURSOR_SIZE,24"
# ];
windowrulev2 = [ windowrulev2 = [
# float keepass windows, put main window in scratch # float keepass windows, put main window in scratch
"float, class:^(org.keepassxc.KeePassXC)$" "float, class:^(org.keepassxc.KeePassXC)$"
@ -186,7 +181,7 @@
", preferred, auto, 1" ", preferred, auto, 1"
]; ];
cursor = { cursor = {
no_hardware_cursors = false; no_hardware_cursors = true;
# allow_dumb_copy = true; # allow_dumb_copy = true;
}; };
misc = { misc = {

View File

@ -1,6 +1,7 @@
{ inputs, lib, config, pkgs, ...}: { inputs, lib, config, pkgs, ...}:
let let
unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; };
isOnTheGo = builtins.elem "on-the-go" config.system.nixos.tags;
in in
{ {
options.hypr = { options.hypr = {
@ -58,8 +59,9 @@ in
GDK_BACKEND = "wayland"; GDK_BACKEND = "wayland";
WLR_NO_HARDWARE_CURSORS = "1"; WLR_NO_HARDWARE_CURSORS = "1";
# For hyprland # For hyprland
# LIBVA_DRIVER_NAME = "nvidia"; # Only enable if not using on-the-go
# __GLX_VENDOR_LIBRARY_NAME = "nvidia"; GBM_BACKEND = if isOnTheGo then "" else "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = if isOnTheGo then "" else "nvidia";
}; };
}; };
xdg.portal = { xdg.portal = {
@ -125,18 +127,27 @@ in
services.logind.lidSwitchExternalPower = "ignore"; services.logind.lidSwitchExternalPower = "ignore";
# For yubioath desktop # For yubioath desktop
services.pcscd.enable = true; services.pcscd.enable = true;
# Audio
# security.rtkit.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
# Keyring setup # Keyring setup
security.pam.services.gdm.enableGnomeKeyring = true; security.pam.services.gdm.enableGnomeKeyring = true;
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
# Audio # Audio
security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
audio.enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
wireplumber.extraConfig.bluetoothEnhancements = {
"monitor.bluez.properties" = {
"bluez5.enable-sbc-xq" = true;
"bluez5.enable-msbc" = true;
"bluez5.enable-hw-volume" = true;
"bluez5.roles" = [ "hsp_hs" "hsp_ag" "hfp_hf" "hfp_ag" "a2dp_sink" "a2dp_source" ];
};
};
}; };
services.blueman.enable = true; services.blueman.enable = true;
services.flatpak.enable = true; services.flatpak.enable = true;