-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.nix
123 lines (110 loc) · 2.83 KB
/
common.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
118
119
120
121
122
123
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, lib, inputs, ... }:
{
nix.settings = {
substituters = [ "https://mirror.sjtu.edu.cn/nix-channels/store" ];
trusted-users = [ "root" "@wheel" ];
};
system.activationScripts.diff = {
supportsDryActivation = true;
text = ''
${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig"
'';
};
imports = [
./dev/common.nix
./dev/nix.nix
./media/sound.nix
./media/display.nix
./services/input.nix
./services/kdeconnect.nix
];
nixpkgs.overlays = [ (final: prev: {
}) ];
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "ntfs" ];
time.timeZone = "Asia/Kuala_Lumpur";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"zh_CN.UTF-8/UTF-8"
];
# programs.nix-ld.enable = true;
programs.dconf.enable = true;
programs.fish.enable = true;
programs.fuse.userAllowOther = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.beef = {
isNormalUser = true;
description = "Deadbeef";
extraGroups = [
"networkmanager"
"wheel"
"scanner"
"lp"
"docker"
"input"
# for ROCm
"video"
"render"
];
packages = with pkgs; [
firefox
kdePackages.kate
kdePackages.skanlite
samba
];
shell = pkgs.fish;
};
environment.systemPackages = with pkgs; [
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
git
wget
vlc
kdePackages.ark
libsForQt5.kclock
gparted
ripgrep
prismlauncher
wezterm
gcc
libreoffice-fresh
# https://github.com/NixOS/nixpkgs/issues/368655
# (sageWithDoc.override { requireSageTests = false; })
youtube-music
# qq
vesktop
nix-output-monitor
jujutsu
zotero_7
fortune-kind
# parsec-bin
keymapp
# zed-editor
tinymist
anki
osu-lazer-bin
];
hardware.opentabletdriver.enable = true;
fonts = {
fontDir.enable = true;
packages = with pkgs; [
iosevka
ibm-plex
noto-fonts
noto-fonts-cjk-sans
# (nerdfonts.override { fonts = [ "Iosevka" ]; })
];
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
}