mirror of
https://gitlab.com/Zaney/zaneyos.git
synced 2025-06-27 07:22:05 +02:00
Add pkgs, switch to sddm, add prime hybrid graphics and hw clock modules too
This commit is contained in:
parent
97c350b080
commit
8ad180ddae
@ -16,8 +16,10 @@ in
|
||||
./users.nix
|
||||
../../modules/amd-drivers.nix
|
||||
../../modules/nvidia-drivers.nix
|
||||
../../modules/nvidia-prime-drivers.nix
|
||||
../../modules/intel-drivers.nix
|
||||
../../modules/vm-guest-services.nix
|
||||
../../modules/local-hardware-clock.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
@ -41,14 +43,14 @@ in
|
||||
boot.kernelModules = [ "v4l2loopback" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
|
||||
networking.hostName = "${host}";
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
networking.hostName = "${host}";
|
||||
networking.timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
@ -150,6 +152,7 @@ in
|
||||
rofi-wayland
|
||||
imv
|
||||
transmission-gtk
|
||||
distrobox
|
||||
mpv
|
||||
gimp
|
||||
obs-studio
|
||||
@ -164,50 +167,71 @@ in
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
];
|
||||
|
||||
environment.systemPackages =
|
||||
let
|
||||
sugar = pkgs.callPackage ../../pkgs/sddm-sugar-dark.nix {};
|
||||
tokyo-night = pkgs.libsForQt5.callPackage ../../pkgs/sddm-tokyo-night.nix {};
|
||||
in [
|
||||
sugar.sddm-sugar-dark # Name: sugar-dark
|
||||
tokyo-night # Name: tokyo-night-sddm
|
||||
pkgs.libsForQt5.qt5.qtgraphicaleffects
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
ZANEYOS_VERSION = "2.0";
|
||||
};
|
||||
|
||||
# Services to start
|
||||
services.xserver = {
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
displayManager.lightdm.enable = true;
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
autoNumlock = true;
|
||||
wayland.enable = true;
|
||||
theme = "sugar-dark";
|
||||
};
|
||||
desktopManager.cinnamon.enable = true;
|
||||
xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
services.libinput.enable = true;
|
||||
services.openssh.enable = true;
|
||||
services.printing.enable = true;
|
||||
services.avahi = {
|
||||
libinput.enable = true;
|
||||
openssh.enable = true;
|
||||
printing.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
services.ipp-usb.enable = true;
|
||||
services.syncthing = {
|
||||
ipp-usb.enable = true;
|
||||
syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
dataDir = "/home/${username}";
|
||||
configDir = "/home/${username}/.config/syncthing";
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
rpcbind.enable = true;
|
||||
nfs.server.enable = true;
|
||||
};
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
extraBackends = [ pkgs.sane-airscan ];
|
||||
disabledDefaultBackends = [ "escl" ];
|
||||
};
|
||||
hardware.logitech.wireless.enable = true;
|
||||
hardware.logitech.wireless.enableGraphical = true;
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
# Security / Polkit
|
||||
security.polkit.enable = true;
|
||||
@ -246,7 +270,13 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# Virtualization / Containers
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
|
||||
# OpenGL
|
||||
hardware.opengl = {
|
||||
@ -258,8 +288,14 @@ in
|
||||
# Extra Module Options
|
||||
drivers.amdgpu.enable = true;
|
||||
drivers.nvidia.enable = false;
|
||||
drivers.nvidia-prime = {
|
||||
enable = false;
|
||||
intelBusID = "";
|
||||
nvidiaBusID = "";
|
||||
};
|
||||
drivers.intel.enable = false;
|
||||
vm.guest-services.enable = false;
|
||||
local.hardware-clock.enable = false;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
|
19
modules/local-hardware-clock.nix
Normal file
19
modules/local-hardware-clock.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.local.hardware-clock;
|
||||
in
|
||||
{
|
||||
options.local.hardware-clock = {
|
||||
enable = mkEnableOption "Change Hardware Clock To Local Time";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
time.hardwareClockInLocalTime = true;
|
||||
};
|
||||
}
|
37
modules/nvidia-prime-drivers.nix
Normal file
37
modules/nvidia-prime-drivers.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.drivers.nvidia-prime;
|
||||
in
|
||||
{
|
||||
options.drivers.nvidia-prime = {
|
||||
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
|
||||
intelBusID = mkOption {
|
||||
type = types.str;
|
||||
default = "PCI:1:0:0";
|
||||
};
|
||||
nvidiaBusID = mkOption {
|
||||
type = types.str;
|
||||
default = "PCI:0:2:0";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.nvidia = {
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
# Make sure to use the correct Bus ID values for your system!
|
||||
intelBusId = "${cfg.intelBusID}";
|
||||
nvidiaBusId = "${cfg.nvidiaBusID}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
18
pkgs/sddm-sugar-dark.nix
Normal file
18
pkgs/sddm-sugar-dark.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
{
|
||||
sddm-sugar-dark = stdenv.mkDerivation rec {
|
||||
pname = "sddm-sugar-dark-theme";
|
||||
version = "1.2";
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes
|
||||
cp -aR $src $out/share/sddm/themes/sugar-dark
|
||||
'';
|
||||
src = fetchFromGitHub {
|
||||
owner = "MarianArlt";
|
||||
repo = "sddm-sugar-dark";
|
||||
rev = "v${version}";
|
||||
sha256 = "0gx0am7vq1ywaw2rm1p015x90b75ccqxnb1sz3wy8yjl27v82yhb";
|
||||
};
|
||||
};
|
||||
}
|
33
pkgs/sddm-tokyo-night.nix
Normal file
33
pkgs/sddm-tokyo-night.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib, qtbase, qtsvg
|
||||
, qtgraphicaleffects
|
||||
, qtquickcontrols2
|
||||
, wrapQtAppsHook
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "tokyo-night-sddm";
|
||||
version = "1..0";
|
||||
dontBuild = true;
|
||||
src = fetchFromGitHub {
|
||||
owner = "rototrash";
|
||||
repo = "tokyo-night-sddm";
|
||||
rev = "320c8e74ade1e94f640708eee0b9a75a395697c6";
|
||||
sha256 = "sha256-JRVVzyefqR2L3UrEK2iWyhUKfPMUNUnfRZmwdz05wL0=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
qtbase
|
||||
qtsvg
|
||||
qtgraphicaleffects
|
||||
qtquickcontrols2
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes
|
||||
cp -aR $src $out/share/sddm/themes/tokyo-night-sddm
|
||||
'';
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user