diff options
Diffstat (limited to 'hosts/laurel/configuration.nix')
-rw-r--r-- | hosts/laurel/configuration.nix | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/hosts/laurel/configuration.nix b/hosts/laurel/configuration.nix new file mode 100644 index 0000000..d0edee3 --- /dev/null +++ b/hosts/laurel/configuration.nix | |||
@@ -0,0 +1,85 @@ | |||
1 | # Edit this configuration file to define what should be installed on | ||
2 | # your system. Help is available in the configuration.nix(5) man page, on | ||
3 | # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). | ||
4 | |||
5 | { config, lib, pkgs, ... }: | ||
6 | |||
7 | { | ||
8 | imports = | ||
9 | [ | ||
10 | # Include the results of the hardware scan. | ||
11 | ./hardware-configuration.nix | ||
12 | ]; | ||
13 | |||
14 | # Use the systemd-boot EFI boot loader. | ||
15 | boot.loader.systemd-boot.enable = true; | ||
16 | boot.loader.efi.canTouchEfiVariables = true; | ||
17 | |||
18 | # networking.hostName = "nixos"; # Define your hostname. | ||
19 | # Pick only one of the below networking options. | ||
20 | # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. | ||
21 | # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. | ||
22 | networking.hostName = "laurel"; | ||
23 | networking.firewall.allowedTCPPorts = [ 80 443 ]; | ||
24 | |||
25 | time.timeZone = "Europe/London"; | ||
26 | i18n.defaultLocale = "en_US.UTF-8"; | ||
27 | |||
28 | |||
29 | nixpkgs.config.packageOverrides = pkgs: { | ||
30 | vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; | ||
31 | }; | ||
32 | |||
33 | # Enable sound. | ||
34 | sound.enable = true; | ||
35 | hardware.pulseaudio.enable = true; | ||
36 | hardware.opengl = { | ||
37 | enable = true; | ||
38 | extraPackages = with pkgs; [ | ||
39 | intel-media-driver | ||
40 | vaapiIntel | ||
41 | vaapiVdpau | ||
42 | libvdpau-va-gl | ||
43 | intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in) | ||
44 | ]; | ||
45 | }; | ||
46 | |||
47 | environment.systemPackages = with pkgs; [ | ||
48 | vim | ||
49 | wget | ||
50 | curl | ||
51 | ]; | ||
52 | |||
53 | users.users.op = { | ||
54 | isNormalUser = true; | ||
55 | extraGroups = [ "wheel" "tty" ]; | ||
56 | home = "/home/op"; | ||
57 | openssh.authorizedKeys.keys = [ | ||
58 | "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG4oThdAy5wQtzCarxDPuzWX6ImYw0c1QfkF0+wZNE6o np@myrtle" | ||
59 | ]; | ||
60 | }; | ||
61 | services.openssh.enable = true; | ||
62 | services.tailscale.enable = true; | ||
63 | |||
64 | nix.settings.experimental-features = [ "nix-command" "flakes" ]; | ||
65 | |||
66 | # This option defines the first version of NixOS you have installed on this particular machine, | ||
67 | # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. | ||
68 | # | ||
69 | # Most users should NEVER change this value after the initial install, for any reason, | ||
70 | # even if you've upgraded your system to a new NixOS release. | ||
71 | # | ||
72 | # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, | ||
73 | # so changing it will NOT upgrade your system. | ||
74 | # | ||
75 | # This value being lower than the current NixOS release does NOT mean your system is | ||
76 | # out of date, out of support, or vulnerable. | ||
77 | # | ||
78 | # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, | ||
79 | # and migrated your data accordingly. | ||
80 | # | ||
81 | # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . | ||
82 | system.stateVersion = "23.11"; # Did you read the comment? | ||
83 | |||
84 | } | ||
85 | |||