This commit is contained in:
HackerNCoder 2024-09-19 17:56:20 +02:00
parent 4d7650cc4a
commit c743501eca
6 changed files with 80 additions and 9 deletions

View file

@ -15,7 +15,7 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
networking = { networking = {
hostName = "nixos"; # Define your hostname. hostName = "ocean-princess"; # Define your hostname.
networkmanager.enable = true; networkmanager.enable = true;
}; };
@ -77,7 +77,7 @@
}; };
# Enable sound with pipewire. # Enable sound with pipewire.
sound.enable = true; sound.enable = false;
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
@ -86,11 +86,17 @@
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
# If you want to use JACK applications, uncomment this # If you want to use JACK applications, uncomment this
#jack.enable = true; jack.enable = true;
}; };
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true; # services.xserver.libinput.enable = true;
@ -115,7 +121,7 @@
environment.pathsToLink = [ "/share/zsh" ]; # for zsh completion environment.pathsToLink = [ "/share/zsh" ]; # for zsh completion
services.transmission = { services.transmission = {
enable = true; enable = false;
package = pkgs.transmission_4; package = pkgs.transmission_4;
group = "users"; group = "users";
settings = { settings = {
@ -133,6 +139,18 @@
localuser = null; localuser = null;
}; };
services.snapserver = {
enable = true;
codec = "flac";
openFirewall = true;
streams = {
mopidy = {
type = "pipe";
location = "/run/snapserver/mopidy";
};
};
};
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -205,10 +223,9 @@
kdePackages.kcalc kdePackages.kcalc
kdePackages.partitionmanager kdePackages.partitionmanager
kdePackages.filelight kdePackages.filelight
kdePackages.merkuro kdePackages.korganizer
pkgsi686Linux.gperftools pkgsi686Linux.gperftools
wget wget
transmission_4-qt
]; ];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
@ -225,7 +242,7 @@
# services.openssh.enable = true; # services.openssh.enable = true;
# Open ports in the firewall. # Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ]; networking.firewall.allowedTCPPorts = [ 6680 ];
# networking.firewall.allowedUDPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether. # Or disable the firewall altogether.
# networking.firewall.enable = false; # networking.firewall.enable = false;

View file

@ -31,6 +31,8 @@
calibre calibre
prismlauncher prismlauncher
kid3 kid3
iamb
protonvpn-gui
# # It is sometimes useful to fine-tune packages, for example, by applying # # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the # # 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 # # 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; services.lorri.enable = true;
programs.direnv.enable = true; programs.direnv.enable = true;
@ -89,6 +95,17 @@
programs.nheko.enable = true; 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 Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a # 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell # shell provided by Home Manager. If you don't want to manage your shell

View file

@ -7,5 +7,6 @@
./gpg.nix ./gpg.nix
./email.nix ./email.nix
./emacs.nix ./emacs.nix
./mopidy.nix
]; ];
} }

35
programs/mopidy.nix Normal file
View file

@ -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";
};
}

View file

@ -43,7 +43,7 @@
# last prompt line gets hidden if it would overlap with left prompt. # last prompt line gets hidden if it would overlap with left prompt.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
status # exit code of the last command 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 background_jobs # presence of background jobs
direnv # direnv status (https://direnv.net/) direnv # direnv status (https://direnv.net/)
asdf # asdf version manager (https://github.com/asdf-vm/asdf) asdf # asdf version manager (https://github.com/asdf-vm/asdf)
@ -56,7 +56,7 @@
nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
# node_version # node.js version # node_version # node.js version
# go_version # go version (https://golang.org) # 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) # dotnet_version # .NET version (https://dotnet.microsoft.com)
# php_version # php version (https://www.php.net/) # php_version # php version (https://www.php.net/)
# laravel_version # laravel php framework version (https://laravel.com/) # laravel_version # laravel php framework version (https://laravel.com/)

View file

@ -10,6 +10,7 @@
history.path = "${config.xdg.dataHome}/zsh/history"; history.path = "${config.xdg.dataHome}/zsh/history";
initExtra = '' initExtra = ''
alias hsw='home-manager switch' 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 = { oh-my-zsh = {
enable = true; enable = true;