diff --git a/common/packages.nix b/common/base-packages.nix similarity index 57% rename from common/packages.nix rename to common/base-packages.nix index d1e5bbe..0e3539f 100644 --- a/common/packages.nix +++ b/common/base-packages.nix @@ -4,41 +4,40 @@ gcc git + git-lfs ripgrep + tailscale + openvpn + + nfs-utils + unstable.emacs + notmuch mu isync + keychain ledger gnupg + mailutils + # sendmail + cmake gnumake libtool - notmuch - mu - keychain - ledger - gnupg pinentry-curses - isync tmux sqlite + file - - sbcl - - unstable.firefox - unstable.google-chrome lynx - vlc - mpv - obs-studio - gparted - audacity - - ninja - gdb - lldb - mold - lld - clang-tools_16 # clangd, clang-format - llvmPackages_16.libllvm + wget + htop + bind + nmap + wol + iperf + lsof + pciutils # lspci + usbutils # lsusb + lm_sensors + parallel (python311.withPackages (pythonPackages: with pythonPackages; [ pymupdf @@ -51,27 +50,6 @@ beets # 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 { pluginOverrides = { @@ -82,29 +60,12 @@ }; }) chromaprint - qdirstat - unstable.signal-desktop - parsec-bin - unstable.discord - unstable.telegram-desktop - dunst - shutter - # unstable.rustdesk ocrmypdf - mailutils - # sendmail - pcmanfm - libsForQt5.dolphin - libsForQt5.dolphin-plugins - libsForQt5.ffmpegthumbs - libsForQt5.kdegraphics-thumbnailers + tigervnc - nfs-utils - git-lfs - openvpn - - pavucontrol + # Not necessary + apcupsd vim ] diff --git a/common/configuration.nix b/common/configuration.nix index 3bbe770..343b25d 100644 --- a/common/configuration.nix +++ b/common/configuration.nix @@ -41,27 +41,7 @@ LC_TIME = "en_US.UTF-8"; }; - # 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 = import ./base-packages.nix { inherit pkgs; }; services.tailscale.enable = true; diff --git a/common/development-machine.nix b/common/development-machine.nix new file mode 100644 index 0000000..b6b6e97 --- /dev/null +++ b/common/development-machine.nix @@ -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 + ]; +} diff --git a/common/user-facing.nix b/common/user-facing.nix new file mode 100644 index 0000000..681373b --- /dev/null +++ b/common/user-facing.nix @@ -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 + ]; +} diff --git a/hosts/NixAdvantage/configuration.nix b/hosts/NixAdvantage/configuration.nix index 79f57c4..cad0039 100644 --- a/hosts/NixAdvantage/configuration.nix +++ b/hosts/NixAdvantage/configuration.nix @@ -3,9 +3,6 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, ... }: -let - commonPackages = import ../../common/packages.nix { inherit pkgs; }; -in { imports = [ @@ -51,7 +48,7 @@ in # $ nix search wget environment.systemPackages = with pkgs; [ - ] ++ commonPackages; + ]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/hosts/NixDawn/configuration.nix b/hosts/NixDawn/configuration.nix index 50794cb..f8bf65d 100644 --- a/hosts/NixDawn/configuration.nix +++ b/hosts/NixDawn/configuration.nix @@ -3,10 +3,6 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, ... }: - -let - commonPackages = import ../../common/packages.nix { inherit pkgs; }; -in { imports = [ @@ -125,7 +121,7 @@ in pavucontrol unstable.rustdesk gkraken - ] ++ commonPackages; + ]; hardware.gkraken.enable = true; diff --git a/hosts/NixFrame/configuration.nix b/hosts/NixFrame/configuration.nix index 75b1032..e51673a 100644 --- a/hosts/NixFrame/configuration.nix +++ b/hosts/NixFrame/configuration.nix @@ -1,13 +1,11 @@ { config, pkgs, ... }: - -let - commonPackages = import ../../common/packages.nix { inherit pkgs; }; -in { imports = [ # ./home-git-repos.nix ../../common/configuration.nix + ../../common/user-facing.nix + ../../common/development-machine.nix ../../common/laptop-things.nix ../../common/exwm.nix # Include the results of the hardware scan. @@ -47,7 +45,7 @@ in environment.systemPackages = with pkgs; [ - ] ++ commonPackages; + ]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions