WIP: Modularize the configuration #8

Closed
Alexuty07 wants to merge 5 commits from modules into main

@ -0,0 +1,7 @@
{config, pkgs, ...}:
{
services.displayManager.autoLogin = {
enable = true;
user = "alexuty";
};
}

@ -0,0 +1,48 @@
{config, pkgs, ...}:
{
hardware.pulseaudio.enable = false;
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
};
security.rtkit.enable = true;
services = {
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
printing = {
drivers = [
pkgs.hplipWithPlugin
pkgs.gutenprint
pkgs.gutenprintBin
];
enable = true;
};
xserver.enable = true;
};
sound.enable = true;
time.timeZone = "America/New_York";
}

@ -0,0 +1,9 @@
{config, pkgs, ...}:
{
services.desktopManager.plasma6.enable = true;
programs.partition-manager.enable = true;
services.xserver.xkb = {
layout = "es,us";
options = "grp:win_space_toggle";
};
}

@ -9,9 +9,12 @@
nixosConfigurations.primus = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Import the previous configuration.nix we used,
# so the old configuration file still takes effect
./configuration.nix
./hosts/primus
./shell
./system
./desktop
./desktop/autologin.nix
./desktop/plasma.nix
];
};
};

@ -1,7 +1,10 @@
{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
imports = [
./hardware-configuration.nix
./networking.nix
];
# Bootloader (UEFI)
boot.loader.systemd-boot.enable = true;
@ -34,85 +37,12 @@
xorg.libX11
];
# Hostname
networking.hostName = "primus";
# KDE Partition Manager
programs.partition-manager.enable = true;
# zsh
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
# WLAN
networking.networkmanager.enable = true;
# Tailscale
services.tailscale.enable = true;
# Bluetooth
hardware.bluetooth.enable = true;
# i18n
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# X11
services.xserver.enable = true;
# Plasma 6
services.desktopManager.plasma6.enable = true;
# Automatic login (to avoid entering a second pasword)
services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = "alexuty";
# Keyboard settings (xkb)
services.xserver.xkb = {
layout = "es,us";
options = "grp:win_space_toggle";
};
# Keyboard settings (console)
console.keyMap = "es";
# Printing
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
services.printing.drivers = [
pkgs.hplipWithPlugin
pkgs.gutenprint
pkgs.gutenprintBin
];
# 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;
};
# Touchpad support
services.libinput.enable = true;
@ -177,12 +107,6 @@
};
})];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable nix command and flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# System packages
environment.systemPackages = with pkgs; [
android-tools
@ -227,18 +151,6 @@
programs.gnupg.agent.enable = true;
services.pcscd.enable = true;
networking.firewall = {
enable = true;
allowedTCPPorts = [ 53317 ]; # LocalSend
allowedTCPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
allowedUDPPorts = [ 53317 ]; # LocalSend
allowedUDPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
};
system.stateVersion = "23.11";
}

@ -0,0 +1,19 @@
{ config, pkgs, ... }:
{
networking = {
hostName = "primus";
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [ 53317 ]; # LocalSend
allowedTCPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
allowedUDPPorts = [ 53317 ]; # LocalSend
allowedUDPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
};
};
}

@ -0,0 +1,8 @@
{config, pkgs, ...}:
{
programs.zsh = {
enable = true;
promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
};
users.defaultUserShell = pkgs.zsh;
}

@ -0,0 +1,11 @@
{config, pkgs, ...}:
{
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable nix command and flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Keyboard settings (console)
console.keyMap = "es";
}
Loading…
Cancel
Save