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": {
|
"locked": {
|
||||||
"lastModified": 1757075491,
|
"lastModified": 1757920978,
|
||||||
"narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=",
|
"narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf",
|
"rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -185,11 +185,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756679287,
|
"lastModified": 1757808926,
|
||||||
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
"narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
"rev": "f21d9167782c086a33ad53e2311854a8f13c281e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -270,11 +270,11 @@
|
|||||||
"spectrum": "spectrum"
|
"spectrum": "spectrum"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756913421,
|
"lastModified": 1757518086,
|
||||||
"narHash": "sha256-bApi+D4wQJe4tG03VySlb4lJOBWqpl8DK8niSfKT87U=",
|
"narHash": "sha256-qUJFqN9KGhh2nh4ksaFGfGNIuL7p+8PstjtODLbWuSk=",
|
||||||
"owner": "astro",
|
"owner": "astro",
|
||||||
"repo": "microvm.nix",
|
"repo": "microvm.nix",
|
||||||
"rev": "2ba6697616834ff8c58ebc6180e4833c6d781b82",
|
"rev": "f6e7494efa2b17deb2a69a45932d34dc205bd3bb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -307,11 +307,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757103352,
|
"lastModified": 1757891025,
|
||||||
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
|
"narHash": "sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0",
|
"rev": "4c38a024fa32e61db2be8573e5282b15d9733a79",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -323,11 +323,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757020766,
|
"lastModified": 1757810152,
|
||||||
"narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=",
|
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a",
|
"rev": "9a094440e02a699be5c57453a092a8baf569bdad",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -339,11 +339,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757068644,
|
"lastModified": 1757745802,
|
||||||
"narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
|
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9",
|
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -36,6 +36,11 @@ let
|
|||||||
config.allowUnfree = true; # Allow proprietary software
|
config.allowUnfree = true; # Allow proprietary software
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pkgs-kabbone = import ../packages {
|
||||||
|
inherit system;
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
users.defaultShell = "pkgs.zsh";
|
users.defaultShell = "pkgs.zsh";
|
||||||
|
|
||||||
@ -43,7 +48,7 @@ in
|
|||||||
{
|
{
|
||||||
hades = lib.nixosSystem { # Desktop profile
|
hades = lib.nixosSystem { # Desktop profile
|
||||||
inherit system;
|
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 = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
microvm.nixosModules.host
|
microvm.nixosModules.host
|
||||||
@ -205,7 +210,7 @@ in
|
|||||||
|
|
||||||
jupiter = lib.nixosSystem { # Desktop profile
|
jupiter = lib.nixosSystem { # Desktop profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix pkgs-kabbone; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
./jupiter
|
./jupiter
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
# └─ default.nix
|
# └─ default.nix
|
||||||
#
|
#
|
||||||
|
|
||||||
{ config, nixpkgs, pkgs, user, lib, ... }:
|
{ config, nixpkgs, pkgs, user, lib, pkgs-kabbone, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = # For now, if applying to other system, swap files
|
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/sway/default.nix)] ++ # Window Manager
|
||||||
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
||||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
||||||
|
#[(import ../../modules/kabbone/corosync-qdevice.nix)] ++ # corosync qdevice quorum
|
||||||
(import ../../modules/hardware); # Hardware devices
|
(import ../../modules/hardware); # Hardware devices
|
||||||
|
|
||||||
boot = { # Boot options
|
boot = { # Boot options
|
||||||
@ -54,8 +55,9 @@
|
|||||||
# };
|
# };
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = [
|
||||||
linux-firmware
|
pkgs.linux-firmware
|
||||||
|
pkgs-kabbone.corosync-qdevice
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
# └─ default.nix
|
# └─ default.nix
|
||||||
#
|
#
|
||||||
|
|
||||||
{ config, pkgs, user, ... }:
|
{ config, pkgs, user, pkgs-kabbone, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = # For now, if applying to other ssystem, swap files
|
imports = # For now, if applying to other ssystem, swap files
|
||||||
@ -40,10 +40,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# environment = {
|
# environment = {
|
||||||
# systemPackages = with pkgs; [
|
# systemPackages = with pkgs-kabbone; [
|
||||||
## simple-scan
|
# corosync-qdevice
|
||||||
## intel-media-driver
|
### simple-scan
|
||||||
## alacritty
|
### 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