lint fixes and direnv
This commit is contained in:
@@ -55,9 +55,34 @@ jobs:
|
||||
echo "SHA256:"
|
||||
sha256sum iso-result/iso/*.iso
|
||||
|
||||
- name: Prepare ${{ matrix.host }} ISO artifact (split if needed)
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mkdir -p iso-result/artifact
|
||||
ISO_SRC=$(ls iso-result/iso/*.iso)
|
||||
ISO_BASENAME="${{ matrix.host }}-installer.iso"
|
||||
ISO_DEST="iso-result/artifact/${ISO_BASENAME}"
|
||||
mv "$ISO_SRC" "$ISO_DEST"
|
||||
|
||||
SIZE=$(stat -c%s "$ISO_DEST")
|
||||
if [ "$SIZE" -gt 240000000 ]; then
|
||||
echo "ISO is $SIZE bytes; splitting into 200MB parts for artifact upload."
|
||||
split -b 200M -d -a 3 "$ISO_DEST" "${ISO_DEST}.part-"
|
||||
sha256sum "$ISO_DEST" > "${ISO_DEST}.sha256"
|
||||
rm "$ISO_DEST"
|
||||
cat > "iso-result/artifact/README.txt" <<EOF
|
||||
Reassemble:
|
||||
cat ${ISO_BASENAME}.part-* > ${ISO_BASENAME}
|
||||
Verify:
|
||||
sha256sum -c ${ISO_BASENAME}.sha256
|
||||
EOF
|
||||
else
|
||||
sha256sum "$ISO_DEST" > "${ISO_DEST}.sha256"
|
||||
fi
|
||||
|
||||
- name: Upload ${{ matrix.host }} ISO artifact
|
||||
if: ${{ github.event_name != 'workflow_dispatch' || inputs.upload-artifact }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.host }}-installer-iso
|
||||
path: iso-result/iso/*.iso
|
||||
path: iso-result/artifact/**
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
.direnv
|
||||
node_modules
|
||||
|
||||
bun.lock
|
||||
package.json
|
||||
|
||||
.codegraph
|
||||
.mcp.json
|
||||
opencode.jsonc
|
||||
.agents
|
||||
skills-lock.json
|
||||
@@ -97,96 +97,102 @@
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
# ── DevShell Helpers ─────────────────────────────────────────
|
||||
supportedSystems = ["x86_64-linux" "aarch64-darwin"];
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
acheron = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "acheron";
|
||||
nixosConfigurations =
|
||||
{
|
||||
acheron = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "acheron";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/acheron/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/acheron/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
armaros = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "armaros";
|
||||
armaros = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "armaros";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/armaros/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/armaros/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
buildbox = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "buildbox";
|
||||
buildbox = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "buildbox";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/buildbox/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/buildbox/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
ender-ml = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "ender-ml";
|
||||
ender-ml = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "ender-ml";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/ender-ml/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
comfyui-nix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/ender-ml/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
comfyui-nix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
eva-01 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "eva-01";
|
||||
eva-01 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "eva-01";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/eva-01/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
|
||||
nix-snapd.nixosModules.default
|
||||
{services.snap.enable = true;}
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/eva-01/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
|
||||
nix-snapd.nixosModules.default
|
||||
{services.snap.enable = true;}
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
|
||||
eva-03 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "eva-03";
|
||||
eva-03 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs pkgs-unstable configPath hostTypes;
|
||||
hostname = "eva-03";
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/eva-03/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
comfyui-nix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
system = system;
|
||||
modules = [
|
||||
./hosts/eva-03/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
comfyui-nix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
}
|
||||
# ── Rescue / installer ISOs (generated) ──────────────────────
|
||||
// builtins.listToAttrs (map (name: {
|
||||
name = "${name}-iso";
|
||||
value = nixpkgs.lib.nixosSystem (mkIso name);
|
||||
}) isoHosts);
|
||||
}
|
||||
# ── Rescue / installer ISOs (generated) ──────────────────────
|
||||
// builtins.listToAttrs (map (name: {
|
||||
name = "${name}-iso";
|
||||
value = nixpkgs.lib.nixosSystem (mkIso name);
|
||||
})
|
||||
isoHosts);
|
||||
|
||||
darwinConfigurations = {
|
||||
eva-02 = nix-darwin.lib.darwinSystem {
|
||||
@@ -206,5 +212,21 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# ── Dev Shells (for direnv) ──────────────────────────────────
|
||||
devShells = forAllSystems (sys: let
|
||||
pkgs = nixpkgs.legacyPackages.${sys};
|
||||
in {
|
||||
# Notice the 'default =' here!
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
nixd
|
||||
alejandra
|
||||
git
|
||||
nil
|
||||
bun
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{pkgs, lib, ...}:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
lib.mkIf (!pkgs.stdenv.isDarwin) {
|
||||
programs.newsboat = {
|
||||
enable = true;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ];
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
|
||||
@@ -20,32 +20,32 @@
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=root" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=home" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var-log" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=var-log" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
fileSystems."/.snapshots" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=snapshots" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
boot.loader.grub.enable = lib.mkDefault true;
|
||||
boot.loader.grub.devices = ["nodev"];
|
||||
|
||||
iso.extraPackages = with pkgs; [ btrfs-progs ];
|
||||
iso.extraPackages = with pkgs; [btrfs-progs];
|
||||
iso.diskoConfig = ./disko-config.nix;
|
||||
iso.description = "acheron Rescue ISO";
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ];
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
|
||||
@@ -20,32 +20,32 @@
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=root" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=home" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var-log" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=var-log" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
fileSystems."/.snapshots" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=snapshots" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
boot.loader.grub.enable = lib.mkDefault true;
|
||||
boot.loader.grub.devices = ["nodev"];
|
||||
|
||||
iso.extraPackages = with pkgs; [ btrfs-progs ];
|
||||
iso.extraPackages = with pkgs; [btrfs-progs];
|
||||
iso.diskoConfig = ./disko-config.nix;
|
||||
iso.description = "armaros Rescue ISO";
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ];
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
|
||||
@@ -20,32 +20,32 @@
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=root" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=home" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var-log" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=var-log" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
fileSystems."/.snapshots" = {
|
||||
device = "/dev/disk/by-partuuid/REPLACE-ME";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "noatime" ];
|
||||
options = ["subvol=snapshots" "compress=zstd" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
boot.loader.grub.enable = lib.mkDefault true;
|
||||
boot.loader.grub.devices = ["nodev"];
|
||||
|
||||
iso.extraPackages = with pkgs; [ btrfs-progs ];
|
||||
iso.extraPackages = with pkgs; [btrfs-progs];
|
||||
iso.diskoConfig = ./disko-config.nix;
|
||||
iso.description = "buildbox Rescue ISO";
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ];
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
boot.loader.grub.enable = lib.mkDefault true;
|
||||
boot.loader.grub.devices = ["nodev"];
|
||||
|
||||
iso.extraPackages = with pkgs; [ btrfs-progs ];
|
||||
iso.extraPackages = with pkgs; [btrfs-progs];
|
||||
iso.diskoConfig = ./disko-config.nix;
|
||||
iso.description = "buildbox Rescue ISO";
|
||||
}
|
||||
|
||||
@@ -105,8 +105,8 @@
|
||||
};
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
# 11th Gen Intel Tiger Lake performance fix
|
||||
"dev.i915.perf_stream_paranoid" = 0;
|
||||
# 11th Gen Intel Tiger Lake performance fix
|
||||
"dev.i915.perf_stream_paranoid" = 0;
|
||||
};
|
||||
|
||||
networking.hostName = "eva-01"; # Define your hostname.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ];
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
|
||||
@@ -33,32 +33,32 @@
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "discard=async" "noatime" ];
|
||||
options = ["subvol=root" "compress=zstd" "discard=async" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "discard=async" "noatime" ];
|
||||
options = ["subvol=home" "compress=zstd" "discard=async" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "discard=async" "noatime" ];
|
||||
options = ["subvol=nix" "compress=zstd" "discard=async" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var-log" "compress=zstd" "discard=async" "noatime" ];
|
||||
options = ["subvol=var-log" "compress=zstd" "discard=async" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
fileSystems."/.snapshots" = {
|
||||
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "discard=async" "noatime" ];
|
||||
options = ["subvol=snapshots" "compress=zstd" "discard=async" "noatime"];
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user