From c65ea987343a7ef091ff1e209be538b1dbf19567 Mon Sep 17 00:00:00 2001
From: DerGrumpf
Date: Wed, 16 Apr 2025 21:54:10 +0200
Subject: [PATCH] Changed: Programms
---
home/programs/games/airshipper.nix | 6 +
home/programs/games/steam.nix | 8 +-
home/programs/media/audio.nix | 11 +-
home/programs/media/media.nix | 1 +
home/programs/media/spotify.nix | 15 --
.../media/spotify/player-configs/app.toml | 37 +++++
.../media/spotify/player-configs/theme.toml | 148 ++++++++++++++++++
.../programs/media/spotify/spotify-player.nix | 13 ++
home/programs/media/spotify/spotify-tui.nix | 13 ++
home/programs/media/spotify/spotify.nix | 10 ++
home/programs/media/spotify/spotifyd.nix | 12 ++
home/programs/media/webcam.nix | 14 ++
hosts/m920q/hardware-configuration.nix | 7 +-
modules/firewall.nix | 4 +-
modules/system.nix | 9 +-
users/phil/home.nix | 5 +-
16 files changed, 274 insertions(+), 39 deletions(-)
create mode 100644 home/programs/games/airshipper.nix
delete mode 100644 home/programs/media/spotify.nix
create mode 100644 home/programs/media/spotify/player-configs/app.toml
create mode 100644 home/programs/media/spotify/player-configs/theme.toml
create mode 100644 home/programs/media/spotify/spotify-player.nix
create mode 100644 home/programs/media/spotify/spotify-tui.nix
create mode 100644 home/programs/media/spotify/spotify.nix
create mode 100644 home/programs/media/spotify/spotifyd.nix
create mode 100644 home/programs/media/webcam.nix
diff --git a/home/programs/games/airshipper.nix b/home/programs/games/airshipper.nix
new file mode 100644
index 0000000..c898fea
--- /dev/null
+++ b/home/programs/games/airshipper.nix
@@ -0,0 +1,6 @@
+{ pkgs, ... }:
+{
+ home.packages = with pkgs; [
+ airshipper
+ ];
+}
diff --git a/home/programs/games/steam.nix b/home/programs/games/steam.nix
index c9da423..0ee14a9 100644
--- a/home/programs/games/steam.nix
+++ b/home/programs/games/steam.nix
@@ -7,9 +7,9 @@
steam
];*/
programs.steam = {
- enable = true;
- remotePlay.openFirewall = true;
- dedicatedServer.openFirewall = true;
- localNetworkGameTransfers.openFirewall = true;
+ enable = true;
+ remotePlay.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ localNetworkGameTransfers.openFirewall = true;
};
}
diff --git a/home/programs/media/audio.nix b/home/programs/media/audio.nix
index dd1be86..92bb457 100644
--- a/home/programs/media/audio.nix
+++ b/home/programs/media/audio.nix
@@ -9,16 +9,7 @@
pavucontrol
playerctl
pulsemixer
-
- ffmpeg
- ];
-
- programs.mpv = {
- enable = true;
- defaultProfiles = ["gpu-hq"];
- scripts = [pkgs.mpvScripts.mpris];
- };
-
+ ];
services = {
playerctld.enable = true;
diff --git a/home/programs/media/media.nix b/home/programs/media/media.nix
index d0e6610..cddae40 100644
--- a/home/programs/media/media.nix
+++ b/home/programs/media/media.nix
@@ -8,6 +8,7 @@
imports = [
./audio.nix
./image.nix
+ ./webcam.nix
];
}
diff --git a/home/programs/media/spotify.nix b/home/programs/media/spotify.nix
deleted file mode 100644
index 1fcc90c..0000000
--- a/home/programs/media/spotify.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Install Spotify
- home.packages = with pkgs; [
- spotify
- ];
-
- # Optional: You might need to set environment variables for Spotify,
- # especially if you encounter issues with it finding libraries.
- # This is less common now, but here's an example:
- # environment.variables = {
- # NIXOS_OZONE_WL = "1"; # If you're on Wayland and have issues
- # };
-}
diff --git a/home/programs/media/spotify/player-configs/app.toml b/home/programs/media/spotify/player-configs/app.toml
new file mode 100644
index 0000000..09c205b
--- /dev/null
+++ b/home/programs/media/spotify/player-configs/app.toml
@@ -0,0 +1,37 @@
+theme = "Catppuccin-mocha"
+client_id = "bd5cf4b9f6504ad9b357a1285e32b391"
+login_redirect_uri = "http://127.0.0.1:8989/login"
+client_port = 8080
+tracks_playback_limit = 50
+playback_format = "{status} {track} • {artists}\n{album}\n{metadata}"
+notify_format = { summary = "{track} • {artists}", body = "{album}" }
+notify_timeout_in_secs = 0
+app_refresh_duration_in_ms = 32
+playback_refresh_duration_in_ms = 0
+page_size_in_rows = 20
+enable_media_control = true
+enable_streaming = "Always"
+enable_notify = true
+enable_cover_image_cache = true
+notify_streaming_only = false
+default_device = "spotify-player"
+play_icon = "▶"
+pause_icon = "▌▌"
+liked_icon = "♥"
+cover_img_length = 9
+cover_img_width = 5
+seek_duration_secs = 5
+
+[device]
+name = "nix"
+device_type = "speaker"
+volume = 70
+bitrate = 320
+audio_cache = false
+normalization = false
+autoplay = false
+
+[layout]
+library = { playlist_percent = 40, album_percent = 40 }
+playback_window_position = "Top"
+playback_window_height = 6
diff --git a/home/programs/media/spotify/player-configs/theme.toml b/home/programs/media/spotify/player-configs/theme.toml
new file mode 100644
index 0000000..3d16865
--- /dev/null
+++ b/home/programs/media/spotify/player-configs/theme.toml
@@ -0,0 +1,148 @@
+[[themes]]
+name = "Catppuccin-latte"
+[themes.palette]
+background = "#eff1f5"
+foreground = "#4c4f69"
+black = "#eff1f5"
+blue = "#1e66f5"
+cyan = "#04a5e5"
+green = "#40a02b"
+magenta = "#8839ef"
+red = "#d20f39"
+white = "#4c4f69"
+yellow = "#df8e1d"
+bright_black = "#eff1f5"
+bright_blue = "#1e66f5"
+bright_cyan = "#04a5e5"
+bright_green = "#40a02b"
+bright_magenta = "#8839ef"
+bright_red = "#d20f39"
+bright_white = "#4c4f69"
+bright_yellow = "#df8e1d"
+
+[themes.component_style]
+selection = { bg = "#ccd0da", modifiers = ["Bold"] }
+block_title = { fg = "Magenta" }
+playback_track = { fg = "Cyan", modifiers = ["Bold"] }
+playback_album = { fg = "Yellow" }
+playback_metadata = { fg = "Blue" }
+playback_progress_bar = { bg = "#ccd0da", fg = "Green" }
+current_playing = { fg = "Green", modifiers = ["Bold"] }
+page_desc = { fg = "Cyan", modifiers = ["Bold"] }
+table_header = { fg = "Blue" }
+border = {}
+playback_status = { fg = "Cyan", modifiers = ["Bold"] }
+playback_artists = { fg = "Cyan", modifiers = ["Bold"] }
+playlist_desc = { fg = "#6c6f85" }
+
+[[themes]]
+name = "Catppuccin-frappe"
+[themes.palette]
+background = "#303446"
+foreground = "#c6d0f5"
+black = "#303446"
+blue = "#8caaee"
+cyan = "#99d1db"
+green = "#a6d189"
+magenta = "#ca9ee6"
+red = "#e78284"
+white = "#c6d0f5"
+yellow = "#e5c890"
+bright_black = "#303446"
+bright_blue = "#8caaee"
+bright_cyan = "#99d1db"
+bright_green = "#a6d189"
+bright_magenta = "#ca9ee6"
+bright_red = "#e78284"
+bright_white = "#c6d0f5"
+bright_yellow = "#e5c890"
+
+[themes.component_style]
+selection = { bg = "#414559", modifiers = ["Bold"] }
+block_title = { fg = "Magenta" }
+playback_track = { fg = "Cyan", modifiers = ["Bold"] }
+playback_album = { fg = "Yellow" }
+playback_metadata = { fg = "Blue" }
+playback_progress_bar = { bg = "#414559", fg = "Green" }
+current_playing = { fg = "Green", modifiers = ["Bold"] }
+page_desc = { fg = "Cyan", modifiers = ["Bold"] }
+table_header = { fg = "Blue" }
+border = {}
+playback_status = { fg = "Cyan", modifiers = ["Bold"] }
+playback_artists = { fg = "Cyan", modifiers = ["Bold"] }
+playlist_desc = { fg = "#a5adce" }
+
+[[themes]]
+name = "Catppuccin-macchiato"
+[themes.palette]
+background = "#24273a"
+foreground = "#cad3f5"
+black = "#24273a"
+blue = "#8aadf4"
+cyan = "#91d7e3"
+green = "#a6da95"
+magenta = "#c6a0f6"
+red = "#ed8796"
+white = "#cad3f5"
+yellow = "#eed49f"
+bright_black = "#24273a"
+bright_blue = "#8aadf4"
+bright_cyan = "#91d7e3"
+bright_green = "#a6da95"
+bright_magenta = "#c6a0f6"
+bright_red = "#ed8796"
+bright_white = "#cad3f5"
+bright_yellow = "#eed49f"
+
+[themes.component_style]
+selection = { bg = "#363a4f", modifiers = ["Bold"] }
+block_title = { fg = "Magenta" }
+playback_track = { fg = "Cyan", modifiers = ["Bold"] }
+playback_album = { fg = "Yellow" }
+playback_metadata = { fg = "Blue" }
+playback_progress_bar = { bg = "#363a4f", fg = "Green" }
+current_playing = { fg = "Green", modifiers = ["Bold"] }
+page_desc = { fg = "Cyan", modifiers = ["Bold"] }
+table_header = { fg = "Blue" }
+border = {}
+playback_status = { fg = "Cyan", modifiers = ["Bold"] }
+playback_artists = { fg = "Cyan", modifiers = ["Bold"] }
+playlist_desc = { fg = "#a5adcb" }
+
+[[themes]]
+name = "Catppuccin-mocha"
+[themes.palette]
+background = "#1e1e2e"
+foreground = "#cdd6f4"
+black = "#1e1e2e"
+blue = "#89b4fa"
+cyan = "#89dceb"
+green = "#a6e3a1"
+magenta = "#cba6f7"
+red = "#f38ba8"
+white = "#cdd6f4"
+yellow = "#f9e2af"
+bright_black = "#1e1e2e"
+bright_blue = "#89b4fa"
+bright_cyan = "#89dceb"
+bright_green = "#a6e3a1"
+bright_magenta = "#cba6f7"
+bright_red = "#f38ba8"
+bright_white = "#cdd6f4"
+bright_yellow = "#f9e2af"
+
+[themes.component_style]
+selection = { bg = "#313244", modifiers = ["Bold"] }
+block_title = { fg = "Magenta" }
+playback_track = { fg = "Cyan", modifiers = ["Bold"] }
+playback_album = { fg = "Yellow" }
+playback_metadata = { fg = "Blue" }
+playback_progress_bar = { bg = "#313244", fg = "Green" }
+current_playing = { fg = "Green", modifiers = ["Bold"] }
+page_desc = { fg = "Cyan", modifiers = ["Bold"] }
+table_header = { fg = "Blue" }
+border = {}
+playback_status = { fg = "Cyan", modifiers = ["Bold"] }
+playback_artists = { fg = "Cyan", modifiers = ["Bold"] }
+playlist_desc = { fg = "#a6adc8" }
+
diff --git a/home/programs/media/spotify/spotify-player.nix b/home/programs/media/spotify/spotify-player.nix
new file mode 100644
index 0000000..dd4ac04
--- /dev/null
+++ b/home/programs/media/spotify/spotify-player.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }:
+{
+ home.packages = with pkgs; [
+ spotify-player
+ ];
+
+ home.file.".config/spotify-player" = {
+ source = ./player-configs;
+ # copy the scripts directory recursively
+ recursive = true;
+ };
+
+}
diff --git a/home/programs/media/spotify/spotify-tui.nix b/home/programs/media/spotify/spotify-tui.nix
new file mode 100644
index 0000000..fdb093c
--- /dev/null
+++ b/home/programs/media/spotify/spotify-tui.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }:
+{
+ home.packages = with pkgs; [
+ spotify-tui
+ ];
+
+ /*home.file.".config/spotify-player" = {
+ source = ./configs;
+ # copy the scripts directory recursively
+ recursive = true;
+ };*/
+
+}
diff --git a/home/programs/media/spotify/spotify.nix b/home/programs/media/spotify/spotify.nix
new file mode 100644
index 0000000..5c0ba43
--- /dev/null
+++ b/home/programs/media/spotify/spotify.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }:
+
+{
+ # Install Spotify
+ home.packages = with pkgs; [
+ spotify
+ spicetify-cli
+ ];
+
+}
diff --git a/home/programs/media/spotify/spotifyd.nix b/home/programs/media/spotify/spotifyd.nix
new file mode 100644
index 0000000..6ae0b8e
--- /dev/null
+++ b/home/programs/media/spotify/spotifyd.nix
@@ -0,0 +1,12 @@
+{ pkgs, ...}:
+{
+ services.spotifyd = {
+ enable = true;
+ settings = {
+ global = {
+ username = "";
+ password = "";
+ };
+ };
+ };
+}
diff --git a/home/programs/media/webcam.nix b/home/programs/media/webcam.nix
new file mode 100644
index 0000000..c6a5730
--- /dev/null
+++ b/home/programs/media/webcam.nix
@@ -0,0 +1,14 @@
+{ pkgs, ... }:
+{
+ home.packages = with pkgs; [
+ ffmpeg_6-full
+ gphoto2
+ v4l-utils
+ ];
+
+ programs.mpv = {
+ enable = true;
+ defaultProfiles = ["gpu-hq"];
+ scripts = [pkgs.mpvScripts.mpris];
+ };
+}
diff --git a/hosts/m920q/hardware-configuration.nix b/hosts/m920q/hardware-configuration.nix
index dd6911c..406608c 100644
--- a/hosts/m920q/hardware-configuration.nix
+++ b/hosts/m920q/hardware-configuration.nix
@@ -10,8 +10,11 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
+ boot.kernelModules = [ "kvm-intel" "v4l2loopback"];
+ boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
+ boot.extraModprobeConfig = ''
+ options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
+ '';
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXROOT";
diff --git a/modules/firewall.nix b/modules/firewall.nix
index 52aa16e..38e1943 100644
--- a/modules/firewall.nix
+++ b/modules/firewall.nix
@@ -1,7 +1,7 @@
{ pkgs, ... }:
{
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
+ networking.firewall.allowedTCPPorts = [ 57621 ];
+ networking.firewall.allowedUDPPorts = [ 5353 ];
# Or disable the firewall altogether.
networking.firewall.enable = false;
}
diff --git a/modules/system.nix b/modules/system.nix
index ddd3f06..af3e55c 100644
--- a/modules/system.nix
+++ b/modules/system.nix
@@ -31,11 +31,11 @@
ethtool
pciutils # lspci
usbutils # lsusb
- lshw
+ lshw
- # Graphics
- libGL
- glxinfo
+ # Graphics
+ libGL
+ glxinfo
# Rizz
fastfetch
@@ -68,6 +68,7 @@
gawk
zstd
gnupg
+ fzf
# Archives
zip
diff --git a/users/phil/home.nix b/users/phil/home.nix
index 3b619ae..7bce8ff 100644
--- a/users/phil/home.nix
+++ b/users/phil/home.nix
@@ -18,8 +18,8 @@
../../home/programs/media/media.nix
../../home/programs/media/audacity.nix
../../home/programs/media/obs.nix
- ../../home/programs/media/spotify.nix
-
+ ../../home/programs/media/spotify/spotify.nix
+
../../home/programs/productivity/notesnook.nix
../../home/programs/productivity/blender.nix
../../home/programs/productivity/slicer.nix
@@ -37,6 +37,7 @@
# ../../home/programs/games/steam.nix
../../home/programs/games/lutris.nix
../../home/programs/games/opensource.nix
+ ../../home/programs/games/airshipper.nix
catppuccin.homeModules.catppuccin
];