134 lines
3.2 KiB
Nix
134 lines
3.2 KiB
Nix
{ config, pkgs, ... }:
|
||
{
|
||
imports = [
|
||
./hardware-configuration.nix
|
||
./easyroam.nix
|
||
./stylix.nix
|
||
./nixvim.nix
|
||
];
|
||
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
boot.kernelPackages = pkgs.linuxPackages;
|
||
nix.settings.experimental-features = [
|
||
"nix-command"
|
||
"flakes"
|
||
];
|
||
nix.package = pkgs.lixPackageSets.stable.lix;
|
||
nix.settings.trusted-users = [ "lucy" ];
|
||
networking.hostName = "nixos"; # Define your hostname.
|
||
networking.networkmanager.enable = true;
|
||
networking.networkmanager.wifi.powersave = false;
|
||
networking.wireless.enable = 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";
|
||
};
|
||
services.xserver.enable = true;
|
||
services.displayManager.gdm.enable = true;
|
||
services.desktopManager.gnome.enable = true;
|
||
services.xserver.xkb = {
|
||
layout = "eu";
|
||
variant = "";
|
||
};
|
||
security.doas.enable = true;
|
||
security.sudo.enable = false;
|
||
security.doas.extraRules = [
|
||
{
|
||
users = [
|
||
"lucy"
|
||
"root"
|
||
];
|
||
groups = [ "wheel" ];
|
||
keepEnv = true;
|
||
persist = true; # Optional, only require password verification a single time
|
||
}
|
||
];
|
||
|
||
programs.bash.interactiveShellInit = ''
|
||
complete -F _command doas
|
||
'';
|
||
# Enable CUPS to print documents.
|
||
services.printing.enable = true;
|
||
|
||
# Enable sound with pipewire.
|
||
services.pulseaudio.enable = false;
|
||
security.rtkit.enable = true;
|
||
services.pipewire = {
|
||
enable = true;
|
||
alsa.enable = true;
|
||
alsa.support32Bit = true;
|
||
pulse.enable = true;
|
||
};
|
||
|
||
# Enable touchpad support (enabled default in most desktopManager).
|
||
services.libinput.enable = true;
|
||
hardware.opentabletdriver = {
|
||
enable = true;
|
||
daemon.enable = true;
|
||
};
|
||
|
||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||
fonts.packages = with pkgs; [
|
||
noto-fonts
|
||
noto-fonts-cjk-sans
|
||
noto-fonts-color-emoji
|
||
iosevka
|
||
nerd-fonts.symbols-only
|
||
];
|
||
users.users."lucy" = {
|
||
isNormalUser = true;
|
||
description = "lucy";
|
||
extraGroups = [
|
||
"networkmanager"
|
||
"wheel"
|
||
];
|
||
};
|
||
|
||
# Allow unfree packages
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
git
|
||
clang-tools
|
||
gcc
|
||
cargo
|
||
gnomeExtensions.user-themes
|
||
gnomeExtensions.blur-my-shell
|
||
];
|
||
environment.gnome.excludePackages = with pkgs.gnome; [
|
||
cheese # photo booth
|
||
eog # image viewer
|
||
epiphany # web browser
|
||
gedit # text editor
|
||
simple-scan # document scanner
|
||
totem # video player
|
||
yelp # help viewer
|
||
geary # email client
|
||
seahorse # password manager
|
||
|
||
# these should be self explanatory
|
||
gnome-calendar
|
||
gnome-characters
|
||
gnome-clocks
|
||
gnome-contacts
|
||
gnome-font-viewer
|
||
gnome-logs
|
||
gnome-maps
|
||
gnome-music
|
||
gnome-weather
|
||
];
|
||
|
||
# DO NOT CHANGE!!
|
||
system.stateVersion = "26.05"; # Did you read the comment?
|
||
|
||
}
|