Split up base packages into separate packages

This commit is contained in:
Benson Chu 2024-03-13 19:11:44 -05:00
parent a3f3176932
commit 9ec8a51e1a
7 changed files with 109 additions and 100 deletions

View file

@ -4,41 +4,40 @@
gcc gcc
git git
git-lfs
ripgrep ripgrep
tailscale
openvpn
nfs-utils
unstable.emacs unstable.emacs
notmuch mu isync
keychain ledger gnupg
mailutils
# sendmail
cmake cmake
gnumake gnumake
libtool libtool
notmuch
mu
keychain
ledger
gnupg
pinentry-curses pinentry-curses
isync
tmux tmux
sqlite sqlite
file file
sbcl
unstable.firefox
unstable.google-chrome
lynx lynx
vlc wget
mpv htop
obs-studio bind
gparted nmap
audacity wol
iperf
ninja lsof
gdb pciutils # lspci
lldb usbutils # lsusb
mold lm_sensors
lld parallel
clang-tools_16 # clangd, clang-format
llvmPackages_16.libllvm
(python311.withPackages (pythonPackages: with pythonPackages; [ (python311.withPackages (pythonPackages: with pythonPackages; [
pymupdf pymupdf
@ -51,27 +50,6 @@
beets beets
# chromaprint # chromaprint
])) ]))
nodejs_21
yt-dlp
dconf
tigervnc
xorg.xinit
sx
wget
lsof
pciutils # lspci
usbutils # lsusb
apcupsd
htop
bind
nmap
lm_sensors
parallel
wol
iperf
(beets.override { (beets.override {
pluginOverrides = { pluginOverrides = {
@ -82,29 +60,12 @@
}; };
}) })
chromaprint chromaprint
qdirstat
unstable.signal-desktop
parsec-bin
unstable.discord
unstable.telegram-desktop
dunst
shutter
# unstable.rustdesk
ocrmypdf ocrmypdf
mailutils
# sendmail
pcmanfm tigervnc
libsForQt5.dolphin
libsForQt5.dolphin-plugins
libsForQt5.ffmpegthumbs
libsForQt5.kdegraphics-thumbnailers
nfs-utils # Not necessary
git-lfs apcupsd
openvpn
pavucontrol
vim vim
] ]

View file

@ -41,27 +41,7 @@
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
}; };
# Enable sound with pipewire. environment.systemPackages = import ./base-packages.nix { inherit pkgs; };
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
# media-session.enable = true;
};
fonts = {
packages = with pkgs; [
roboto-mono
];
};
services.tailscale.enable = true; services.tailscale.enable = true;

View file

@ -0,0 +1,17 @@
{ inputs, config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
sbcl
ninja
gdb
lldb
mold
lld
clang-tools_16 # clangd, clang-format
llvmPackages_16.libllvm
nodejs_21
];
}

60
common/user-facing.nix Normal file
View file

@ -0,0 +1,60 @@
{ inputs, config, pkgs, ... }:
{
nix.settings.experimental-features = "nix-command flakes";
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
# media-session.enable = true;
};
fonts = {
packages = with pkgs; [
roboto-mono
];
};
environment.systemPackages = with pkgs; [
unstable.firefox
unstable.google-chrome
vlc
mpv
obs-studio
gparted
audacity
qdirstat
unstable.signal-desktop
parsec-bin
unstable.discord
unstable.telegram-desktop
dunst
shutter
# unstable.rustdesk
pcmanfm
libsForQt5.dolphin
libsForQt5.dolphin-plugins
libsForQt5.ffmpegthumbs
libsForQt5.kdegraphics-thumbnailers
pavucontrol
xorg.xinit
sx
yt-dlp
dconf
];
}

View file

@ -3,9 +3,6 @@
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }: { config, pkgs, ... }:
let
commonPackages = import ../../common/packages.nix { inherit pkgs; };
in
{ {
imports = imports =
[ [
@ -51,7 +48,7 @@ in
# $ nix search wget # $ nix search wget
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
] ++ commonPackages; ];
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions

View file

@ -3,10 +3,6 @@
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }: { config, pkgs, ... }:
let
commonPackages = import ../../common/packages.nix { inherit pkgs; };
in
{ {
imports = imports =
[ [
@ -125,7 +121,7 @@ in
pavucontrol pavucontrol
unstable.rustdesk unstable.rustdesk
gkraken gkraken
] ++ commonPackages; ];
hardware.gkraken.enable = true; hardware.gkraken.enable = true;

View file

@ -1,13 +1,11 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let
commonPackages = import ../../common/packages.nix { inherit pkgs; };
in
{ {
imports = imports =
[ [
# ./home-git-repos.nix # ./home-git-repos.nix
../../common/configuration.nix ../../common/configuration.nix
../../common/user-facing.nix
../../common/development-machine.nix
../../common/laptop-things.nix ../../common/laptop-things.nix
../../common/exwm.nix ../../common/exwm.nix
# Include the results of the hardware scan. # Include the results of the hardware scan.
@ -47,7 +45,7 @@ in
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
] ++ commonPackages; ];
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions