Files
nix-config/configuration.nix

178 lines
3.4 KiB
Nix

{ pkgs, lib, ... }:
{
imports = [
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos-xenon";
networking.networkmanager.enable = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
time.timeZone = "Europe/Oslo";
i18n.defaultLocale = "en_US.UTF-8";
console = {
keyMap = "no";
};
environment.systemPackages = with pkgs; [
git
];
nix.settings = {
pure-eval = true;
experimental-features = [
"nix-command"
"flakes"
];
use-xdg-base-directories = true;
extra-platforms = [
"aarch64-linux"
"arm-linux"
];
trusted-users = [ "vbm" ];
substituters = [
"https://cache.nixos.org/"
"https://cuda-maintainers.cachix.org"
"https://nix-community.cachix.org"
"https://nixos-rocm.cachix.org"
"https://nixpkgs-unfree.cachix.org"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
];
};
nix.extraOptions = lib.mkDefault "builders-use-substitutes = true";
services.thermald.enable = true;
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
monospace = [
"Hack"
];
sansSerif = [
"Notonoto Sans"
"Noto Sans"
];
serif = [
"Notonoto Serif"
"Noto Serif"
];
emoji = [
"Noto Color Emoji"
];
};
fonts.packages = with pkgs; [
hack-font
nerd-fonts.hack
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
];
services.pipewire = {
enable = true;
pulse.enable = true;
audio.enable = true;
};
services.libinput.enable = true;
services.postgresql.enable = true;
services.udev.packages = with pkgs; [ light ];
services.udisks2.enable = true;
services.keyd = {
enable = true;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "esc";
esc = "capslock";
leftalt = "leftmeta";
leftmeta = "leftalt";
};
};
};
};
};
users.users.vbm = {
isNormalUser = true;
extraGroups = [
"wheel"
"video"
"input"
"wireshark"
];
shell = pkgs.nushell;
packages = with pkgs; [
tree
dust
eza
wl-clipboard
ripgrep
fd
keepassxc
btop
fluffychat
cargo
rustc
upx
gcc
nixfmt
imv
unzip
zip
qbittorrent
typst
calibre
signal-desktop
rustfmt
wmenu
umu-launcher
cachix
grim
slurp
wireshark
];
};
security.doas = {
enable = true;
extraRules = [
{
users = [ "vbm" ];
keepEnv = true;
persist = true;
}
];
};
security.sudo.enable = false;
security.polkit.enable = true;
security.rtkit.enable = true;
programs.light = {
enable = true;
brightnessKeys.enable = true;
};
# Necessary for gtk config, see: https://github.com/nix-community/home-manager/issues/3113
programs.dconf.enable = true;
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "25.05"; # Did you read the comment?
}