From fc71ffdb1893f3fd367a4a6f322212ee449b2570 Mon Sep 17 00:00:00 2001 From: Kabbone Date: Mon, 15 Sep 2025 13:01:04 +0200 Subject: [PATCH] basic implementation for own packages/services --- hosts/default.nix | 9 +++++++-- hosts/desktop/default.nix | 8 +++++--- hosts/jupiter/default.nix | 11 ++++++----- modules/kabbone/corosync-qdevice.nix | 10 ++++++++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/hosts/default.nix b/hosts/default.nix index 35d9cc6..acc5868 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -36,6 +36,11 @@ let config.allowUnfree = true; # Allow proprietary software }; + pkgs-kabbone = import ../packages { + inherit system; + inherit pkgs; + }; + lib = nixpkgs.lib; users.defaultShell = "pkgs.zsh"; @@ -43,7 +48,7 @@ in { hades = lib.nixosSystem { # Desktop profile inherit system; - specialArgs = { inherit inputs pkgs-stable user location nixos-hardware agenix microvm nixpkgs lanzaboote; }; + specialArgs = { inherit inputs pkgs-stable user location nixos-hardware agenix microvm nixpkgs lanzaboote pkgs-kabbone; }; modules = [ agenix.nixosModules.default microvm.nixosModules.host @@ -205,7 +210,7 @@ in jupiter = lib.nixosSystem { # Desktop profile inherit system; - specialArgs = { inherit inputs user location nixos-hardware agenix; }; + specialArgs = { inherit inputs user location nixos-hardware agenix pkgs-kabbone; }; modules = [ agenix.nixosModules.default ./jupiter diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index e2cd061..5003bbd 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -17,7 +17,7 @@ # └─ default.nix # -{ config, nixpkgs, pkgs, user, lib, ... }: +{ config, nixpkgs, pkgs, user, lib, pkgs-kabbone, ... }: { imports = # For now, if applying to other system, swap files @@ -25,6 +25,7 @@ [(import ../../modules/wm/sway/default.nix)] ++ # Window Manager (import ../../modules/wm/virtualisation) ++ # libvirt + Docker [(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options + #[(import ../../modules/kabbone/corosync-qdevice.nix)] ++ # corosync qdevice quorum (import ../../modules/hardware); # Hardware devices boot = { # Boot options @@ -54,8 +55,9 @@ # }; environment = { - systemPackages = with pkgs; [ - linux-firmware + systemPackages = [ + pkgs.linux-firmware + pkgs-kabbone.corosync-qdevice ]; }; diff --git a/hosts/jupiter/default.nix b/hosts/jupiter/default.nix index 80e6f55..ae5c96b 100644 --- a/hosts/jupiter/default.nix +++ b/hosts/jupiter/default.nix @@ -17,7 +17,7 @@ # └─ default.nix # -{ config, pkgs, user, ... }: +{ config, pkgs, user, pkgs-kabbone, ... }: { imports = # For now, if applying to other ssystem, swap files @@ -40,10 +40,11 @@ }; # environment = { -# systemPackages = with pkgs; [ -## simple-scan -## intel-media-driver -## alacritty +# systemPackages = with pkgs-kabbone; [ +# corosync-qdevice +### simple-scan +### intel-media-driver +### alacritty # ]; # }; diff --git a/modules/kabbone/corosync-qdevice.nix b/modules/kabbone/corosync-qdevice.nix index fbe3652..1cd32b9 100644 --- a/modules/kabbone/corosync-qdevice.nix +++ b/modules/kabbone/corosync-qdevice.nix @@ -7,6 +7,7 @@ }: let cfg = config.services.corosync-qnetd; + dataDir = "/var/run/corosync-qnetd"; in { # interface @@ -27,6 +28,15 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; + users.users.coroqnetd = { + isSystemUser = true; + group = "coroqnetd"; + home = dataDir; + description = "Corosync-qnetd Service User"; + }; + + users.groups.coroqnetd = { }; + # environment.etc."corosync/corosync-qnetd.conf".text = '' # totem { # version: 2