basic pi stuff, ugly but functional
This commit is contained in:
81
flake.nix
81
flake.nix
@@ -69,12 +69,24 @@
|
||||
nixos-apple-silicon.url = "github:nix-community/nixos-apple-silicon";
|
||||
|
||||
pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix";
|
||||
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-index-database = {
|
||||
url = "github:nix-community/nix-index-database";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# We will handle this in the next section.
|
||||
outputs = inputs:
|
||||
|
||||
inputs.snowfall-lib.mkFlake {
|
||||
let
|
||||
snowfall = inputs.snowfall-lib.mkFlake {
|
||||
# You must provide our flake inputs to Snowfall Lib.
|
||||
inherit inputs;
|
||||
|
||||
@@ -92,6 +104,7 @@
|
||||
impermanence.nixosModules.impermanence
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
# common darwin modules
|
||||
@@ -129,6 +142,7 @@
|
||||
nixos-hardware.nixosModules.common-cpu-amd-pstate
|
||||
nixos-hardware.nixosModules.common-cpu-amd-zenpower
|
||||
nixos-hardware.nixosModules.common-hidpi
|
||||
home-manager.nixosModules.home-manager
|
||||
];
|
||||
# overlays = with inputs; [ crowdsec.overlays.default ];
|
||||
};
|
||||
@@ -169,6 +183,7 @@
|
||||
|
||||
homes = {
|
||||
modules = with inputs; [
|
||||
nix-index-database.homeModules.nix-index
|
||||
sops-nix.homeManagerModules.sops
|
||||
];
|
||||
|
||||
@@ -177,11 +192,11 @@
|
||||
];
|
||||
|
||||
users = {
|
||||
"matt@desktop" = {
|
||||
modules = with inputs; [
|
||||
sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
# "matt@desktop" = {
|
||||
# modules = with inputs; [
|
||||
# sops-nix.homeManagerModules.sops
|
||||
# ];
|
||||
# };
|
||||
"deck@deck" = {
|
||||
modules = with inputs; [
|
||||
steam-rom-manager.homeManagerModules.default
|
||||
@@ -206,5 +221,57 @@
|
||||
title = "mjallen Flake";
|
||||
};
|
||||
};
|
||||
|
||||
outputs-builder = channels: {
|
||||
formatter = inputs.treefmt-nix.lib.mkWrapper channels.nixpkgs ./treefmt.nix;
|
||||
};
|
||||
};
|
||||
|
||||
piSystems = {
|
||||
pi4 = inputs.nixos-raspberrypi.lib.nixosSystem {
|
||||
specialArgs = inputs // {
|
||||
# Add any special args you need
|
||||
};
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
# Import your Snowfall modules manually
|
||||
./systems/aarch64-linux/pi4
|
||||
inputs.disko.nixosModules.disko
|
||||
./systems/aarch64-linux/pi4/disko.nix
|
||||
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||
{
|
||||
imports = with inputs.nixos-raspberrypi.nixosModules; [
|
||||
raspberry-pi-4.base
|
||||
raspberry-pi-4.display-vc4
|
||||
raspberry-pi-4.bluetooth
|
||||
raspberry-pi-4.case-argonone
|
||||
];
|
||||
}
|
||||
inputs.impermanence.nixosModules.impermanence
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
home-manager.sharedModules = [
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
home-manager.users.matt = import (./homes/aarch64-linux + "/matt@pi4/default.nix");
|
||||
home-manager.users.root = { ... }: {
|
||||
imports = [
|
||||
# Your root user config
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
snowfall // {
|
||||
nixosConfigurations = snowfall.nixosConfigurations // piSystems;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user