From 7bca7fb6cac0a3d6479ee8dd8fb5f13fa0261a51 Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 14 Oct 2024 22:15:32 +0200 Subject: Break up configuration for multiple machines Signed-off-by: Mel --- modules/common.nix | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 modules/common.nix (limited to 'modules/common.nix') diff --git a/modules/common.nix b/modules/common.nix new file mode 100644 index 0000000..447e3e9 --- /dev/null +++ b/modules/common.nix @@ -0,0 +1,90 @@ +{ config, pkgs, unstablePkgs, auxiliaryPkgs, ... }: + +{ + imports = [ + ./user.nix + ./locale.nix + ./gnome.nix + ./fonts.nix + ./flatpak.nix + ./libreoffice.nix + ./nix-ld.nix + ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; + + nix.settings.experimental-features = [ "flakes" "nix-command" ]; + + services.envfs.enable = true; + virtualisation.libvirtd.enable = true; + + services = { + acpid.enable = true; + sysprof.enable = true; + tailscale = { + enable = true; + useRoutingFeatures = "both"; + extraUpFlags = [ "--ssh" ]; + }; + + # sometimes needed for gnupg + pcscd.enable = true; + }; + + programs = { + steam = { + enable = true; + remotePlay.openFirewall = true; + }; + virt-manager.enable = true; + vim = { + defaultEditor = true; + package = pkgs.vim_configurable.customize { + vimrcFile = ./configs/.vimrc; + }; + }; + fish.enable = true; + git.enable = true; + tmux.enable = true; + + adb.enable = true; + + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-gnome3; + }; + }; + + environment.systemPackages = (with pkgs; [ + file unzip jq dig htop wget gnupg pinentry-gnome3 + inetutils pciutils lshw inxi iw pmutils acpi acpid + sysprof wireshark hardinfo + vlc celluloid foliate calibre + yt-dlp ffmpeg_7-full handbrake subtitlecomposer mpv helvum + gimp krita aseprite blender inkscape obs-studio darktable + audacity musescore reaper bitwig-studio + lagrange + qemu_full virtiofsd + + openvpn openvpn3 update-resolv-conf + + xorg.xeyes wl-clipboard + + ripgrep gnumake gdb gcc clang + go gopls delve go-task + meson cmake + nil direnv + + wineWowPackages.stagingFull winetricks bottles + scrcpy apfs-fuse + + prismlauncher + ]) ++ (with unstablePkgs; [ + davinci-resolve + ]) ++ (with auxiliaryPkgs; [ + ghidra + ]); + + environment.etc.openvpn.source = "${pkgs.update-resolv-conf}/libexec/openvpn"; +} -- cgit 1.4.1