# 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, stablePkgs, impermanence, ... }: let home = "/home/rilla"; in { imports = [ ./nixos/hardware-configuration/capibara.nix ./nixos/common.nix ]; home-manager = { users.rilla.imports = [ home/capibara.nix "${impermanence}/home-manager.nix" ]; extraSpecialArgs.stablePkgs = stablePkgs; }; fileSystems = { "/mnt/btr_root" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvolid=5" "compress=zstd" ]; }; "/persist" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=persist" "compress=zstd" ]; neededForBoot = true; }; "/logs" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=logs" "compress=zstd" ]; neededForBoot = true; }; "/data" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=data" "compress=zstd" ]; neededForBoot = true; }; "/nix" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=nix" "compress=zstd" ]; }; "/boot" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=boot" "compress=zstd" ]; }; "/swap" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=swap" ]; }; "/mnt/vfs_share" = { device = "/dev/mapper/root"; fsType = "btrfs"; options = [ "subvol=vfs_share" "compress=zstd" ]; neededForBoot = true; }; }; environment.variables = { NIXOS_CONFIG = "${home}/configs/nix-config/capibara.nix"; LV2_PATH = "${home}/.nix-profile/lib/lv2:${home}/Audio/plugins/lv2:/run/current-system/sw/lib/lv2"; LXVST_PATH = "${home}/.nix-profile/lib/lxvst:${home}/Audio/plugins/lxvst:/run/current-system/sw/lib/lxvst"; LADSPA_PATH = "${home}/.nix-profile/lib/ladspa:${home}/Audio/plugins/ladspa:/run/current-system/sw/lib/ladspa"; }; networking.networkmanager.wifi.macAddress = "CC:AF:78:75:29:32"; nixpkgs.config.allowUnfree = true; programs.steam.enable = true; boot = { loader = { grub = { efiSupport = false; efiInstallAsRemovable = false; enable = true; version = 2; # device = "/dev/disk/by-id/ata-KINGSTON_SKC600MS512G_50026B7783FC3D2F"; device = "/dev/disk/by-id/ata-WDC_WDBNCE0010PNC_21112S803178"; enableCryptodisk = true; }; }; initrd = { luks.devices = { root = { device = "/dev/disk/by-uuid/0fdb839e-dee8-4374-81e6-4455cfc3ae39"; keyFile = "/keyfile.bin"; allowDiscards = true; }; }; secrets = { "/keyfile.bin" = "/boot/keyfile.bin"; }; }; }; services.earlyoom.enable = true; # Power management powerManagement.enable = true; services.upower.enable = true; # services.thermald.enable = true; services.tlp.enable = true; services.power-profiles-daemon.enable = false; environment.systemPackages = with pkgs; [ powertop acpi ]; #services.beesd.filesystems = { # root = { # spec = "/dev/mapper/root"; # hashTableSizeMB = 256; # verbosity = "info"; # extraOptions = [ "--loadavg-target" "2.0" ]; # }; #}; # todo: target and/or archive services.btrbk.instances.btrbk = { onCalendar = "*:0/30"; # every 30 minutes settings = { snapshot_preserve = "2d"; snapshot_preserve_min = "latest"; snapshot_create = "onchange"; volume."/mnt/btr_root" = { snapshot_dir = "btrbk_snapshots"; subvolume = { data = { }; persist = { }; }; }; }; }; services.xserver.deviceSection = '' Option "TearFree" "true" ''; networking = { hostName = "capibara"; interfaces = { eno0.useDHCP = true; wlp2s0.useDHCP = true; }; }; # 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? }