summary refs log tree commit diff
path: root/modules/common.nix
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2024-10-14 22:15:32 +0200
committerMel <einebeere@gmail.com>2024-10-14 22:15:32 +0200
commit7bca7fb6cac0a3d6479ee8dd8fb5f13fa0261a51 (patch)
treeced025aff19ffe1a9a040f3e8034a48a88285b3a /modules/common.nix
downloadminerals-7bca7fb6cac0a3d6479ee8dd8fb5f13fa0261a51.tar.zst
minerals-7bca7fb6cac0a3d6479ee8dd8fb5f13fa0261a51.zip
Break up configuration for multiple machines
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/common.nix')
-rw-r--r--modules/common.nix90
1 files changed, 90 insertions, 0 deletions
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";
+}