93 lines
2.8 KiB
Nix
93 lines
2.8 KiB
Nix
{
|
|
description = "Nathan's system configurations";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11";
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
fenix = {
|
|
url = "github:nix-community/fenix";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
emacs = {
|
|
url = "github:nix-community/emacs-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, nixpkgs-unstable, fenix, emacs }:
|
|
|
|
{
|
|
nixosConfigurations.levitation = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
unstable = import nixpkgs-unstable {
|
|
config = { allowUnfree = true; };
|
|
overlays = [ emacs.overlay ];
|
|
system = "x86_64-linux";
|
|
};
|
|
fenix = fenix.packages.x86_64-linux;
|
|
};
|
|
modules = [
|
|
./hardware/levitation.nix
|
|
./modules/user.nix
|
|
./modules/common.nix
|
|
./modules/audio.nix
|
|
./modules/sway.nix
|
|
./modules/fonts.nix
|
|
./modules/gpg.nix
|
|
./modules/logitech.nix
|
|
./modules/qemu.nix
|
|
./modules/docker.nix
|
|
./modules/ssh.nix
|
|
./applications/utils-core.nix
|
|
./applications/communications.nix
|
|
./applications/devel-core.nix
|
|
./applications/devel-rust.nix
|
|
./applications/emacs.nix
|
|
./applications/image-editing.nix
|
|
./applications/media.nix
|
|
./applications/syncthing.nix
|
|
({ pkgs, ... }: {
|
|
## Boot, drivers, and host name
|
|
# Use grub
|
|
boot.loader = {
|
|
grub = {
|
|
enable = true;
|
|
version = 2;
|
|
efiSupport = true;
|
|
# Go efi only
|
|
device = "nodev";
|
|
# Use os-prober
|
|
useOSProber = true;
|
|
};
|
|
efi = {
|
|
efiSysMountPoint = "/boot/";
|
|
canTouchEfiVariables = true;
|
|
};
|
|
};
|
|
# Enable AMD gpu drivers early
|
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
|
# Use the zen kernel
|
|
boot.kernelPackages = pkgs.linuxPackages_zen;
|
|
# Define the hostname, enable dhcp
|
|
networking = {
|
|
hostName = "levitation";
|
|
domain = "mccarty.io";
|
|
useDHCP = false;
|
|
interfaces.enp5s0.useDHCP = true;
|
|
};
|
|
## System specific configuration
|
|
programs = {
|
|
steam.enable = true;
|
|
adb.enable = true;
|
|
};
|
|
## Left over uncategorized packages
|
|
environment.systemPackages = with pkgs; [
|
|
firefox-wayland
|
|
];
|
|
})
|
|
];
|
|
};
|
|
};
|
|
}
|