Compare commits
4 Commits
cac8871e58
...
60b69e0049
Author | SHA1 | Date | |
---|---|---|---|
60b69e0049 | |||
fc71ffdb18 | |||
583dd62731 | |||
9bf0ad396f |
36
flake.lock
generated
36
flake.lock
generated
@ -165,11 +165,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757075491,
|
||||
"narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=",
|
||||
"lastModified": 1757920978,
|
||||
"narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf",
|
||||
"rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -185,11 +185,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756679287,
|
||||
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
||||
"lastModified": 1757808926,
|
||||
"narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
||||
"rev": "f21d9167782c086a33ad53e2311854a8f13c281e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -270,11 +270,11 @@
|
||||
"spectrum": "spectrum"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756913421,
|
||||
"narHash": "sha256-bApi+D4wQJe4tG03VySlb4lJOBWqpl8DK8niSfKT87U=",
|
||||
"lastModified": 1757518086,
|
||||
"narHash": "sha256-qUJFqN9KGhh2nh4ksaFGfGNIuL7p+8PstjtODLbWuSk=",
|
||||
"owner": "astro",
|
||||
"repo": "microvm.nix",
|
||||
"rev": "2ba6697616834ff8c58ebc6180e4833c6d781b82",
|
||||
"rev": "f6e7494efa2b17deb2a69a45932d34dc205bd3bb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -307,11 +307,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1757103352,
|
||||
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
|
||||
"lastModified": 1757891025,
|
||||
"narHash": "sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0",
|
||||
"rev": "4c38a024fa32e61db2be8573e5282b15d9733a79",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -323,11 +323,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1757020766,
|
||||
"narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=",
|
||||
"lastModified": 1757810152,
|
||||
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a",
|
||||
"rev": "9a094440e02a699be5c57453a092a8baf569bdad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -339,11 +339,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1757068644,
|
||||
"narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
|
||||
"lastModified": 1757745802,
|
||||
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9",
|
||||
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
# ];
|
||||
# };
|
||||
|
||||
|
75
modules/kabbone/corosync-qdevice.nix
Normal file
75
modules/kabbone/corosync-qdevice.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-kabbone,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.corosync-qnetd;
|
||||
dataDir = "/var/run/corosync-qnetd";
|
||||
in
|
||||
{
|
||||
# interface
|
||||
options.services.corosync-qnetd = {
|
||||
enable = lib.mkEnableOption "corosync-qnetd";
|
||||
package = lib.mkPackageOption pkgs-kabbone "corosync-qdevice" { };
|
||||
|
||||
extraOptions = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = [ ];
|
||||
description = "Additional options with which to start corosync-qnetd.";
|
||||
};
|
||||
};
|
||||
|
||||
# implementation
|
||||
|
||||
# implementation
|
||||
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
|
||||
# secauth: on
|
||||
# cluster_name: ${cfg.clusterName}
|
||||
# transport: knet
|
||||
# }
|
||||
|
||||
|
||||
# logging {
|
||||
# to_syslog: yes
|
||||
# }
|
||||
# '';
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.corosync-qnetd = {
|
||||
serviceConfig = {
|
||||
User = "coroqnetd";
|
||||
StateDirectory = "corosync-qnetd";
|
||||
StateDirectoryMode = "0700";
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc."sysconfig/corosync-qnetd".text = lib.optionalString (cfg.extraOptions != [ ]) ''
|
||||
COROSYNC-QNETD_OPTIONS="${lib.escapeShellArgs cfg.extraOptions}"
|
||||
'';
|
||||
};
|
||||
|
||||
meta = {
|
||||
#buildDocsInSandbox = false;
|
||||
#doc = ./mautrix-whatsapp.md;
|
||||
maintainers = with lib.maintainers; [
|
||||
kabbone
|
||||
];
|
||||
};
|
||||
}
|
49
packages/corosync-qdevice.nix
Normal file
49
packages/corosync-qdevice.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
stdenv
|
||||
} :
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "corosync-qdevice";
|
||||
version = "3.0.3";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "corosync";
|
||||
repo = "corosync-qdevice";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9FyLhcGHNW73Xao7JiODzgyDKIynEAHJUlNppX+nPfw=";
|
||||
};
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
pkg-config
|
||||
libqb
|
||||
systemd
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
corosync
|
||||
nss
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
./autogen.sh
|
||||
./configure \
|
||||
--prefix=$out \
|
||||
--enable-systemd \
|
||||
--disable-upstart
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "daemon for quorum on clusters";
|
||||
homepage = "https://github.com/corosync/corosync-qdevice";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl3;
|
||||
};
|
||||
}
|
4
packages/default.nix
Normal file
4
packages/default.nix
Normal file
@ -0,0 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
corosync-qdevice = pkgs.callPackage ./corosync-qdevice.nix {};
|
||||
}
|
1
packages/result
Symbolic link
1
packages/result
Symbolic link
@ -0,0 +1 @@
|
||||
/nix/store/7azph9v0lqnb3imkgvdlb0p8j98wy5vy-corosync-qdevice
|
Loading…
x
Reference in New Issue
Block a user