Compare commits
10 commits
Author | SHA1 | Date | |
---|---|---|---|
46bb5a0005 | |||
2d0c49f55b | |||
a63edffc05 | |||
6b0dbd4346 | |||
00e6f6267b | |||
af950da1f5 | |||
b5796b3c23 | |||
f3b7da2918 | |||
d866d9c0e3 | |||
83b8a9d765 |
6 changed files with 168 additions and 10 deletions
|
@ -11,8 +11,10 @@ jobs:
|
||||||
- chunk
|
- chunk
|
||||||
- ytnix
|
- ytnix
|
||||||
- titan
|
- titan
|
||||||
|
- pancake
|
||||||
os:
|
os:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
|
- ubuntu-24.04-arm
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
steps:
|
steps:
|
||||||
|
|
33
flake.lock
generated
33
flake.lock
generated
|
@ -899,6 +899,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737590910,
|
||||||
|
"narHash": "sha256-qM/y6Dtpu9Wmf5HqeZajQdn+cS0aljdYQQQnrvx+LJE=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "9368027715d8dde4b84c79c374948b5306fdd2db",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726042813,
|
"lastModified": 1726042813,
|
||||||
|
@ -947,6 +962,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-rpi": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737742003,
|
||||||
|
"narHash": "sha256-Q2cD3ENdMuPMp54o4ZISvtQjA8eyjbEuyUfigc/V8JI=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dd3f45d31469f81166b31c667ca722c0efb18325",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dd3f45d31469f81166b31c667ca722c0efb18325",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724316499,
|
"lastModified": 1724316499,
|
||||||
|
@ -1207,8 +1238,10 @@
|
||||||
"lix": "lix",
|
"lix": "lix",
|
||||||
"lix-module": "lix-module",
|
"lix-module": "lix-module",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-garage": "nixpkgs-garage",
|
"nixpkgs-garage": "nixpkgs-garage",
|
||||||
|
"nixpkgs-rpi": "nixpkgs-rpi",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"nvim-github-theme": "nvim-github-theme",
|
"nvim-github-theme": "nvim-github-theme",
|
||||||
"rust-overlay": "rust-overlay",
|
"rust-overlay": "rust-overlay",
|
||||||
|
|
30
flake.nix
30
flake.nix
|
@ -68,6 +68,8 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.flake-compat.follows = "flake-compat";
|
inputs.flake-compat.follows = "flake-compat";
|
||||||
};
|
};
|
||||||
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
||||||
|
nixpkgs-rpi.url = "github:nixos/nixpkgs/dd3f45d31469f81166b31c667ca722c0efb18325";
|
||||||
|
|
||||||
nixpkgs-garage.url = "github:cything/nixpkgs/garage-module"; # unmerged PR
|
nixpkgs-garage.url = "github:cything/nixpkgs/garage-module"; # unmerged PR
|
||||||
|
|
||||||
|
@ -145,9 +147,9 @@
|
||||||
|
|
||||||
flake =
|
flake =
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs {
|
pkgsFor = system: import nixpkgs {
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
system = "x86_64-linux";
|
system = system;
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.niri.overlays.niri
|
inputs.niri.overlays.niri
|
||||||
inputs.rust-overlay.overlays.default
|
inputs.rust-overlay.overlays.default
|
||||||
|
@ -164,7 +166,7 @@
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs = { inherit pkgs; };
|
nixpkgs.pkgs = pkgsFor "x86_64-linux";
|
||||||
}
|
}
|
||||||
./hosts/ytnix
|
./hosts/ytnix
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
@ -178,7 +180,7 @@
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs = { inherit pkgs; };
|
nixpkgs.pkgs = pkgsFor "x86_64-linux";
|
||||||
disabledModules = [
|
disabledModules = [
|
||||||
"services/web-servers/garage.nix"
|
"services/web-servers/garage.nix"
|
||||||
];
|
];
|
||||||
|
@ -194,7 +196,7 @@
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs = { inherit pkgs; };
|
nixpkgs.pkgs = pkgsFor "x86_64-linux";
|
||||||
}
|
}
|
||||||
./hosts/titan
|
./hosts/titan
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
|
@ -202,6 +204,18 @@
|
||||||
./modules
|
./modules
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pancake = lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
nixpkgs.pkgs = pkgsFor "aarch64-linux";
|
||||||
|
}
|
||||||
|
inputs.nixos-hardware.nixosModules.raspberry-pi-3
|
||||||
|
./hosts/pancake
|
||||||
|
./modules
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
homeConfigurations =
|
homeConfigurations =
|
||||||
let
|
let
|
||||||
|
@ -209,7 +223,7 @@
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
"yt@ytnix" = lib.homeManagerConfiguration {
|
"yt@ytnix" = lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = pkgsFor "x86_64-linux";
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./home/yt/ytnix.nix
|
./home/yt/ytnix.nix
|
||||||
|
@ -219,7 +233,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
"yt@chunk" = lib.homeManagerConfiguration {
|
"yt@chunk" = lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = pkgsFor "x86_64-linux";
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./home/yt/chunk.nix
|
./home/yt/chunk.nix
|
||||||
|
@ -228,7 +242,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
"codespace@codespace" = lib.homeManagerConfiguration {
|
"codespace@codespace" = lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = pkgsFor "x86_64-linux";
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./home/yt/codespace.nix
|
./home/yt/codespace.nix
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
"root"
|
"root"
|
||||||
"@wheel"
|
"@wheel"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [ "central:uWhjva6m6dhC2hqNisjn2hXGvdGBs19vPkA1dPEuwFg=" ];
|
|
||||||
substituters = [ "https://cache.cything.io/central" ];
|
|
||||||
};
|
};
|
||||||
channel.enable = false;
|
channel.enable = false;
|
||||||
optimise = {
|
optimise = {
|
||||||
|
|
70
hosts/pancake/default.nix
Normal file
70
hosts/pancake/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
{
|
||||||
|
modulesPath,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
../common.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../zsh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPdhAQYy0+vS+QmyCd0MAbqbgzyMGcsuuFyf6kg2yKge yt@ytlinux"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINyn2+OoRN4nExti+vFQ1NHEZip0slAoCH9C5/FzvgZD yt@ytnix"
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
curl
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
# network stuff
|
||||||
|
networking.hostName = "pancake";
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [
|
||||||
|
22
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
443
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.wireless.enable = true;
|
||||||
|
networking.wireless.networks = {
|
||||||
|
"36 Halsey" = {
|
||||||
|
psk = "Canada2022";
|
||||||
|
};
|
||||||
|
"cy" = {
|
||||||
|
psk = "12345678";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
users.users.yt.extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
|
security.sudo.enable = true;
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
users.users.root.initialHashedPassword = "";
|
||||||
|
users.users.yt.initialHashedPassword = "";
|
||||||
|
|
||||||
|
# remove this after https://github.com/NixOS/nixpkgs/pull/375165 lands on unstable
|
||||||
|
boot.kernelPackages = lib.mkForce inputs.nixpkgs-rpi.legacyPackages.aarch64-linux.linuxKernel.packages.linux_rpi3;
|
||||||
|
}
|
41
hosts/pancake/hardware-configuration.nix
Normal file
41
hosts/pancake/hardware-configuration.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/b84680de-5010-457a-9be8-8867571119fc";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/CD4A-62EC";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/8ffcfec9-0e05-41a0-bdb6-b34c8259eca0"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eth0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue