Compare commits
2 Commits
k3s
...
fix-kodi-w
| Author | SHA1 | Date | |
|---|---|---|---|
| 18f0a37407 | |||
| ff3a0a4738 |
13
flake.nix
13
flake.nix
@@ -55,13 +55,12 @@
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = baseModules ++ [
|
modules = baseModules ++ [
|
||||||
./machines/boxy/configuration.nix
|
./machines/boxy/configuration.nix
|
||||||
# inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
# {
|
{
|
||||||
# home-manager.users.johno = import ./home/home-default.nix;
|
home-manager.users.johno = import ./home/home-default.nix;
|
||||||
# home-manager.extraSpecialArgs.customPkgs =
|
home-manager.extraSpecialArgs.customPkgs =
|
||||||
# nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
||||||
# customPkgs = nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
}
|
||||||
# }
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,8 +17,9 @@ with lib;
|
|||||||
kodi = {
|
kodi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autologin = true;
|
autologin = true;
|
||||||
wayland = false;
|
wayland = true;
|
||||||
};
|
};
|
||||||
|
users.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
@@ -29,7 +30,7 @@ with lib;
|
|||||||
|
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
#services.displayManager.enable = mkForce false;
|
services.displayManager.enable = mkForce false;
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ in
|
|||||||
enable = mkEnableOption "Enable the audio role";
|
enable = mkEnableOption "Enable the audio role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
paprefs
|
paprefs
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ in
|
|||||||
enable = mkEnableOption "Enable the bluetooth role";
|
enable = mkEnableOption "Enable the bluetooth role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|||||||
@@ -25,39 +25,47 @@ in
|
|||||||
steam-library
|
steam-library
|
||||||
youtube
|
youtube
|
||||||
]);
|
]);
|
||||||
in {
|
in mkIf cfg.enable
|
||||||
users.extraUsers.kodi.isNormalUser = true;
|
{
|
||||||
|
users.extraUsers.kodi.isNormalUser = true;
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
allowedTCPPorts = [ 8080 ];
|
allowedTCPPorts = [ 8080 ];
|
||||||
allowedUDPPorts = [ 8080 ];
|
allowedUDPPorts = [ 8080 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = if cfg.autologin then mkMerge [
|
||||||
|
mkIf cfg.wayland {
|
||||||
|
cage = mkIf cfg.wayland {
|
||||||
|
user = "kodi";
|
||||||
|
program = "${kodiPkg}/bin/kodi-standalone";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = false;
|
||||||
|
autorun = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
mkIf (!cfg.wayland) {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.kodi = {
|
||||||
|
enable = true;
|
||||||
|
package = kodiPkg;
|
||||||
|
};
|
||||||
|
displayManager.lightdm = {
|
||||||
|
enable = true;
|
||||||
|
greeter.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
displayManager = {
|
||||||
|
autoLogin.enable = true;
|
||||||
|
autoLogin.user = "kodi";
|
||||||
|
defaultSession = "kodi";
|
||||||
|
sessionData.autologinSession = "kodi";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
] else {};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = mkIf cfg.autologin {
|
|
||||||
cage = mkIf cfg.wayland {
|
|
||||||
user = "kodi";
|
|
||||||
program = "${kodiPkg}/bin/kodi-standalone";
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver = mkIf (!cfg.wayland) {
|
|
||||||
enable = true;
|
|
||||||
desktopManager.kodi = {
|
|
||||||
enable = true;
|
|
||||||
package = kodiPkg;
|
|
||||||
};
|
|
||||||
displayManager.lightdm = {
|
|
||||||
enable = true;
|
|
||||||
greeter.enable = false;
|
|
||||||
};
|
|
||||||
displayManager.sddm.enable = mkForce false;
|
|
||||||
};
|
|
||||||
displayManager = mkIf (!cfg.wayland) {
|
|
||||||
autoLogin.enable = true;
|
|
||||||
autoLogin.user = "kodi";
|
|
||||||
defaultSession = "kodi";
|
|
||||||
sessionData.autologinSession = "kodi";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,15 +16,16 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable
|
||||||
fileSystems."/media" = {
|
{
|
||||||
device = "10.0.0.43:/media";
|
fileSystems."/media" = {
|
||||||
fsType = "nfs";
|
device = "10.0.0.43:/media";
|
||||||
options = [
|
fsType = "nfs";
|
||||||
"defaults"
|
options = [
|
||||||
"nofail"
|
"defaults"
|
||||||
"softreval"
|
"nofail"
|
||||||
];
|
"softreval"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,18 +2,22 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.printing;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options.roles.printing = {
|
options.roles.printing = {
|
||||||
enable = mkEnableOption "Enable default printing setup";
|
enable = mkEnableOption "Enable default printing setup";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable
|
||||||
services.printing.enable = true;
|
{
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,30 +10,31 @@ in
|
|||||||
enable = mkEnableOption "Enable the spotifyd role";
|
enable = mkEnableOption "Enable the spotifyd role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable
|
||||||
roles.audio.enable = true;
|
{
|
||||||
|
roles.audio.enable = true;
|
||||||
|
|
||||||
services.spotifyd = {
|
services.spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
use_mpris = false;
|
use_mpris = false;
|
||||||
backend = "alsa";
|
backend = "alsa";
|
||||||
device = "sysdefault";
|
device = "sysdefault";
|
||||||
bitrate = 320;
|
bitrate = 320;
|
||||||
cache_path = "";
|
cache_path = "";
|
||||||
zeroconf_port = 1234;
|
zeroconf_port = 1234;
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
1234
|
1234
|
||||||
57621
|
57621
|
||||||
];
|
];
|
||||||
networking.firewall.allowedUDPPorts = [
|
networking.firewall.allowedUDPPorts = [
|
||||||
5353
|
5353
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ in
|
|||||||
kidsPackages = with pkgs; [
|
kidsPackages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
];
|
];
|
||||||
in {
|
in mkIf cfg.enable {
|
||||||
users.users.johno = {
|
users.users.johno = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "John Ogle";
|
description = "John Ogle";
|
||||||
|
|||||||
@@ -2,13 +2,17 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.virtualisation;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options.roles.virtualisation = {
|
options.roles.virtualisation = {
|
||||||
enable = mkEnableOption "Enable virtualisation";
|
enable = mkEnableOption "Enable virtualisation";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable
|
||||||
virtualisation.libvirtd.enable = true;
|
{
|
||||||
programs.virt-manager.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
};
|
programs.virt-manager.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user