hydra-jovian/flake.nix

64 lines
1.8 KiB
Nix
Raw Permalink Normal View History

2023-04-26 00:09:24 +02:00
{
description = "A very basic flake";
inputs = {
jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS";
flake = false;
};
2023-04-27 22:53:24 +02:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2023-04-26 00:09:24 +02:00
};
outputs = { self, jovian, nixpkgs }:
2023-04-27 22:53:24 +02:00
let
inherit (nixpkgs) lib;
nixosSystem' = nixpkgs: nixpkgs.lib.nixosSystem {
2023-04-26 00:09:24 +02:00
modules = [
"${jovian}/modules"
2023-04-26 13:16:21 +02:00
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix"
2023-04-26 00:09:24 +02:00
({ config, ... }: {
2023-04-26 00:09:24 +02:00
# avoid asserts ...
boot.loader.grub.devices = [ "/dev/sda" ];
fileSystems."/".device = "/dev/sda1";
# ... and warnings ...
networking.networkmanager.enable = true;
system.stateVersion = "23.05";
# ... and build unfree packages
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-jupiter-original"
"steam-run"
"steamdeck-hw-theme"
];
2023-04-26 00:30:12 +02:00
jovian = {
devices.steamdeck.enable = true;
steam.enable = true;
};
2023-04-26 13:16:21 +02:00
# copied from upstream to build iso
# https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/default.nix#L19-L21
hardware.pulseaudio.enable = lib.mkIf
(config.jovian.devices.steamdeck.enableSoundSupport && config.services.pipewire.enable)
(lib.mkForce false);
})
2023-04-26 00:09:24 +02:00
];
system = "x86_64-linux";
};
2023-04-27 22:53:24 +02:00
in
{
nixosConfigurations.jovian = nixosSystem' nixpkgs;
2023-04-26 00:16:11 +02:00
2023-04-26 13:16:21 +02:00
hydraJobs = {
iso = lib.hydraJob self.nixosConfigurations.jovian.config.system.build.isoImage;
2023-04-26 13:16:21 +02:00
system = lib.hydraJob self.nixosConfigurations.jovian.config.system.build.toplevel;
};
2023-04-26 00:09:24 +02:00
};
}