164 lines
3.5 KiB
Nix
164 lines
3.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
imports =
|
|
[
|
|
./private
|
|
./system/current
|
|
./packages.nix
|
|
./fonts.nix
|
|
./sets/neovim
|
|
];
|
|
|
|
nix = {
|
|
daemonNiceLevel = 5;
|
|
daemonIONiceLevel = 1;
|
|
autoOptimiseStore = true;
|
|
gc = {
|
|
automatic = true;
|
|
dates = "00:00";
|
|
options = "--delete-older-than 14d";
|
|
};
|
|
trustedUsers = [ "artemis" ];
|
|
};
|
|
|
|
console = {
|
|
keyMap = "us";
|
|
earlySetup = true;
|
|
};
|
|
|
|
i18n.defaultLocale = "de_DE.UTF-8";
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
time.timeZone = "Etc/UTC";
|
|
|
|
environment = {
|
|
variables = {
|
|
TERMINAL = "alacritty";
|
|
|
|
# for Sway
|
|
MOZ_USE_XINPUT2 = "1";
|
|
_JAVA_AWT_WM_NONREPARENTING = "1";
|
|
GTK_THEME = "Adwaita-dark";
|
|
};
|
|
enableDebugInfo = true;
|
|
shellAliases = {
|
|
vim = "nvim";
|
|
};
|
|
};
|
|
|
|
sound.enable = true;
|
|
|
|
virtualisation = {
|
|
docker.enable = true;
|
|
lxd = {
|
|
enable = true;
|
|
recommendedSysctlSettings = true;
|
|
};
|
|
};
|
|
|
|
security.polkit.enable = true;
|
|
|
|
services = {
|
|
avahi = {
|
|
enable = true;
|
|
nssmdns = true;
|
|
publish = {
|
|
enable = true;
|
|
userServices = true;
|
|
};
|
|
};
|
|
accounts-daemon.enable = true;
|
|
chrony.enable = true;
|
|
flatpak.enable = true;
|
|
fwupd.enable = true;
|
|
kbfs.enable = true;
|
|
keybase.enable = true;
|
|
logind.extraConfig = "HandlePowerKey=suspend";
|
|
pcscd.enable = true;
|
|
tor = {
|
|
enable = true;
|
|
client.enable = true;
|
|
};
|
|
syncthing = {
|
|
enable = true;
|
|
user = "artemis";
|
|
dataDir = "/home/artemis";
|
|
};
|
|
udev.packages = [
|
|
pkgs.android-udev-rules
|
|
(pkgs.callPackage ./externals/rules/adafruit.nix { })
|
|
(pkgs.callPackage ./externals/rules/fpga.nix { })
|
|
(pkgs.callPackage ./externals/rules/limesuite.nix { })
|
|
(pkgs.callPackage ./externals/rules/uhk.nix { })
|
|
];
|
|
printing = {
|
|
enable = true;
|
|
drivers = [ pkgs.brlaser ];
|
|
};
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-wlr
|
|
];
|
|
};
|
|
|
|
hardware = {
|
|
bluetooth.enable = true;
|
|
opengl.driSupport32Bit = true;
|
|
pulseaudio = {
|
|
enable = true;
|
|
package = pkgs.pulseaudioFull;
|
|
support32Bit = true;
|
|
daemon.config.flat-volumes = "no";
|
|
};
|
|
};
|
|
|
|
networking = {
|
|
firewall.enable = false;
|
|
networkmanager = {
|
|
enable = lib.mkDefault true;
|
|
ethernet.macAddress = "random";
|
|
wifi.macAddress = "random";
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
adb.enable = true;
|
|
gnupg.agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
};
|
|
sway = {
|
|
enable = true;
|
|
wrapperFeatures.gtk = true;
|
|
};
|
|
wireshark = {
|
|
enable = true;
|
|
package = pkgs.wireshark-qt;
|
|
};
|
|
fish.enable = true;
|
|
};
|
|
|
|
users = {
|
|
users.artemis = {
|
|
isNormalUser = true;
|
|
description = "Artemis Tosini";
|
|
uid = 1000;
|
|
extraGroups = [ "networkmanager" "wheel" "adbusers" "wireshark" "video" "docker" "lxd" "plugdev" "dialout" ];
|
|
# hashedPassword set in private
|
|
};
|
|
extraGroups.plugdev = {};
|
|
users.root = {
|
|
subUidRanges = [ { startUid = 16777216; count = 16777216; } { startUid = config.users.users.artemis.uid; count = 1; } ];
|
|
subGidRanges = [ { startGid = 16777216; count = 16777216; } { startGid = 100; count = 1; } ];
|
|
};
|
|
mutableUsers = false;
|
|
};
|
|
systemd.extraConfig = "DefaultLimitCORE=infinity";
|
|
security.pam.loginLimits = [ { domain = "*"; item = "core"; type = "hard"; value = "infinity"; } ];
|
|
}
|