Skip to content

Commit

Permalink
refactor: closer to fixing hosts.fw; fixup nixosPofiles.gnome
Browse files Browse the repository at this point in the history
  • Loading branch information
Lehmanator committed May 24, 2024
1 parent 77da3ad commit 9791d40
Show file tree
Hide file tree
Showing 25 changed files with 288 additions and 294 deletions.
40 changes: 40 additions & 0 deletions nix/hive/hosts/fw/bee.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{ inputs, cell, self, }: {
inherit (inputs) darwin wsl;
system = "x86_64-linux";
home = inputs.home-manager;

#pkgs = cell.pkgs.unstable-with-overlays;
pkgs = import inputs.nixpkgs {
inherit (self) system;

config = {
allowUnfree = true;
allowUnsupportedSystem = true;
android_sdk.accept_license = true;
};

# TODO: Move to ./overlays.nix?
overlays = with inputs; [
# omnibus
agenix.overlays.default
arion.overlays.default
audioNix.overlays.default
devshell.overlays.default
fenix.overlays.default
flake_env.overlays.default
microvm.overlay
nil.overlays.coc-nil
nil.overlays.nil
nix-filter.overlays.default
nuenv.overlays.nuenv
nur.overlay
ragenix.overlays.default
snapshotter.overlays.default
sops-nix.overlays.default
typst.overlays.default

# flake.nix
inputs.nix-vscode-extensions.overlays.default
];
};
}
10 changes: 10 additions & 0 deletions nix/hive/hosts/fw/colmenaConfiguration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{ inputs, cell, super, }: {
inherit (super) bee;

# https://colmena.cli.rs/unstable/reference/deployment.html
deployment = {
allowLocalDeployment = true;
tags = [ "laptop" ];
targetHost = "127.0.0.1";
};
}
49 changes: 49 additions & 0 deletions nix/hive/hosts/fw/hardware-configuration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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 = {
extraModulePackages = [ ];
kernelModules = [ "kvm-intel" ];
initrd = {
availableKernelModules =
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
kernelModules = [ ];
};
};

fileSystems = {
"/" = {
fsType = "ext4";
device = "/dev/disk/by-uuid/d1f565b9-ff81-430d-a963-01556f876f68";
};
"/boot/efi" = {
fsType = "vfat";
device = "/dev/disk/by-uuid/6674-832F";
};
};
#swapDevices = [
# { device = "/dev/nvme0n1p3"; }
#];

hardware = {
enableRedistributableFirmware = lib.mkDefault true;
cpu.intel.updateMicrocode = lib.mkDefault true;

# Sensors
sensor.iio.enable = true;
};

# 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.enp0s13f0u2c2.useDHCP = lib.mkDefault true;
#networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;

nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
}
12 changes: 12 additions & 0 deletions nix/hive/hosts/fw/homeConfiguration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{ inputs, cell, super, }: {
inherit (super) bee;
home = rec {
inherit (super.meta) stateVersion;
username = "sam";
homeDirectory = "/home/${username}";
};
imports = with inputs; [
{ _module.args = super.specialArgs; }
nix-flatpak.homeManagerModules.nix-flatpak
];
}
170 changes: 2 additions & 168 deletions nix/hive/hosts/fw/meta.nix
Original file line number Diff line number Diff line change
@@ -1,173 +1,7 @@
{ self, inputs, cell, }:
let
{ inputs, cell, self, }: {
system = "x86_64-linux";
profiles = {
cell = with cell.nixosProfiles; [
apparmor
cachix-agent
desktop
display-base
gnome
hercules-ci
homed
locale-est
peripherals-apple
peripherals-logitech
tailscale-mullvad-exit-node
tpm2
#homed sops user-primary peripherals-printers peripherals-scanners server-k3s-node-main ssbm-nix
# fprintd #../..profiles/common/editor # DISABLED
#../../profiles/(nixos nixos/boot.nix nixos/security.nix nixos/virt.nix)
];
cells = with inputs.cells; [ ];
omnibus = [ ];
};
modules = {
cell = with cell.nixosModules; [ debug ];
cells = with inputs.cells;
[
#android.nixosModules.attestation-server
];
omnibus = with inputs.omnibus.flake.inputs; [
#agenix.nixosModules.age
arion.nixosModules.arion
disko.nixosModules.default
microvm.nixosModules.host
nixos-hardware.nixosModules.framework-12th-gen-intel
ragenix.nixosModules.age
#snapshotter.nixosModules.default #containerd k3s nix-snapshotter preload-containerd (all have -rootless versions)
sops-nix.nixosModules.sops
#srvos.nixosModules.desktop
#srvos.nixosModules.server
#srvos.nixosModules.mixins-nginx
#srvos.nixosModules.mixins-nix-experimental
#srvos.nixosModules.mixins-systemd-boot
#srvos.nixosModules.mixins-telegraf
#srvos.nixosModules.mixins-terminfo
#srvos.nixosModules.mixins-tracing
#srvos.nixosModules.mixins-trusted-nix-caches
##srvos.nixosModules.roles-github-actions-runner
#srvos.nixosModules.roles-nix-remote-builder
#srvos.nixosModules.roles-prometheus
];
inputs = with inputs; [ nix-flatpak.nixosModules.nix-flatpak ];
nixpkgs =
[ (inputs.nixpkgs + /nixos/modules/installer/scan/not-detected.nix) ];
};
in
{
inherit system;
specialArgs = {
inherit inputs cell self;
user = "sam";
};
stateVersion = "24.05";
colmena = {
nixpkgs = { }; # Is this `nixpkgs.config`?
};
colmenaConfiguration = {
inherit (self.nixosConfiguration) bee imports;
deployment = {
allowLocalDeployment = true;
tags = [ "laptop" ];
targetHost = "127.0.0.1";
};
};
homeConfiguration = {
bee = {
inherit (self) system;
home = inputs.home-manager;
pkgs = cell.pkgs.unstable-with-overlays;
};
home = {
stateVersion = "24.05";
username = "sam";
homeDirectory = "/home/sam";
};
imports = with inputs; [ nix-flatpak.homeManagerModules.nix-flatpak ];
};
nixosConfiguration = {
nixpkgs.hostPlatform = self.system;
bee = {
# TODO: import from cell.pkgs.<name>
pkgs = import inputs.nixpkgs {
inherit (self) system;
config = {
allowUnfree = true;
allowUnsupportedSystem = true;
android_sdk.accept_license = true;
};
overlays = with inputs; [
# omnibus
agenix.overlays.default
arion.overlays.default
audioNix.overlays.default
devshell.overlays.default
fenix.overlays.default
flake_env.overlays.default
microvm.overlay
nil.overlays.coc-nil
nil.overlays.nil
nix-filter.overlays.default
nuenv.overlays.nuenv
nur.overlay
ragenix.overlays.default
snapshotter.overlays.default
sops-nix.overlays.default
typst.overlays.default

# flake.nix
inputs.nix-vscode-extensions.overlays.default
];
};
inherit (self) system;
inherit (inputs.omnibus.flake.inputs) darwin;
home = inputs.omnibus.flake.inputs.home-manager;
};
imports = with inputs;
[{
system.stateVersion = "24.05";
boot = {
initrd = {
availableKernelModules =
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
};
kernelModules = [ "kvm-intel" ];
loader.efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
console.useXkbConfig = true;
environment = {
etc.machine-id.text = "aa38a832d16e436d8aab8bb0550d4810";
};
hardware = {
cpu.intel.updateMicrocode = lib.mkDefault true;
enableAllFirmware = true;
enableRedistributableFirmware = lib.mkDefault true;
sensor.iio.enable = true;
};
networking = {
#hostName = "fw";
useDHCP = lib.mkDefault true;
};
nix.settings.extra-trusted-public-keys =
[ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
programs = {
git = {
enable = true;
package = pkgs.gitFull;
};
traceroute.enable = true;
};
qt.enable = true;
users.users.sam = {
isNormalUser = true;
description = "Sam Lehman";
extraGroups = [ "wheel" "users" "dialout" ];
};
}] ++ profiles.cell ++ profiles.cells ++ profiles.omnibus ++ modules.cell
++ modules.cells ++ modules.inputs ++ modules.nixpkgs ++ modules.omnibus;
};
}
106 changes: 106 additions & 0 deletions nix/hive/hosts/fw/nixosConfiguration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{ inputs, cell, self, super, }:
let
modules = with inputs.omnibus.flake.inputs; [
cell.nixosModules.debug

#inputs.cells.android.nixosModules.attestation-server

inputs.nix-flatpak.nixosModules.nix-flatpak

#agenix.nixosModules.age
arion.nixosModules.arion
disko.nixosModules.default
microvm.nixosModules.host
nixos-hardware.nixosModules.framework-12th-gen-intel
ragenix.nixosModules.age
#snapshotter.nixosModules.default #containerd k3s nix-snapshotter preload-containerd (all have -rootless versions)
sops-nix.nixosModules.sops
#srvos.nixosModules.desktop
#srvos.nixosModules.server
#srvos.nixosModules.mixins-nginx
#srvos.nixosModules.mixins-nix-experimental
#srvos.nixosModules.mixins-systemd-boot
#srvos.nixosModules.mixins-telegraf
#srvos.nixosModules.mixins-terminfo
#srvos.nixosModules.mixins-tracing
#srvos.nixosModules.mixins-trusted-nix-caches
##srvos.nixosModules.roles-github-actions-runner
#srvos.nixosModules.roles-nix-remote-builder
#srvos.nixosModules.roles-prometheus
];
profiles = with cell.nixosProfiles; [
apparmor
bluetooth
cachix-agent
desktop
display-base
fprintd
gnome
hercules-ci
homed
locale-est
peripherals-apple
peripherals-logitech
tailscale-mullvad-exit-node
tpm2
#homed sops user-primary peripherals-printers peripherals-scanners server-k3s-node-main ssbm-nix
# fprintd #../..profiles/common/editor # DISABLED
#../../profiles/(nixos nixos/boot.nix nixos/security.nix nixos/virt.nix)
];
in
rec {
inherit (super) bee;
system.stateVersion = super.meta.stateVersion;

imports = with inputs;
bee.pkgs.lib.flatten [
{ _module.args = super.specialArgs; }
{ imports = [ ./hardware-configuration.nix ]; }

{
#system.stateVersion = "24.05";
boot = {
initrd = {
availableKernelModules =
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
};
kernelModules = [ "kvm-intel" ];
loader.efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
console.useXkbConfig = true;
environment = {
etc.machine-id.text = "aa38a832d16e436d8aab8bb0550d4810";
};
hardware = {
cpu.intel.updateMicrocode = lib.mkDefault true;
enableAllFirmware = true;
enableRedistributableFirmware = lib.mkDefault true;
sensor.iio.enable = true;
};
networking = {
#hostName = "fw";
useDHCP = lib.mkDefault true;
};
nix.settings.extra-trusted-public-keys =
[ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
programs = {
git = {
enable = true;
package = pkgs.gitFull;
};
traceroute.enable = true;
};
qt.enable = true;
users.users.sam = {
isNormalUser = true;
description = "Sam Lehman";
extraGroups = [ "wheel" "users" "dialout" ];
};
}
] ++ profiles ++ modules;
#++ modules.cells ++ modules.inputs ++ modules.nixpkgs ++ modules.omnibus;
}
Loading

0 comments on commit 9791d40

Please sign in to comment.