Compare commits

..

13 commits

Author SHA1 Message Date
Andre 286052b183 bugfix: Add splash boot parameter to template.
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
chore: Swap wiki link for new NixOS wiki
2024-06-23 10:19:09 -04:00
Andre 1dccfba71a chore: Simplify Nix config file in template
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
2024-06-22 13:39:54 -04:00
Andre 942a0e41bb bugfix: Remove lingering reference to auxlibs; Leave Totem in Gnome installs
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
2024-06-22 12:50:24 -04:00
Andre 94377f7487 feat: Add Lix to new user template
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
2024-06-22 12:37:53 -04:00
Andre 10b28d08e9 chore: Cleanup template readme and options 2024-06-22 12:28:34 -04:00
Andre 8ca6adecb4 Fix funky unicode quotes
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
2024-06-22 11:48:42 -04:00
Andre 3ea2d1bbfb chore: Remove Aux Libs input
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
2024-06-16 18:03:07 -04:00
Andre 9557d65423 feat: Add Flatpak support
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
chore: Prep for PR
2024-06-16 14:53:33 -04:00
Andre 249b7d7bc0 chore: Namespacing; update top-level Readme
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2024-06-16 14:32:29 -04:00
Andre 2590f106b6 feat: Add GPU support to new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2024-06-16 13:51:25 -04:00
Andre 54f4de49f4 chore: Change template namespace to 'aux.system'
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2024-06-16 12:53:16 -04:00
Andre 2cf855bfae feat: Re-enable abort conditions in new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2024-06-15 14:31:28 -04:00
Andre ecf935a4f7 feat: Add more options and defaults to the new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2024-06-15 14:26:05 -04:00
12 changed files with 49 additions and 81 deletions

View file

@ -116,7 +116,7 @@ in
# Enable the KDE desktop environment. # Enable the KDE desktop environment.
# https://kde.org/ # https://kde.org/
kde.useX11 = false; kde.enable = false;
# Enable the XFCE desktop environment. # Enable the XFCE desktop environment.
# https://xfce.org/ # https://xfce.org/

View file

@ -45,13 +45,6 @@ in
# Set up TPM if enabled. See https://nixos.wiki/wiki/TPM # Set up TPM if enabled. See https://nixos.wiki/wiki/TPM
(lib.mkIf (cfg.tpm2.enable) { (lib.mkIf (cfg.tpm2.enable) {
boot.initrd = {
# Enable systemd for TPM auto-unlocking
systemd.enable = true;
availableKernelModules = [ "tpm_crb" ];
kernelModules = [ "tpm_crb" ];
};
# After installing and rebooting, set it up via https://wiki.archlinux.org/title/Systemd-cryptenroll#Trusted_Platform_Module # After installing and rebooting, set it up via https://wiki.archlinux.org/title/Systemd-cryptenroll#Trusted_Platform_Module
environment.systemPackages = with pkgs; [ tpm2-tss ]; environment.systemPackages = with pkgs; [ tpm2-tss ];
security.tpm2 = { security.tpm2 = {

View file

@ -15,12 +15,15 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ]; services.xserver = {
enable = true;
videoDrivers = [ "amdgpu" ];
};
hardware.graphics = { hardware.opengl = {
extraPackages = [ pkgs.amdvlk ]; extraPackages = [ pkgs.amdvlk ];
# 32-bit application compatibility # 32-bit application compatibility
enable32Bit = true; driSupport32Bit = true;
extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ]; extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
}; };
}; };

View file

@ -19,7 +19,7 @@ in
environment.variables.VDPAU_DRIVER = "va_gl"; environment.variables.VDPAU_DRIVER = "va_gl";
hardware.graphics.extraPackages = with pkgs; [ hardware.opengl.extraPackages = with pkgs; [
( (
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
vaapiIntel vaapiIntel
@ -30,7 +30,7 @@ in
intel-media-driver intel-media-driver
]; ];
hardware.graphics.extraPackages32 = with pkgs.driversi686Linux; [ hardware.opengl.extraPackages32 = with pkgs.driversi686Linux; [
( (
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
vaapiIntel vaapiIntel

View file

@ -3,6 +3,7 @@
pkgs, pkgs,
config, config,
lib, lib,
inputs,
... ...
}: }:
let let
@ -18,9 +19,6 @@ in
}; };
}; };
config = { config = {
# Install the latest kernel
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
# Set up the environment # Set up the environment
environment = { environment = {
# Install base packages # Install base packages

View file

@ -35,7 +35,7 @@ in
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
# Reduce audio latency per https://nixos.wiki/wiki/PipeWire#Low-latency_setup # Reduce audio latency per https://wiki.nixos.org/wiki/PipeWire#Low-latency_setup
extraConfig.pipewire = lib.mkIf cfg.enableLowLatency { extraConfig.pipewire = lib.mkIf cfg.enableLowLatency {
"92-low-latency.conf" = { "92-low-latency.conf" = {
"context.properties" = { "context.properties" = {

View file

@ -16,18 +16,17 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
aux.system.ui.desktops = { aux.system.ui.desktops.enable = true;
enable = true;
displayManager = lib.mkOptionDefault "lightdm";
};
services.xserver = { services.xserver = {
enable = true; enable = true;
desktopManager.budgie.enable = desktopManager.budgie.enable = true;
if config.services.xserver.desktopManager.gnome.enable then displayManager.lightdm.enable = lib.mkIf (
builtins.abort "Budgie and Gnome cannot be enabled at the same time due to a bug. For details and a possible workaround, please see https://discourse.nixos.org/t/help-i-cant-have-pantheon-gnome-and-plasma-installed-on-my-system-at-the-same-time/47346" !(
else config.services.xserver.displayManager.gdm.enable
true; || config.services.xserver.displayManager.sddm.enable
)
) true;
}; };
}; };
} }

View file

@ -21,23 +21,13 @@ in
variant = ""; variant = "";
}; };
}; };
displayManager = lib.mkOption {
description = "The display manager to use to start a desktop session.";
type = lib.types.enum [
"gdm"
"lightdm"
"sddm"
"sddm_wayland"
];
};
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
aux.system = { aux.system.ui.audio.enable = true;
bluetooth.enable = true;
ui.audio.enable = true; hardware.bluetooth.enable = true;
};
boot = { boot = {
# Enable Plymouth for graphical bootsplash. # Enable Plymouth for graphical bootsplash.
@ -47,7 +37,7 @@ in
}; };
# Add kernel parameters # Add kernel parameters
kernelParams = [ "quiet" ]; kernelParams = [ "quiet" "splash" ];
}; };
services = { services = {
@ -56,23 +46,12 @@ in
# Enable the X11 windowing system. # Enable the X11 windowing system.
enable = true; enable = true;
# Configure keymap in X11
xkb = config.aux.system.ui.desktops.xkb;
# Set the display manager
displayManager = {
gdm.enable = (cfg.displayManager == "gdm");
lightdm.enable = (cfg.displayManager == "lightdm");
};
};
displayManager = {
sddm.enable = (cfg.displayManager == "sddm");
sddm.wayland.enable = (cfg.displayManager == "sddm_wayland");
};
# Enable touchpad support (enabled by default in most desktop managers, buuuut just in case). # Enable touchpad support (enabled by default in most desktop managers, buuuut just in case).
libinput.enable = true; libinput.enable = true;
# Configure keymap in X11
xkb = config.aux.system.ui.desktops.xkb;
};
}; };
# Support for AppImage files # Support for AppImage files

View file

@ -16,17 +16,15 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
aux.system.ui.desktops = { aux.system.ui.desktops.enable = true;
enable = true;
displayManager = lib.mkOverride 500 "gdm";
};
# Enable Gnome # Enable Gnome
services.xserver = { services.xserver = {
# Remove default packages that came with the install # Remove default packages that came with the install
excludePackages = [ pkgs.xterm ]; excludePackages = [ pkgs.xterm ];
desktopManager.gnome.enable = lib.mkDefault true; desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
}; };
environment = { environment = {
@ -46,9 +44,6 @@ in
]; ];
}; };
# Manually set askPassword to avoid a conflict with KDE
programs.ssh.askPassword = "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
# Gnome UI integration for KDE apps # Gnome UI integration for KDE apps
qt = { qt = {
enable = true; enable = true;

View file

@ -18,10 +18,7 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
aux.system.ui.desktops = { aux.system.ui.desktops.enable = true;
enable = true;
displayManager = if cfg.useX11 then lib.mkDefault "sddm" else lib.mkDefault "sddm_wayland";
};
programs.dconf.enable = true; programs.dconf.enable = true;
@ -33,9 +30,18 @@ in
}; };
services = { services = {
displayManager.sddm.enable = true;
desktopManager.plasma6.enable = true; desktopManager.plasma6.enable = true;
xserver.displayManager = lib.mkIf cfg.useX11 { defaultSession = "plasmaX11"; }; xserver.displayManager = lib.mkIf cfg.useX11 {
defaultSession = "plasmaX11";
sddm.wayland.enable = lib.mkIf (
!(
config.services.xserver.displayManager.gdm.enable
|| config.services.xserver.displayManager.lightdm.enable
)
) true;
};
}; };
# Enable Gnome integration # Enable Gnome integration

View file

@ -16,20 +16,15 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
aux.system.ui.desktops = { aux.system.ui.desktops.enable = true;
enable = true;
displayManager = lib.mkOptionDefault "lightdm";
};
services = { services.xserver = {
displayManager.defaultSession = "xfce";
xserver = {
enable = true; enable = true;
desktopManager = { desktopManager = {
xterm.enable = false; xterm.enable = false;
xfce.enable = true; xfce.enable = true;
}; };
}; displayManager.defaultSession = "xfce";
}; };
}; };
} }

View file

@ -66,8 +66,8 @@ with lib;
aggregatedIcons = pkgs.buildEnv { aggregatedIcons = pkgs.buildEnv {
name = "system-icons"; name = "system-icons";
paths = with pkgs; [ paths = with pkgs; [
(lib.mkIf config.aux.system.ui.desktops.gnome.enable gnome.gnome-themes-extra) (lib.mkIf config.aux.system.ui.gnome.enable gnome.gnome-themes-extra)
(lib.mkIf config.aux.system.ui.desktops.kde.enable kdePackages.breeze-icons) (lib.mkIf config.aux.system.ui.kde.enable kdePackages.breeze-icons)
]; ];
pathsToLink = [ "/share/icons" ]; pathsToLink = [ "/share/icons" ];
}; };