diff --git a/modules/application-groups/media.nix b/modules/application-groups/media.nix
index e15ce8a..57263c7 100644
--- a/modules/application-groups/media.nix
+++ b/modules/application-groups/media.nix
@@ -1,5 +1,19 @@
{ config, pkgs, ... }:
-{
+let
+ spotifyPlayerDesktopEntry = pkgs.writeTextFile {
+ name = "spotify-player-desktop";
+ destination = "/share/applications/spotify-player.desktop";
+ text = ''
+ [Desktop Entry]
+ Type=Application
+ Name=Spotify Player
+ Exec=kitty -e spotify_player
+ Icon=spotify_player
+ Terminal=false
+ Categories=Media;
+ '';
+ };
+in {
boot = {
# Make v4l2loopback kernel module available to NixOS.
extraModulePackages = with config.boot.kernelPackages; [
@@ -26,18 +40,20 @@
};
environment.systemPackages = with pkgs; [
- deadbeef
- vlc
- sox
- audacity
- glava
- spotify-player
- projectm_3
- obs-studio
- darktable
- # Encountering build failures
- # plex-desktop
+ audacity
+ darktable
+ deadbeef
+ glava
+ obs-studio
+ # plex-desktop --> Encountering build failures
+ projectm_3
+ sox
+ spotify-player
+ spotifyPlayerDesktopEntry
+ vlc
];
+
+
}
diff --git a/modules/application-groups/programming.nix b/modules/application-groups/programming.nix
index b194bf3..963052a 100644
--- a/modules/application-groups/programming.nix
+++ b/modules/application-groups/programming.nix
@@ -1,20 +1,35 @@
{ config, pkgs, ... }:
-{
+let
+ jetbrainsToolboxDesktopEntry = pkgs.writeTextFile {
+ name = "jetbrains-toolbox-desktop";
+ destination = "/share/applications/jetbrains-toolbox.desktop";
+ text = ''
+ [Desktop Entry]
+ Type=Application
+ Name=JetBrains Toolbox
+ Exec=jetbrains-toolbox
+ Icon=jetbrains-toolbox
+ Terminal=false
+ Categories=Development;IDE;
+ '';
+ };
+in {
environment.systemPackages = with pkgs; [
- vscode-with-extensions
- nixfmt-rfc-style
- platformio
- jetbrains-toolbox
arduino-ide
- python311Full
gcc
+ jetbrains-toolbox
+ jetbrainsToolboxDesktopEntry
+ nix-update
+ nixfmt-rfc-style
+ nixos-generators
nodejs
+ platformio
+ python311Full
+ python3Full
stm32cubemx
stm32flash
- python3Full
- nix-update
- nixos-generators
teensy-udev-rules
+ vscode-with-extensions
];
services.udev.extraRules = ''
diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix
index b60935f..677c9c0 100644
--- a/users/caperren/caperren.nix
+++ b/users/caperren/caperren.nix
@@ -3,7 +3,9 @@ let
hyprlandConfigPath = ./. + "/dotfiles/hyprland/${config.networking.hostName}";
kanshiConfigPath = ./. + "/dotfiles/kanshi/${config.networking.hostName}";
spotifyPlayerAppTomlTextTemplate = builtins.readFile ./dotfiles/spotify-player/app.toml;
- spotifyPlayerAppTomlText = builtins.replaceStrings [ "{{hostname}}" ] [ config.networking.hostName ] spotifyPlayerAppTomlTextTemplate;
+ spotifyPlayerAppTomlText =
+ builtins.replaceStrings [ "{{hostname}}" ] [ config.networking.hostName ]
+ spotifyPlayerAppTomlTextTemplate;
waybarConfigPath = ./. + "/dotfiles/waybar/${config.networking.hostName}";
in
{
@@ -35,11 +37,35 @@ in
userEmail = "caperren@gmail.com";
};
+ home.file.".config/hypr/hypridle.conf".source = ./dotfiles/hypridle/hypridle.conf;
home.file.".config/hypr/hyprland-common.conf".source = ./dotfiles/hyprland/hyprland-common.conf;
home.file.".config/hypr/hyprland.conf".source = hyprlandConfigPath + "/hyprland.conf";
home.file.".config/kanshi/config".source = kanshiConfigPath + "/config";
home.file.".config/spotify-player/app.toml".text = spotifyPlayerAppTomlText;
home.file.".config/waybar/config".source = waybarConfigPath + "/config";
home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout;
+
+ gtk = {
+ enable = true;
+
+ theme = {
+ name = "Adwaita-dark"; # Or another dark theme
+ package = pkgs.gnome-themes-extra;
+ };
+
+ iconTheme = {
+ name = "Papirus-Dark";
+ package = pkgs.papirus-icon-theme;
+ };
+
+ cursorTheme = {
+ name = "Bibata-Modern-Ice";
+ package = pkgs.bibata-cursors;
+ };
+ };
+
+ home.sessionVariables = {
+ GTK_THEME = "Adwaita-dark";
+ };
};
}
diff --git a/users/caperren/dotfiles/hypridle/hypridle.conf b/users/caperren/dotfiles/hypridle/hypridle.conf
new file mode 100644
index 0000000..f4dd2c8
--- /dev/null
+++ b/users/caperren/dotfiles/hypridle/hypridle.conf
@@ -0,0 +1,33 @@
+general {
+ lock_cmd = pidof hyprlock || hyprlock # Avoid starting multiple hyprlock instances
+ before_sleep_cmd = loginctl lock-session # Lock before suspend
+ after_sleep_cmd = hyprctl dispatch dpms on # To avoid having to press a key twice to turn on the display
+}
+
+listener {
+ timeout = 60 # 1 minute
+ on-timeout = brightnessctl -sd platform::kbd_backlight set 0 # Turn off keyboard backlight
+ on-resume = brightnessctl -rd platform::kbd_backlight # Turn on keyboard backlight
+}
+
+listener {
+ timeout = 180 # 3 minutes
+ on-timeout = brightnessctl -s set 1% # Set monitor backlight to minimum
+ on-resume = brightnessctl -r # monitor backlight restore
+}
+
+listener {
+ timeout = 600 # 10 minutes
+ on-timeout = loginctl lock-session # Lock screen when timeout has passed
+}
+
+listener {
+ timeout = 610 # 10 minutes, 10 seconds
+ on-timeout = hyprctl dispatch dpms off # Screen off when timeout has passed
+ on-resume = hyprctl dispatch dpms on # Screen on when activity is detected after timeout has fired
+}
+
+# listener {
+# timeout = 1200 # 20 minutes
+# on-timeout = systemctl suspend # Suspend pc
+# }
diff --git a/users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf b/users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf
index 567014c..92ebdeb 100644
--- a/users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf
+++ b/users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf
@@ -2,4 +2,8 @@
monitor=eDP-2,2560x1600@165,auto,1,vrr,1
# Source configs
-source = ~/.config/hypr/hyprland-common.conf
\ No newline at end of file
+source = ~/.config/hypr/hyprland-common.conf
+
+# Application launch
+exec-once = brightnessctl -sd platform::kbd_backlight set 1
+exec-once = brightnessctl -s set 30%
\ No newline at end of file
diff --git a/users/caperren/dotfiles/hyprland/hyprland-common.conf b/users/caperren/dotfiles/hyprland/hyprland-common.conf
index f315bc1..516e3e0 100644
--- a/users/caperren/dotfiles/hyprland/hyprland-common.conf
+++ b/users/caperren/dotfiles/hyprland/hyprland-common.conf
@@ -162,12 +162,16 @@ bind = ,XF86MonBrightnessDown, exec, brightnessctl s 1%-
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1%
# Application launch
-exec-once = kanshi &
-exec-once = ydotoold &
+exec-once = kanshi
+exec-once = ydotoold
+exec-once = hypridle
-exec-once = sleep 3 && waybar
+exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10%
+
+# Loop needed until waybar gtk icon crash fixed
+exec-once = bash -c "while true; do waybar; sleep 3; done"
exec-once = sleep 5 && nm-applet
exec-once = sleep 5 && blueman-applet
exec-once = sleep 5 && streamdeck -n
-exec-once = sleep 5 & telegram-desktop -startintray
\ No newline at end of file
+exec-once = sleep 5 && Telegram -startintray
\ No newline at end of file
diff --git a/users/caperren/dotfiles/waybar/cap-nr200p/config b/users/caperren/dotfiles/waybar/cap-nr200p/config
index 5388a83..cf95c60 100644
--- a/users/caperren/dotfiles/waybar/cap-nr200p/config
+++ b/users/caperren/dotfiles/waybar/cap-nr200p/config
@@ -43,7 +43,9 @@
"format-icons": {
"activated": "",
"deactivated": ""
- }
+ },
+ "tooltip-format-activated": "idle-inhibitor on",
+ "tooltip-format-deactivated": "idle-inhibitor off"
},
"clock": {
"format": "{:%I:%M:%S %p | %a | %F}",
diff --git a/users/caperren/dotfiles/waybar/cap-slim7/config b/users/caperren/dotfiles/waybar/cap-slim7/config
index dedaf9c..075b96c 100644
--- a/users/caperren/dotfiles/waybar/cap-slim7/config
+++ b/users/caperren/dotfiles/waybar/cap-slim7/config
@@ -70,7 +70,9 @@
"format-icons": {
"activated": "",
"deactivated": ""
- }
+ },
+ "tooltip-format-activated": "idle-inhibitor on",
+ "tooltip-format-deactivated": "idle-inhibitor off"
},
"clock": {
"format": "{:%I:%M:%S %p | %a | %F}",