Compare commits
8 Commits
master
...
1c7b7c4cae
Author | SHA1 | Date | |
---|---|---|---|
1c7b7c4cae
|
|||
aabecfd68f
|
|||
75506d5acd
|
|||
81a46270b8
|
|||
18f1efdaff
|
|||
47c304833c
|
|||
f47fd2217e
|
|||
4ad4814bed
|
16
flake.lock
generated
16
flake.lock
generated
@@ -100,6 +100,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701656485,
|
||||||
|
"narHash": "sha256-xDFormrGCKKGqngHa2Bz1GTeKlFMMjLnHhTDRdMJ1hs=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "fa194fc484fd7270ab324bb985593f71102e84d1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1677676435,
|
"lastModified": 1677676435,
|
||||||
@@ -136,6 +151,7 @@
|
|||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
|
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
|
||||||
}
|
}
|
||||||
|
10
flake.nix
10
flake.nix
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-23.11";
|
nixpkgs.url = "nixpkgs/nixos-23.11";
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.11";
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
@@ -80,6 +81,15 @@
|
|||||||
];
|
];
|
||||||
specialArgs = { inherit lib inputs; };
|
specialArgs = { inherit lib inputs; };
|
||||||
};
|
};
|
||||||
|
pi = nixpkgs.lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
agenix.nixosModules.default
|
||||||
|
(import ./modules)
|
||||||
|
./hosts/pi
|
||||||
|
];
|
||||||
|
specialArgs = { inherit lib inputs; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
58
hosts/pi/default.nix
Normal file
58
hosts/pi/default.nix
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib.my;
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../server.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "pi";
|
||||||
|
networking.hostId = "";
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
raspberry-pi."4" = {
|
||||||
|
apply-overlays-dtmerge.enable = true;
|
||||||
|
fkms-3d.enable = true;
|
||||||
|
};
|
||||||
|
deviceTree = {
|
||||||
|
enable = true;
|
||||||
|
filter = "*rpi-4-*.dtb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sound.enable = true;
|
||||||
|
console.enable = false;
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
systemWide = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.shairport-sync = {
|
||||||
|
enable = true;
|
||||||
|
group = [ "pipewire" ];
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.zigbee2mqtt = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
homeassistant = true;
|
||||||
|
frontend = true;
|
||||||
|
permit_join = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libraspberrypi
|
||||||
|
raspberrypi-eeprom
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "22.11";
|
||||||
|
}
|
||||||
|
|
21
hosts/pi/hardware-configuration.nix
Normal file
21
hosts/pi/hardware-configuration.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
<nixos-hardware/raspberry-pi/4>
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.loader.raspberryPi.firmwareConfig = ''
|
||||||
|
dtoverlay=vc4-kms-v3d,noaudio
|
||||||
|
dtoverlay=hifiberry-digi-pro
|
||||||
|
'';
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-label/NIXOS_SD";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [ "noatime" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user