feat: add more useful packages

This commit is contained in:
ryan4yin
2023-05-06 14:57:46 +08:00
parent ea35e5dc49
commit 4f4bccbb59
9 changed files with 135 additions and 19 deletions

View File

@@ -37,4 +37,4 @@ Other configurations from where I learned and copied:
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles)
- [davidak/nixos-config](https://codeberg.org/davidak/nixos-config)
- [davidtwco/veritas](https://github.com/davidtwco/veritas)
- [NixOS-CN/NixOS-CN-telegram](https://github.com/NixOS-CN/NixOS-CN-telegram)

View File

@@ -27,14 +27,16 @@
swayidle # for setting the idle timeout
swaylock # for locking the screen
wl-clipboard # for copying and pasting
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
wofi # for the application launcher
mako # for the notification daemon
grim # for taking screenshots
slurp # for selecting a region to screenshot
light # for changing the screen brightness
yad # for the brightness popup
@@ -48,6 +50,8 @@
# if use vscode in wayland, uncomment those line
systemd.user.sessionVariables = {
"NIXOS_OZONE_WL" = "1"; # for vscode
"MOZ_ENABLE_WAYLAND" = "1";
# for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/
"LIBVA_DRIVER_NAME" = "nvidia";
"XDG_SESSION_TYPE" = "wayland";

View File

@@ -3,18 +3,22 @@
config,
...
}: {
programs = {
chromium = {
enable = true;
commandLineArgs = ["--enable-features=TouchpadOverscrollHistoryNavigation"];
extensions = [
# {id = "";} // extension id, query from chrome web store
];
};
home.packages = with pkgs; [
# use wayland version of firefox
firefox-wayland
];
firefox = {
enable = true;
profiles.ryan = {};
programs = {
let commandLineArgs = [ "--enable-wayland-ime" "--ozone-platform=wayland" ];
in {
chromium = {
enable = true;
inherit commandLineArgs;
};
google-chrome = {
enable = true;
inherit commandLineArgs;
};
};
};
}

View File

@@ -10,23 +10,74 @@
yq-go # https://github.com/mikefarah/yq
htop
## networking tools
wireshark
wireguard-tools # manage wireguard vpn manually, via wg-quick
# misc
libnotify
wineWowPackages.wayland
xdg-utils
graphviz
# productivity
obsidian
hugo
# IDE
insomnia
jetbrains.pycharm-community
# jetbrains.idea-community
# cloud native
docker-compose
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
nodePackages.npm
nodePackages.pnpm
@@ -36,6 +87,10 @@
dbeaver
mycli
pgcli
# desktop
tdesktop
discord
];
programs = {
@@ -65,6 +120,7 @@
jq.enable = true; # A lightweight and flexible command-line JSON processor
ssh.enable = true;
aria2.enable = true;
adb.enable = true;
skim = {
enable = true;
@@ -75,6 +131,11 @@
"--exact"
];
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
};
services = {

View File

@@ -20,7 +20,17 @@
viu # terminal image viewer
imv # simple image viewer
imagemagick
deepin.image-editor
graphviz
# creative
blender # 3d modeling
gimp # image editing
inkscape # vector graphics
krita # digital painting
# 3d printing, eletrical engineering
kicad
];
programs = {

View File

@@ -7,6 +7,7 @@
{
home.packages = with nixos-cn; [
qq
wechat-uos
netease-cloud-music
];

View File

@@ -43,5 +43,15 @@ in {
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
];
};
};
}

View File

@@ -1,5 +1,5 @@
{config, ...}: {
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
systemd.user.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
programs.starship = {
enable = true;

View File

@@ -89,9 +89,32 @@
wget
curl
git
# networking tools
ethtool
iperf3
nmap
socat
# system tools
sysstat
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
# print screen key is also bound to this tool in i3 config
scrot
@@ -133,14 +156,17 @@
#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.
users.users.ryan = {
isNormalUser = true;
description = "ryan";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = [ "networkmanager" "wheel" "docker" "wireshark" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx3Sk20pLL1b2PPKZey2oTyioODrErq83xG78YpFBoj admin@ryan-MBP"
];