summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Finlinson <devin.finlinson@pm.me>2024-06-08 18:04:47 -0600
committerDevin Finlinson <devin.finlinson@pm.me>2024-06-08 18:04:47 -0600
commit91de4c5cd0abe6966e8dcdd45b198f9ed614637c (patch)
treee0c44d4fb4faec24722ed5c6680beb9443813348
parent32e11413d2e703596b582060ef1c44e0f13f31ec (diff)
parent3c63014adcb02d00a2a83e9df09001145e84c199 (diff)
Merge branch 'master' of ssh://bosco:/srv/git/.flake
-rw-r--r--flake.nix21
-rw-r--r--machines/picast/configuration.nix104
-rw-r--r--machines/picast/hardware-configuration.nix32
-rw-r--r--modules/users/defin.nix1
4 files changed, 157 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index 4493b22..356d16c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -214,7 +214,7 @@
system = "aarch64-linux";
modules = [
- (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
+ (nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix")
./machines/iso/configuration.nix
./modules/users/defin.nix
./modules/nixos/system-packages.nix
@@ -320,6 +320,25 @@
./modules/nixos/headscale.nix
];
};
+ picast = nixpkgs.lib.nixosSystem {
+ modules = [
+ ./machines/picast/configuration.nix
+
+ ./modules/nixos/nix-common.nix
+ ./modules/nixos/environment.nix
+ ./modules/nixos/tailscale.nix
+ ./modules/nixos/system-packages.nix
+ ./modules/users/defin.nix
+ ./modules/users/root.nix
+
+ home-manager.nixosModules.home-manager {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.defin = import ./home-manager/default.nix;
+ home-manager.extraSpecialArgs = { inherit inputs; };
+ }
+ ];
+ };
khad = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
diff --git a/machines/picast/configuration.nix b/machines/picast/configuration.nix
new file mode 100644
index 0000000..354d95b
--- /dev/null
+++ b/machines/picast/configuration.nix
@@ -0,0 +1,104 @@
+# Edit this configuration file to define what should be installed on
+# your system. Help is available in the configuration.nix(5) man page, on
+# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
+
+{ config, lib, pkgs, ... }:
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ];
+
+ # Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
+ boot.loader.grub.enable = false;
+ # Enables the generation of /boot/extlinux/extlinux.conf
+ boot.loader.generic-extlinux-compatible.enable = true;
+
+ # networking.hostName = "nixos"; # Define your hostname.
+ # Pick only one of the below networking options.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+ # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
+
+ # Set your time zone.
+ # time.timeZone = "Europe/Amsterdam";
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Select internationalisation properties.
+ # i18n.defaultLocale = "en_US.UTF-8";
+ # console = {
+ # font = "Lat2-Terminus16";
+ # keyMap = "us";
+ # useXkbConfig = true; # use xkb.options in tty.
+ # };
+
+ # Enable the X11 windowing system.
+ # services.xserver.enable = true;
+
+
+
+
+ # Configure keymap in X11
+ # services.xserver.xkb.layout = "us";
+ # services.xserver.xkb.options = "eurosign:e,caps:escape";
+
+ # Enable CUPS to print documents.
+ # services.printing.enable = true;
+
+ # Enable sound.
+ # hardware.pulseaudio.enable = true;
+ # OR
+ # services.pipewire = {
+ # enable = true;
+ # pulse.enable = true;
+ # };
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ # services.libinput.enable = true;
+
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
+
+ # List services that you want to enable:
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
+
+ # Copy the NixOS configuration file and link it from the resulting system
+ # (/run/current-system/configuration.nix). This is useful in case you
+ # accidentally delete configuration.nix.
+ # system.copySystemConfiguration = true;
+
+ # This option defines the first version of NixOS you have installed on this particular machine,
+ # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
+ #
+ # Most users should NEVER change this value after the initial install, for any reason,
+ # even if you've upgraded your system to a new NixOS release.
+ #
+ # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
+ # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
+ # to actually do that.
+ #
+ # This value being lower than the current NixOS release does NOT mean your system is
+ # out of date, out of support, or vulnerable.
+ #
+ # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
+ # and migrated your data accordingly.
+ #
+ # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
+ system.stateVersion = "24.05"; # Did you read the comment?
+
+}
+
diff --git a/machines/picast/hardware-configuration.nix b/machines/picast/hardware-configuration.nix
new file mode 100644
index 0000000..3f13493
--- /dev/null
+++ b/machines/picast/hardware-configuration.nix
@@ -0,0 +1,32 @@
+# 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/44444444-4444-4444-8888-888888888888";
+ fsType = "ext4";
+ };
+
+ swapDevices = [ ];
+
+ # 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.enu1u1.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
+}
diff --git a/modules/users/defin.nix b/modules/users/defin.nix
index b51d6b9..ab0f467 100644
--- a/modules/users/defin.nix
+++ b/modules/users/defin.nix
@@ -22,6 +22,7 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXrt3+N4+ahtXZCUn11evQsVGsGgAohGwafC29/a4fk defin@Radahn"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICkGcmYIYCe6GHsZZvnXqsedF0wn+AhGSr+RPJtUO/kl defin@khad"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEaMYXO9ghATyUPzyE7aD/XVVmK9UAexueoGEYAqPT4L defin@kebab"
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOpuV1zp/wtG840C9aJC0BJqSbfpAoncRGbHX/HvhEYU defin@picast"
# keys for remote build
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPLx3RgUgbE7THS7hRZypyudEKffj0ppwQfQuxIpPf8H root@zenbook"
];