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

115 lines
2.2 KiB
Nix
Raw Normal View History

2023-03-15 19:47:58 +01:00
{ config, pkgs, ... }:
{
2023-04-04 12:08:13 +02:00
imports = [
./hardware-configuration.nix
];
2023-10-17 23:14:25 +02:00
sisyphus = {
2023-10-24 21:00:53 +02:00
hardware.nvidia = {
enable = true;
model = "Quadro T2000";
};
2023-10-20 22:28:37 +02:00
2023-10-17 23:14:25 +02:00
programs = {
home-manager.enable = true;
2023-10-18 20:58:49 +02:00
sops.enable = true;
2023-10-18 18:54:27 +02:00
ssh.enable = true;
2023-10-01 16:56:12 +02:00
};
2023-10-24 21:00:53 +02:00
2023-10-19 20:58:15 +02:00
services = {
2023-10-24 21:00:53 +02:00
pipewire.enable = true;
2023-10-28 11:14:50 +02:00
tailscale.enable = true;
2023-10-19 20:58:15 +02:00
};
2023-10-24 21:00:53 +02:00
users.tdpeuter.enable = true;
2023-10-17 23:14:25 +02:00
};
2023-10-01 16:56:12 +02:00
2023-10-17 23:14:25 +02:00
boot = {
# Encryption
2023-10-01 16:56:12 +02:00
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";
};
2023-03-15 19:47:58 +01:00
};
2023-10-17 23:14:25 +02:00
# Use the systemd-boot EFI boot loader.]
loader = {
systemd-boot.enable = true;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
2023-03-22 22:12:19 +01:00
};
2023-10-17 23:14:25 +02:00
environment.systemPackages = with pkgs; [
2023-10-18 17:57:00 +02:00
git
2023-10-19 22:24:04 +02:00
vim
2023-10-20 20:10:35 +02:00
w3m
2023-10-17 23:14:25 +02:00
wget
2023-10-18 17:57:00 +02:00
zenith-nvidia
2023-10-17 23:14:25 +02:00
];
2023-10-19 22:24:04 +02:00
programs = {
zsh.enable = true;
};
2023-10-18 18:54:27 +02:00
hardware.bluetooth.enable = true;
networking.hostName = "Tibo-NixFat";
services = {
# Handle the laptop lid switch as follows:
logind = {
lidSwitch = "hybrid-sleep";
lidSwitchExternalPower = "lock";
lidSwitchDocked = "ignore";
};
2023-10-19 22:24:33 +02:00
# Touchpad
xserver.libinput.enable = true;
2023-10-18 18:54:27 +02:00
};
2023-10-17 23:14:25 +02:00
system.stateVersion = "23.05";
2023-10-18 18:54:27 +02:00
time.timeZone = "Europe/Brussels";
2023-10-17 23:14:25 +02:00
# --- Barrier ---
2023-10-01 16:56:12 +02:00
networking = {
networkmanager.enable = true;
};
2023-10-24 21:00:53 +02:00
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.
2023-03-22 22:12:19 +01:00
};
2023-03-15 19:47:58 +01:00
}