building server container repo

This commit is contained in:
Julian Sutter 2024-12-11 10:54:36 -08:00
parent 2b3fd3562f
commit 243b460145
10 changed files with 18 additions and 22 deletions

12
desktop/3dprinting.nix Executable file
View file

@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# cura
freecad
# super-slicer
esptool
openscad
];
}

10
desktop/crypto.nix Executable file
View file

@ -0,0 +1,10 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
feather
electrum
kleopatra
];
}

10
desktop/dev.nix Executable file
View file

@ -0,0 +1,10 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
(python3.withPackages(ps: with ps; [ pandas requests ]))
nodejs
rpi-imager
];
}

17
desktop/gaming.nix Executable file
View file

@ -0,0 +1,17 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# parsec-bin
bottles
];
# Steam
programs.steam = with pkgs; {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
}

121
desktop/gnome.nix Executable file
View file

@ -0,0 +1,121 @@
{ config, pkgs, home-manager, ... }:
{
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.displayManager.gdm.wayland = false;
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Exclude gnome garbage
environment.gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
]) ++ (with pkgs.gnome; [
gnome-weather
cheese # webcam tool
gnome-music
gedit # text editor
epiphany # web browser
geary # email reader
evince # document viewer
gnome-characters
totem # video player
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]
);
home-manager.users.jsutter = {
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
theme = {
name = "palenight";
package = pkgs.palenight-theme;
};
cursorTheme = {
name = "Numix-Cursor";
package = pkgs.numix-cursor-theme;
};
gtk3.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
gtk4.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
};
dconf.settings = {
"org/gnome/mutter" = {
experimental-features = [ "scale-monitor-framebuffer" ];
};
"org/gnome/shell" = {
favorite-apps = [
"org.gnome.Console.desktop"
"firefox.desktop"
"slack.desktop"
"codium.desktop"
"com.nextcloud.desktopclient.nextcloud.desktop"
"Zoom.desktop"
"steam.desktop"
"vmware-view.desktop"
];
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
enable-hot-corners = false;
};
"org/gnome/desktop/wm/preferences" = {
workspace-names = [ "Main" ];
};
"org/gnome/desktop/background" = {
picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/2.jpg";
picture-uri-dark = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/3.jpg";
};
"org/gnome/desktop/screensaver" = {
picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/4.jpg";
primary-color = "#3465a4";
secondary-color = "#000000";
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [ # "gnome-extensions list" to get a list.
"user-theme@gnome-shell-extensions.gcampax.github.com"
"trayIconsReloaded@selfmade.pl"
"dash-to-panel@jderose9.github.com"
];
};
};
home.packages = with pkgs; [
gnomeExtensions.user-themes
gnomeExtensions.tray-icons-reloaded
gnomeExtensions.dash-to-panel
gnomeExtensions.cpufreq
];
home.sessionVariables.GTK_THEME = "palenight";
home.file."firefox-gnome-theme" = {
target = ".mozilla/firefox/default/chrome/firefox-gnome-theme";
source = fetchTarball {
url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz";
sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29";
};
};
};
# GNUPG Stuff
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryFlavor = "gnome3";
enableSSHSupport = true;
};
}

11
desktop/office.nix Executable file
View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
libreoffice-qt
gimp
# calibre
vmware-horizon-client
];
}

32
desktop/plasma.nix Executable file
View file

@ -0,0 +1,32 @@
{ config, pkgs, home-manager, ... }:
{
services.xserver.enable = true;
services.displayManager.sddm.enable = true;
services.xserver.displayManager.lightdm.enable = false;
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
khelpcenter
];
programs.dconf.enable = true;
programs.kdeconnect.enable = true;
hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [
spectacle
];
# GNUPG Stuff
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# RDP
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
networking.firewall.allowedTCPPorts = [ 3389 ];
services.xrdp.openFirewall = true;
}

39
desktop/virtualization.nix Executable file
View file

@ -0,0 +1,39 @@
{ config, pkgs, home-manager, ... }:
{
virtualisation = {
};
libvirtd = {
enable = true;
qemu.ovmf.enable = true;
qemu.swtpm.enable = true;
qemu.ovmf.packages = [ pkgs.OVMFFull ];
};
spiceUSBRedirection.enable = true;
};
services.spice-vdagentd.enable = true;
environment.systemPackages = with pkgs; [
virt-manager
virt-viewer
spice
spice-gtk
spice-protocol
win-virtio
win-spice
# quickemu
spicy
];
users.extraGroups.vboxusers.members = [ "jsutter" ];
environment.sessionVariables.LIBVIRT_DEFAULT_URI = [ "qemu:///system" ];
boot.kernelModules = [ "kvm-intel" "kvm-amd" ];
virtualisation.libvirtd.allowedBridges =
[ "br0" ];
networking.interfaces.br0.useDHCP = true;
}