aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hosts/aptos/default.nix1
-rw-r--r--hosts/aptos/sound.nix1
-rw-r--r--hosts/carmel/default.nix24
-rw-r--r--hosts/common/desktop/default.nix9
-rw-r--r--hosts/common/desktop/sound.nix22
-rw-r--r--hosts/sound.nix1
-rw-r--r--lib/default.nix1
-rw-r--r--modules/default.nix1
-rw-r--r--modules/hardware/default.nix5
-rw-r--r--modules/hardware/sound/default.nix35
-rw-r--r--users/fcuny/desktop/wm/default.nix3
11 files changed, 59 insertions, 44 deletions
diff --git a/hosts/aptos/default.nix b/hosts/aptos/default.nix
index f3ed313..95f4b81 100644
--- a/hosts/aptos/default.nix
+++ b/hosts/aptos/default.nix
@@ -3,6 +3,7 @@
{
imports = [ # Include the results of the hardware scan.
./hardware-configuration.nix
+ ./sound.nix
../common/desktop
../common/system/tailscale.nix
../common/hardware/xps9300.nix
diff --git a/hosts/aptos/sound.nix b/hosts/aptos/sound.nix
new file mode 100644
index 0000000..947f9cd
--- /dev/null
+++ b/hosts/aptos/sound.nix
@@ -0,0 +1 @@
+{ ... }: { my.hardware.sound = { pipewire = { enable = true; }; }; }
diff --git a/hosts/carmel/default.nix b/hosts/carmel/default.nix
index 0234e90..ecc8362 100644
--- a/hosts/carmel/default.nix
+++ b/hosts/carmel/default.nix
@@ -1,13 +1,13 @@
{ config, pkgs, hostname, ... }:
{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ../common/desktop
- # In order to unlock the root disk remotely
- ../common/system/boot-ssh.nix
- ];
+ imports = [ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ./sound.nix
+ ../common/desktop
+ # In order to unlock the root disk remotely
+ ../common/system/boot-ssh.nix
+ ];
boot = {
# get an IP address on boot, so we can unlock the root disk remotely
@@ -27,13 +27,11 @@
networks = {
enp9s0 = {
matchConfig.Name = "enp9s0";
- networkConfig = {
- DHCP = "yes";
- };
+ networkConfig = { DHCP = "yes"; };
extraConfig = ''
- [DHCPv4]
- UseDNS=yes
- UseDomains=yes
+ [DHCPv4]
+ UseDNS=yes
+ UseDomains=yes
'';
};
};
diff --git a/hosts/common/desktop/default.nix b/hosts/common/desktop/default.nix
index b5effa9..6a752b6 100644
--- a/hosts/common/desktop/default.nix
+++ b/hosts/common/desktop/default.nix
@@ -1,10 +1,5 @@
-{lib, config, pkgs, ...}:
-{
- imports = [
- ./fonts.nix
- ./sound.nix
- ./xserver.nix
- ];
+{ lib, config, pkgs, ... }: {
+ imports = [ ./fonts.nix ./xserver.nix ];
services.avahi.enable = true;
# Important to resolve .local domains of printers, otherwise you get an error
diff --git a/hosts/common/desktop/sound.nix b/hosts/common/desktop/sound.nix
deleted file mode 100644
index c72875d..0000000
--- a/hosts/common/desktop/sound.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{pkgs, config, lib, ...}:
-
-{
- sound.enable = true;
-
- security = { rtkit.enable = true; };
-
- environment.systemPackages = with pkgs; [
- # We install it to get access to pactl. It isn't enabled or run as a service.
- pulseaudio
- ];
-
- services.pipewire = {
- enable = true;
- # Compatibility shims, adjust according to your needs
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- jack.enable = true;
- };
- hardware.pulseaudio.enable = false;
-}
diff --git a/hosts/sound.nix b/hosts/sound.nix
new file mode 100644
index 0000000..947f9cd
--- /dev/null
+++ b/hosts/sound.nix
@@ -0,0 +1 @@
+{ ... }: { my.hardware.sound = { pipewire = { enable = true; }; }; }
diff --git a/lib/default.nix b/lib/default.nix
index bb1c30f..ccf204e 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -12,6 +12,7 @@
};
modules = [
inputs.agenix.nixosModules.age
+ ../modules
../hosts/common
../hosts/${hostname}
./private-wireguard.nix
diff --git a/modules/default.nix b/modules/default.nix
new file mode 100644
index 0000000..5ec7ef8
--- /dev/null
+++ b/modules/default.nix
@@ -0,0 +1 @@
+{ ... }: { imports = [ ./hardware ]; }
diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix
new file mode 100644
index 0000000..79b062e
--- /dev/null
+++ b/modules/hardware/default.nix
@@ -0,0 +1,5 @@
+{ ... }:
+
+{
+ imports = [ ./sound ];
+}
diff --git a/modules/hardware/sound/default.nix b/modules/hardware/sound/default.nix
new file mode 100644
index 0000000..95e5ebc
--- /dev/null
+++ b/modules/hardware/sound/default.nix
@@ -0,0 +1,35 @@
+{ config, lib, pkgs, ... }:
+let cfg = config.my.hardware.sound;
+in {
+ options.my.hardware.sound = with lib; {
+ pipewire = { enable = mkEnableOption "pipewire configuration"; };
+ };
+
+ config = lib.mkIf cfg.pipewire.enable {
+ sound.enable = true;
+
+ # RealtimeKit is recommended
+ security.rtkit.enable = true;
+
+ environment.systemPackages = with pkgs; [
+ # We install it to get access to pactl. It isn't enabled or run as a service.
+ pulseaudio
+ pavucontrol
+ ];
+
+ services.pipewire = {
+ enable = true;
+
+ alsa = {
+ enable = true;
+ support32Bit = true;
+ };
+
+ pulse = { enable = true; };
+
+ jack = { enable = true; };
+ };
+
+ hardware.pulseaudio.enable = false;
+ };
+}
diff --git a/users/fcuny/desktop/wm/default.nix b/users/fcuny/desktop/wm/default.nix
index 4f39c14..24c7f8e 100644
--- a/users/fcuny/desktop/wm/default.nix
+++ b/users/fcuny/desktop/wm/default.nix
@@ -8,8 +8,7 @@
./screenshot.nix
];
- home.packages =
- [ pkgs.pavucontrol pkgs.wev pkgs.wf-recorder pkgs.wofi pkgs.wlogout ];
+ home.packages = [ pkgs.wev pkgs.wf-recorder pkgs.wofi pkgs.wlogout ];
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = true;