updates and stuff

This commit is contained in:
mjallen18
2025-01-13 17:13:44 -06:00
parent 280518e260
commit a774f7eb41
14 changed files with 200 additions and 163 deletions

View File

@@ -35,9 +35,6 @@ in
# Enable all firmware
enableAllFirmware = lib.mkForce true;
# Disable pulse audio in favor of pipewire
pulseaudio.enable = lib.mkForce false;
};
# Services configs
@@ -61,6 +58,9 @@ in
alsa.support32Bit = lib.mkDefault true;
pulse.enable = lib.mkDefault true;
};
# Disable pulse audio in favor of pipewire
# pulseaudio.enable = lib.mkForce false;
};
# Time config

View File

@@ -31,7 +31,7 @@ in
enable = true;
pkiBundle = "/etc/secureboot";
settings = {
default = default;
# default = default;
console-mode = "max";
};
configurationLimit = configLimit;

View File

@@ -103,7 +103,6 @@ in
# specialisations
# ./cosmic
# ./hyprland
./gnome
];
apps.discover-wrapped.enable = lib.mkDefault false;
@@ -115,34 +114,17 @@ in
services = {
# Enable Desktop Environment.
displayManager = {
sddm.enable = lib.mkDefault true;
sddm.wayland.enable = lib.mkDefault true;
sddm.theme = lib.mkDefault "breeze";
defaultSession = lib.mkDefault "plasma";
xserver = {
desktopManager.gnome.enable = true;
# Enable Desktop Environment.
displayManager = {
gdm.enable = lib.mkForce true;
gdm.wayland = lib.mkForce true;
};
};
desktopManager.plasma6.enable = lib.mkDefault true;
# Enable Flatpak
flatpak.enable = lib.mkDefault true;
};
# xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
share.hardware.amd = {
enable = lib.mkDefault true;
lact.enable = lib.mkDefault true;
};
share.gaming.enable = true;
# Services configs
services = {
# Enable the X11 windowing system.
xserver = {
enable = lib.mkDefault true;
};
flatpak.enable = lib.mkDefault false;
# enable auto discovery of printers
avahi = {
@@ -179,6 +161,15 @@ in
ratbagd.enable = lib.mkDefault true;
};
# xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
share.hardware.amd = {
enable = lib.mkDefault true;
lact.enable = lib.mkDefault true;
};
share.gaming.enable = true;
systemd = {
services = {
fix-wifi = {
@@ -263,7 +254,6 @@ in
borgbackup
brscan5
clinfo
deja-dup
direnv
efibootmgr
fixWifiScript
@@ -284,7 +274,7 @@ in
pciutils
# python3
# python3Packages.requests
qemu_full
stable.qemu_full
rclone
rclone-browser
rsync
@@ -337,7 +327,7 @@ in
# Configure nixpkgs
nixpkgs = {
overlays = [ outputs.overlays.nixpkgs-unstable ];
overlays = [ outputs.overlays.nixpkgs-unstable outputs.overlays.nixpkgs-stable ];
config.permittedInsecurePackages = [
# ...
];

View File

@@ -1,42 +0,0 @@
{ pkgs, ... }:
{
specialisation.gnome.configuration = {
home-manager.users.matt = import ./home.nix;
services = {
xserver = {
desktopManager.gnome.enable = true;
# Enable Desktop Environment.
displayManager = {
gdm.enable = true;
gdm.wayland = true;
};
};
displayManager.defaultSession = "gnome";
# Enable Flatpak
flatpak.enable = false;
# disable plasma
displayManager.sddm.enable = false;
desktopManager.plasma6.enable = false;
};
environment = {
systemPackages = with pkgs; [
colloid-gtk-theme
unstable.gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.arcmenu
gnomeExtensions.dash-to-dock
gnomeExtensions.dash-to-panel
gnomeExtensions.tiling-assistant
];
};
# xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
}

View File

@@ -1,35 +0,0 @@
{ lib, ... }:
{
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
# "arcmenu@arcmenu.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"tiling-assistant@leleat-on-github"
"dash-to-dock@micxgx.gmail.com"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
"org/gtk/settings/file-chooser".clock-format = "12h";
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
let
shellAliases = {
ll = "ls -alh";
@@ -63,7 +63,7 @@ in
bottles
chromium
colloid-icon-theme
colloid-kde
colloid-gtk-theme
unstable.compose2nix
coolercontrol.coolercontrol-gui
deadnix
@@ -73,6 +73,12 @@ in
freerdp
gamescope
gamescope-wsi
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.arcmenu
gnomeExtensions.dash-to-dock
gnomeExtensions.dash-to-panel
gnomeExtensions.tiling-assistant
goverlay
heroic
home-manager
@@ -84,7 +90,7 @@ in
morph
nextcloud-client
nixfmt-rfc-style
orca-slicer
stable.orca-slicer
papirus-icon-theme
piper
pop-gtk-theme
@@ -113,4 +119,37 @@ in
vorta
vscode
];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
# "arcmenu@arcmenu.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"tiling-assistant@leleat-on-github"
"dash-to-dock@micxgx.gmail.com"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
"org/gtk/settings/file-chooser".clock-format = "12h";
};
};
}

View File

@@ -7,6 +7,7 @@
./apps/nextcloud
./apps/ollama
./apps/paperless
./apps/paperless-ai
./apps/traefik
../../modules
];
@@ -42,6 +43,8 @@
open-webui.enable = false;
paperless-ai.enable = true;
tdarr.enable = true;
your_spotify.enable = true;

View File

@@ -0,0 +1,28 @@
{ lib, config, ... }:
with lib;
let
cfg = config.nas-apps.paperless-ai;
in
{
imports = [ ./options.nix ];
config = mkIf cfg.enable {
virtualisation.oci-containers.containers.${cfg.name} = {
autoStart = true;
image = cfg.image;
extraOptions = [ "--device=nvidia.com/gpu=0" "--network=bridge" "--add-host=host.docker.internal:host-gateway" ];
volumes = [ "${cfg.configPath}:/app/data" ];
ports = [ "${cfg.port}:3000" ];
environment = {
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
PAPERLESS_API_URL = "http://10.0.1.20:28981";
PAPERLESS_API_TOKEN = "6f26e1a4632f23bc2da5b74c799ccbda18fa8022";
PUID = cfg.puid;
PGID = cfg.pgid;
TZ = cfg.timeZone;
};
};
};
}

View File

@@ -0,0 +1,47 @@
{ lib, ... }:
with lib;
{
options.nas-apps.paperless-ai = {
enable = mkEnableOption "paperless-ai docker service";
autoStart = mkOption {
type = types.bool;
default = true;
};
port = mkOption {
type = types.str;
default = "3000";
};
name = mkOption {
type = types.str;
default = "paperless-ai";
};
image = mkOption {
type = types.str;
default = "clusterzx/paperless-ai";
};
configPath = mkOption {
type = types.str;
default = "/media/nas/ssd/nix-app-data/paperless-ai";
};
puid = mkOption {
type = types.str;
default = "911";
};
pgid = mkOption {
type = types.str;
default = "1000";
};
timeZone = mkOption {
type = types.str;
default = "America/Chicago";
};
};
}

View File

@@ -35,14 +35,13 @@ in
user = "paperless";
address = "0.0.0.0";
passwordFile = "/var/lib/paperless/paperless-password";
# settings = {
# PAPERLESS_APPS="allauth.socialaccount.providers.openid_connect";
# PAPERLESS_SOCIALACCOUNT_PROVIDERS = {
# "openid_connect" = {
# "OAUTH_PKCE_ENABLED":true,
# "APPS":[
# {"provider_id":"authentik","name":"Authentik","client_id":"<Client ID>","secret":<Client Secret>","settings":{"server_url":"https://authentik.mjallen.dev/application/o/paperless/.well-known/openid-configuration"}}]}}
# }
settings = {
PAPERLESS_URL = "https://paperless.jallen.dev";
PAPERLESS_SECRET = "Luciferthecat03092024";
PAPERLESS_ENABLE_ALLAUTH = true;
PAPERLESS_APPS = "allauth.socialaccount.providers.openid_connect";
PAPERLESS_SOCIALACCOUNT_PROVIDERS=''{"openid_connect":{"OAUTH_PKCE_ENABLED":true,"APPS":[{"provider_id":"authentik","name":"authentik","client_id":"OZhMnBUxwJvpjkUhs4ISgA0iAWA7etgTXaohLCED","secret":"UrwdWObeyoEI1AogXcjV8SwYsJ585Wkh5YxDH5wFPXZxp8IVV9QNsn32PIAv6h9BdjaiiMrOFayaW3uXyZYg71olG5OQ1qGaD6WYn0EijYBwxoEuvp7LIdMJ4lImhVR1","settings":{"server_url":"https://authentik.mjallen.dev/application/o/paperless/.well-known/openid-configuration"}}]}}'';
};
};
# Create required users and groups

View File

@@ -10,6 +10,7 @@ let
jellyseerrUrl = "http://10.0.1.52:5055";
hassUrl = "http://10.0.1.183:8123";
openWebUIUrl = "http://10.0.1.18:8888";
paperlessUrl = "http://10.0.1.20:28981";
in
{
networking.firewall = {
@@ -147,6 +148,11 @@ in
url = openWebUIUrl;
}
];
paperless.loadBalancer.servers = [
{
url = paperlessUrl;
}
];
};
routers = {
@@ -203,6 +209,12 @@ in
priority = 10;
tls.certResolver = "letsencrypt";
};
# paperless = {
# entryPoints = ["websecure"];
# rule = "Host(`paperless.${domain}`)";
# service = "paperless";
# tls.certResolver = "letsencrypt";
# };
};
};
};