dotfiles/nixos/common.nix

140 lines
3 KiB
Nix
Raw Normal View History

2024-05-28 14:38:22 +02:00
{
config,
pkgs,
lib,
inputs,
...
}:
2023-11-11 21:52:08 +01:00
{
2024-02-27 02:54:02 +01:00
imports = [ ./../nix.nix ];
2024-02-13 00:08:01 +01:00
2023-11-11 21:52:08 +01:00
nix = {
# This will add each flake input as a registry
# To make nix3 commands consistent with your flake
2024-02-27 02:54:02 +01:00
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
2023-11-11 21:52:08 +01:00
# This will additionally add your inputs to the system's legacy channels
# Making legacy nix commands consistent as well, awesome!
2024-05-28 14:38:22 +02:00
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
2023-11-11 21:52:08 +01:00
};
nixpkgs = {
config = {
2024-05-28 14:38:22 +02:00
permittedInsecurePackages = [
"electron-24.8.6"
"electron-25.9.0"
];
2023-11-11 21:52:08 +01:00
allowUnfree = true;
};
};
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
2024-02-27 02:54:02 +01:00
users.users.thilo = {
2023-11-11 21:52:08 +01:00
uid = 1000;
description = "Thilo Billerbeck";
shell = pkgs.zsh;
isNormalUser = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP9TwM1zgEQiU8Cl0OszpU/fba4NpG2rjNSoTvvm/Vcf thilo@thilo-pc"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGHXL+1Q6MeNJoqaC4IlUXBIhLiRPzyM2Je11rQrXsiD"
# NEW
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN4DBDw+gSP6Wg/uf0unSxqSVV/y6OCcu7TLFdXYCmw7 thilo@avocadoom-laptop"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBX0RK+JzRkMsO/88NIyBXzQPr8/XkPX3IeClFmj9G8u thilo@thilo-pc"
];
extraGroups = [
"dialout"
"adbusers"
"video"
"audio"
"wheel"
"docker"
"libvirtd"
"libvirt"
"networkmanager"
"qemu-libvirtd"
];
};
virtualisation = {
docker.enable = true;
podman.enable = true;
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
programs = {
steam.enable = true;
zsh.enable = true;
adb.enable = true;
noisetorch.enable = true;
2024-04-05 02:07:37 +02:00
dconf = {
enable = true;
};
2023-11-11 21:52:08 +01:00
};
2024-05-28 14:38:22 +02:00
environment.systemPackages = with pkgs; [
git
zsh
kitty
steamtinkerlaunch
];
2023-11-11 21:52:08 +01:00
networking.networkmanager.enable = true;
services = {
printing.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
2024-05-28 14:38:22 +02:00
tailscale = {
enable = true;
};
2023-11-11 21:52:08 +01:00
flatpak.enable = true;
avahi = {
enable = true;
2024-03-18 15:43:15 +01:00
nssmdns4 = true;
2023-11-11 21:52:08 +01:00
};
mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
2024-04-05 02:07:37 +02:00
dbus = {
enable = true;
packages = [ pkgs.dconf ];
};
bamf.enable = true;
2023-11-11 21:52:08 +01:00
};
2024-02-27 02:54:02 +01:00
hardware = {
pulseaudio.enable = false;
opengl = {
driSupport = true;
driSupport32Bit = true;
};
};
2023-11-11 21:52:08 +01:00
security.polkit.enable = true;
sound.enable = true;
security.rtkit.enable = true;
time.hardwareClockInLocalTime = true;
2024-02-27 02:54:02 +01:00
}