This commit is contained in:
Grigory Shipunov 2022-05-25 19:27:42 +02:00
commit a953246971
Signed by: 0xa
GPG key ID: 91FA5E5BF9AA901C
17 changed files with 795 additions and 0 deletions

View file

@ -0,0 +1,108 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# SWAP
zramSwap = {
enable = true;
algorithm = "zstd";
};
environment.systemPackages = with pkgs; [
tdesktop
signal-desktop
cubicsdr
kicad
gimp
inkscape
];
networking.firewall.enable = true;
services.xserver.videoDrivers = [ "displaylink" "modesetting" ];
networking = {
hostName = "microwave"; # Define your hostname.
networkmanager.enable = true;
wireguard.enable = true;
};
nixpkgs.config.allowUnfree = true;
services.fstrim.enable = true;
boot = {
supportedFilesystems = ["btrfs"];
# use systemd boot by default
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
tmpOnTmpfs = true;
plymouth.enable = false;
};
# update the microcode
hardware.cpu.intel.updateMicrocode = true;
hardware.enableAllFirmware = true;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# Enable touchpad support.
services.xserver.libinput = {
enable = true;
touchpad = {
disableWhileTyping = true;
naturalScrolling = true;
scrollMethod = "twofinger";
tapping = true;
accelProfile = "adaptive";
# clickMethod = "clickfinger";
};
};
# Shell config (bash)
programs.bash = {
enableCompletion = true;
};
security.sudo = {
enable = true;
wheelNeedsPassword = true;
};
# Users
users.users.grue = {
createHome = true;
extraGroups = [ "wheel" "networkmanager" "wireshark" "video"
"libvirtd" "plugdev" "dialout" "bluetooth" ];
group = "users";
home = "/home/grue";
isNormalUser = true;
uid = 1000;
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "22.05"; # Did you read the comment?
}

View file

@ -0,0 +1,56 @@
# 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" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
fsType = "btrfs";
options = [ "subvol=root" "noatime" "compress=zstd" ];
};
boot.initrd.luks.devices."nixos-crypt".device = "/dev/disk/by-uuid/dbee4082-85ae-40f0-9c80-034f3574688f";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4B02-CE16";
fsType = "vfat";
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
fsType = "btrfs";
options = [ "subvol=home" "noatime" "compress=zstd" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
fsType = "btrfs";
options = [ "subvol=nix" "noatime" "compress=zstd" ];
};
fileSystems."/tmp" =
{ device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
fsType = "btrfs";
options = [ "subvol=tmp" "noatime" "compress=zstd" ];
};
# 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 = lib.mkDefault false;
networking.interfaces.enp53s0.useDHCP = lib.mkDefault true;
networking.interfaces.wlp54s0.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}