You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.1 KiB
Nix
154 lines
4.1 KiB
Nix
{ config, pkgs, ... }: let
|
|
packages = (import ../lib/packages.nix) { config = config.nixpkgs.config; };
|
|
callPackageFile = path: (import path) packages;
|
|
in {
|
|
imports = [
|
|
(callPackageFile ../profiles/system/base.nix)
|
|
|
|
(callPackageFile ../profiles/environment/graphical-environment.nix)
|
|
(callPackageFile ../profiles/environment/xfce4.nix)
|
|
(callPackageFile ../profiles/environment/common-software.nix)
|
|
|
|
(callPackageFile ../profiles/system/efi-boot.nix)
|
|
(callPackageFile ../profiles/system/networked.nix)
|
|
(callPackageFile ../profiles/system/printing.nix)
|
|
(callPackageFile ../profiles/system/scanning.nix)
|
|
(callPackageFile ../profiles/system/amd.nix)
|
|
(callPackageFile ../profiles/system/pulseaudio.nix)
|
|
(callPackageFile ../profiles/system/virtualization.nix)
|
|
|
|
(callPackageFile ../profiles/software/elasticsearch.nix)
|
|
(callPackageFile ../profiles/software/couchdb.nix)
|
|
|
|
(callPackageFile ../profiles/software/games.nix)
|
|
(callPackageFile ../profiles/software/guake.nix)
|
|
(callPackageFile ../profiles/software/synergy.nix)
|
|
(callPackageFile ../profiles/software/workrave.nix)
|
|
];
|
|
|
|
services.xserver = {
|
|
xrandrHeads = [
|
|
"DFP6"
|
|
"CRT1"
|
|
];
|
|
};
|
|
|
|
networking = {
|
|
hostName = "desktop-home";
|
|
|
|
firewall = { # FIXME: abstract this out...
|
|
allowedTCPPorts = [
|
|
25565 # Minecraft
|
|
];
|
|
|
|
allowedUDPPorts = [
|
|
34197 # Factorio
|
|
];
|
|
};
|
|
};
|
|
|
|
users.extraUsers.sven = {
|
|
isNormalUser = true;
|
|
uid = 1000;
|
|
extraGroups = ["libvirtd"];
|
|
};
|
|
|
|
users.groups = {
|
|
davfs2 = {};
|
|
};
|
|
|
|
users.extraUsers.davfs2 = {
|
|
isNormalUser = true;
|
|
};
|
|
|
|
boot = {
|
|
kernelModules = [ "tun" "virtio" "nbd" ];
|
|
kernelPackages = pkgs.linuxPackages_4_4;
|
|
};
|
|
|
|
fileSystems = [
|
|
{
|
|
mountPoint = "/mnt/storage1";
|
|
device = "/dev/disk/by-uuid/f7b13747-f465-4600-9928-d7bf0720df1a";
|
|
}
|
|
{
|
|
mountPoint = "/mnt/storage2";
|
|
device = "/dev/disk/by-uuid/71cc55ca-7fc7-40c2-9dee-9e6216959d15";
|
|
}
|
|
{
|
|
mountPoint = "/mnt/temp";
|
|
device = "/dev/disk/by-uuid/6251105f-2b32-40de-859b-1654d6d1037e";
|
|
}
|
|
{
|
|
mountPoint = "/mnt/opensuse";
|
|
device = "/dev/disk/by-uuid/02a65154-3d26-4077-8942-c48337a3f9a2";
|
|
}
|
|
];
|
|
|
|
environment = {
|
|
systemPackages = with packages; [
|
|
nixpkgs.blueman
|
|
nixpkgs.nixops
|
|
nixpkgs.oraclejre8
|
|
myNixpkgs.technic-launcher
|
|
myNixpkgs.ftb-launcher
|
|
];
|
|
|
|
etc = {
|
|
"synergy-server.conf" = {
|
|
text = ''
|
|
section: screens
|
|
desktop:
|
|
|
|
laptop:
|
|
|
|
end
|
|
|
|
section: links
|
|
desktop:
|
|
left = laptop
|
|
laptop:
|
|
right = desktop
|
|
end
|
|
|
|
section: aliases
|
|
desktop:
|
|
192.168.178.60
|
|
desktop-home
|
|
laptop:
|
|
192.168.178.41
|
|
linux-o82e.site
|
|
end
|
|
'';
|
|
};
|
|
};
|
|
|
|
pathsToLink = [
|
|
"/lib/rustlib/src"
|
|
];
|
|
};
|
|
|
|
hardware.bluetooth.enable = true;
|
|
hardware.pulseaudio.extraConfig = ''
|
|
load-module module-loopback
|
|
load-module module-combine-sink sink_name=all
|
|
'';
|
|
|
|
networking.extraHosts = ''
|
|
127.0.0.1 im-project.im
|
|
'';
|
|
|
|
networking.wireguard = {
|
|
wg0 = {
|
|
ips = [ "192.168.3.1/24" ];
|
|
privateKey = (import ../private/credentials.nix).wireguard.privateKey;
|
|
peers = [{
|
|
allowedIPs = [ "192.168.3.2/32" ];
|
|
publicKey = "2LAxq8w89vdCqa+Jdtk4xsaJ0OcbU/jv71mzm/K0pXE=";
|
|
}];
|
|
};
|
|
};
|
|
|
|
nix.useSandbox = true;
|
|
}
|