Compare commits

...

4 Commits

Author SHA1 Message Date
18f0a37407 wip 2024-10-05 19:00:35 -07:00
ff3a0a4738 [roles] No config change unless enabled 2024-10-05 18:17:42 -07:00
1a857399a6 [spotifyd] Setup system-wide spotifyd 2024-10-05 17:21:08 -07:00
4620288747 [z790prors] Update default refresh rate 2024-10-05 08:37:33 -07:00
14 changed files with 127 additions and 75 deletions

View File

@@ -55,13 +55,12 @@
system = "x86_64-linux";
modules = baseModules ++ [
./machines/boxy/configuration.nix
# inputs.home-manager.nixosModules.home-manager
# {
# home-manager.users.johno = import ./home/home-default.nix;
# home-manager.extraSpecialArgs.customPkgs =
# nixpkgs.legacyPackages."${system}".callPackage ./packages {};
# customPkgs = nixpkgs.legacyPackages."${system}".callPackage ./packages {};
# }
inputs.home-manager.nixosModules.home-manager
{
home-manager.users.johno = import ./home/home-default.nix;
home-manager.extraSpecialArgs.customPkgs =
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
}
];
};
};

View File

@@ -186,15 +186,6 @@
package = pkgs.kdePackages.kdeconnect-kde;
};
services.spotifyd = {
enable = true;
settings = {
global = {
username = "johnogle222";
};
};
};
services.syncthing = {
enable = true;
tray = {

View File

@@ -17,8 +17,9 @@ with lib;
kodi = {
enable = true;
autologin = true;
wayland = false;
wayland = true;
};
users.enable = true;
};
# Use the systemd-boot EFI boot loader.
@@ -29,7 +30,7 @@ with lib;
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,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.

View File

@@ -19,6 +19,7 @@
kodi.enable = true;
nfs-mounts.enable = true;
printing.enable = true;
spotifyd.enable = true;
users = {
enable = true;
extraGroups = [ "input" "libvirtd" ];

View File

@@ -20,6 +20,8 @@
hardware.graphics.enable = true;
services.xserver.videoDrivers = ["nvidia"];
services.xserver.screenSection = ''Option "metamodes" "3440x1440_165 +0+0"'';
services.xserver.enableTearFree = true;
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;

View File

@@ -10,7 +10,7 @@ in
enable = mkEnableOption "Enable the audio role";
};
config =
config = mkIf cfg.enable
{
environment.systemPackages = with pkgs; [
paprefs

View File

@@ -10,7 +10,7 @@ in
enable = mkEnableOption "Enable the bluetooth role";
};
config =
config = mkIf cfg.enable
{
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;

View File

@@ -14,6 +14,7 @@ in
./nfs-mounts
./printing
./secrets
./spotifyd
./users
./virtualisation
];

View File

@@ -25,39 +25,47 @@ in
steam-library
youtube
]);
in {
users.extraUsers.kodi.isNormalUser = true;
in mkIf cfg.enable
{
users.extraUsers.kodi.isNormalUser = true;
networking.firewall = {
allowedTCPPorts = [ 8080 ];
allowedUDPPorts = [ 8080 ];
networking.firewall = {
allowedTCPPorts = [ 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";
};
};
};
}

View File

@@ -16,15 +16,16 @@ in
};
};
config = {
fileSystems."/media" = {
device = "10.0.0.43:/media";
fsType = "nfs";
options = [
"defaults"
"nofail"
"softreval"
];
config = mkIf cfg.enable
{
fileSystems."/media" = {
device = "10.0.0.43:/media";
fsType = "nfs";
options = [
"defaults"
"nofail"
"softreval"
];
};
};
};
}

View File

@@ -2,18 +2,22 @@
with lib;
let
cfg = config.roles.printing;
in
{
options.roles.printing = {
enable = mkEnableOption "Enable default printing setup";
};
config = {
services.printing.enable = true;
config = mkIf cfg.enable
{
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
};
}

View File

@@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.roles.spotifyd;
in
{
options.roles.spotifyd = {
enable = mkEnableOption "Enable the spotifyd role";
};
config = mkIf cfg.enable
{
roles.audio.enable = true;
services.spotifyd = {
enable = true;
settings = {
global = {
use_mpris = false;
backend = "alsa";
device = "sysdefault";
bitrate = 320;
cache_path = "";
zeroconf_port = 1234;
autoplay = false;
};
};
};
networking.firewall.allowedTCPPorts = [
1234
57621
];
networking.firewall.allowedUDPPorts = [
5353
];
};
}

View File

@@ -21,7 +21,7 @@ in
kidsPackages = with pkgs; [
firefox
];
in {
in mkIf cfg.enable {
users.users.johno = {
isNormalUser = true;
description = "John Ogle";

View File

@@ -2,13 +2,17 @@
with lib;
let
cfg = config.roles.virtualisation;
in
{
options.roles.virtualisation = {
enable = mkEnableOption "Enable virtualisation";
};
config = {
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
};
config = mkIf cfg.enable
{
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
};
}