dotfiles/NixOS/configuration.nix

98 lines
2.8 KiB
Nix
Raw Normal View History

2024-05-31 12:41:57 +02:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
2024-05-31 22:25:50 +02:00
{ config, inputs, lib, pkgs, ... }:
2024-05-31 12:41:57 +02:00
{
2024-06-01 16:56:07 +02:00
imports = [
./hardware-configuration.nix
];
2024-05-31 12:41:57 +02:00
2024-06-01 16:56:07 +02:00
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
time.timeZone = "Europe/Brussels";
networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
2024-05-31 14:55:36 +02:00
2024-06-01 17:19:39 +02:00
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
2024-06-01 16:56:07 +02:00
# System Packages
programs.zsh.enable = true;
2024-06-01 17:19:39 +02:00
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
};
services.greetd = {
enable = true;
settings = rec {
initial_session = {
command = "Hyprland";
user = "user";
};
default_session = initial_session;
};
};
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
# Pipewire
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
users.users.user = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Riva"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet"
];
shell = pkgs.zsh;
};
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
nix.settings.experimental-features = [ "nix-command" "flakes" ];
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
environment.systemPackages = with pkgs; [
wget
git
curl
];
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
2024-05-31 14:55:36 +02:00
};
2024-06-01 16:56:07 +02:00
};
2024-05-31 14:55:36 +02:00
2024-06-01 16:56:07 +02:00
networking.firewall.enable = false;
system.stateVersion = "23.11";
environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland:
2024-06-01 16:52:20 +02:00
2024-06-01 16:56:07 +02:00
# Fonts
fonts.packages = with pkgs; [
2024-06-01 16:52:20 +02:00
noto-fonts
2024-06-01 16:56:07 +02:00
noto-fonts-cjk
noto-fonts-emoji
iosevka
nerdfonts
];
2024-06-01 16:52:20 +02:00
2024-05-31 12:41:57 +02:00
}