Howto nixos: Difference between revisions
Jump to navigation
Jump to search
Line 60: | Line 60: | ||
services.xserver.desktopManager.gnome.enable = true; | services.xserver.desktopManager.gnome.enable = true; | ||
programs.dconf.enable = true; | programs.dconf.enable = true; | ||
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; | services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; | ||
Revision as of 19:12, 25 June 2023
configure enviroment
download nixos installation iso:
https://channels.nixos.org/nixos-23.05/latest-nixos-minimal-x86_64-linux.iso
create usb to install on physical desktop:
yay -S ventoy-bin
or install nixos on virtual machine:
qemu-img create -f qcow2 /var/lib/libvirt/images/nixos_disk1_100G.qcow2 100G
boot with nixos iso and create partitions:
parted /dev/vda -- mklabel gpt parted /dev/sda -- mkpart ESP fat32 1 1GB parted /dev/sda -- mkpart primary linux-swap 1GB 8GB parted /dev/sda -- mkpart primary ext4 8GB 100%
format partitions:
mkfs.fat -F 32 -n boot /dev/vda1 mkswap -L swap /dev/vda2 mkfs.ext4 -L nixos /dev/vda3
installing os
mount root partition on /mnt:
mount /dev/vda3 /mnt
make boot directory and mount boot partition:
mkdir /mnt/boot mount /dev/vda1 /mnt/boot
mount swap partition:
swapon /dev/vda2
generate nixos configuration file:
nixos-generate-config --root /mnt
edit configuration file /mnt/etc/nixos/configuration.nix:
{ config, pkgs, ... }: { imports = ./hardware-configuration.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; time.timeZone = "America/Puerto_Rico"; i18n.defaultLocale = "en_US.UTF-8"; services.xserver.enable = true; services.xserver.layout = "us"; sound.enable = true; hardware.pulseaudio.enable = true; users.users.linux = { isNormalUser = true; packages = with pkgs; [ firefox tree ]; }; services.openssh.enable = true; }
configure static ip networking:
networking.interfaces.eth0.ipv4.addresses = [ { address = "192.168.75.44"; prefixLength = 24; } ]; networking.defaultGateway = "192.168.75.1"; networking.nameservers = [ "4.2.2.1 4.2.2.2" ];
configure desktop gnome:
services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; programs.dconf.enable = true; services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; environment.gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour ]) ++ (with pkgs.gnome; [ gnome-terminal gedit # text editor evince # document viewer gnome-characters mpv # video player ]);