163 lines
4.1 KiB
Nix
163 lines
4.1 KiB
Nix
{ config, pkgs, ... }:
|
||
|
||
{
|
||
hardware.system76.enableAll = true;
|
||
|
||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||
nixpkgs.config.allowUnfree = true;
|
||
nixpkgs.config.permittedInsecurePackages = [
|
||
"electron-25.9.0"
|
||
];
|
||
|
||
# Bootloader.
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.systemd-boot.consoleMode = "auto";
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
boot.initrd.systemd.enable = true;
|
||
boot.kernelParams = [ "quiet" ];
|
||
|
||
boot.plymouth.enable = true;
|
||
boot.plymouth.themePackages = with pkgs; [ plymouth-vortex-ubuntu-theme ];
|
||
boot.plymouth.theme = "vortex-ubuntu";
|
||
|
||
# Enable networking
|
||
networking.networkmanager.enable = true;
|
||
|
||
# Set your time zone.
|
||
time.timeZone = "America/New_York";
|
||
|
||
# Select internationalisation properties.
|
||
i18n.defaultLocale = "en_US.UTF-8";
|
||
|
||
i18n.extraLocaleSettings = {
|
||
LC_ADDRESS = "en_US.UTF-8";
|
||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||
LC_MEASUREMENT = "en_US.UTF-8";
|
||
LC_MONETARY = "en_US.UTF-8";
|
||
LC_NAME = "en_US.UTF-8";
|
||
LC_NUMERIC = "en_US.UTF-8";
|
||
LC_PAPER = "en_US.UTF-8";
|
||
LC_TELEPHONE = "en_US.UTF-8";
|
||
LC_TIME = "en_US.UTF-8";
|
||
};
|
||
|
||
# Enable the X11 windowing system.
|
||
services.xserver.enable = true;
|
||
|
||
# Enable the GNOME Desktop Environment.
|
||
services.xserver.displayManager.gdm.enable = true;
|
||
services.xserver.desktopManager.gnome.enable = true;
|
||
|
||
# Configure keymap in X11
|
||
services.xserver.xkb = {
|
||
layout = "us";
|
||
variant = "";
|
||
};
|
||
|
||
# List packages installed in system profile. To search, run:
|
||
environment.systemPackages = with pkgs; [
|
||
cacert
|
||
direnv
|
||
dxvk
|
||
envsubst
|
||
font-manager
|
||
gparted
|
||
mesa
|
||
vulkan-extension-layer
|
||
];
|
||
|
||
# Hardware
|
||
hardware.graphics.enable = true;
|
||
hardware.graphics.enable32Bit = true; # For 32 bit applications
|
||
|
||
hardware.graphics.extraPackages = [
|
||
pkgs.intel-media-driver
|
||
];
|
||
hardware.graphics.extraPackages32 = [
|
||
pkgs.intel-media-driver
|
||
pkgs.pkgsi686Linux.libva
|
||
];
|
||
hardware.pulseaudio.enable = false;
|
||
hardware.bluetooth.enable = true;
|
||
services.blueman.enable = true;
|
||
|
||
# Enable CUPS to print documents.
|
||
services.printing.enable = true;
|
||
|
||
security.rtkit.enable = true;
|
||
services.pipewire = {
|
||
enable = true;
|
||
alsa.enable = true;
|
||
alsa.support32Bit = true;
|
||
pulse.enable = true;
|
||
};
|
||
|
||
# Enable Syncthing
|
||
services.syncthing = {
|
||
enable = true;
|
||
dataDir = "/home/alex";
|
||
openDefaultPorts = true;
|
||
configDir = "/home/alex/.config/syncthing";
|
||
user = "alex";
|
||
group = "users";
|
||
guiAddress = "127.0.0.1:8384";
|
||
settings = {
|
||
overrideDevices = true;
|
||
overrideFolders = true;
|
||
devices = {
|
||
"atauno" = {
|
||
id = "TXSURD2-XCKOLDG-DJ76OOK-JZXOE3Q-XXTNOIM-XR5LB2B-YWBV2ER-6KRFIQN";
|
||
autoAcceptFolders = true;
|
||
};
|
||
"iphone15" = {
|
||
id = "BW4OYWY-RIS2AX4-67UPRS6-2SPHGVQ-TNOGVCK-B3XG5TW-VT3CUZZ-YVH2NQN";
|
||
autoAcceptFolders = true;
|
||
};
|
||
"ipad9" = {
|
||
id = "LTGMW37-RAVNIDW-GXNOFTZ-4OQEBR6-APXYVWH-7VZU6SH-CWNJV72-334HUAJ";
|
||
autoAcceptFolders = true;
|
||
};
|
||
"nixos76" = {
|
||
id = "------";
|
||
autoAcceptFolders = true;
|
||
};
|
||
"oneplus8t" = {
|
||
id = "JIYG5UP-UHTO7KA-FDSIGQV-ON7YJXO-3JDAUNV-V6NJMCH-HWNOPBS-MXHHLAG";
|
||
autoAcceptFolders = true;
|
||
};
|
||
"thelio76" = {
|
||
id = "PZGASVL-XWQRFHI-MD2YC2I-UAJIR5B-KC34AA7-3BXN322-2IB7AO4-JPYIQAD";
|
||
autoAcceptFolders = true;
|
||
};
|
||
};
|
||
folders = {
|
||
"vaults" = {
|
||
id = "bbqnm-caya2";
|
||
path = "/home/alex/Git/obsidian-vaults";
|
||
devices = [ "atauno" "iphone15" "ipad9" "oneplus8t" ];
|
||
versioning = {
|
||
type = "staggered";
|
||
params = {
|
||
cleanInterval = "3600";
|
||
maxAge = "15768000";
|
||
};
|
||
};
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||
users.users.alex = {
|
||
isNormalUser = true;
|
||
description = "Alex";
|
||
extraGroups = [
|
||
"networkmanager"
|
||
"wheel"
|
||
"libvirtd" # for qemu vms
|
||
"plugdev" # for android adb
|
||
];
|
||
};
|
||
}
|