sisyphus/nixos/hosts/Tibo-NixFat/default.nix

118 lines
2.3 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
sisyphus = {
hardware.nvidia = {
enable = true;
model = "Quadro T2000";
};
networking.openconnect-sso.enable = true;
programs = {
home-manager.enable = true;
sops.enable = true;
ssh.enable = true;
};
services = {
pipewire.enable = true;
tailscale.enable = true;
};
users.tdpeuter.enable = true;
virtualisation.virtualbox.enable = true;
};
boot = {
# Encryption
initrd = {
# Setup keyfile
secrets."/crypto_keyfile.bin" = null;
# Enable swap on luks
luks.devices."luks-3825c43c-6cc4-4846-b1cc-02b5938640c9" = {
device = "/dev/disk/by-uuid/3825c43c-6cc4-4846-b1cc-02b5938640c9";
keyFile = "/crypto_keyfile.bin";
};
};
# Use the systemd-boot EFI boot loader.]
loader = {
systemd-boot.enable = true;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
};
environment.systemPackages = with pkgs; [
git
vim
w3m
wget
zenith-nvidia
];
programs = {
zsh.enable = true;
};
hardware.bluetooth.enable = true;
networking.hostName = "Tibo-NixFat";
services = {
# Handle the laptop lid switch as follows:
logind = {
lidSwitch = "hybrid-sleep";
lidSwitchExternalPower = "lock";
lidSwitchDocked = "ignore";
};
# Touchpad
xserver.libinput.enable = true;
};
system.stateVersion = "23.05";
time.timeZone = "Europe/Brussels";
# --- Barrier ---
networking = {
networkmanager.enable = true;
};
nix = {
# Allow Nix Flakes
# Keep derivations so shells don't break (direnv)
# If the disk has less than 100MiB, free up to 2GiB by garbage-collecting.
extraOptions = ''
experimental-features = nix-command flakes
keep-outputs = true
keep-derivations = true
min-free = ${toString (100 * 1024 * 1024)}
max-free = ${toString (2048 * 1024 * 1024)}
'';
# Scheduled garbage-collect
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
package = pkgs.nixFlakes;
};
i18n.defaultLocale = "en_GB.UTF-8";
console = {
# font = "Lat2-Terminus16";
useXkbConfig = true; # use xkbOptions in tty.
};
}