Add Nix flake configuration
This commit is contained in:
19
hosts/atlas/README.md
Normal file
19
hosts/atlas/README.md
Normal file
@ -0,0 +1,19 @@
|
||||
# Atlas
|
||||
|
||||
## Overview
|
||||
A general purpose mini computer used for web browsing and multimedia.
|
||||
|
||||
## Specs
|
||||
* CPU - Intel Core i7-4790K @ 4.00GHz
|
||||
* Memory - 8 GB DDR3
|
||||
* Motherboard - ASRock Z97M-ITX
|
||||
* GPU - AMD Radeon R9 290X 4GB
|
||||
|
||||
### Disks
|
||||
Device | Partitions _(filesystem, usage)_
|
||||
--- | ---
|
||||
Samsung SSD 850 | `/dev/sda1` (NTFS, Windows XP)
|
||||
Samsung SSD 850 | `/dev/sdb1` (EFI, NixOS Boot) <br> `/dev/sdb2` (ext4, NixOS Root)
|
||||
|
||||
### Networks
|
||||
DHCP on `10.0.1.0/24` subnet.
|
45
hosts/atlas/default.nix
Normal file
45
hosts/atlas/default.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib.my;
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../desktop.nix
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||
|
||||
networking.hostName = "atlas";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
nix.package = pkgs.nixFlakes;
|
||||
nix.extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
modules = {
|
||||
desktop = {
|
||||
firefox.enable = true;
|
||||
};
|
||||
editors = {
|
||||
neovim.enable = true;
|
||||
vscode.enable = true;
|
||||
};
|
||||
security = {
|
||||
gpg.enable = true;
|
||||
pass.enable = true;
|
||||
};
|
||||
shell = {
|
||||
fzf.enable = true;
|
||||
git.enable = true;
|
||||
nnn.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
41
hosts/atlas/hardware-configuration.nix
Normal file
41
hosts/atlas/hardware-configuration.nix
Normal file
@ -0,0 +1,41 @@
|
||||
# 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 = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" "wl" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/db92d689-50d4-4301-90f9-122aab198e38";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{ device = "/dev/disk/by-uuid/0720-9BE0";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/fb217be3-c5df-4e70-8032-78bfbe7325cb"; }
|
||||
];
|
||||
|
||||
# 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.enp0s25.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
}
|
Reference in New Issue
Block a user