169 lines
4 KiB
Nix
169 lines
4 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.override {
|
||
set = "custom";
|
||
privateBuildPlan = ''
|
||
[buildPlans.IosevkaCustom]
|
||
family = "Iosevka Custom"
|
||
spacing = "fontconfig-mono"
|
||
serifs = "slab"
|
||
noCvSs = true
|
||
exportGlyphNames = false
|
||
|
||
[buildPlans.IosevkaCustom.variants]
|
||
inherits = "ss12"
|
||
|
||
[buildPlans.IosevkaCustom.weights.Regular]
|
||
shape = 400
|
||
menu = 400
|
||
css = 400
|
||
|
||
[buildPlans.IosevkaCustom.weights.Bold]
|
||
shape = 700
|
||
menu = 700
|
||
css = 700
|
||
|
||
[buildPlans.IosevkaCustom.slopes.Upright]
|
||
angle = 0
|
||
shape = "upright"
|
||
menu = "upright"
|
||
css = "normal"
|
||
|
||
[buildPlans.IosevkaCustom.slopes.Italic]
|
||
angle = 9.4
|
||
shape = "italic"
|
||
menu = "italic"
|
||
css = "italic"
|
||
'';
|
||
})
|
||
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; [
|
||
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?
|
||
|
||
}
|