Move all flakes into modules/ and sep't, create deploy script for a1d2
Change-Id: Ie4d50fb8f16da193195beb139922a366b72b0b0a
diff --git a/modules/a1d2/default.nix b/modules/a1d2/default.nix
new file mode 100644
index 0000000..946c02a
--- /dev/null
+++ b/modules/a1d2/default.nix
@@ -0,0 +1,75 @@
+{ inputs, system, pkgs, drive_paths, ... }:
+let
+ inherit (inputs) self home-manager deploy-rs nixpkgs;
+ config = (self.nixosConfigurations.clicks.extendModules { modules = [ ./hardware-configuration.nix ]; });
+ deploy = {
+ sudo = "doas -u";
+ profiles = {
+ system = {
+ user = "root";
+ path = deploy-rs.lib.x86_64-linux.activate.nixos config;
+ };
+ } // (let
+ mkServiceConfig = service: {
+ user = service;
+
+ profilePath = "/nix/var/nix/profiles/per-user/${service}/home-manager";
+ path = deploy-rs.lib.x86_64-linux.activate.home-manager
+ (home-manager.lib.homeManagerConfiguration {
+ inherit pkgs;
+ modules = [
+ {
+ home.homeDirectory = "/services/${service}";
+ home.username = service;
+ home.stateVersion = "22.11";
+ programs.home-manager.enable = true;
+ }
+ "${../../services}/${service}"
+ ];
+ extraSpecialArgs = {
+ inherit (inputs) nixpkgs-clicksforms;
+ inherit system drive_paths;
+ };
+ });
+ };
+ in nixpkgs.lib.pipe ../../services [
+ builtins.readDir
+ (nixpkgs.lib.filterAttrs (_name: value: value == "directory"))
+ builtins.attrNames
+ (map (name: {
+ inherit name;
+ value = mkServiceConfig name;
+ }))
+ builtins.listToAttrs
+ ]) // (let
+ mkBlankConfig = username: {
+ user = username;
+
+ profilePath = "/nix/var/nix/profiles/per-user/${username}/home-manager";
+ path = deploy-rs.lib.x86_64-linux.activate.home-manager
+ (home-manager.lib.homeManagerConfiguration {
+ inherit pkgs;
+ modules = [
+ {
+ home.username = username;
+ home.stateVersion = "22.11";
+ programs.home-manager.enable = true;
+ }
+ "${../../homes}/${username}"
+ ];
+ });
+ };
+ in nixpkgs.lib.pipe ../../homes [
+ builtins.readDir
+ (nixpkgs.lib.filterAttrs (_name: value: value == "directory"))
+ builtins.attrNames
+ (map (name: {
+ inherit name;
+ value = mkBlankConfig name;
+ }))
+ builtins.listToAttrs
+ ]);
+ hostname = "a1d2";
+ profilesOrder = [ "system" ];
+ };
+in { inherit deploy config; }
diff --git a/modules/a1d2/hardware-configuration.nix b/modules/a1d2/hardware-configuration.nix
new file mode 100644
index 0000000..e65488f
--- /dev/null
+++ b/modules/a1d2/hardware-configuration.nix
@@ -0,0 +1,42 @@
+# 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 =
+ [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/0456a002-1692-4ed0-a233-d6cd76c8c2dd";
+ fsType = "btrfs";
+ };
+
+ boot.initrd.luks.devices."luks-ssd0".device =
+ "/dev/disk/by-uuid/a50b2c75-dd36-4d31-924f-d4b77b94efa9";
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/9416-209A";
+ fsType = "vfat";
+ };
+
+ swapDevices =
+ [{ device = "/dev/disk/by-uuid/a1cb08ad-39b3-4a36-bf5a-fad7714a85c0"; }];
+
+ # 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.enp1s0.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.amd.updateMicrocode =
+ lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/modules/a1d2/networking.nix b/modules/a1d2/networking.nix
new file mode 100644
index 0000000..e9ceaf5
--- /dev/null
+++ b/modules/a1d2/networking.nix
@@ -0,0 +1 @@
+{ networking.hostName = "a1d2"; }