From dc6e082a5040420a6abce6061ae7ad0bffbef4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20SALVI?= Date: Fri, 26 Sep 2025 01:06:26 +0200 Subject: [PATCH] Add pipewire and nvidia --- flake.lock | 8 +++--- hosts/home-nix/network.nix | 4 +-- modules/core/packages.nix | 1 + .../etc/xdg/hypr/hyprland-home-nix.conf | 16 ++++++------ .../config/etc/xdg/waybar/config.jsonc | 7 +++-- modules/optionnals/desktop/nvidia.nix | 26 +++++++++++++++++++ modules/optionnals/desktop/pipewire.nix | 20 ++++++++++++++ modules/optionnals/hosts/home-nix.nix | 4 +++ modules/optionnals/hosts/work-nix.nix | 1 + 9 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 modules/optionnals/desktop/pipewire.nix diff --git a/flake.lock b/flake.lock index a4b7a32..8f9b1e9 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ "mysecrets": { "flake": false, "locked": { - "lastModified": 1758805800, - "narHash": "sha256-gpsVmfnAx5WvuJccSEFFCGQauVwTtMOvNX8MU2rAh9g=", + "lastModified": 1758835276, + "narHash": "sha256-RlfV0236hc1olvLMUDmd6uBOYGqr+77pF+UjGzELPA8=", "ref": "refs/heads/main", - "rev": "e323fa4ec284046bd64842e70123ffadfa2b859f", - "revCount": 6, + "rev": "38102377bbb3ecc2de852446ad03a6e4e98aba0b", + "revCount": 7, "type": "git", "url": "file:///home/beastie/nixos/secrets" }, diff --git a/hosts/home-nix/network.nix b/hosts/home-nix/network.nix index c758fbb..2c0b628 100644 --- a/hosts/home-nix/network.nix +++ b/hosts/home-nix/network.nix @@ -5,7 +5,7 @@ { networking = { hostName = "${hostname}"; - interfaces.enp1s0 = { + interfaces.enp5s0 = { ipv4.addresses = [ { address = "192.168.0.2"; @@ -15,7 +15,7 @@ }; defaultGateway = { address = "192.168.0.254"; - interface = "enp1s0"; + interface = "enp5s0"; }; nameservers = [ "9.9.9.9" diff --git a/modules/core/packages.nix b/modules/core/packages.nix index fa720f9..1f2419f 100644 --- a/modules/core/packages.nix +++ b/modules/core/packages.nix @@ -19,6 +19,7 @@ pkgs.nixos-generators pkgs.efibootmgr pkgs.gptfdisk + pkgs.duf ]; services = { locate = { diff --git a/modules/optionnals/desktop/config/etc/xdg/hypr/hyprland-home-nix.conf b/modules/optionnals/desktop/config/etc/xdg/hypr/hyprland-home-nix.conf index 2b93abb..18c64b7 100644 --- a/modules/optionnals/desktop/config/etc/xdg/hypr/hyprland-home-nix.conf +++ b/modules/optionnals/desktop/config/etc/xdg/hypr/hyprland-home-nix.conf @@ -4,11 +4,11 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=Virtual-1,1920x1080,0x0,1 -workspace = 1, monitor:Virtual-1 -workspace = 2, monitor:Virtual-1 -workspace = 3, monitor:Virtual-1 -workspace = 4, monitor:Virtual-1 -workspace = 5, monitor:Virtual-1 -workspace = 6, monitor:Virtual-1 -workspace = 7, monitor:Virtual-1 -workspace = 8, monitor:Virtual-1 +workspace = 1, monitor:HDMI-A-1 +workspace = 2, monitor:HDMI-A-1 +workspace = 3, monitor:HDMI-A-1 +workspace = 4, monitor:HDMI-A-1 +workspace = 5, monitor:HDMI-A-2 +workspace = 6, monitor:HDMI-A-2 +workspace = 7, monitor:HDMI-A-2 +workspace = 8, monitor:HDMI-A-2 diff --git a/modules/optionnals/desktop/config/etc/xdg/waybar/config.jsonc b/modules/optionnals/desktop/config/etc/xdg/waybar/config.jsonc index 94322a4..cd0deec 100644 --- a/modules/optionnals/desktop/config/etc/xdg/waybar/config.jsonc +++ b/modules/optionnals/desktop/config/etc/xdg/waybar/config.jsonc @@ -34,7 +34,7 @@ }, "disk": { "interval": 300, - "format": "  {percentage_free}% ", + "format": "  {percentage_used}% ", "path": "/" }, "network": { @@ -73,9 +73,8 @@ "all-outputs": false, "on-click": "activate", "persistent-workspaces": { - "HDMI-A-1": [1, 2, 3], - "HDMI-A-2": [4, 5, 6], - "eDP-1": [7, 8, 9], + "HDMI-A-1": [1, 2, 3, 4], + "HDMI-A-2": [5, 6, 7, 8], }, "format": "{name}", "format-icons": { diff --git a/modules/optionnals/desktop/nvidia.nix b/modules/optionnals/desktop/nvidia.nix index e69de29..a54767e 100644 --- a/modules/optionnals/desktop/nvidia.nix +++ b/modules/optionnals/desktop/nvidia.nix @@ -0,0 +1,26 @@ +{ + lib, + config, + ... +}: +let + hostname = config.networking.hostName; +in +{ + services.xserver.videoDrivers = [ "nvidia" ]; + hardware = { + graphics = { + # enable opengl + enable = true; + enable32Bit = true; + }; + nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + }; +} \ No newline at end of file diff --git a/modules/optionnals/desktop/pipewire.nix b/modules/optionnals/desktop/pipewire.nix new file mode 100644 index 0000000..96136e6 --- /dev/null +++ b/modules/optionnals/desktop/pipewire.nix @@ -0,0 +1,20 @@ +{ + lib, + config, + pkgs, + ... +}: +{ + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + environment.systemPackages = with pkgs; [ + pavucontrol + pulseaudio # for pactl + easyeffects + ]; +} \ No newline at end of file diff --git a/modules/optionnals/hosts/home-nix.nix b/modules/optionnals/hosts/home-nix.nix index 74b6d4f..c93e519 100644 --- a/modules/optionnals/hosts/home-nix.nix +++ b/modules/optionnals/hosts/home-nix.nix @@ -14,6 +14,10 @@ ../desktop/packages.nix ../desktop/qwerty-fr.nix ../desktop/rofi.nix + ../desktop/starship.nix ../desktop/wayland.nix + + ### Import Graphics modules + ../desktop/nvidia.nix ]; } diff --git a/modules/optionnals/hosts/work-nix.nix b/modules/optionnals/hosts/work-nix.nix index 0f50d2c..c49df5c 100644 --- a/modules/optionnals/hosts/work-nix.nix +++ b/modules/optionnals/hosts/work-nix.nix @@ -12,6 +12,7 @@ ../desktop/dunst.nix ../desktop/kitty.nix ../desktop/packages.nix + ../desktop/pipewire.nix ../desktop/qwerty-fr.nix ../desktop/rofi.nix ../desktop/starship.nix