blob: 2890ceaac112719f167925cd579fd4e0c67ed4f4 (
plain) (
blame)
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
|
{ config, pkgs, ... }:
let
user = config.userdata.user;
groups = config.userdata.groups;
description = config.userdata.email;
pubKeys = config.userdata.pubKeys;
host = config.networking.hostName;
in
{
disabledModules = [ "services/networking/pppd.nix" ];
imports = [
./modules/userdata.nix
./modules/dev.nix
./modules/pppd.nix
];
# boot
boot = {
tmp.useTmpfs = true;
loader = {
timeout = 1;
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
};
# users
users.users.${user} = {
inherit description;
isNormalUser = true;
extraGroups = [
"wheel"
"adbusers"
] ++ groups;
packages = with pkgs; [
yt-dlp
geoipWithDatabase
dig
nnn
ffmpeg
rtorrent
ps_mem
brightnessctl
neofetch
(pass.withExtensions (exts: [ exts.pass-otp ]))
];
openssh.authorizedKeys.keys = pubKeys;
};
# system
environment = {
binsh = "${pkgs.dash}/bin/dash";
shellAliases = {
ls = "ls --color=auto --group-directories-first";
grep = "grep --color=auto";
};
systemPackages = with pkgs; [
dash
luajit
unzip
bc
file
git
htop
curl
neovim
age
sops
];
};
system.stateVersion = "23.11";
time.timeZone = "Asia/Kolkata";
# nix
nix.settings.experimental-features = [
"flakes"
"nix-command"
];
# sops
sops = {
defaultSopsFile = ./hosts/${host}/secrets.yaml;
age.keyFile = "/var/secrets/sops.key";
};
# programs
programs = {
adb.enable = true;
bash.promptInit = ''
PROMPT_COLOR="1;31m"
[ "$UID" -ne 0 ] &&
PROMPT_COLOR="1;32m"
PS1="\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\\$\[\033[0m\] "
'';
};
}
|