refactor(flake-parts): initial flake-parts configuration
This commit is contained in:
parent
8f67be9e68
commit
5603001d65
230 changed files with 380 additions and 717 deletions
17
inputs/system/modules/base/services/dbus/default.nix
Normal file
17
inputs/system/modules/base/services/dbus/default.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
18
inputs/system/modules/base/services/default.nix
Normal file
18
inputs/system/modules/base/services/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./mediaServer
|
||||
./system76Scheduler
|
||||
./dbus
|
||||
./gnome
|
||||
./gvfs
|
||||
];
|
||||
|
||||
options.systemModules.services = {
|
||||
mediaServer = {
|
||||
enable = lib.mkEnableOption "Enable mediaserver service module";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
18
inputs/system/modules/base/services/gnome/default.nix
Normal file
18
inputs/system/modules/base/services/gnome/default.nix
Normal 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 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
12
inputs/system/modules/base/services/gvfs/default.nix
Normal file
12
inputs/system/modules/base/services/gvfs/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
51
inputs/system/modules/base/services/mediaServer/default.nix
Normal file
51
inputs/system/modules/base/services/mediaServer/default.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue