mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-14 00:22:39 +02:00
feat: add more useful packages
This commit is contained in:
@@ -37,4 +37,4 @@ Other configurations from where I learned and copied:
|
|||||||
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles)
|
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles)
|
||||||
- [davidak/nixos-config](https://codeberg.org/davidak/nixos-config)
|
- [davidak/nixos-config](https://codeberg.org/davidak/nixos-config)
|
||||||
- [davidtwco/veritas](https://github.com/davidtwco/veritas)
|
- [davidtwco/veritas](https://github.com/davidtwco/veritas)
|
||||||
|
- [NixOS-CN/NixOS-CN-telegram](https://github.com/NixOS-CN/NixOS-CN-telegram)
|
||||||
|
|||||||
@@ -27,14 +27,16 @@
|
|||||||
swayidle # for setting the idle timeout
|
swayidle # for setting the idle timeout
|
||||||
swaylock # for locking the screen
|
swaylock # for locking the screen
|
||||||
wl-clipboard # for copying and pasting
|
wl-clipboard # for copying and pasting
|
||||||
|
|
||||||
wf-recorder # for screen recording
|
wf-recorder # for screen recording
|
||||||
|
grim # for taking screenshots
|
||||||
|
slurp # for selecting a region to screenshot
|
||||||
|
# TODO replace by `flameshot gui --raw | wl-copy`
|
||||||
|
|
||||||
xfce.xfce4-appfinder # for the application launcher
|
xfce.xfce4-appfinder # for the application launcher
|
||||||
|
|
||||||
wofi # for the application launcher
|
wofi # for the application launcher
|
||||||
mako # for the notification daemon
|
mako # for the notification daemon
|
||||||
grim # for taking screenshots
|
|
||||||
slurp # for selecting a region to screenshot
|
|
||||||
|
|
||||||
light # for changing the screen brightness
|
light # for changing the screen brightness
|
||||||
yad # for the brightness popup
|
yad # for the brightness popup
|
||||||
@@ -48,6 +50,8 @@
|
|||||||
# if use vscode in wayland, uncomment those line
|
# if use vscode in wayland, uncomment those line
|
||||||
systemd.user.sessionVariables = {
|
systemd.user.sessionVariables = {
|
||||||
"NIXOS_OZONE_WL" = "1"; # for vscode
|
"NIXOS_OZONE_WL" = "1"; # for vscode
|
||||||
|
"MOZ_ENABLE_WAYLAND" = "1";
|
||||||
|
|
||||||
# for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/
|
# for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/
|
||||||
"LIBVA_DRIVER_NAME" = "nvidia";
|
"LIBVA_DRIVER_NAME" = "nvidia";
|
||||||
"XDG_SESSION_TYPE" = "wayland";
|
"XDG_SESSION_TYPE" = "wayland";
|
||||||
|
|||||||
+15
-11
@@ -3,18 +3,22 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs = {
|
home.packages = with pkgs; [
|
||||||
chromium = {
|
# use wayland version of firefox
|
||||||
enable = true;
|
firefox-wayland
|
||||||
commandLineArgs = ["--enable-features=TouchpadOverscrollHistoryNavigation"];
|
];
|
||||||
extensions = [
|
|
||||||
# {id = "";} // extension id, query from chrome web store
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = {
|
programs = {
|
||||||
enable = true;
|
let commandLineArgs = [ "--enable-wayland-ime" "--ozone-platform=wayland" ];
|
||||||
profiles.ryan = {};
|
in {
|
||||||
|
chromium = {
|
||||||
|
enable = true;
|
||||||
|
inherit commandLineArgs;
|
||||||
|
};
|
||||||
|
google-chrome = {
|
||||||
|
enable = true;
|
||||||
|
inherit commandLineArgs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -10,23 +10,74 @@
|
|||||||
yq-go # https://github.com/mikefarah/yq
|
yq-go # https://github.com/mikefarah/yq
|
||||||
htop
|
htop
|
||||||
|
|
||||||
|
## networking tools
|
||||||
|
wireshark
|
||||||
|
wireguard-tools # manage wireguard vpn manually, via wg-quick
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
libnotify
|
libnotify
|
||||||
wineWowPackages.wayland
|
wineWowPackages.wayland
|
||||||
xdg-utils
|
xdg-utils
|
||||||
graphviz
|
|
||||||
|
|
||||||
# productivity
|
# productivity
|
||||||
obsidian
|
obsidian
|
||||||
|
hugo
|
||||||
|
|
||||||
# IDE
|
# IDE
|
||||||
insomnia
|
insomnia
|
||||||
|
jetbrains.pycharm-community
|
||||||
|
# jetbrains.idea-community
|
||||||
|
|
||||||
# cloud native
|
# cloud native
|
||||||
docker-compose
|
docker-compose
|
||||||
kubectl
|
kubectl
|
||||||
|
kubernetes-helm
|
||||||
|
terraform
|
||||||
|
pulumi
|
||||||
|
|
||||||
|
# cloud provider
|
||||||
|
awscli
|
||||||
|
|
||||||
|
# python
|
||||||
|
conda
|
||||||
|
|
||||||
|
# C
|
||||||
|
clang-tools
|
||||||
|
clang-analyzer
|
||||||
|
lldb
|
||||||
|
gnumake
|
||||||
|
cmake
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
bison
|
||||||
|
cppcheck
|
||||||
|
fakeroot
|
||||||
|
flex
|
||||||
|
gettext
|
||||||
|
groff
|
||||||
|
libtool
|
||||||
|
m4
|
||||||
|
patch
|
||||||
|
pkgconf
|
||||||
|
texinfo
|
||||||
|
binutils
|
||||||
|
|
||||||
|
|
||||||
|
# Golang
|
||||||
|
delve
|
||||||
|
go
|
||||||
|
go-outline
|
||||||
|
go-tools
|
||||||
|
go2nix
|
||||||
|
gomodifytags
|
||||||
|
gopls
|
||||||
|
gotests
|
||||||
|
impl
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
rustup
|
||||||
|
|
||||||
|
# nodejs
|
||||||
nodejs
|
nodejs
|
||||||
nodePackages.npm
|
nodePackages.npm
|
||||||
nodePackages.pnpm
|
nodePackages.pnpm
|
||||||
@@ -36,6 +87,10 @@
|
|||||||
dbeaver
|
dbeaver
|
||||||
mycli
|
mycli
|
||||||
pgcli
|
pgcli
|
||||||
|
|
||||||
|
# desktop
|
||||||
|
tdesktop
|
||||||
|
discord
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
@@ -65,6 +120,7 @@
|
|||||||
jq.enable = true; # A lightweight and flexible command-line JSON processor
|
jq.enable = true; # A lightweight and flexible command-line JSON processor
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
aria2.enable = true;
|
aria2.enable = true;
|
||||||
|
adb.enable = true;
|
||||||
|
|
||||||
skim = {
|
skim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -75,6 +131,11 @@
|
|||||||
"--exact"
|
"--exact"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|||||||
+11
-1
@@ -20,7 +20,17 @@
|
|||||||
viu # terminal image viewer
|
viu # terminal image viewer
|
||||||
imv # simple image viewer
|
imv # simple image viewer
|
||||||
imagemagick
|
imagemagick
|
||||||
deepin.image-editor
|
graphviz
|
||||||
|
|
||||||
|
# creative
|
||||||
|
blender # 3d modeling
|
||||||
|
gimp # image editing
|
||||||
|
inkscape # vector graphics
|
||||||
|
krita # digital painting
|
||||||
|
|
||||||
|
# 3d printing, eletrical engineering
|
||||||
|
kicad
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
home.packages = with nixos-cn; [
|
home.packages = with nixos-cn; [
|
||||||
|
qq
|
||||||
wechat-uos
|
wechat-uos
|
||||||
netease-cloud-music
|
netease-cloud-music
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -43,5 +43,15 @@ in {
|
|||||||
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# https://github.com/flatpak/xdg-desktop-portal
|
||||||
|
# enable wayland wlroots support
|
||||||
|
portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
|
systemd.user.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
+28
-2
@@ -89,9 +89,32 @@
|
|||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
|
|
||||||
|
# networking tools
|
||||||
|
ethtool
|
||||||
|
iperf3
|
||||||
|
nmap
|
||||||
|
socat
|
||||||
|
|
||||||
|
# system tools
|
||||||
sysstat
|
sysstat
|
||||||
lm_sensors # for `sensors` command
|
lm_sensors # for `sensors` command
|
||||||
|
|
||||||
|
# misc
|
||||||
|
findutils
|
||||||
|
file
|
||||||
|
which
|
||||||
|
tree
|
||||||
|
gnused
|
||||||
|
gnutar
|
||||||
|
gawk
|
||||||
|
p7zip
|
||||||
|
xz
|
||||||
|
zstd
|
||||||
|
|
||||||
|
# video/audio tools
|
||||||
|
libva-utils
|
||||||
|
|
||||||
# minimal screen capture tool, used by i3 blur lock to take a screenshot
|
# minimal screen capture tool, used by i3 blur lock to take a screenshot
|
||||||
# print screen key is also bound to this tool in i3 config
|
# print screen key is also bound to this tool in i3 config
|
||||||
scrot
|
scrot
|
||||||
@@ -133,14 +156,17 @@
|
|||||||
#media-session.enable = true;
|
#media-session.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
udev.packages = with pkgs; [
|
||||||
|
gnome.gnome-settings-daemon
|
||||||
|
platformio # udev rules for platformio
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.ryan = {
|
users.users.ryan = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "ryan";
|
description = "ryan";
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
extraGroups = [ "networkmanager" "wheel" "docker" "wireshark" ];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx3Sk20pLL1b2PPKZey2oTyioODrErq83xG78YpFBoj admin@ryan-MBP"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx3Sk20pLL1b2PPKZey2oTyioODrErq83xG78YpFBoj admin@ryan-MBP"
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user