Use the once defined from outside, e.g. within router. Setting custom ones might break things, e.g. when using VPN or being on foreign network.
174 lines
4.3 KiB
Nix
174 lines
4.3 KiB
Nix
# edit this configuration file to define what should be installed on
|
||
# your system. help is available in the configuration.nix(5) man page
|
||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||
|
||
{ config, pkgs, ... }:
|
||
|
||
{
|
||
imports = [
|
||
# Include the results of the hardware scan.
|
||
./hardware-configuration.nix
|
||
|
||
./cachix.nix
|
||
|
||
./web-development
|
||
];
|
||
|
||
boot = {
|
||
# Bootloader.
|
||
loader = {
|
||
systemd-boot.enable = true;
|
||
efi = {
|
||
canTouchEfiVariables = true;
|
||
efiSysMountPoint = "/boot/efi";
|
||
};
|
||
};
|
||
|
||
initrd = {
|
||
# Setup keyfile
|
||
secrets = {
|
||
"/crypto_keyfile.bin" = null;
|
||
};
|
||
luks.devices."luks-77a26fd0-f3c7-4eca-be5e-dba6b6c66e4f" = {
|
||
device = "/dev/disk/by-uuid/77a26fd0-f3c7-4eca-be5e-dba6b6c66e4f";
|
||
keyFile = "/crypto_keyfile.bin";
|
||
};
|
||
};
|
||
|
||
# NOTE: Keep last kernel as 6.1.15 doesn't work with mba6x_bl, this won't compile
|
||
kernelPackages = pkgs.linuxKernel.packages.linux_5_15;
|
||
};
|
||
|
||
networking = {
|
||
hostName = "hikari"; # Define your hostname.
|
||
|
||
# Enable networking
|
||
networkmanager.enable = true;
|
||
|
||
extraHosts = builtins.readFile ./files/hosts;
|
||
};
|
||
|
||
services.dnsmasq = {
|
||
enable = true;
|
||
settings = {
|
||
server = config.networking.nameservers;
|
||
};
|
||
};
|
||
|
||
documentation = {
|
||
dev.enable = false;
|
||
doc.enable = false;
|
||
info.enable = false;
|
||
man.enable = true;
|
||
nixos.enable = true;
|
||
};
|
||
|
||
programs = {
|
||
# Enable network manager applet
|
||
nm-applet.enable = true;
|
||
dconf.enable = true;
|
||
};
|
||
|
||
# Set your time zone.
|
||
time.timeZone = "Europe/Berlin";
|
||
|
||
# Select internationalisation properties.
|
||
i18n = {
|
||
defaultLocale = "en_US.utf8";
|
||
extraLocaleSettings = {
|
||
LC_ADDRESS = "de_DE.utf8";
|
||
LC_IDENTIFICATION = "de_DE.utf8";
|
||
LC_MEASUREMENT = "de_DE.utf8";
|
||
LC_MONETARY = "de_DE.utf8";
|
||
LC_NAME = "de_DE.utf8";
|
||
LC_NUMERIC = "de_DE.utf8";
|
||
LC_PAPER = "de_DE.utf8";
|
||
LC_TELEPHONE = "de_DE.utf8";
|
||
LC_TIME = "de_DE.utf8";
|
||
};
|
||
};
|
||
|
||
# Enable the X11 windowing system.
|
||
services.xserver = {
|
||
enable = true;
|
||
|
||
# Configure keymap in X11
|
||
layout = "us";
|
||
xkbVariant = "";
|
||
|
||
# Enable the LXQT Desktop Environment.
|
||
desktopManager.lxqt.enable = true;
|
||
|
||
displayManager = {
|
||
lightdm.enable = true;
|
||
|
||
# Enable automatic login for the user.
|
||
autoLogin = {
|
||
enable = true;
|
||
user = "daniels";
|
||
};
|
||
};
|
||
};
|
||
|
||
# Enable CUPS to print documents.
|
||
services.printing.enable = true;
|
||
|
||
# Enable sound with pipewire.
|
||
sound.enable = true;
|
||
hardware.pulseaudio.enable = false;
|
||
security.rtkit.enable = true;
|
||
services.pipewire = {
|
||
enable = true;
|
||
alsa.enable = true;
|
||
alsa.support32Bit = true;
|
||
pulse.enable = true;
|
||
};
|
||
|
||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||
users.users.daniels = {
|
||
isNormalUser = true;
|
||
description = "Daniel Siepmann";
|
||
extraGroups = [ "networkmanager" "wheel" "video" ];
|
||
packages = with pkgs; [
|
||
i3lock
|
||
xsel
|
||
];
|
||
};
|
||
|
||
virtualisation.podman = {
|
||
enable = true;
|
||
};
|
||
|
||
# Allow unfree packages
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
# List packages installed in system profile. To search, run:
|
||
# $ nix search wget
|
||
environment.systemPackages = with pkgs; [
|
||
vim
|
||
git
|
||
xorg.xbacklight
|
||
];
|
||
|
||
environment.variables = {
|
||
EDITOR = "vim";
|
||
};
|
||
|
||
security = {
|
||
sudo.execWheelOnly = true;
|
||
};
|
||
|
||
services.udev.extraRules = ''
|
||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="mba6x_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
||
'';
|
||
|
||
# This value determines the NixOS release from which the default
|
||
# settings for stateful data, like file locations and database versions
|
||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||
# this value at the release version of the first install of this system.
|
||
# Before changing this value read the documentation for this option
|
||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||
system.stateVersion = "22.05"; # Did you read the comment?
|
||
}
|