Compare commits

..

No commits in common. "9e638c009f37bf4ffb33b96b278a14cb5aea741b" and "5fefab9707545401ada0c981efc876b18b79cc75" have entirely different histories.

11 changed files with 38 additions and 76 deletions

View file

@ -1,18 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.base-graphical;
in
{
imports = [
./desktop.nix
./sound.nix
];
options.qenya.base-graphical.enable = mkEnableOption "Base configuration for graphical environments";
config = mkIf cfg.enable {
services.xserver.enable = true;
};
}

View file

@ -1,26 +0,0 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption types;
cfg = config.qenya.base-graphical;
isGnome = cfg.desktop == "gnome";
isPlasma6 = cfg.desktop == "plasma6";
in
{
options.qenya.base-graphical.desktop = mkOption {
type = types.enum [ "gnome" "plasma6" ];
default = "gnome";
example = "plasma6";
description = "Which display manager and desktop manager to use.";
};
config = mkIf cfg.enable {
services.xserver.displayManager.gdm.enable = isGnome;
services.xserver.desktopManager.gnome.enable = isGnome;
services.displayManager.sddm.enable = isPlasma6;
services.displayManager.sddm.wayland.enable = isPlasma6;
services.desktopManager.plasma6.enable = isPlasma6;
};
}

View file

@ -1,20 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.base-graphical;
in
{
config = mkIf cfg.enable {
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
hardware.pulseaudio.enable = false; # this theoretically defaults to false but something else seems to be flipping it
environment.systemPackages = with pkgs; [ helvum ]; # patchbay
};
}

View file

@ -1,7 +1,6 @@
{ {
imports = [ imports = [
./base-graphical ./sysadmin
./base-server
./users ./users
./environment.nix ./environment.nix
./home-manager.nix ./home-manager.nix

View file

@ -2,10 +2,10 @@
with lib; with lib;
let let
cfg = config.qenya.base-server; cfg = config.qenya.sysadmin;
in in
{ {
options.qenya.base-server.enable = mkEnableOption "Base configuration for headless servers"; options.qenya.sysadmin.enable = mkEnableOption "Base configuration for headless servers";
config = mkIf cfg.enable { config = mkIf cfg.enable {
time.timeZone = "Etc/UTC"; time.timeZone = "Etc/UTC";

View file

@ -9,7 +9,7 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
users.users.qenya.extraGroups = [ "wheel" ]; users.users.qenya.extraGroups = [ "wheel" ];
qenya.base-server.enable = true; qenya.sysadmin.enable = true;
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View file

@ -6,6 +6,7 @@
./filesystems.nix ./filesystems.nix
./hardware.nix ./hardware.nix
./networking.nix ./networking.nix
./sound.nix
]; ];
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
@ -16,12 +17,15 @@
targetHost = null; # disallow remote deployment targetHost = null; # disallow remote deployment
}; };
qenya.base-graphical.enable = true;
qenya.base-graphical.desktop = "plasma6";
time.timeZone = "Europe/London"; time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8"; i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk"; console.keyMap = "uk";
services.xserver.enable = true;
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.xkb.layout = "gb"; services.xserver.xkb.layout = "gb";
services.printing.enable = true; services.printing.enable = true;

View file

@ -0,0 +1,13 @@
{ config, lib, pkgs, ... }:
{
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
environment.systemPackages = with pkgs; [ helvum ]; # patchbay
}

View file

@ -9,7 +9,7 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
users.users.qenya.extraGroups = [ "wheel" ]; users.users.qenya.extraGroups = [ "wheel" ];
qenya.base-server.enable = true; qenya.sysadmin.enable = true;
age.secrets.wireguard-peer-orm.file = ../../secrets/wireguard-peer-orm.age; age.secrets.wireguard-peer-orm.file = ../../secrets/wireguard-peer-orm.age;

View file

@ -18,15 +18,25 @@
targetHost = null; # disallow remote deployment targetHost = null; # disallow remote deployment
}; };
qenya.base-graphical.enable = true;
time.timeZone = "Europe/London"; time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8"; i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk"; console.keyMap = "uk";
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.xkb.layout = "gb"; services.xserver.xkb.layout = "gb";
services.printing.enable = true; services.printing.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = true;
# services.pipewire = {
# enable = true;
# pulse.enable = true;
# };
age.secrets.user-password-tohru-qenya.file = ../../secrets/user-password-tohru-qenya.age; age.secrets.user-password-tohru-qenya.file = ../../secrets/user-password-tohru-qenya.age;
users.users.qenya.hashedPasswordFile = config.age.secrets.user-password-tohru-qenya.path; users.users.qenya.hashedPasswordFile = config.age.secrets.user-password-tohru-qenya.path;
users.users.qenya.extraGroups = [ users.users.qenya.extraGroups = [

View file

@ -10,7 +10,7 @@
users.users.qenya.extraGroups = [ "wheel" ]; users.users.qenya.extraGroups = [ "wheel" ];
qenya.base-server.enable = true; qenya.sysadmin.enable = true;
age.secrets.wireguard-peer-yevaud.file = ../../secrets/wireguard-peer-yevaud.age; age.secrets.wireguard-peer-yevaud.file = ../../secrets/wireguard-peer-yevaud.age;