refactor(flake-parts): initial flake-parts configuration

This commit is contained in:
ooks-io 2024-05-13 22:50:56 +12:00
parent 8f67be9e68
commit 5603001d65
230 changed files with 380 additions and 717 deletions

View file

@ -0,0 +1,17 @@
{ lib, config, pkgs, ... }:
let
inherit (lib) mkIf;
inherit (lib.lists) any elem;
hasFunction = f: elem f config.systemModules.host.function;
in
{
config = mkIf (any hasFunction ["workstation" "gaming"]) {
services.dbus = {
enable = true;
packages = with pkgs; [ dconf gcr udisks2 ];
implementation = "broker";
};
};
}

View file

@ -0,0 +1,18 @@
{ lib, ... }:
{
imports = [
./mediaServer
./system76Scheduler
./dbus
./gnome
./gvfs
];
options.systemModules.services = {
mediaServer = {
enable = lib.mkEnableOption "Enable mediaserver service module";
};
};
}

View file

@ -0,0 +1,18 @@
{ lib, config, pkgs, ... }:
let
inherit (lib) mkIf;
host = config.systemModules.host;
in
{
config = mkIf (host.type != "phone" && host.type != "server") {
services = {
gnome = {
glib-networking.enable = true;
gnome-keyring.enable = true;
};
udev.packages = [ pkgs.gnome.gnome-settings-daemon ];
};
};
}

View file

@ -0,0 +1,12 @@
{ lib, config, ... }:
let
inherit (lib) mkIf;
host = config.systemModules.host;
in
{
config = mkIf ( host.type != "phone") {
services.gvfs.enable = true;
};
}

View file

@ -0,0 +1,51 @@
{ config, lib, pkgs, ... }:
let
cfg = config.systemModules.services.mediaServer;
in
{
config = lib.mkIf cfg.enable {
users.groups.media = { };
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
jellyfin-ffmpeg
];
services = {
jellyfin = {
group = "media";
enable = true;
openFirewall = true;
};
deluge = {
group = "media";
enable = true;
web.enable = true;
};
radarr = {
group = "media";
enable = true;
openFirewall = true;
};
sonarr = {
group = "media";
enable = true;
openFirewall = true;
};
prowlarr.enable = true;
};
systemd.tmpfiles.rules = [
"d /jellyfin 0770 - media - -"
];
fileSystems."/jellyfin" = {
device = "/dev/disk/by-label/jellyfin";
fsType = "btrfs";
};
};
}

View file

@ -0,0 +1,20 @@
{ lib, config, ... }:
let
inherit (lib) mkIf;
host = config.systemModules.host;
in
{
config = mkIf (host.type != "phone") {
services.system76-scheduler = {
enable = true;
};
# fix suspend issues
powerManagement = {
powerDownCommands = "systemctl stop system76-scheduler";
resumeCommands = "systemctl start system76-scheduler";
};
};
}