|
27 | 27 | nixos-2211-small.url = "github:NixOS/nixpkgs/nixos-22.11-small";
|
28 | 28 | nixos-2311.url = "github:NixOS/nixpkgs/nixos-23.11";
|
29 | 29 |
|
| 30 | + nixos-hardware.url = "github:NixOS/nixos-hardware"; |
| 31 | + |
30 | 32 | deploy-rs = {
|
31 | 33 | url = "github:serokell/deploy-rs";
|
32 | 34 | inputs = {
|
|
444 | 446 | url = "github:numtide/nixpkgs-unfree";
|
445 | 447 | inputs.nixpkgs.follows = "nixpkgs";
|
446 | 448 | };
|
| 449 | + |
| 450 | + catppuccin-yazi = { |
| 451 | + url = "github:catppuccin/yazi"; |
| 452 | + flake = false; |
| 453 | + }; |
447 | 454 | };
|
448 | 455 |
|
449 | 456 | outputs =
|
|
527 | 534 | mkHome
|
528 | 535 | mkNixOnDroid
|
529 | 536 | mkNixos
|
| 537 | + mkRaspiNixos |
530 | 538 | mkDeploy
|
531 | 539 | mkDevenvJvmLang
|
532 | 540 | mkDevenvDeno
|
|
597 | 605 | ];
|
598 | 606 | };
|
599 | 607 |
|
| 608 | + |
| 609 | + /** |
| 610 | + Sample queries: |
| 611 | + nix-repl> :p nixOnDroidConfigurations.sams9.config.home-manager.config.home.username |
| 612 | + nix-repl> :p homeConfigurations."dani@maiziedemacchiato".config.home.username |
| 613 | + nix-repl> :p nixosConfigurations.DANIELKNB1.config.home-manager.users.nixos.home.username |
| 614 | + nix eval --json .#raspberries.twopi.config.system.build.sdImage --show-trace |
| 615 | + nix eval --json .#raspberries.twopi.config.system.build.toplevel --show-trace |
| 616 | + */ |
600 | 617 | homeConfigurations = listToAttrs [
|
601 | 618 | /**
|
602 | 619 | calls `mkHome` as defined in ./flake/default.nix (`[system]` and `[name]` parameters) and ./flake/builders/mkHome.nix, latter the place where `extraSpecialArgs` would also go
|
|
611 | 628 |
|
612 | 629 | nixosConfigurations = listToAttrs [
|
613 | 630 | (mkNixos "x86_64-linux" "DANIELKNB1")
|
614 |
| - (mkNixos "aarch64-linux" "twopi") |
615 | 631 | ];
|
616 | 632 |
|
| 633 | + raspberries = listToAttrs [ |
| 634 | + (mkRaspiNixos "aarch64-linux" "twopi") |
| 635 | + (mkRaspiNixos "x86_64-linux" "twopivm") |
| 636 | + ]; |
617 | 637 | # Expose the necessary information in your flake so agenix-rekey
|
618 | 638 | # knows where it has too look for secrets and paths.
|
619 | 639 | #
|
|
882 | 902 | {
|
883 | 903 | aarch64-linux = {
|
884 | 904 | rpi-firmware = import ./files/nix/rpi-firmware.nix { inherit nixpkgs; };
|
885 |
| - rpi-image = import ./files/nix/rpi-image.nix { inherit nixpkgs rootPath; }; |
| 905 | + rpi-image = import ./files/nix/rpi-image.nix { inherit nixpkgs rootPath; inherit (inputs) nixos-hardware; }; |
886 | 906 | };
|
887 | 907 | armv7l-linux = {
|
888 | 908 | # TODO try https://github.com/n8henrie/nixos-btrfs-pi/blob/master/flake.nix
|
|
892 | 912 | run-in-vm = import ./files/nix/run-in-vm.nix { inherit nixpkgs rootPath; };
|
893 | 913 | };
|
894 | 914 |
|
895 |
| - x86_64-linux.installer-image = import ./files/nix/installer-image.nix { inherit nixpkgs; }; |
| 915 | + x86_64-linux = { |
| 916 | + installer-image = import ./files/nix/installer-image.nix { inherit nixpkgs; }; |
| 917 | + # https://discourse.nixos.org/t/get-qemu-guest-integration-when-running-nixos-rebuild-build-vm/22621 |
| 918 | + # https://mattwidmann.net/notes/running-nixos-in-a-vm/ |
| 919 | + # https://blog.yaymukund.com/posts/nixos-raspberry-pi-nixbuild-headless/ |
| 920 | + # nix build --max-jobs 1 .#packages.x86_64-linux.demo-with-automatic-vm-integration |
| 921 | + demo-with-automatic-vm-integration = nixpkgs.legacyPackages.x86_64-linux.pkgs.writeShellApplication { |
| 922 | + name = "run-nixos-vm"; |
| 923 | + runtimeInputs = [ nixpkgs.legacyPackages.x86_64-linux.pkgs.virt-viewer ]; |
| 924 | + text = '' |
| 925 | + echo hi |
| 926 | + ${self.raspberries.twopivm.config.system.build.vm}/bin/run-twopi-vm & PID_QEMU="$!" |
| 927 | + sleep 1 # I think some tools have an option to wait like -w |
| 928 | + remote-viewer spice://127.0.0.1:5930 |
| 929 | + kill $PID_QEMU |
| 930 | + ''; |
| 931 | + }; |
| 932 | + }; |
896 | 933 | }
|
897 | 934 | (
|
898 | 935 | nixpkgs.lib.mapAttrsToList cachixDeployOutputNixos self.nixosConfigurations
|
|
0 commit comments