feat(machine, secrets): add qmk and vial, export gemini key

This commit is contained in:
Mohammad Rafiq 2025-07-14 23:11:19 +08:00
parent 399e049775
commit 96321d4026
No known key found for this signature in database
3 changed files with 51 additions and 31 deletions

View file

@ -33,10 +33,10 @@
}; };
}; };
extraCfg = { extraCfg = {
services.fwupd.enable = true; # FIXME: remove
machine = { machine = {
bluetooth.enable = true; bluetooth.enable = true;
usb.automount = true; usb.automount = true;
usb.qmk.enable = true;
virtualisation = { virtualisation = {
podman.enable = true; podman.enable = true;
podman.distrobox.enable = true; podman.distrobox.enable = true;

View file

@ -5,7 +5,12 @@ let
in in
{ {
flake.modules.nixos.default = flake.modules.nixos.default =
{ config, modulesPath, ... }: {
config,
modulesPath,
pkgs,
...
}:
let let
cfg = config.machine; cfg = config.machine;
in in
@ -14,6 +19,7 @@ in
options.machine = { options.machine = {
bluetooth.enable = mkEnableOption ""; bluetooth.enable = mkEnableOption "";
usb.automount = mkEnableOption ""; usb.automount = mkEnableOption "";
usb.qmk.enable = mkEnableOption "";
}; };
config = mkMerge [ config = mkMerge [
(mkIf cfg.usb.automount { (mkIf cfg.usb.automount {
@ -28,6 +34,18 @@ in
} }
]; ];
}) })
(mkIf cfg.usb.qmk.enable {
hardware.keyboard.qmk.enable = true;
services.udev = {
packages = with pkgs; [
vial
qmk
qmk-udev-rules
qmk_hid
];
};
})
(mkIf cfg.bluetooth.enable { (mkIf cfg.bluetooth.enable {
persistDirs = [ "/var/lib/bluetooth" ]; persistDirs = [ "/var/lib/bluetooth" ];
hardware.bluetooth = { hardware.bluetooth = {

View file

@ -13,7 +13,8 @@ let
inherit (cfg.paths) secrets; inherit (cfg.paths) secrets;
in in
{ {
flake.modules.nixos.default = flake.modules = {
nixos.default =
{ config, ... }: { config, ... }:
{ {
imports = [ inputs.sops-nix.nixosModules.sops ]; imports = [ inputs.sops-nix.nixosModules.sops ];
@ -30,7 +31,7 @@ in
''; '';
}; };
}; };
flake.modules.darwin.default = darwin.default =
{ config, ... }: { config, ... }:
{ {
imports = [ inputs.sops-nix.darwinModules.sops ]; imports = [ inputs.sops-nix.darwinModules.sops ];
@ -45,7 +46,8 @@ in
''; '';
}; };
}; };
flake.modules.homeManager.default.persistDirs = [ ".config/sops/age" ]; homeManager.default.persistDirs = [ ".config/sops/age" ];
};
perSystem = perSystem =
{ pkgs, ... }: { pkgs, ... }:
{ {