From a1c6b056e0e9fe420544424ea20aea9146674bb5 Mon Sep 17 00:00:00 2001 From: soraefir Date: Tue, 16 Apr 2024 01:28:24 +0200 Subject: [PATCH] More opt --- modules/nixos/gui/xserver/default.nix | 6 +- .../system/network/bluetooth/default.nix | 8 +- modules/nixos/system/xdg/default.nix | 113 +++++++++--------- modules/server/default.nix | 2 +- modules/server/docker/authentik.nix | 2 +- modules/server/docker/cloud.nix | 2 +- modules/server/docker/sample.nix | 2 +- modules/shared/syscfg/default.nix | 34 ++++-- 8 files changed, 94 insertions(+), 75 deletions(-) diff --git a/modules/nixos/gui/xserver/default.nix b/modules/nixos/gui/xserver/default.nix index aa28461..ebb1b2c 100644 --- a/modules/nixos/gui/xserver/default.nix +++ b/modules/nixos/gui/xserver/default.nix @@ -1,7 +1,5 @@ -{ lib, config, pkgs, ... }: -let cfg = config.syscfg.make.gui; -in { - config = lib.mkIf cfg { +{ lib, config, pkgs, ... }: { + config = lib.mkIf (config.syscfg.make.gui) { services.xserver = { enable = true; videoDrivers = [ "amd" ]; diff --git a/modules/nixos/system/network/bluetooth/default.nix b/modules/nixos/system/network/bluetooth/default.nix index 36274f3..f10c57e 100644 --- a/modules/nixos/system/network/bluetooth/default.nix +++ b/modules/nixos/system/network/bluetooth/default.nix @@ -1,5 +1,7 @@ { pkgs, ... }: { - hardware.bluetooth.enable = true; - services.blueman.enable = true; - environment.systemPackages = with pkgs; [ bluez bluez-tools ]; + config = lib.mkIf (config.syscfg.net.ble.enable) { + hardware.bluetooth.enable = true; + services.blueman.enable = true; + environment.systemPackages = with pkgs; [ bluez bluez-tools ]; + }; } diff --git a/modules/nixos/system/xdg/default.nix b/modules/nixos/system/xdg/default.nix index ee4dd78..d21e650 100644 --- a/modules/nixos/system/xdg/default.nix +++ b/modules/nixos/system/xdg/default.nix @@ -1,60 +1,61 @@ { config, lib, pkgs, ... }: { + config = lib.mkIf (config.syscfg.make.gui) { + xdg.portal = { + enable = true; + # wlr.enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-hyprland + xdg-desktop-portal-gtk + ]; + config.common.default = [ "hyprland" "gtk" ]; + }; - xdg.portal = { - enable = true; - # wlr.enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-hyprland - xdg-desktop-portal-gtk - ]; - config.common.default = [ "hyprland" "gtk" ]; + environment.sessionVariables = rec { + GBM_BACKEND = "amd-drm"; + __GL_GSYNC_ALLOWED = "0"; + __GL_VRR_ALLOWED = "1"; + WLR_DRM_NO_ATOMIC = "1"; + __GLX_VENDOR_LIBRARY_NAME = "amd"; + _JAVA_AWT_WM_NONREPARENTING = "1"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + GDK_BACKEND = "wayland"; + WLR_NO_HARDWARE_CURSORS = "1"; + MOZ_ENABLE_WAYLAND = "1"; + WLR_BACKEND = "vulkan"; + WLR_RENDERER = "vulkan"; + XCURSOR_SIZE = "24"; + NIXOS_OZONE_WL = "1"; + PATH = [ "$HOME/.local/bin/:$PATH" ]; + XDG_CACHE_HOME = "$HOME/.cache"; + XDG_CONFIG_HOME = "$HOME/.config"; + XDG_DATA_HOME = "$HOME/.local/share"; + XDG_STATE_HOME = "$HOME/.local/state"; + XDG_BIN_HOME = "$HOME/.local/bin"; + XDG_DESKTOP_DIR = "$HOME/desktop"; + XDG_DOCUMENTS_DIR = "$HOME/files"; + XDG_DOWNLOAD_DIR = "$HOME/download"; + XDG_MUSIC_DIR = "$HOME/media/music"; + XDG_PICTURES_DIR = "$HOME/media/photo"; + XDG_PUBLICSHARE_DIR = "$HOME/pub"; + XDG_TEMPLATES_DIR = "$HOME/media/templates"; + XDG_VIDEOS_DIR = "$HOME/media/video"; + }; + + environment.etc."xdg/user-dirs.defaults".text = '' + XDG_CACHE_HOME="$HOME/.cache" + XDG_CONFIG_HOME="$HOME/.config" + XDG_DATA_HOME="$HOME/.local/share" + XDG_STATE_HOME="$HOME/.local/state" + XDG_BIN_HOME="$HOME/.local/bin" + XDG_DESKTOP_DIR="$HOME/desktop" + XDG_DOCUMENTS_DIR="$HOME/files" + XDG_DOWNLOAD_DIR="$HOME/download" + XDG_MUSIC_DIR="$HOME/media/music" + XDG_PICTURES_DIR="$HOME/media/photo" + XDG_PUBLICSHARE_DIR="$HOME/pub" + XDG_TEMPLATES_DIR="$HOME/media/templates" + XDG_VIDEOS_DIR="$HOME/media/video" + ''; }; - - environment.sessionVariables = rec { - GBM_BACKEND = "amd-drm"; - __GL_GSYNC_ALLOWED = "0"; - __GL_VRR_ALLOWED = "1"; - WLR_DRM_NO_ATOMIC = "1"; - __GLX_VENDOR_LIBRARY_NAME = "amd"; - _JAVA_AWT_WM_NONREPARENTING = "1"; - QT_QPA_PLATFORM = "wayland"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - GDK_BACKEND = "wayland"; - WLR_NO_HARDWARE_CURSORS = "1"; - MOZ_ENABLE_WAYLAND = "1"; - WLR_BACKEND = "vulkan"; - WLR_RENDERER = "vulkan"; - XCURSOR_SIZE = "24"; - NIXOS_OZONE_WL = "1"; - PATH = [ "$HOME/.local/bin/:$PATH" ]; - XDG_CACHE_HOME = "$HOME/.cache"; - XDG_CONFIG_HOME = "$HOME/.config"; - XDG_DATA_HOME = "$HOME/.local/share"; - XDG_STATE_HOME = "$HOME/.local/state"; - XDG_BIN_HOME = "$HOME/.local/bin"; - XDG_DESKTOP_DIR = "$HOME/desktop"; - XDG_DOCUMENTS_DIR = "$HOME/files"; - XDG_DOWNLOAD_DIR = "$HOME/download"; - XDG_MUSIC_DIR = "$HOME/media/music"; - XDG_PICTURES_DIR = "$HOME/media/photo"; - XDG_PUBLICSHARE_DIR = "$HOME/pub"; - XDG_TEMPLATES_DIR = "$HOME/media/templates"; - XDG_VIDEOS_DIR = "$HOME/media/video"; - }; - - environment.etc."xdg/user-dirs.defaults".text = '' - XDG_CACHE_HOME="$HOME/.cache" - XDG_CONFIG_HOME="$HOME/.config" - XDG_DATA_HOME="$HOME/.local/share" - XDG_STATE_HOME="$HOME/.local/state" - XDG_BIN_HOME="$HOME/.local/bin" - XDG_DESKTOP_DIR="$HOME/desktop" - XDG_DOCUMENTS_DIR="$HOME/files" - XDG_DOWNLOAD_DIR="$HOME/download" - XDG_MUSIC_DIR="$HOME/media/music" - XDG_PICTURES_DIR="$HOME/media/photo" - XDG_PUBLICSHARE_DIR="$HOME/pub" - XDG_TEMPLATES_DIR="$HOME/media/templates" - XDG_VIDEOS_DIR="$HOME/media/video" - ''; } diff --git a/modules/server/default.nix b/modules/server/default.nix index facb35d..32b6898 100644 --- a/modules/server/default.nix +++ b/modules/server/default.nix @@ -1,4 +1,4 @@ { ... }: { - +virtualisation.arion.projects. } diff --git a/modules/server/docker/authentik.nix b/modules/server/docker/authentik.nix index 9395a70..660bce2 100644 --- a/modules/server/docker/authentik.nix +++ b/modules/server/docker/authentik.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }:{ +{ pkgs, ... }: { project.name = "Authentik"; networks = { diff --git a/modules/server/docker/cloud.nix b/modules/server/docker/cloud.nix index 8553767..c764a4f 100644 --- a/modules/server/docker/cloud.nix +++ b/modules/server/docker/cloud.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }:{ +{ pkgs, ... }: { project.name = "Cloud"; networks = { diff --git a/modules/server/docker/sample.nix b/modules/server/docker/sample.nix index 73749db..84610d0 100644 --- a/modules/server/docker/sample.nix +++ b/modules/server/docker/sample.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }:{ +{ pkgs, ... }: { project.name = "NEW"; networks = { diff --git a/modules/shared/syscfg/default.nix b/modules/shared/syscfg/default.nix index 32dae33..b2a3e61 100644 --- a/modules/shared/syscfg/default.nix +++ b/modules/shared/syscfg/default.nix @@ -13,6 +13,12 @@ let }; }; netOpt = with lib; { + ble = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; wlp = { enable = mkOption { type = types.bool; @@ -65,16 +71,28 @@ let }; }; serverOpt = with lib; { - hostDomain = mkOption {type = types.str;}; - mailDomain = mkOption {type = types.str;}; - mailServer = mkOption {type = types.str;}; + hostDomain = mkOption { type = types.str; }; + mailDomain = mkOption { type = types.str; }; + mailServer = mkOption { type = types.str; }; - dbHost = mkOption {type = types.str; default = "localhost";}; - dbPort = mkOption {type = types.str; default = "3306";}; + dbHost = mkOption { + type = types.str; + default = "localhost"; + }; + dbPort = mkOption { + type = types.str; + default = "3306"; + }; + + configPath = mkOption { + type = types.str; + default = "/media/config"; + }; + dataPath = mkOption { + type = types.str; + default = "/media/data"; + }; - configPath = mkOption {type=types.str; default= "/media/config";}; - dataPath = mkOption {type=types.str; default= "/media/data";}; - }; in with lib; { options.usercfg = userOpt;