fmt ++
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
inherit (lib.${namespace}) enabled;
|
||||
in
|
||||
{
|
||||
home = {
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.btop;
|
||||
|
||||
@@ -225,7 +225,7 @@ in
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# weather
|
||||
# weather
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:30000] waybar-weather --hyprlock";
|
||||
@@ -236,7 +236,7 @@ in
|
||||
halign = "right";
|
||||
valign = "bottom";
|
||||
}
|
||||
# media
|
||||
# media
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:1000] waybar-media";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, pkgs, namespace, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
{
|
||||
options.${namespace}.programs.hyprland = {
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, config, namespace, ... }:
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.kitty;
|
||||
@@ -12,7 +17,7 @@ in
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
|
||||
settings = {
|
||||
bold_font = "auto";
|
||||
bold_font = "auto";
|
||||
italic_font = "auto";
|
||||
bold_italic_font = "auto";
|
||||
mouse_hide_wait = "2.0";
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
{ lib, namespace, ... }:
|
||||
with lib;
|
||||
let
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
in
|
||||
{
|
||||
options.${namespace}.programs.kitty = {
|
||||
enable = mkEnableOption "enable kitty terminal";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.mako;
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.nwg-dock;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.nwg-drawer;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.nwg-panel;
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, pkgs, namespace, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
{
|
||||
options.${namespace}.programs.nwg-panel = {
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
git-token = config.sops.secrets."github-token".path;
|
||||
|
||||
|
||||
update-checker = pkgs.writeScriptBin "update-checker" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i python3 --pure
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.waybar;
|
||||
@@ -383,15 +388,15 @@ in
|
||||
|
||||
"custom/power" = {
|
||||
format = "⏻ ";
|
||||
tooltip = false;
|
||||
tooltip = false;
|
||||
menu = "on-click";
|
||||
menu-file = "~/.config/waybar/power_menu.xml";
|
||||
menu-actions = {
|
||||
shutdown = "shutdown";
|
||||
reboot = "reboot";
|
||||
suspend = "systemctl suspend";
|
||||
hibernate = "systemctl hibernate";
|
||||
lock = "pidof hyprlock || hyprlock";
|
||||
shutdown = "shutdown";
|
||||
reboot = "reboot";
|
||||
suspend = "systemctl suspend";
|
||||
hibernate = "systemctl hibernate";
|
||||
lock = "pidof hyprlock || hyprlock";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.wlogout;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.${namespace}.programs.wofi;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, pkgs, system, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# # Pull from global theme options
|
||||
# themeSize = "standard"; # "standard" | "compact"
|
||||
@@ -95,4 +100,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
@@ -60,52 +59,61 @@
|
||||
"uv"
|
||||
"webkitgtk"
|
||||
];
|
||||
cacheDir = "/var/cache/ccache"; # default location
|
||||
cacheDir = "/var/cache/ccache"; # default location
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
"linux_rpi-bcm2711" = super."linux_rpi-bcm2711".override { stdenv = super.ccacheStdenv; };
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
"mesa" = super."mesa".override { buildPackages.stdenv = super.ccacheStdenv; };
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
"webkitgtk_4_1" = super.stable."webkitgtk_4_1".override { clangStdenv = super.ccacheStdenv; };
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
"webkitgtk_6_0" = super."webkitgtk_6_0".override { clangStdenv = super.ccacheStdenv; };
|
||||
})
|
||||
(self: super: {
|
||||
"jellyfin-ffmpeg" = super."jellyfin-ffmpeg".override { ffmpeg_7-full = super.ffmpeg_7-full.override { stdenv = super.ccacheStdenv; }; };
|
||||
(_self: super: {
|
||||
"jellyfin-ffmpeg" = super."jellyfin-ffmpeg".override {
|
||||
ffmpeg_7-full = super.ffmpeg_7-full.override { stdenv = super.ccacheStdenv; };
|
||||
};
|
||||
})
|
||||
# (self: super: {
|
||||
# "ffmpeg-headless-rpi" = super."ffmpeg-headless-rpi".override { ffmpeg = super.ffmpeg_7.override { stdenv = super.ccacheStdenv; }; };
|
||||
# })
|
||||
|
||||
# todo: make these work
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
pcsx2 = super.pcsx2.override {
|
||||
llvmPackages = super.llvmPackages // {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
};
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
driversi686Linux = super.driversi686Linux // {
|
||||
mesa = super.driversi686Linux.mesa.override { stdenv = super.ccacheStdenv; buildPackages.stdenv = super.ccacheStdenv; };
|
||||
mesa = super.driversi686Linux.mesa.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
buildPackages.stdenv = super.ccacheStdenv;
|
||||
};
|
||||
};
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
kdePackages = super.kdePackages // {
|
||||
qt3d = super.kdePackages.qt3d.override { qtbase = super.kdePackages.qtbase.override { stdenv = super.ccacheStdenv; }; };
|
||||
qt3d = super.kdePackages.qt3d.override {
|
||||
qtbase = super.kdePackages.qtbase.override { stdenv = super.ccacheStdenv; };
|
||||
};
|
||||
# qtbase = super.kdePackages.qtbase.override { stdenv = super.ccacheStdenv; };
|
||||
qtwebengine = super.kdePackages.qtwebengine.override { stdenv = super.ccacheStdenv; };
|
||||
};
|
||||
})
|
||||
(self: super: {
|
||||
(_self: super: {
|
||||
linuxAndFirmware = super.linuxAndFirmware // {
|
||||
linuxPackages_rpi4 = super.linuxAndFirmware.linuxPackages_rpi4.override { stdenv = super.ccacheStdenv; };
|
||||
linuxPackages_rpi4 = super.linuxAndFirmware.linuxPackages_rpi4.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
{ config, namespace, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
namespace,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
hasGui = config.${namespace}.desktop.hyprland.enable || config.${namespace}.desktop.gnome.enable || config.${namespace}.desktop.cosmic.enable;
|
||||
hasGui =
|
||||
config.${namespace}.desktop.hyprland.enable
|
||||
|| config.${namespace}.desktop.gnome.enable
|
||||
|| config.${namespace}.desktop.cosmic.enable;
|
||||
in
|
||||
{
|
||||
security = {
|
||||
@@ -37,12 +46,15 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
age-plugin-yubikey
|
||||
libsecret
|
||||
yubikey-manager
|
||||
yubikey-personalization
|
||||
] ++ (if hasGui then [ yubioath-flutter ] else [ ]);
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
age-plugin-yubikey
|
||||
libsecret
|
||||
yubikey-manager
|
||||
yubikey-personalization
|
||||
]
|
||||
++ (if hasGui then [ yubioath-flutter ] else [ ]);
|
||||
|
||||
services = {
|
||||
yubikey-agent.enable = true;
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
{ lib, pkgs, system, ... }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
isArm = "aarch64-linux" == system;
|
||||
in
|
||||
{
|
||||
|
||||
@@ -26,8 +26,8 @@ let
|
||||
disableUpdateCheck = true;
|
||||
extraEnvironment = cfg.extraEnvironment;
|
||||
extraGroups = [
|
||||
"admin"
|
||||
"wheel"
|
||||
"admin"
|
||||
"wheel"
|
||||
];
|
||||
}
|
||||
// optionalAttrs (cfg.hashedPassword != null) {
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
let
|
||||
name = "collabora";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
jwtSecretFile = config.sops.secrets."jallen-nas/onlyoffice-key".path;
|
||||
|
||||
collaboraConfig = lib.${namespace}.mkModule {
|
||||
inherit config name;
|
||||
@@ -40,7 +39,7 @@ let
|
||||
# Restrict loading documents from WOPI Host
|
||||
storage.wopi = {
|
||||
"@allow" = true;
|
||||
host = ["cloud.mjallen.dev"];
|
||||
host = [ "cloud.mjallen.dev" ];
|
||||
};
|
||||
|
||||
# Set FQDN of server
|
||||
|
||||
42
modules/nixos/services/dispatcharr/default.nix
Normal file
42
modules/nixos/services/dispatcharr/default.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
name = "dispatcharr";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
|
||||
dispatcharrConfig = lib.${namespace}.mkModule {
|
||||
inherit config name;
|
||||
serviceName = "podman-${name}";
|
||||
description = "dispatcharr podman container";
|
||||
options = { };
|
||||
moduleConfig = {
|
||||
virtualisation.oci-containers.containers.${name} = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/dispatcharr/dispatcharr";
|
||||
extraOptions = [ "--device=/dev/dri" ];
|
||||
volumes = [
|
||||
"${cfg.configDir}/dispatcharr:/data"
|
||||
"${cfg.dataDir}/movies:/movies"
|
||||
"${cfg.dataDir}/tv:/tv"
|
||||
];
|
||||
ports = [
|
||||
"${toString cfg.port}:9191"
|
||||
];
|
||||
environment = {
|
||||
DISPATCHARR_ENV = "aio";
|
||||
PUID = cfg.puid;
|
||||
PGID = cfg.pgid;
|
||||
TZ = cfg.timeZone;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [ dispatcharrConfig ];
|
||||
}
|
||||
@@ -249,10 +249,10 @@ let
|
||||
size = "small";
|
||||
widgets = [
|
||||
{
|
||||
type = "adguard";
|
||||
url = "http://pi4.local:3000";
|
||||
username = "mjallen";
|
||||
password = "BogieDudie1";
|
||||
type = "adguard";
|
||||
url = "http://pi4.local:3000";
|
||||
username = "mjallen";
|
||||
password = "BogieDudie1";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ let
|
||||
};
|
||||
|
||||
users.groups.glances = { };
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ let
|
||||
description = "immich";
|
||||
options = { };
|
||||
moduleConfig = {
|
||||
# Enable immich service
|
||||
# Enable immich service
|
||||
services.immich = {
|
||||
enable = true;
|
||||
port = cfg.port;
|
||||
|
||||
@@ -15,26 +15,26 @@ let
|
||||
description = "lubelogger";
|
||||
options = { };
|
||||
moduleConfig = {
|
||||
virtualisation.oci-containers.containers.lubelogger = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hargata/lubelogger";
|
||||
ports = [ "${toString cfg.port}:8080" ];
|
||||
volumes = [
|
||||
"${cfg.configDir}/lubelogger:/App/data"
|
||||
"${cfg.configDir}/lubelogger/keys:/root/.aspnet/DataProtection-Keys"
|
||||
];
|
||||
environmentFiles = [
|
||||
"${cfg.configDir}/lubelogger/lubelogger.env"
|
||||
];
|
||||
environment = {
|
||||
PUID = toString config.users.users.nix-apps.uid;
|
||||
PGID = toString config.users.groups.jallen-nas.gid;
|
||||
TZ = "America/Chicago";
|
||||
virtualisation.oci-containers.containers.lubelogger = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hargata/lubelogger";
|
||||
ports = [ "${toString cfg.port}:8080" ];
|
||||
volumes = [
|
||||
"${cfg.configDir}/lubelogger:/App/data"
|
||||
"${cfg.configDir}/lubelogger/keys:/root/.aspnet/DataProtection-Keys"
|
||||
];
|
||||
environmentFiles = [
|
||||
"${cfg.configDir}/lubelogger/lubelogger.env"
|
||||
];
|
||||
environment = {
|
||||
PUID = toString config.users.users.nix-apps.uid;
|
||||
PGID = toString config.users.groups.jallen-nas.gid;
|
||||
TZ = "America/Chicago";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
in
|
||||
{
|
||||
imports = [ lubeloggerConfig ];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, namespace, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
name = "minecraft";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) mkOpt mkReverseProxyOpt;
|
||||
name = "ntfy";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
|
||||
|
||||
@@ -5,10 +5,8 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) mkOpt mkReverseProxyOpt;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
cfg = config.${namespace}.services.onlyoffice;
|
||||
|
||||
jwtSecretFile = config.sops.secrets."jallen-nas/onlyoffice-key".path;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.onlyoffice = with lib; {
|
||||
|
||||
@@ -57,7 +57,7 @@ let
|
||||
OC_SYSTEM_USER_ID = cfg.puid;
|
||||
|
||||
OC_LOG_LEVEL = "info";
|
||||
|
||||
|
||||
APP_PROVIDER_PROVIDERS = "collabora";
|
||||
|
||||
APP_PROVIDER_COLLABORA_NAME = "Collabora";
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
inherit (lib.${namespace}) mkOpt mkReverseProxyOpt;
|
||||
name = "unmanic";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user