dotfiles/provision/hosts/bulwark/configuration.nix

111 lines
2.6 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, user, ... }:
2023-08-21 21:05:02 -07:00
{
2023-11-18 17:19:21 -08:00
imports = [
2023-10-13 21:06:28 -07:00
./steam-deck.nix
./syncthing.nix
2023-09-02 11:06:41 -07:00
];
2023-08-21 21:05:02 -07:00
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
settings.auto-optimise-store = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# Add non-free packages
nixpkgs.config.allowUnfree = true;
2023-12-31 17:23:47 -08:00
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" "openssl-1.1.1w" ];
2023-08-21 21:05:02 -07:00
nixpkgs.overlays = import ../../lib/overlays.nix;
# Hardware options
hardware.bluetooth.enable = true;
2024-01-20 16:10:20 -08:00
hardware.bluetooth.package = pkgs.bluez;
2023-08-21 21:05:02 -07:00
hardware.sensor.iio.enable = true;
hardware.opengl.enable = true;
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set networking options
networking.hostName = "bulwark";
networking.firewall.checkReversePath = "loose";
networking.firewall.enable = false;
# Set your time zone.
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
# Add fonts
fonts.packages= with pkgs; [
2023-08-21 21:05:02 -07:00
nerdfonts
];
# Enable docker
virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "btrfs";
2023-08-21 21:05:02 -07:00
# Define user account.
users.users.${user} = {
isNormalUser = true;
2023-10-08 10:29:38 -07:00
extraGroups = [ "dialout" "wheel" "docker" "libvirtd" ]; # Enable sudo for the user.
2023-08-21 21:05:02 -07:00
};
2023-10-08 21:13:29 -07:00
# Password-less root
security.sudo.extraRules = [{
users = [ "${user}" ];
commands = [{
command = "ALL" ;
options= [ "NOPASSWD" ];
}];
}];
2023-08-21 21:05:02 -07:00
environment.systemPackages = with pkgs; [
];
# Enable modules
modules = {
desktop = {
2023-10-08 10:29:38 -07:00
sway.enable = false;
gnome = {
enable = true;
wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/kestrel.png}";
};
2023-11-19 11:36:46 -08:00
browser.enable = true;
2023-08-21 21:05:02 -07:00
};
2023-09-02 09:04:05 -07:00
devel = {
2023-10-08 10:29:38 -07:00
engineering.enable = false;
notes.enable = true;
2023-10-08 10:29:38 -07:00
python.enable = false;
tooling.enable = false;
2023-09-02 09:04:05 -07:00
};
2023-08-21 21:05:02 -07:00
gaming = {
steam.enable = true;
emulation.enable = true;
misc.enable = true;
2023-08-21 21:05:02 -07:00
};
services = {
2023-10-08 10:29:38 -07:00
jellyfin.enable = false;
peripherals.enable = false;
samba-client.enable = true;
2023-10-08 10:29:38 -07:00
virt-manager.enable = false;
};
system = {
ssh.enable = true;
terminal.enable = true;
2023-11-23 11:30:29 -08:00
secrets.enable = true;
2023-11-19 11:36:46 -08:00
wireguard-client.enable = false;
};
2023-08-21 21:05:02 -07:00
};
2023-11-19 11:36:46 -08:00
# Did you read the comment?
system.stateVersion = "23.11";
2023-08-21 21:05:02 -07:00
}