setting up media server
This commit is contained in:
parent
2a695ab10e
commit
90d1eaa2be
1 changed files with 85 additions and 57 deletions
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
|
@ -6,7 +6,34 @@
|
|||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
];
|
||||
};
|
||||
|
||||
registry = {
|
||||
emenel-templates.flake = inputs.emenel-templates;
|
||||
};
|
||||
|
||||
channel.enable = false; # remove nix-channel related tools & configs, we use flakes instead.
|
||||
};
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
@ -42,76 +69,77 @@
|
|||
useEmbeddedBitmaps = true;
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
};
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
amdgpu.initrd.enable = true;
|
||||
enableAllFirmware = true;
|
||||
uinput.enable = true;
|
||||
};
|
||||
hardware = {
|
||||
amdgpu.initrd.enable = true;
|
||||
enableAllFirmware = true;
|
||||
uinput.enable = true;
|
||||
};
|
||||
|
||||
services.power-profiles-daemon = {
|
||||
enable = true;
|
||||
package = pkgs.power-profiles-daemon;
|
||||
};
|
||||
services.power-profiles-daemon = {
|
||||
enable = true;
|
||||
package = pkgs.power-profiles-daemon;
|
||||
};
|
||||
|
||||
# enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
programs.ssh.startAgent = true;
|
||||
# enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
programs.ssh.startAgent = true;
|
||||
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
LLMNR=no
|
||||
ReadEtcHosts=no
|
||||
DNSSEC=no
|
||||
'';
|
||||
};
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
publish.enable = true;
|
||||
publish.userServices = true;
|
||||
openFirewall = true;
|
||||
nssmdns4 = true;
|
||||
};
|
||||
services.samba = {
|
||||
enable = true;
|
||||
package = pkgs.sambaFull;
|
||||
openFirewall = true;
|
||||
};
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
publish.enable = true;
|
||||
publish.userServices = true;
|
||||
openFirewall = true;
|
||||
nssmdns4 = true;
|
||||
};
|
||||
services.samba = {
|
||||
enable = true;
|
||||
package = pkgs.sambaFull;
|
||||
openFirewall = true;
|
||||
};
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
|
||||
# enable fish and launch it from bash for interactive shells
|
||||
programs.fish.enable = true;
|
||||
environment.pathsToLink = [ "/share/fish" ];
|
||||
programs.bash = {
|
||||
interactiveShellInit = ''
|
||||
# enable fish and launch it from bash for interactive shells
|
||||
programs.fish.enable = true;
|
||||
environment.pathsToLink = [ "/share/fish" ];
|
||||
programs.bash = {
|
||||
interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "matt@emenel.ca";
|
||||
userName = "Matt Nish-Lapidus";
|
||||
ignores = [
|
||||
".DS_Store"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
|
||||
};
|
||||
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "matt@emenel.ca";
|
||||
userName = "Matt Nish-Lapidus";
|
||||
ignores = [
|
||||
".DS_Store"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue