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 ];