Modularize stuff better
This commit is contained in:
parent
5b92ddde89
commit
d427be6e4a
20 changed files with 417 additions and 321 deletions
125
flake.nix
125
flake.nix
|
@ -40,10 +40,9 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# nixpkgs-cosmic.follows = "nixos-cosmic/nixpkgs-stable";
|
||||
nixos-cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs.nixpkgs-stable.follows = "nixpkgs";
|
||||
inputs.nixpkgs-stable.follows = "nixpkgs-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -67,110 +66,30 @@
|
|||
treefmtEval = forAllSystems (
|
||||
system: inputs.treefmt-nix.lib.evalModule (pkgsForSystem system) ./treefmt.nix
|
||||
);
|
||||
|
||||
mkNixosSystem = {
|
||||
extraModule,
|
||||
nixpkgs' ? nixpkgs,
|
||||
useDefaultConfiguration ? true,
|
||||
}:
|
||||
nixpkgs'.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
|
||||
specialArgs = {
|
||||
inherit inputs system;
|
||||
flake = self;
|
||||
};
|
||||
|
||||
modules =
|
||||
[
|
||||
extraModule
|
||||
]
|
||||
++ nixpkgs'.lib.optional useDefaultConfiguration ./nixos;
|
||||
};
|
||||
in {
|
||||
formatter = forAllSystems (system: (treefmtEval.${system}.config.build.wrapper));
|
||||
|
||||
nixosConfigurations = {
|
||||
sue-cosmic = mkNixosSystem {
|
||||
useDefaultConfiguration = false;
|
||||
extraModule = {...}: {
|
||||
imports = [
|
||||
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
|
||||
inputs.nixos-cosmic.nixosModules.default
|
||||
./modules/nixos/lanzaboote.nix
|
||||
nixosConfigurations = nixpkgs.lib.mapAttrs (
|
||||
name: {
|
||||
nixosModule,
|
||||
homeManagerModule,
|
||||
}:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
|
||||
specialArgs = {
|
||||
inherit inputs system;
|
||||
flake = self;
|
||||
};
|
||||
|
||||
modules = [
|
||||
nixosModule
|
||||
./nixos
|
||||
{
|
||||
home-manager.users.pim.imports = [homeManagerModule];
|
||||
}
|
||||
];
|
||||
|
||||
config = {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings = {
|
||||
substituters = ["https://cosmic.cachix.org/"];
|
||||
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
|
||||
};
|
||||
|
||||
users = {
|
||||
users.pim = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "docker" "input" "wireshark" "dialout"];
|
||||
};
|
||||
};
|
||||
|
||||
services.desktopManager.cosmic.enable = true;
|
||||
services.displayManager.cosmic-greeter.enable = true;
|
||||
|
||||
pim.lanzaboote.enable = true;
|
||||
networking.hostName = "xps-9315";
|
||||
swapDevices = [{device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b";}];
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/560E-F8A2";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494";
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sue = mkNixosSystem {
|
||||
extraModule = {...}: {
|
||||
imports = [inputs.nixos-hardware.nixosModules.dell-xps-13-9310];
|
||||
|
||||
config = {
|
||||
pim.lanzaboote.enable = true;
|
||||
networking.hostName = "xps-9315";
|
||||
swapDevices = [{device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b";}];
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/560E-F8A2";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
substituters = ["https://cosmic.cachix.org/"];
|
||||
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494";
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
) (import ./machines);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue