From 6ff4e13b03a1eb00bd313610a4d24433149fc9bb Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Tue, 12 Aug 2025 09:14:50 -0400 Subject: [PATCH 1/2] flake update --- flake.lock | 23 ++++++++++++----------- home/sway.nix | 15 --------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index d1b8fb2..0b81522 100644 --- a/flake.lock +++ b/flake.lock @@ -64,11 +64,11 @@ "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1751123364, - "narHash": "sha256-Nb3pxs1onnbdhhnoNc+IfHzrW9dM+UbEdjK0AguR2J4=", + "lastModified": 1754941490, + "narHash": "sha256-2AJf0q4u1zakqjr0y4dCyqzdDSil8P5m2YpZxAAzJJw=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "f6d1c274b9c0e095dc0a1b411dec7410ad779bf5", + "rev": "5bf632e9cc0e77a578bad983b0cbdf0451ce87d4", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1750792728, - "narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "366f00797b1efb70f2882d3da485e3c10fd3d557", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -129,11 +129,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750969886, - "narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=", + "lastModified": 1754767907, + "narHash": "sha256-8OnUzRQZkqtUol9vuUuQC30hzpMreKptNyET2T9lB6g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a676066377a2fe7457369dd37c31fd2263b662f4", + "rev": "c5f08b62ed75415439d48152c2a784e36909b1bc", "type": "github" }, "original": { @@ -170,7 +170,8 @@ "zig": { "inputs": { "flake-compat": [ - "ghostty" + "ghostty", + "flake-compat" ], "flake-utils": [ "ghostty", @@ -216,8 +217,8 @@ }, "original": { "owner": "jcollie", - "ref": "56c159be489cc6c0e73c3930bd908ddc6fe89613", "repo": "zon2nix", + "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613", "type": "github" } } diff --git a/home/sway.nix b/home/sway.nix index 5778135..8e81b1d 100644 --- a/home/sway.nix +++ b/home/sway.nix @@ -147,20 +147,5 @@ in { programs.waybar = { enable = pkgs.stdenv.isLinux; systemd.enable = true; - - package = pkgs.waybar.overrideAttrs (old: { - version = "0.11.0"; - - src = pkgs.fetchFromGitHub { - owner = "Alexays"; - repo = "Waybar"; - rev = "d56dd6ee7fdf8c5ba4e90790af62b7f7829d3a47"; - sha256 = "sha256-3lc0voMU5RS+mEtxKuRayq/uJO09X7byq6Rm5NZohq8="; - fetchSubmodules = true; - }; - - buildInputs = old.buildInputs ++ [ pkgs.fftw pkgs.libcava ]; - # mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ]; - }); }; } From 51beed138e6b6de4ef6fe2eaa8a8803a08600b6b Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Sat, 13 Sep 2025 16:09:21 -0400 Subject: [PATCH 2/2] added dedicated focusrite scarlett, appimage modules, modified cloud these new modules include only packages, no other configuration. maybe later but none currently --- modules/apps/appimage.nix | 19 +++++++ modules/machine/cloud/configuration.nix | 68 +++++++++++++++---------- modules/sound/focusrite.nix | 33 ++++++++++++ 3 files changed, 94 insertions(+), 26 deletions(-) create mode 100644 modules/apps/appimage.nix create mode 100644 modules/sound/focusrite.nix diff --git a/modules/apps/appimage.nix b/modules/apps/appimage.nix new file mode 100644 index 0000000..2b6261e --- /dev/null +++ b/modules/apps/appimage.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.appimage; +in { + options.appimage = { + enable = mkEnableOption "AppImage support"; + }; + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + appimageupdate + appimage-run + ]; + }; +} diff --git a/modules/machine/cloud/configuration.nix b/modules/machine/cloud/configuration.nix index 1ec6029..4aa3fc8 100644 --- a/modules/machine/cloud/configuration.nix +++ b/modules/machine/cloud/configuration.nix @@ -21,11 +21,13 @@ in { inherit lib pkgs flatpakPackages; }) ../../apps/gaming.nix + ../../apps/appimage.nix ../../graphics ../../pwrMgmt ../../networking/core.nix ../../sound/pipewire.nix ../../sound/shairport.nix + ../../sound/focusrite.nix ../../virtualization/podman.nix ../../virtualization/hardware.nix ]; @@ -34,9 +36,13 @@ in { nix.settings.experimental-features = ["nix-command" "flakes"]; # Custom kernel/boot stuff - boot.kernelPackages = pkgs.linuxPackages_latest; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + boot = { + kernelPackages = pkgs.linuxPackages_latest; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; # Enable Bluetooth if present hardware.bluetooth.enable = true; @@ -63,21 +69,6 @@ in { wl-clip-persist ]; - # Enable OpenSSH - services.openssh.enable = true; - - # Enable keyring - services.gnome.gnome-keyring.enable = true; - - # Enable GnuPG - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - - # Enable SUID wrappers (some programs need them) - programs.mtr.enable = true; - # Enable Polkit security.polkit.enable = true; @@ -145,14 +136,39 @@ in { networkManager.enable = true; }; - # Enable dconf - programs.dconf.enable = true; + programs = { + # Enable GnuPG + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + # Enable SUID wrappers (some programs need them) + mtr.enable = true; + + # Enable dconf + dconf.enable = true; + }; # Add username to groups "wheel" and "video" - more may be added here later users.users.${userName}.extraGroups = ["wheel" "video" "gamemode" "podman" "network"]; - # Flatpak packages (see ../../apps/flatpak.nix) - services.flatpak.packages = flatpakPackages; + services = { + # Enable OpenSSH + openssh.enable = true; + + # Enable keyring + gnome.gnome-keyring.enable = true; + + # Flatpak packages (see ../../apps/flatpak.nix) + flatpak.packages = flatpakPackages; + }; + + # Focusrite Scarlett audio interface support (see ../../sound/focusrite.nix) + sound.hardware.focusrite.enable = true; + + # AppImage support + appimage.enable = true; # XDG stuff xdg = { @@ -160,12 +176,12 @@ in { enable = true; config = { sway = { - default = [ "wlr" "gtk" ]; - "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + default = ["wlr" "gtk"]; + "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; }; common = { - default = [ "gtk" ]; - "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + default = ["gtk"]; + "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; }; }; extraPortals = with pkgs; [ diff --git a/modules/sound/focusrite.nix b/modules/sound/focusrite.nix new file mode 100644 index 0000000..24a6f00 --- /dev/null +++ b/modules/sound/focusrite.nix @@ -0,0 +1,33 @@ +# Must be paired with the pipewire Nix module, this does nothing but install packages +{ + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.sound.hardware.focusrite; +in { + options.focusrite = { + enable = mkEnableOption "Focusrite audio interface support"; + guiSupport = mkOption { + type = types.bool; + default = false; + description = "Enable GUI support for Focusrite Scarlett audio interface (installs alsa-scarlett-gui)"; + }; + }; + config = mkIf cfg.enable (mkMerge [ + { + environment.systemPackages = with pkgs; + [ + scarlett2 + alsa-scarlett-gui + ] + ++ ( + if cfg.guiSupport + then [pkgs.alsa-scarlett-gui] + else [] + ); + } + ]); +}