Move audio/binfmt/bluetooth/headphones/chess/kubernetes/virtualization into azos-core suites
Mirrors the azos-core change: removes the now-relocated standalone features from azos/features, and updates both import lists (home-manager/home.nix, nixos/configuration.nix) to pull the nixos.desktop and nixos.dev suite modules instead of the old per-feature ones.
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.homeManager.audio = {
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.azos.home-audio.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.home-audio.enable {};
|
||||
};
|
||||
|
||||
config.flake.modules.nixos.audio = {
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.azos.hardware-audio.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.hardware-audio.enable {
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
audio.enable = true;
|
||||
pulse.enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
jack.enable = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [pavucontrol];
|
||||
musnix.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.nixos.binfmt = {
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.azos.binfmt.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.binfmt.enable {
|
||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.nixos.bluetooth = {
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.azos.bluetooth.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.bluetooth.enable {
|
||||
services.blueman.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
environment.etc."bluetooth/input.conf" = lib.mkForce {
|
||||
text = ''
|
||||
[General]
|
||||
ClassicBondedOnly=false
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.overlayPkgs.emacs-lichess = pkgs: let
|
||||
epkgs = pkgs.emacs.pkgs;
|
||||
in
|
||||
epkgs.trivialBuild {
|
||||
pname = "lichess";
|
||||
version = "1.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "tmythicator";
|
||||
repo = "lichess.el";
|
||||
rev = "572a6a353e2113c8a95564b9bea1f2896e6d3dab";
|
||||
sha256 = "1d87qjmdpizggkrzq39i9vqgvbpjf5mv97vm7zy28ksbqxmfasqa";
|
||||
};
|
||||
# trivialBuild's installPhase only installs *.el/*.elc; the piece SVGs
|
||||
# under assets/ must be copied alongside so the default
|
||||
# lichess-board-gui-asset-path (relative to the installed .el file) resolves.
|
||||
postInstall = ''
|
||||
cp -r assets $out/share/emacs/site-lisp/
|
||||
'';
|
||||
};
|
||||
|
||||
config.flake.modules.homeManager.chess = {
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.azos.chess.enable = lib.mkOption {
|
||||
default = false;
|
||||
example = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
|
||||
config = lib.mkIf config.azos.chess.enable {
|
||||
azos.emacs.pkgs = [pkgs.azos-emacs-chess];
|
||||
azos.emacs.enabledSuites = ["azos-emacs-chess"];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
orgTrivialBuild,
|
||||
epkgs,
|
||||
pkgs,
|
||||
}:
|
||||
orgTrivialBuild {
|
||||
pname = "azos-emacs-chess";
|
||||
version = "0.1.0";
|
||||
src = ./config.org;
|
||||
packageRequires = with epkgs; [
|
||||
pkgs.azos-emacs-base
|
||||
pkgs.emacs-lichess
|
||||
];
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
#+title: Aner's Emacs Chess Configuration
|
||||
#+property: header-args :results silent
|
||||
|
||||
* Base setup
|
||||
** Require
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(require 'azos-emacs-base)
|
||||
#+end_src
|
||||
|
||||
* Lichess
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lichess
|
||||
:demand t
|
||||
:init
|
||||
(defun azos/chess/open ()
|
||||
"Open lichess in its dedicated \"chess\" tab."
|
||||
(interactive)
|
||||
(azos/tab-bar/open-singleton-tab "chess" #'lichess))
|
||||
:bind
|
||||
(:map azos/global-minor-mode/open-keymap
|
||||
("k" . azos/chess/open)))
|
||||
#+end_src
|
||||
|
||||
* Provide
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(provide 'azos-emacs-chess)
|
||||
#+end_src
|
||||
@@ -1,3 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.overlayPkgs.azos-emacs-chess = pkgs: pkgs.localEmacsPkg ./_pkg.nix;
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.homeManager.headphones = {
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.azos.headphones = {
|
||||
enable = lib.mkOption {
|
||||
default = false;
|
||||
example = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
devices = lib.mkOption {
|
||||
default = [];
|
||||
type = lib.types.listOf (lib.types.submodule {
|
||||
options = {
|
||||
mac = lib.mkOption {type = lib.types.str;};
|
||||
name = lib.mkOption {type = lib.types.str;};
|
||||
};
|
||||
});
|
||||
description = "Headphone devices; first entry is the default connect target.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.azos.headphones.enable {
|
||||
home.packages = let
|
||||
deviceEntries =
|
||||
lib.concatMapStrings
|
||||
(d: " ${lib.escapeShellArg "${d.mac} ${d.name}"}\n")
|
||||
config.azos.headphones.devices;
|
||||
defaultMac =
|
||||
if config.azos.headphones.devices == []
|
||||
then ""
|
||||
else (lib.head config.azos.headphones.devices).mac;
|
||||
in [
|
||||
(pkgs.writeShellScriptBin "azos-connect-headphones" ''
|
||||
DEVICES=(
|
||||
${deviceEntries})
|
||||
|
||||
case "$1" in
|
||||
--list)
|
||||
printf '%s\n' "''${DEVICES[@]}"
|
||||
;;
|
||||
--mac)
|
||||
echo "connect $2" | bluetoothctl
|
||||
;;
|
||||
*)
|
||||
echo "connect ${defaultMac}" | bluetoothctl
|
||||
;;
|
||||
esac
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.homeManager.kubernetes = {
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.azos.kubectl.enable = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.kubectl.enable {
|
||||
home.packages = with pkgs; [kubectl kubernetes-helm velero];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{...}: {
|
||||
config.flake.modules.nixos.virtualization = {
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.azos.virtualization.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.virtualization.enable {
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
swtpm.enable = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
qemu_kvm
|
||||
libvirt
|
||||
virt-manager
|
||||
virt-viewer
|
||||
];
|
||||
services.spice-vdagentd.enable = true;
|
||||
networking.firewall.allowedTCPPorts = [5900 5901];
|
||||
networking.firewall.allowedUDPPorts = [5900 5901];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user