On Github thet / linux-distro-nixos
Von Johannes Raggam / @thetetet / github.com/thet
Web Developer, Open Source Enthusiast, Linux User, Python Aficionado, Plone Developer.
Talk über Plone 5 um 16:00, SR2 :)
Packete werden mittels funktionaler Sprache ohne Seiteneffekte beschrieben. Mit einem definiertem Set an Eingabevariablen wird immer das selbe Build-Ergebnis erzielt.
Packete werden unter
/nix/storemit eindeutigem Hash als Pfadname abgelegt.
/nix/store/r8vvq9kq18pz08v249h8my6r9vs7s0n3-firefox-2.0.0.1/
{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
# Use the gummiboot efi boot loader.
boot.loader.grub.enable = false;
boot.loader.gummiboot.enable = true;
boot.loader.gummiboot.timeout = 2;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "luft"; # Define your hostname.
networking.connman.enable = true; # Enables wireless.
# Enable the X11 windowing system.
services = {
xserver = {
enable = true;
#layout = 'us';
synaptics.enable = true;
windowManager.awesome.enable = true;
displayManager.slim.enable = true;
desktopManager.xfce.enable = true;
};
};
hardware.opengl.videoDrivers = [ "intel" ];
fileSystems = [
{ mountPoint = "/home";
device = "/dev/sda9";
options = "defaults,discard,noatime";
}
{ mountPoint = "/tmp";
device = "tmpfs";
fsType = "tmpfs";
options = "nosuid,nodev,relatime";
}
];
swapDevices = [
{ device = "/dev/sda11"; }
];
environment = {
interactiveShellInit = ''
export EDITOR="vim"
export EMAIL=johannes@raggam.co.at
export FULLNAME="Johannes Raggam"
'';
systemPackages = with pkgs; [
chromiumWrapper
firefoxWrapper
vimHugeX
xlibs.xmodmap
# ...
];
};
}
Quelle: Domen Kožar NixOS: declarative linux distribution