-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfiguration.nix
117 lines (102 loc) · 2.41 KB
/
configuration.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
pkgs,
inputs,
myUsername,
myHostname,
myTZ,
myLocale,
...
}:
{
# Don't change without reading the documentation!
system.stateVersion = "24.11";
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
boot.kernelPackages = pkgs.linuxPackages_6_11;
imports = [
./apps/nvim/system.nix
./apps/steam/system.nix
./hardware/hardware-configuration.nix
./hardware/nvidia.nix
./hardware/audio.nix
./hardware/chrysalis.nix
./sops/system.nix
./fonts/system.nix
./stylix/system.nix
./wm/hyprland/system.nix
./services/ios/system.nix
./services/misc/system.nix
./services/peroxide/system.nix
./services/printing/system.nix
./services/windows-vm/system.nix
./services/xremap/system.nix
inputs.nix-flatpak.nixosModules.nix-flatpak
];
environment.systemPackages = with pkgs; [
git
neovim
sshfs
];
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Networking
networking.hostName = myHostname; # Define your hostname.
networking.networkmanager.enable = true;
networking.firewall.enable = false;
# Time and locale
time.timeZone = myTZ;
i18n.defaultLocale = myLocale;
i18n.extraLocaleSettings = {
LC_ADDRESS = myLocale;
LC_IDENTIFICATION = myLocale;
LC_MEASUREMENT = myLocale;
LC_MONETARY = myLocale;
LC_NAME = myLocale;
LC_NUMERIC = myLocale;
LC_PAPER = myLocale;
LC_TELEPHONE = myLocale;
LC_TIME = myLocale;
};
# Configure keymap in X11
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
layout = "us";
xkbVariant = "";
};
# Define a user account
users.users."${myUsername}" = {
isNormalUser = true;
description = myUsername;
extraGroups = [
"networkmanager"
"wheel"
];
};
# Mount filesystems
fileSystems."/steam" = {
device = "/dev/disk/by-uuid/2749d5f5-c6c6-4a62-abe2-8ebcfb0bc68a";
fsType = "ext4";
options = [ "nofail" ];
};
fileSystems."/backup" = {
device = "192.168.1.128:/storage/smb";
fsType = "nfs";
options = [
"nfsvers=4.2"
"noatime"
"nofail"
];
};
# Periodically optimize the store to save disk
nix.optimise = {
automatic = true;
dates = [ "03:45" ];
};
# Kill user processes on logout
services.logind.killUserProcesses = true;
}