feat: add hosts/aijiro config
My portable desktop machine.
This commit is contained in:
parent
327b113a07
commit
79acd090f4
30
hosts/aijiro/README.org
Normal file
30
hosts/aijiro/README.org
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#+TITLE: Aijiro
|
||||||
|
#+DATE: September 3, 2021
|
||||||
|
|
||||||
|
* Overview
|
||||||
|
...
|
||||||
|
|
||||||
|
* Specs
|
||||||
|
+ Intel i5-6400
|
||||||
|
+ 8GB
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
** Set up root file system
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
parted /dev/sda -- mklabel gpt
|
||||||
|
parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
|
||||||
|
parted /dev/sda -- mkpart primary linux-swap 512MiB 8.5GiB
|
||||||
|
parted /dev/sda -- mkpart primary 8.5GiB 100%
|
||||||
|
parted /dev/sda -- set 1 boot on
|
||||||
|
mkfs.fat -F32 -n BOOT /dev/sda1
|
||||||
|
mkswap -L swap /dev/sda2
|
||||||
|
mkfs.ext4 -L nixos /dev/sda3
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Mount drives
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
mount /dev/sda3 /mnt
|
||||||
|
mkdir -p /mnt/boot
|
||||||
|
mount /dev/sda1 /mnt/boot
|
||||||
|
swapon /dev/sda2
|
||||||
|
#+END_SRC
|
86
hosts/aijiro/default.nix
Normal file
86
hosts/aijiro/default.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
# Shiro -- my laptop
|
||||||
|
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../home.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
## Modules
|
||||||
|
modules = {
|
||||||
|
desktop = {
|
||||||
|
bspwm.enable = true;
|
||||||
|
apps = {
|
||||||
|
discord.enable = true;
|
||||||
|
rofi.enable = true;
|
||||||
|
# godot.enable = true;
|
||||||
|
};
|
||||||
|
browsers = {
|
||||||
|
default = "brave";
|
||||||
|
brave.enable = true;
|
||||||
|
# firefox.enable = true;
|
||||||
|
# qutebrowser.enable = true;
|
||||||
|
};
|
||||||
|
gaming = {
|
||||||
|
# steam.enable = true;
|
||||||
|
# emulators.enable = true;
|
||||||
|
# emulators.psx.enable = true;
|
||||||
|
};
|
||||||
|
media = {
|
||||||
|
daw.enable = true;
|
||||||
|
documents.enable = true;
|
||||||
|
graphics.enable = true;
|
||||||
|
mpv.enable = true;
|
||||||
|
recording.enable = true;
|
||||||
|
spotify.enable = true;
|
||||||
|
};
|
||||||
|
term = {
|
||||||
|
default = "xst";
|
||||||
|
st.enable = true;
|
||||||
|
};
|
||||||
|
vm = {
|
||||||
|
qemu.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dev = {
|
||||||
|
node.enable = true;
|
||||||
|
rust.enable = true;
|
||||||
|
python.enable = true;
|
||||||
|
};
|
||||||
|
editors = {
|
||||||
|
default = "nvim";
|
||||||
|
emacs.enable = true;
|
||||||
|
vim.enable = true;
|
||||||
|
};
|
||||||
|
shell = {
|
||||||
|
# adl.enable = true;
|
||||||
|
vaultwarden.enable = true;
|
||||||
|
direnv.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
gnupg.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
ssh.enable = true;
|
||||||
|
docker.enable = true;
|
||||||
|
# Needed occasionally to help the parental units with PC problems
|
||||||
|
# teamviewer.enable = true;
|
||||||
|
};
|
||||||
|
theme.active = "alucard";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
## Local config
|
||||||
|
programs.ssh.startAgent = true;
|
||||||
|
services.openssh.startWhenNeeded = true;
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
# The global useDHCP flag is deprecated, therefore explicitly set to false
|
||||||
|
# here. Per-interface useDHCP will be mandatory in the future, so this
|
||||||
|
# generated config replicates the default behaviour.
|
||||||
|
networking.useDHCP = false;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Copenhagen";
|
||||||
|
}
|
57
hosts/aijiro/hardware-configuration.nix
Normal file
57
hosts/aijiro/hardware-configuration.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
{ config, lib, pkgs, inputs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" "nvme" ];
|
||||||
|
initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
kernelParams = [
|
||||||
|
# HACK Disables fixes for spectre, meltdown, L1TF and a number of CPU
|
||||||
|
# vulnerabilities. Don't copy this blindly! And especially not for
|
||||||
|
# mission critical or server/headless builds exposed to the world.
|
||||||
|
"mitigations=off"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Refuse ICMP echo requests on my desktop/laptop; nobody has any business
|
||||||
|
# pinging them, unlike my servers.
|
||||||
|
kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Modules
|
||||||
|
modules.hardware = {
|
||||||
|
audio.enable = true;
|
||||||
|
fs = {
|
||||||
|
enable = true;
|
||||||
|
ssd.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# CPU
|
||||||
|
nix.maxJobs = lib.mkDefault 4;
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
# performance gives better battery life/perf than ondemand on sandy bridge and
|
||||||
|
# newer because of intel pstates.
|
||||||
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
# Without this wpa_supplicant may fail to auto-discover wireless interfaces at
|
||||||
|
# startup (and must be restarted).
|
||||||
|
networking.wireless.interfaces = [ "wlp3s0" ];
|
||||||
|
|
||||||
|
# Storage
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-label/nixos";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [ "noatime" ];
|
||||||
|
};
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-label/BOOT";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swapDevices = [ { device = "/dev/disk/by-label/swap"; }];
|
||||||
|
}
|
Loading…
Reference in a new issue