Compare commits
	
		
			5 Commits
		
	
	
		
			cacde55d48
			...
			nvf-neovim
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 82eeacddaf | |||
| 0e4d27c861 | |||
| 7827633080 | |||
| 51beed138e | |||
| 6ff4e13b03 | 
							
								
								
									
										84
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										84
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -7,11 +7,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1749744770,
 | 
					        "lastModified": 1757432263,
 | 
				
			||||||
        "narHash": "sha256-MEM9XXHgBF/Cyv1RES1t6gqAX7/tvayBC1r/KPyK1ls=",
 | 
					        "narHash": "sha256-qHn+/0+IOz5cG68BZUwL9BV3EO/e9eNKCjH3+N7wMdI=",
 | 
				
			||||||
        "owner": "lnl7",
 | 
					        "owner": "lnl7",
 | 
				
			||||||
        "repo": "nix-darwin",
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
        "rev": "536f951efb1ccda9b968e3c9dee39fbeb6d3fdeb",
 | 
					        "rev": "1fef4404de4d1596aa5ab2bd68078370e1b9dcdb",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -61,11 +61,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1754487366,
 | 
					        "lastModified": 1756770412,
 | 
				
			||||||
        "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
 | 
					        "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
 | 
				
			||||||
        "owner": "hercules-ci",
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
        "repo": "flake-parts",
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
        "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
 | 
					        "rev": "4524271976b625a4a605beefd893f270620fd751",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -101,11 +101,11 @@
 | 
				
			|||||||
        "zon2nix": "zon2nix"
 | 
					        "zon2nix": "zon2nix"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1755536444,
 | 
					        "lastModified": 1757737252,
 | 
				
			||||||
        "narHash": "sha256-NFPZW6obNgUyELvekVhagCbXcdepZAAezxyzmFPQnFg=",
 | 
					        "narHash": "sha256-i0GfdFWNlIgFuVjCnf6/nSTqnNU4PSXb+6NBxGJkspE=",
 | 
				
			||||||
        "owner": "ghostty-org",
 | 
					        "owner": "ghostty-org",
 | 
				
			||||||
        "repo": "ghostty",
 | 
					        "repo": "ghostty",
 | 
				
			||||||
        "rev": "d8842b933b4991e8197e2605135d13a299f388f5",
 | 
					        "rev": "0c63946bdb68080cd5cac0f97622b8509b6776a5",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -121,11 +121,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1753592768,
 | 
					        "lastModified": 1756679287,
 | 
				
			||||||
        "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
 | 
					        "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "fc3add429f21450359369af74c2375cb34a2d204",
 | 
					        "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -137,11 +137,11 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "mnw": {
 | 
					    "mnw": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1748710831,
 | 
					        "lastModified": 1756659871,
 | 
				
			||||||
        "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
 | 
					        "narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
 | 
				
			||||||
        "owner": "Gerg-L",
 | 
					        "owner": "Gerg-L",
 | 
				
			||||||
        "repo": "mnw",
 | 
					        "repo": "mnw",
 | 
				
			||||||
        "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
 | 
					        "rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -181,11 +181,24 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_2": {
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1755471983,
 | 
					        "lastModified": 1755972213,
 | 
				
			||||||
        "narHash": "sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg=",
 | 
					        "narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=",
 | 
				
			||||||
 | 
					        "rev": "73e96df7cff5783f45e21342a75a1540c4eddce4",
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre850642.73e96df7cff5/nixexprs.tar.xz"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_3": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1757545623,
 | 
				
			||||||
 | 
					        "narHash": "sha256-mCxPABZ6jRjUQx3bPP4vjA68ETbPLNz9V2pk9tO7pRQ=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "48f4c982de68d966421d2b6f1ddbeb6227cc5ceb",
 | 
					        "rev": "8cd5ce828d5d1d16feff37340171a98fc3bf6526",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -195,13 +208,13 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_3": {
 | 
					    "nixpkgs_4": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1755049066,
 | 
					        "lastModified": 1756696532,
 | 
				
			||||||
        "narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=",
 | 
					        "narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "e45f8f193029378d0aaee5431ba098dc80054e9a",
 | 
					        "rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -216,15 +229,15 @@
 | 
				
			|||||||
        "flake-compat": "flake-compat_2",
 | 
					        "flake-compat": "flake-compat_2",
 | 
				
			||||||
        "flake-parts": "flake-parts",
 | 
					        "flake-parts": "flake-parts",
 | 
				
			||||||
        "mnw": "mnw",
 | 
					        "mnw": "mnw",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_3",
 | 
					        "nixpkgs": "nixpkgs_4",
 | 
				
			||||||
        "systems": "systems_2"
 | 
					        "systems": "systems_2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1755463179,
 | 
					        "lastModified": 1757773905,
 | 
				
			||||||
        "narHash": "sha256-5Ggb1Mhf7ZlRgGi2puCa2PvWs6KbMnWBlW6KW7Vf79Y=",
 | 
					        "narHash": "sha256-lM1K3cJsPQyiSGI3rE/F7u02fA/JYBsinMN49IQCY1s=",
 | 
				
			||||||
        "owner": "notashelf",
 | 
					        "owner": "notashelf",
 | 
				
			||||||
        "repo": "nvf",
 | 
					        "repo": "nvf",
 | 
				
			||||||
        "rev": "03833118267ad32226b014b360692bdce9d6e082",
 | 
					        "rev": "7e74ee604a7c18dda21e6a809720ad37ab5bae43",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -239,7 +252,7 @@
 | 
				
			|||||||
        "ghostty": "ghostty",
 | 
					        "ghostty": "ghostty",
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "nix-flatpak": "nix-flatpak",
 | 
					        "nix-flatpak": "nix-flatpak",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_2",
 | 
					        "nixpkgs": "nixpkgs_3",
 | 
				
			||||||
        "nvf": "nvf"
 | 
					        "nvf": "nvf"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -304,27 +317,20 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "zon2nix": {
 | 
					    "zon2nix": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "flake-utils": [
 | 
					        "nixpkgs": "nixpkgs_2"
 | 
				
			||||||
          "ghostty",
 | 
					 | 
				
			||||||
          "flake-utils"
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "nixpkgs": [
 | 
					 | 
				
			||||||
          "ghostty",
 | 
					 | 
				
			||||||
          "nixpkgs"
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742104771,
 | 
					        "lastModified": 1757167408,
 | 
				
			||||||
        "narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=",
 | 
					        "narHash": "sha256-4XyJ6fmKd9wgJ7vHUQuULYy5ps2gUgkkDk/PrJb2OPY=",
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
					        "rev": "dc78177e2ad28d5a407c9e783ee781bd559d7dd5",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
					        "rev": "dc78177e2ad28d5a407c9e783ee781bd559d7dd5",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								modules/apps/appimage.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								modules/apps/appimage.nix
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -21,11 +21,13 @@ in {
 | 
				
			|||||||
      inherit lib pkgs flatpakPackages;
 | 
					      inherit lib pkgs flatpakPackages;
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    ../../apps/gaming.nix
 | 
					    ../../apps/gaming.nix
 | 
				
			||||||
 | 
					    ../../apps/appimage.nix
 | 
				
			||||||
    ../../graphics
 | 
					    ../../graphics
 | 
				
			||||||
    ../../pwrMgmt
 | 
					    ../../pwrMgmt
 | 
				
			||||||
    ../../networking/core.nix
 | 
					    ../../networking/core.nix
 | 
				
			||||||
    ../../sound/pipewire.nix
 | 
					    ../../sound/pipewire.nix
 | 
				
			||||||
    ../../sound/shairport.nix
 | 
					    ../../sound/shairport.nix
 | 
				
			||||||
 | 
					    ../../sound/focusrite.nix
 | 
				
			||||||
    ../../virtualization/podman.nix
 | 
					    ../../virtualization/podman.nix
 | 
				
			||||||
    ../../virtualization/hardware.nix
 | 
					    ../../virtualization/hardware.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
@@ -34,9 +36,13 @@ in {
 | 
				
			|||||||
  nix.settings.experimental-features = ["nix-command" "flakes"];
 | 
					  nix.settings.experimental-features = ["nix-command" "flakes"];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Custom kernel/boot stuff
 | 
					  # Custom kernel/boot stuff
 | 
				
			||||||
  boot.kernelPackages = pkgs.linuxPackages_latest;
 | 
					  boot = {
 | 
				
			||||||
  boot.loader.systemd-boot.enable = true;
 | 
					    kernelPackages = pkgs.linuxPackages_latest;
 | 
				
			||||||
  boot.loader.efi.canTouchEfiVariables = true;
 | 
					    loader = {
 | 
				
			||||||
 | 
					      systemd-boot.enable = true;
 | 
				
			||||||
 | 
					      efi.canTouchEfiVariables = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Enable Bluetooth if present
 | 
					  # Enable Bluetooth if present
 | 
				
			||||||
  hardware.bluetooth.enable = true;
 | 
					  hardware.bluetooth.enable = true;
 | 
				
			||||||
@@ -63,21 +69,6 @@ in {
 | 
				
			|||||||
    wl-clip-persist
 | 
					    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
 | 
					  # Enable Polkit
 | 
				
			||||||
  security.polkit.enable = true;
 | 
					  security.polkit.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -145,14 +136,39 @@ in {
 | 
				
			|||||||
    networkManager.enable = true;
 | 
					    networkManager.enable = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Enable dconf
 | 
					  programs = {
 | 
				
			||||||
  programs.dconf.enable = true;
 | 
					    # 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
 | 
					  # Add username to groups "wheel" and "video" - more may be added here later
 | 
				
			||||||
  users.users.${userName}.extraGroups = ["wheel" "video" "gamemode" "podman" "network"];
 | 
					  users.users.${userName}.extraGroups = ["wheel" "video" "gamemode" "podman" "network"];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Flatpak packages (see ../../apps/flatpak.nix)
 | 
					  services = {
 | 
				
			||||||
  services.flatpak.packages = flatpakPackages;
 | 
					    # 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 stuff
 | 
				
			||||||
  xdg = {
 | 
					  xdg = {
 | 
				
			||||||
@@ -160,12 +176,12 @@ in {
 | 
				
			|||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      config = {
 | 
					      config = {
 | 
				
			||||||
        sway = {
 | 
					        sway = {
 | 
				
			||||||
          default = [ "wlr" "gtk" ];
 | 
					          default = ["wlr" "gtk"];
 | 
				
			||||||
          "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
 | 
					          "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        common = {
 | 
					        common = {
 | 
				
			||||||
          default = [ "gtk" ];
 | 
					          default = ["gtk"];
 | 
				
			||||||
          "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
 | 
					          "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      extraPortals = with pkgs; [
 | 
					      extraPortals = with pkgs; [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								modules/sound/focusrite.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								modules/sound/focusrite.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					# 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.sound.hardware.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
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					        ++ (
 | 
				
			||||||
 | 
					          if cfg.guiSupport
 | 
				
			||||||
 | 
					          then [pkgs.alsa-scarlett-gui]
 | 
				
			||||||
 | 
					          else []
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user