-
Notifications
You must be signed in to change notification settings - Fork 0
/
desktop.nix
69 lines (59 loc) · 1.54 KB
/
desktop.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{ config, lib, pkgs, inputs, ... }:
{
imports = [
./nixos.nix
./gui.nix
./wifi.nix
./bluetooth.nix
./keyboard.nix
inputs.nixos-hardware.nixosModules.common-pc
# All of my desktop systems use SSD
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.home-manager.nixosModules.home-manager
];
# Pass flake inputs to home-manager modules.
home-manager.extraSpecialArgs = {
inherit inputs;
systemConfig = config;
};
home-manager.backupFileExtension = "bak";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
boot = {
loader.systemd-boot = {
# Use the systemd-boot EFI boot loader.
enable = true;
# Editor defeats the purpose of bootloader security.
editor = false;
};
loader.efi.canTouchEfiVariables = true;
# boot niceties
consoleLogLevel = 0;
tmp.useTmpfs = lib.mkDefault false;
tmp.cleanOnBoot = true;
};
# Open the ports needed for Chromecast.
networking.firewall = {
allowedTCPPorts = [
8008
8009
8010
# Calibre local network port
9090
];
allowedUDPPorts = [ 9090 5353 ];
allowedUDPPortRanges = [{
from = 32768;
to = 61000;
}];
};
# Scanning
hardware.sane.enable = true;
hardware.sane.extraBackends = [ pkgs.hplip ];
hardware.logitech.wireless.enable = true;
hardware.logitech.wireless.enableGraphical = true;
services.thermald.enable = true;
hardware.steam-hardware.enable = true;
programs.java.enable = true;
programs.dconf.enable = true;
}