diff --git a/configuration.nix b/configuration.nix index d63f27f..d625ab7 100644 --- a/configuration.nix +++ b/configuration.nix @@ -15,7 +15,7 @@ boot.loader.efi.canTouchEfiVariables = true; networking = { - hostName = "nixos"; # Define your hostname. + hostName = "ocean-princess"; # Define your hostname. networkmanager.enable = true; }; @@ -77,7 +77,7 @@ }; # Enable sound with pipewire. - sound.enable = true; + sound.enable = false; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { @@ -86,11 +86,17 @@ alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this - #jack.enable = true; + jack.enable = true; }; hardware.bluetooth.enable = true; + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; @@ -115,7 +121,7 @@ environment.pathsToLink = [ "/share/zsh" ]; # for zsh completion services.transmission = { - enable = true; + enable = false; package = pkgs.transmission_4; group = "users"; settings = { @@ -133,6 +139,18 @@ localuser = null; }; + services.snapserver = { + enable = true; + codec = "flac"; + openFirewall = true; + streams = { + mopidy = { + type = "pipe"; + location = "/run/snapserver/mopidy"; + }; + }; + }; + # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -205,10 +223,9 @@ kdePackages.kcalc kdePackages.partitionmanager kdePackages.filelight - kdePackages.merkuro + kdePackages.korganizer pkgsi686Linux.gperftools wget - transmission_4-qt ]; # Some programs need SUID wrappers, can be configured further or are @@ -225,7 +242,7 @@ # services.openssh.enable = true; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ 6680 ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; diff --git a/home.nix b/home.nix index bd99399..5dee12b 100644 --- a/home.nix +++ b/home.nix @@ -31,6 +31,8 @@ calibre prismlauncher kid3 + iamb + protonvpn-gui # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of @@ -76,6 +78,10 @@ ''; }; + programs.kitty = { + enable = true; + font.name = "MesloLGS NF"; + }; services.lorri.enable = true; programs.direnv.enable = true; @@ -89,6 +95,17 @@ programs.nheko.enable = true; + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + ]; + }; + + programs.yt-dlp.enable = true; + # Home Manager can also manage your environment variables through # 'home.sessionVariables'. These will be explicitly sourced when using a # shell provided by Home Manager. If you don't want to manage your shell diff --git a/programs/default.nix b/programs/default.nix index b1a1ab7..05e8813 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -7,5 +7,6 @@ ./gpg.nix ./email.nix ./emacs.nix + ./mopidy.nix ]; } diff --git a/programs/mopidy.nix b/programs/mopidy.nix new file mode 100644 index 0000000..e6d2fd0 --- /dev/null +++ b/programs/mopidy.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +{ + services.mopidy = { + enable = true; + extensionPackages = with pkgs; [ mopidy-youtube mopidy-local mopidy-mpd mopidy-mpris mopidy-iris ]; + settings = { + audio = { + output = "tee name=t ! queue ! autoaudiosink t. ! audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! filesink location=/run/snapserver/mopidy"; + }; + http = { + hostname = "::"; + }; + mpd = { + enabled = true; + hostname = "127.0.0.1"; + port = 6600; + max_connections = 20; + connection_timeout = 60; + }; + local = { + media_dir = "/home/ed/Music"; + }; + youtube = { + enabled = true; + youtube_dl_package = "yt_dlp"; + allow_cache = true; + }; + }; + }; + programs.ncmpcpp = { + enable = true; + mpdMusicDir = "~/Music"; + }; +} diff --git a/programs/p10k-config/p10k.zsh b/programs/p10k-config/p10k.zsh index 617daf5..7476a87 100644 --- a/programs/p10k-config/p10k.zsh +++ b/programs/p10k-config/p10k.zsh @@ -43,7 +43,7 @@ # last prompt line gets hidden if it would overlap with left prompt. typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( status # exit code of the last command - command_execution_time # duration of the last command + # command_execution_time # duration of the last command background_jobs # presence of background jobs direnv # direnv status (https://direnv.net/) asdf # asdf version manager (https://github.com/asdf-vm/asdf) @@ -56,7 +56,7 @@ nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) # node_version # node.js version # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) + rust_version # rustc version (https://www.rust-lang.org) # dotnet_version # .NET version (https://dotnet.microsoft.com) # php_version # php version (https://www.php.net/) # laravel_version # laravel php framework version (https://laravel.com/) diff --git a/programs/zsh.nix b/programs/zsh.nix index bf3eb63..0dfe1b2 100644 --- a/programs/zsh.nix +++ b/programs/zsh.nix @@ -10,6 +10,7 @@ history.path = "${config.xdg.dataHome}/zsh/history"; initExtra = '' alias hsw='home-manager switch' + alias pwConnect='pw-link Mopidy:output_FL Snapcast:playback_FL && pw-link Mopidy:output_FR Snapcast:playback_FR' ''; oh-my-zsh = { enable = true;