# 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, ... }: let impermanence = builtins.fetchTarball { url = "https://github.com/nix-community/impermanence/archive/master.tar.gz"; }; home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz"; }; in { imports = [ # Include the results of the hardware scan. ./nixos/hardware-configuration/trantor.nix ./nixos/common.nix "${home-manager}/nixos" "${impermanence}/nixos.nix" ]; home-manager.users.rilla = import home/trantor.nix; fileSystems = { "/" = { device = "tmpfs"; fsType = "tmpfs"; options = [ "defaults" "size=2G" "mode=755" ]; }; "/persist/system" = { device = "/dev/mapper/system"; fsType = "btrfs"; options = [ "subvol=persist" "compress=zstd" ]; neededForBoot = true; }; "/persist/user" = { device = "/dev/mapper/user"; fsType = "btrfs"; options = [ "subvol=persist" "compress=zstd" ]; neededForBoot = true; }; "/nix" = { device = "/dev/mapper/system"; fsType = "btrfs"; options = [ "subvol=nix" "compress=zstd" ]; }; "/boot" = { device = "/dev/mapper/system"; fsType = "btrfs"; options = [ "subvol=boot" "compress=zstd" ]; }; "/boot/efi" = { device = "/dev/disk/by-uuid/0BFA-9A66"; fsType = "vfat"; }; "/swap" = { device = "/dev/mapper/system"; fsType = "btrfs"; options = [ "subvol=swap" ]; }; "/home/rilla/music" = { device = "narwhal:/music"; fsType = "nfs"; options = [ "nfsvers=4" "x-systemd.automount" "x-systemd.idle-timeout=1min" ]; }; # "/home/rilla/calibre" = { # device = "narwhal:/calibre"; # fsType = "nfs"; # options = [ # "nfsvers=4" # "noauto" # "x-systemd.automount" # "x-systemd.idle-timeout=1min" # ]; # }; }; swapDevices = [{ device = "/swap/swapfile"; }]; environment.persistence = { "/persist/system" = { directories = [ "/var/log" "/var/lib/bluetooth" "/var/lib/systemd/coredump" "/var/lib/docker" ]; files = [ "/etc/machine-id" "/etc/ssh/ssh_host_ed25519_key" "/etc/ssh/ssh_host_ed25519_key.pub" "/etc/ssh/ssh_host_rsa_key" "/etc/ssh/ssh_host_rsa_key.pub" # "/etc/wireguard/wg0" ]; }; "/persist/user" = { directories = [ "/etc/NetworkManager/system-connections" "/var/lib/libvirt" ]; }; }; environment.variables.NIXOS_CONFIG = "/home/rilla/configs/nix-config/trantor.nix"; networking.networkmanager.wifi.macAddress = "80:FA:5B:41:12:0F"; nixpkgs.config.allowUnfree = true; programs.steam.enable = true; boot = { loader = { systemd-boot.enable = true; efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot/efi"; }; grub = { enable = true; version = 2; device = "nodev"; enableCryptodisk = true; efiSupport = true; }; }; initrd = { luks.devices = { "system" = { device = "/dev/disk/by-uuid/b9778e01-a86c-4c6b-beb3-f97888d4a6eb"; keyFile = "/system_keyfile.bin"; }; "user" = { device = "/dev/disk/by-uuid/d8e9b35d-704a-4f66-bc19-0dd3e158de36"; keyFile = "/user_keyfile.bin"; }; }; secrets = { "/system_keyfile.bin" = "/boot/system_keyfile.bin"; "/user_keyfile.bin" = "/boot/user_keyfile.bin"; }; }; }; networking = { hostName = "trantor"; interfaces = { enp3s0f1.useDHCP = true; wlp4s0.useDHCP = true; }; }; services.xserver = { videoDrivers = [ "nvidia" ]; }; hardware.nvidia = { nvidiaPersistenced = true; modesetting.enable = true; prime = { sync.enable = true; nvidiaBusId = "PCI:1:0:0"; intelBusId = "PCI:0:2:0"; }; }; # 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. It‘s 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 = "21.05"; # Did you read the comment? }