-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathusers.nix
146 lines (145 loc) · 5.5 KB
/
users.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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{ config, pkgs, ... }:
{
home-manager = { useUserPackages = true; };
users.users.markson = {
isNormalUser = true;
description = "Markson Hon";
extraGroups = [ "networkmanager" "wheel" "libvirtd" "i2c" "vboxusers" "cdrom" "video" ];
packages = with pkgs; [
gh
flameshot
nixfmt
htop
btop
nali
zsh-syntax-highlighting
zsh-powerlevel10k
libreoffice-qt-fresh
yaml-language-server
kcalc
];
};
home-manager.users.markson = { pkgs, ... }: {
programs = {
librewolf = { enable = true; };
mpv = {
enable = true;
# scripts = [ pkgs.mpvScripts.uosc ];
config = {
vo = "gpu-next";
hwdec = "auto-safe";
gpu-api = "vulkan";
gpu-context = "waylandvk";
};
bindings = { "r" = "cycle_values video-rotate 90 180 270 0"; };
};
yt-dlp = { enable = true; };
nheko.enable = true;
bash = {
enable = true;
initExtra = ''
# Flatpak Fonts Hook
for flatpak_app in ~/.var/app/*; do
[ -d "$flatpak_app/config/fontconfig" ] || mkdir -p "$flatpak_app/config/fontconfig"
cat /etc/fonts/local.conf > "$flatpak_app/config/fontconfig/fonts.conf"
done
# Set QT_AUTO_SCREEN_SCALE_FACTOR
unset QT_AUTO_SCREEN_SCALE_FACTOR
export QT_AUTO_SCREEN_SCALE_FACTOR=1
'';
};
zsh = {
enable = true;
autocd = true;
initExtra = ''
POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true
source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
if [ -f ~/.p10k.zsh ]; then
source ~/.p10k.zsh
else
p10k configure
fi
# create a zkbd compatible hash;
# to add other keys to this hash, see: man 5 terminfo
typeset -g -A key
key[Home]="''${terminfo[khome]}"
key[End]="''${terminfo[kend]}"
key[Insert]="''${terminfo[kich1]}"
key[Backspace]="''${terminfo[kbs]}"
key[Delete]="''${terminfo[kdch1]}"
key[Up]="''${terminfo[kcuu1]}"
key[Down]="''${terminfo[kcud1]}"
key[Left]="''${terminfo[kcub1]}"
key[Right]="''${terminfo[kcuf1]}"
key[PageUp]="''${terminfo[kpp]}"
key[PageDown]="''${terminfo[knp]}"
key[Shift-Tab]="''${terminfo[kcbt]}"
# setup key accordingly
[[ -n "''${key[Home]}" ]] && bindkey -- "''${key[Home]}" beginning-of-line
[[ -n "''${key[End]}" ]] && bindkey -- "''${key[End]}" end-of-line
[[ -n "''${key[Insert]}" ]] && bindkey -- "''${key[Insert]}" overwrite-mode
[[ -n "''${key[Backspace]}" ]] && bindkey -- "''${key[Backspace]}" backward-delete-char
[[ -n "''${key[Delete]}" ]] && bindkey -- "''${key[Delete]}" delete-char
[[ -n "''${key[Up]}" ]] && bindkey -- "''${key[Up]}" up-line-or-beginning-search
[[ -n "''${key[Down]}" ]] && bindkey -- "''${key[Down]}" down-line-or-beginning-search
[[ -n "''${key[Left]}" ]] && bindkey -- "''${key[Left]}" backward-char
[[ -n "''${key[Right]}" ]] && bindkey -- "''${key[Right]}" forward-char
[[ -n "''${key[PageUp]}" ]] && bindkey -- "''${key[PageUp]}" beginning-of-buffer-or-history
[[ -n "''${key[PageDown]}" ]] && bindkey -- "''${key[PageDown]}" end-of-buffer-or-history
[[ -n "''${key[Shift-Tab]}" ]] && bindkey -- "''${key[Shift-Tab]}" reverse-menu-complete
# Finally, make sure the terminal is in application mode, when zle is
# active. Only then are the values from $terminfo valid.
if (( ''${+terminfo[smkx]} && ''${+terminfo[rmkx]} )); then
autoload -Uz add-zle-hook-widget
function zle_application_mode_start { echoti smkx }
function zle_application_mode_stop { echoti rmkx }
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
fi
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
'';
completionInit = ''
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
'';
historySubstringSearch = {
enable = true;
searchUpKey = "^[A";
searchDownKey = "^[B";
};
autosuggestion = { enable = true; };
syntaxHighlighting = {
enable = true;
highlighters = [ "main" "brackets" ];
styles = {
main = "fg=white";
brackets = "fg=red";
};
};
shellAliases = {
ls = "ls --color=auto";
ll = "ls -l";
la = "ls -la";
df = "df -h";
ip = "ip -c";
grep = "grep --color=auto";
fgrep = "fgrep --color=auto";
egrep = "egrep --color=auto";
};
};
chromium = {
enable = true;
commandLineArgs = [
"--ozone-platform-hit=auto"
"--enable-wayland-ime"
"--enable-features=VaapiVideoDecoderLinuxGL"
];
};
};
home.stateVersion = "24.11";
};
}