first commit

This commit is contained in:
Tootbrute 2025-05-18 21:41:41 +08:00
commit 0576c29135
13 changed files with 479 additions and 0 deletions

32
modules/fonts.nix Normal file
View file

@ -0,0 +1,32 @@
{ config, pkgs, ... }:
{
# Fonts
fonts.packages = with pkgs; [
corefonts
vistafonts
noto-fonts
# cjk fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
vistafonts-cht
source-han-serif
source-han-sans-vf-otf
source-han-sans-vf-ttf
source-han-mono
# coding/terminal fonts
liberation_ttf
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
iosevka
nerdfonts
];
fonts.fontDir.enable = true;
}

61
modules/gnome.nix Normal file
View file

@ -0,0 +1,61 @@
{ config, pkgs, lib, ... }:
{
# Auto unlock gnome keyring
services.gnome.gnome-keyring.enable = true;
security.pam.services.sddm.enableGnomeKeyring = true;
# Remove default packages from GNOME
environment.gnome.excludePackages = with pkgs; [
baobab # disk usage analyzer
cheese # photo booth
eog # image viewer
epiphany # web browser
#gedit # text editor
simple-scan # document scanner
totem # video player
yelp # help viewer
file-roller # archive manager
geary # email client
seahorse # password manager
gnome-contacts
gnome-weather
gnome-maps
gnome-music
gnome-software
gnome-extension-manager
gnome-shell-extensions
gnome-photos
gnome-connections
snapshot
gnome-logs
gnome-system-monitor
gnome-calculator
gnome-tour
];
environment.systemPackages = with pkgs; [
#Gnome tweak tools
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.caffeine
gnomeExtensions.gsconnect
gnomeExtensions.hot-edge
gnomeExtensions.alphabetical-app-grid
gnomeExtensions.kimpanel
];
# Set User 'elias' icon to tootbrute.png image
system.activationScripts.script.text = ''
mkdir -p /var/lib/AccountsService/{icons,users}
cp /home/elias/nixos-config/files/tootbrute.png /var/lib/AccountsService/icons/elias
echo -e "[User]\nIcon=/var/lib/AccountsService/icons/elias\n" > /var/lib/AccountsService/users/elias
chown root:root /var/lib/AccountsService/users/elias
chmod 0600 /var/lib/AccountsService/users/elias
chown root:root /var/lib/AccountsService/icons/elias
chmod 0444 /var/lib/AccountsService/icons/elias
'';
}

15
modules/intel-gpu.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, pkgs, lib, ... }:
# for Accelerated Video Playback
# https://wiki.nixos.org/wiki/Accelerated_Video_Playback
{
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965, works better for firefox/chromium?
vpl-gpu-rt # For Quick Sync Video
];
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable
}

99
modules/programs.nix Normal file
View file

@ -0,0 +1,99 @@
{ pkgs, config, lib, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# terminal apps
wget
curl
fastfetch
git
btop
htop
tree
restic # backup program
wiper # A TUI disk analyser and cleanup tool
curl
# emulation
quickemu
#emulation
distrobox
# terminal editors
neovim
xclip # for nvim clipboard
ptyxis
# nix helper apps
nh
# core apps
iotas # nextcloud compatible notes app
keepassxc # password client
nextcloud-client
calibre # ebook program
libreoffice-fresh # word docs
hunspell # dictionaries for libreoffice
hunspellDicts.en_CA
hunspellDicts.en_US
xreader # pdf viewer
# creative apps
kdePackages.kdenlive
audacity
gimp
pkgs.krita
element-desktop
#gaming
dosbox
#gpu tools
intel-gpu-tools
#nvtopPackages.full not working right now
# archive programs
zip
xz
unzip
p7zip
# utils
ripgrep # recursively searches directories for a regex >
#jq # A lightweight and flexible command-line JSON proc>
#yq-go # yaml processor https://github.com/mikefarah/yq
eza # A modern replacement for ls
#fzf # A command-line fuzzy finder
nnn # terminal file manager
# networking tools
mtr # A network diagnostic tool
iperf3
dnsutils # `dig` + `nslookup`
#ldns # replacement of `dig`, it provide the command `drill`
#aria2 # A lightweight multi-protocol & multi-source command-line download utility
#socat # replacement of openbsd-netcat
nmap # A utility for network discovery and security auditing
#ipcalc # it is a calculator for the IPv4/v6 addresses
# system tools
sysstat
lm_sensors # for `sensors` command
ethtool
pciutils # lspci
usbutils # lsusb
# system call monitoring
strace # system call monitoring
ltrace # library call monitoring
lsof # list open files
iotop # io monitoring
iftop # network monitoring
];
}