diff --git a/hosts/sakura/default.nix b/hosts/sakura/default.nix index 0832657..3650301 100644 --- a/hosts/sakura/default.nix +++ b/hosts/sakura/default.nix @@ -29,6 +29,7 @@ in fwupd fw-ectool monero-gui + remmina ]; etc.hosts.mode = "0700"; }; diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index ee91626..e683cd2 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -56,7 +56,7 @@ home.file.".cache/nwg-dock-pinned".text = '' chromium-browser - thunar + nautilus ${if (host == "sakura") then "darktable" else ""} ${if (host == "sakura") then "flstudio" else ""} ${if (host == "iris") then "steam" else ""} @@ -79,13 +79,13 @@ } listener { - timeout = 165 # in seconds - on-timeout = pgrep hyprlock || hyprlock + timeout = 300 # 5m in seconds + on-timeout = if [ -f "$HOME/.config/hypr/caffeine_mode" ]; then exit 0; else pgrep hyprlock || hyprlock; fi } listener { - timeout = 1800 # in seconds - on-timeout = systemctl suspend; hyprlock + timeout = 1800 # 30m in seconds + on-timeout = if [ -f "$HOME/.config/hypr/caffeine_mode" ]; then exit 0; else systemctl suspend; hyprlock; fi } ''; @@ -264,7 +264,7 @@ "$mainMod, D, exec, bemenu-run -l 5 --ignorecase" "SUPER SHIFT, L, exec, swaylock --image /home/${username}/.local/share/bg.png" "SUPER, L, exec, swaylock --image /home/${username}/.local/share/bg.png" - "$mainMod, E, exec, thunar" + "$mainMod, E, exec, nautilus" "$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped" "$mainMod, C,exec, hyprpicker -a" "$mainMod, W,exec, wallpaper-picker" diff --git a/modules/home/hyprland/hyprland.nix b/modules/home/hyprland/hyprland.nix index 75c10ad..e215b35 100644 --- a/modules/home/hyprland/hyprland.nix +++ b/modules/home/hyprland/hyprland.nix @@ -12,6 +12,7 @@ direnv nwg-dock-hyprland hyprland-monitor-attached + hypridle ]; # systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; wayland.windowManager.hyprland = { diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 7fe86cd..fa19aea 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -30,6 +30,7 @@ gnumake python3 nautilus + qbittorrent # CLI shit bitwarden-cli diff --git a/modules/home/qutebrowser.nix b/modules/home/qutebrowser.nix index 2fc880f..543becb 100644 --- a/modules/home/qutebrowser.nix +++ b/modules/home/qutebrowser.nix @@ -34,6 +34,16 @@ in programs.qutebrowser = { enable = true; + keyBindings = { + normal = { + "d" = "scroll-page 0 0.5"; + "u" = "scroll-page 0 -0.5"; + "x" = "tab-close -o"; + "" = "undo"; + ",v" = "spawn mpv {url}"; + }; + }; + settings = { fonts = { default_family = "GohuFont 14 Nerd Font Mono"; diff --git a/modules/home/scripts/scripts.nix b/modules/home/scripts/scripts.nix index 3ca810e..3767e57 100644 --- a/modules/home/scripts/scripts.nix +++ b/modules/home/scripts/scripts.nix @@ -15,6 +15,7 @@ let dock-on-all-monitors = pkgs.writeScriptBin "dock-on-all-monitors" ( builtins.readFile ./scripts/dock-on-all-monitors.sh ); + caffeine = pkgs.writeScriptBin "caffeine" (builtins.readFile ./scripts/caffeine); in { home.packages = with pkgs; [ @@ -29,5 +30,6 @@ in toggle_oppacity ascii dock-on-all-monitors + caffeine ]; } diff --git a/modules/home/scripts/scripts/caffeine b/modules/home/scripts/scripts/caffeine new file mode 100755 index 0000000..0bc1bd3 --- /dev/null +++ b/modules/home/scripts/scripts/caffeine @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +CAFFEINE_FILE="$HOME/.config/hypr/caffeine_mode" + +if [ -f "$CAFFEINE_FILE" ]; then + rm "$CAFFEINE_FILE" + notify-send "Caffeine" "Disabled" +else + touch "$CAFFEINE_FILE" + notify-send "Caffeine" "Enabled" +fi diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index dec5655..6f2bfbf 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -109,11 +109,12 @@ }, "custom/music": { - "interval": 5, + "interval": "once", "return-type": "json", "exec": "~/.local/bin/waybar-music", "on-click": "playerctl play-pause", - "escape": true + "escape": true, + "signal": 2 }, "custom/devices": { diff --git a/modules/home/waybar/scripts.nix b/modules/home/waybar/scripts.nix index 7db02b1..c3723c0 100644 --- a/modules/home/waybar/scripts.nix +++ b/modules/home/waybar/scripts.nix @@ -97,8 +97,10 @@ in #!/usr/bin/env zsh typeset -A known=( - 'headphones' '38:18:4C:D1:AE:48' + 'ch700n' '38:18:4C:D1:AE:48' 'airpods' '2C:18:09:EF:BD:11' + 'headphones' '38:18:4C:D4:B7:B4' + 'trackpad' '38:18:4C:D4:B7:B4' ) function get_addr_or_fail () { @@ -194,18 +196,18 @@ in if [[ "$(echo $MICROPHONE_STATE | grep 'Microphone: Connected')" ]]; then MIC=1 - MTEXT="󰍬 - available!" + MTEXT="microphone: available!" else MIC=0 - MTEXT=" " + MTEXT="" fi if [[ "$(echo $CAMERA_STATE | grep 'Camera: Connected')" ]]; then CAM=1 - CTEXT="󰄀 - available!" + CTEXT="camera: available!" else CAM=0 - CTEXT="󰗟 " + CTEXT="" fi echo "$CTEXT $MTEXT" diff --git a/roles/creative.nix b/roles/creative.nix index 37a9200..cb2762d 100644 --- a/roles/creative.nix +++ b/roles/creative.nix @@ -16,13 +16,28 @@ in }; config = mkIf cfg.enable { + programs.obs-studio = { + enable = true; + enableVirtualCamera = true; + }; + environment.systemPackages = [ + (pkgs.wrapOBS { + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + obs-vaapi # optional AMD hardware acceleration + obs-gstreamer + obs-vkcapture + ]; + }) + ]; home-manager = { users.${username} = { home.packages = with pkgs; [ gimp darktable audacity - obs-studio kdePackages.kdenlive orca-slicer freecad diff --git a/roles/gui.nix b/roles/gui.nix index 9c44843..bf34e9a 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -76,7 +76,8 @@ in nsxiv imv libreoffice - xfce.thunar + #xfce.thunar + nautilus # spotify spotify-player thunderbird