From da5df102cdd5ded396056c6b4f51707d0b005bc0 Mon Sep 17 00:00:00 2001 From: Aner Zakobar Date: Tue, 13 Oct 2026 09:19:31 +0300 Subject: [PATCH] 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. --- azos-core | 2 +- features/audio/default.nix | 41 --------------------- features/binfmt/default.nix | 15 -------- features/bluetooth/default.nix | 22 ------------ features/chess/default.nix | 39 -------------------- features/chess/emacs/_pkg.nix | 14 -------- features/chess/emacs/config.org | 30 ---------------- features/chess/emacs/default.nix | 3 -- features/headphones/default.nix | 56 ----------------------------- features/kubernetes/default.nix | 16 --------- features/virtualization/default.nix | 30 ---------------- home-manager/home.nix | 4 --- nixos/configuration.nix | 6 ++-- 13 files changed, 3 insertions(+), 275 deletions(-) delete mode 100644 features/audio/default.nix delete mode 100644 features/binfmt/default.nix delete mode 100644 features/bluetooth/default.nix delete mode 100644 features/chess/default.nix delete mode 100644 features/chess/emacs/_pkg.nix delete mode 100644 features/chess/emacs/config.org delete mode 100644 features/chess/emacs/default.nix delete mode 100644 features/headphones/default.nix delete mode 100644 features/kubernetes/default.nix delete mode 100644 features/virtualization/default.nix diff --git a/azos-core b/azos-core index e75f226..e39b517 160000 --- a/azos-core +++ b/azos-core @@ -1 +1 @@ -Subproject commit e75f226e270ee9730060f996ff531921b94649bb +Subproject commit e39b517168c611408cd6bce0078b540a46f783e6 diff --git a/features/audio/default.nix b/features/audio/default.nix deleted file mode 100644 index 08bfcf0..0000000 --- a/features/audio/default.nix +++ /dev/null @@ -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; - }; - }; -} diff --git a/features/binfmt/default.nix b/features/binfmt/default.nix deleted file mode 100644 index 2220be7..0000000 --- a/features/binfmt/default.nix +++ /dev/null @@ -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"]; - }; - }; -} diff --git a/features/bluetooth/default.nix b/features/bluetooth/default.nix deleted file mode 100644 index 1f63b5a..0000000 --- a/features/bluetooth/default.nix +++ /dev/null @@ -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 - ''; - }; - }; - }; -} diff --git a/features/chess/default.nix b/features/chess/default.nix deleted file mode 100644 index 8c82d40..0000000 --- a/features/chess/default.nix +++ /dev/null @@ -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"]; - }; - }; -} diff --git a/features/chess/emacs/_pkg.nix b/features/chess/emacs/_pkg.nix deleted file mode 100644 index 227ee7a..0000000 --- a/features/chess/emacs/_pkg.nix +++ /dev/null @@ -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 - ]; -} diff --git a/features/chess/emacs/config.org b/features/chess/emacs/config.org deleted file mode 100644 index 6f2507d..0000000 --- a/features/chess/emacs/config.org +++ /dev/null @@ -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 diff --git a/features/chess/emacs/default.nix b/features/chess/emacs/default.nix deleted file mode 100644 index 1936925..0000000 --- a/features/chess/emacs/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - config.flake.overlayPkgs.azos-emacs-chess = pkgs: pkgs.localEmacsPkg ./_pkg.nix; -} diff --git a/features/headphones/default.nix b/features/headphones/default.nix deleted file mode 100644 index f58f0ba..0000000 --- a/features/headphones/default.nix +++ /dev/null @@ -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 - '') - ]; - }; - }; -} diff --git a/features/kubernetes/default.nix b/features/kubernetes/default.nix deleted file mode 100644 index ef38325..0000000 --- a/features/kubernetes/default.nix +++ /dev/null @@ -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]; - }; - }; -} diff --git a/features/virtualization/default.nix b/features/virtualization/default.nix deleted file mode 100644 index afecee4..0000000 --- a/features/virtualization/default.nix +++ /dev/null @@ -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]; - }; - }; -} diff --git a/home-manager/home.nix b/home-manager/home.nix index 9e53005..b0d441c 100755 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -15,14 +15,11 @@ suiteModules.homeManager.discord suiteModules.homeManager.exwm suiteModules.homeManager.lauretta - suiteModules.homeManager.audio suiteModules.homeManager.claude suiteModules.homeManager.encryption suiteModules.homeManager.git-config suiteModules.homeManager.hfsprogs - suiteModules.homeManager.headphones suiteModules.homeManager.hyprland - suiteModules.homeManager.kubernetes suiteModules.homeManager.mail suiteModules.homeManager.mpris-proxy suiteModules.homeManager.nextcloud @@ -32,7 +29,6 @@ suiteModules.homeManager.snx-rs suiteModules.homeManager.roam-backup suiteModules.homeManager.ytdl - suiteModules.homeManager.chess suiteModules.homeManager.homey-alert suiteModules.homeManager.leetcode ]; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index b774494..33b866e 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -14,11 +14,9 @@ inputs.home-manager.nixosModules.home-manager suiteModules.nixos.base suiteModules.nixos.exwm - suiteModules.nixos.audio - suiteModules.nixos.bluetooth + suiteModules.nixos.desktop + suiteModules.nixos.dev suiteModules.nixos.steam - suiteModules.nixos.virtualization - suiteModules.nixos.binfmt suiteModules.nixos.attic suiteModules.nixos.printing suiteModules.nixos.hardware-auth