*: mv {,nixos}-configuration, restructure vim pkgs
This commit is contained in:
parent
24ad0d3bc0
commit
927d3930a2
24 changed files with 338 additions and 531 deletions
35
nixos-configuration/common/pkg/default.nix
Normal file
35
nixos-configuration/common/pkg/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Package configuration
|
||||
environment.systemPackages = with pkgs; [
|
||||
nix-repl
|
||||
# ( busybox.override {
|
||||
# extraConfig = ''
|
||||
# CONFIG_STATIC y
|
||||
# CONFIG_INSTALL_APPLET_DONT y
|
||||
# CONFIG_INSTALL_APPLET_SYMLINKS n
|
||||
# '';
|
||||
# })
|
||||
|
||||
elfutils
|
||||
exfat
|
||||
file
|
||||
tree
|
||||
pwgen
|
||||
proot
|
||||
|
||||
parted
|
||||
pv
|
||||
tmux
|
||||
wget
|
||||
curl
|
||||
|
||||
git
|
||||
pastebinit
|
||||
gist
|
||||
|
||||
usbutils
|
||||
pciutils
|
||||
];
|
||||
}
|
10
nixos-configuration/common/pkg/neovim.nix
Normal file
10
nixos-configuration/common/pkg/neovim.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config
|
||||
, pkgs
|
||||
, ... } @ args:
|
||||
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.xsel
|
||||
(import ../../../pkg-configuration/vim-derivates/neovim.nix args)
|
||||
];
|
||||
}
|
9
nixos-configuration/common/pkg/vim.nix
Normal file
9
nixos-configuration/common/pkg/vim.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ pkgs
|
||||
, ... } @ args:
|
||||
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.xsel
|
||||
(import ../../../pkg-configuration/vim-derivates/vim.nix (args // { name = "vim"; }))
|
||||
];
|
||||
}
|
13
nixos-configuration/common/user/root.nix
Normal file
13
nixos-configuration/common/user/root.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
users.mutableUsers = false;
|
||||
|
||||
users.extraUsers.root = {
|
||||
hashedPassword = "removed";
|
||||
openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3niN5KcIYikRhXTYZCSehI1ZQs+vvG/dZ7KxNVHslfsS+p1yTycXcZFtDDn5vtG2fAo3yksxCk+G10/AWQ+NMOcFKuAi5qTOYSLbEcHVlZ4ko8sDUe3fF79vrCqY7IWbKKjZ4DH77Qs6SXk5GIlNaIzxut8Dpv8qHnkPiPuFgrJC4oGk60ZKmCPvOEpgg9twcdI6ykIxD4Fg+hHgG1p07uSEcm9EADli8RsU3UJ1UBhXMohMC6HrKVBkBX9wTo+zY+xqXxxem6xGNnkNiZLACfhCnjXv39zh85pgFuNv7R8SzVZQ9iRoCmax/w3JtWdDjqoTGgLfJyhMMjNdjVHOx steveej@steveej-laptop"];
|
||||
};
|
||||
}
|
19
nixos-configuration/steveej-laptop/boot.nix
Normal file
19
nixos-configuration/steveej-laptop/boot.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
#boot.kernelPackages = pkgs.myLinuxPackages;
|
||||
|
||||
# Bootloader, initrd and Kernel
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.enableCryptodisk = true;
|
||||
boot.loader.grub.version = 2;
|
||||
|
||||
# Workaround for nm-pptp
|
||||
boot.kernelModules = [
|
||||
"nf_conntrack_proto_gre"
|
||||
"nf_conntrack_pptp"
|
||||
];
|
||||
|
||||
boot.tmpOnTmpfs = true;
|
||||
}
|
15
nixos-configuration/steveej-laptop/configuration.nix
Normal file
15
nixos-configuration/steveej-laptop/configuration.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./pkg.nix
|
||||
./hw.nix
|
||||
./system.nix
|
||||
./user.nix
|
||||
./boot.nix
|
||||
];
|
||||
}
|
56
nixos-configuration/steveej-laptop/hw.nix
Normal file
56
nixos-configuration/steveej-laptop/hw.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
nix.maxJobs = 2;
|
||||
nix.buildCores = 4;
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.trackpoint.emulateWheel = true;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = { device = "/dev/disk/by-uuid/be9be32e-1fb0-45c3-9714-390ee2e6c184";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"defaults"
|
||||
"compress=lzo"
|
||||
"discard"
|
||||
"subvol=nixos"
|
||||
];
|
||||
};
|
||||
fileSystems."/home" = { device = "/dev/disk/by-uuid/be9be32e-1fb0-45c3-9714-390ee2e6c184";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"defaults"
|
||||
"compress=lzo"
|
||||
"discard"
|
||||
"subvol=home"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/rkt" = {
|
||||
fsType = "tmpfs";
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/cni" = {
|
||||
fsType = "tmpfs";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Define on which hard drive you want to install Grub.
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
boot.initrd.luks.devices = [ {
|
||||
name = "luksSSD1";
|
||||
device = "/dev/disk/by-uuid/2274dc28-7a48-4355-bc27-2d73f7a2744e";
|
||||
preLVM = false;
|
||||
allowDiscards = true;
|
||||
}
|
||||
];
|
||||
}
|
83
nixos-configuration/steveej-laptop/pkg.nix
Normal file
83
nixos-configuration/steveej-laptop/pkg.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{ config,
|
||||
pkgs,
|
||||
... }:
|
||||
|
||||
let
|
||||
gitpkgs = import <gitpkgs> {};
|
||||
in
|
||||
{
|
||||
nixpkgs.config = {
|
||||
allowBroken = false;
|
||||
allowUnfree = true;
|
||||
|
||||
packageOverrides = pkgs: rec {
|
||||
# Version override example:
|
||||
# rustracerd = pkgs.lib.overrideDerivation pkgs.rustracerd (attrs: rec {
|
||||
# version = "2016-08-23";
|
||||
# name = "racerd-${version}";
|
||||
# src = pkgs.fetchgit {
|
||||
# url = "git://github.com/jwilm/racerd.git";
|
||||
# rev = "813d8214f50e8f77b5d8adf5173173209c8f6d74";
|
||||
# sha256 = "07p4kvrc529khb1afrgwfkdb9nh3nvsk1v2p2b1rdaqvkpgwqr74";
|
||||
# };
|
||||
# });
|
||||
|
||||
myLinuxPackages = pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor
|
||||
(pkgs.linux_latest.override {
|
||||
kernelPatches = pkgs.linux_latest.kernelPatches ++ [
|
||||
{
|
||||
name = "bfq1";
|
||||
patch = pkgs.fetchurl {
|
||||
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.7.0.patch";
|
||||
sha256 = "116jfdgjgmy1fv6kzz7dm1c7rjy1pbsfzzcjv5mgsb7pnaxq3gd6";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "bfq2";
|
||||
patch = pkgs.fetchurl {
|
||||
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.7.0.patch";
|
||||
sha256 = "0wjmnym2ycglx42f513n97b45x3xqi33q7z4cs0aiz0zbblm8jql";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "bfq3";
|
||||
patch = pkgs.fetchurl {
|
||||
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch";
|
||||
sha256 = "0898aklynxb9dr0nb0kdhc2incjkjihds9dakxvdy0mwjqr0jd6v";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "bfq4";
|
||||
patch = pkgs.fetchurl {
|
||||
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0004-block-bfq-turn-BFQ-v7r11-for-4.7.0-into-BFQ-v8r3-for.patch";
|
||||
sha256 = "09ya3g39zk9k3hzjx4fkl60qkxdgzllnx3kk9dyi7lvydmhp4y6v";
|
||||
};
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
BFQ_GROUP_IOSCHED y
|
||||
IOSCHED_BFQ y
|
||||
DEFAULT_BFQ y
|
||||
'';
|
||||
})
|
||||
pkgs.linuxPackages_latest
|
||||
);
|
||||
|
||||
libvirt = pkgs.libvirt.override {
|
||||
xen = null;
|
||||
};
|
||||
libvirt-glib = pkgs.libvirt-glib.override {
|
||||
xen = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports =
|
||||
[
|
||||
../common/pkg/default.nix
|
||||
../common/pkg/neovim.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
187
nixos-configuration/steveej-laptop/system.nix
Normal file
187
nixos-configuration/steveej-laptop/system.nix
Normal file
|
@ -0,0 +1,187 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
|
||||
nix.binaryCaches = [
|
||||
"https://cache.nixos.org"
|
||||
"https://hydra.nixos.org"
|
||||
];
|
||||
nix.trustedBinaryCaches = [
|
||||
"https://cache.nixos.org"
|
||||
"https://hydra.nixos.org"
|
||||
];
|
||||
|
||||
nix.daemonNiceLevel = 19;
|
||||
nix.daemonIONiceLevel = 7;
|
||||
|
||||
# The NixOS release to be compatible with for stateful data such as databases.
|
||||
# system.stateVersion = "unstable";
|
||||
networking.hostName = "steveej-laptop"; # Define your hostname.
|
||||
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
unmanaged = [
|
||||
"interface-name:veth*"
|
||||
"interface-name:virbr*"
|
||||
"interface-name:br*"
|
||||
"interface-name:*vbox*"
|
||||
"interface-name:*cni*"
|
||||
];
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enableCompletion = true;
|
||||
promptInit = ''
|
||||
function exitstatus() {
|
||||
if [[ $? -eq 0 ]]; then
|
||||
printf '✓'
|
||||
else
|
||||
printf '✗'
|
||||
fi
|
||||
}
|
||||
function nixshellEval {
|
||||
if [[ "$1" != "" ]]; then
|
||||
printf "»$1« "
|
||||
fi
|
||||
}
|
||||
function setPS1 {
|
||||
if test "$TERM" != "dumb"; then
|
||||
# Provide a nice prompt.
|
||||
BLUE="\[\033[0;34m\]"
|
||||
RED="\[\033[1;31m\]"
|
||||
GREEN="\[\033[1;32m\]"
|
||||
NO_COLOR="\[\033[0m\]"
|
||||
|
||||
PROMPT_COLOR=$RED
|
||||
let $UID && PROMPT_COLOR=$GREEN
|
||||
PS1="$PROMPT_COLOR\u$NO_COLOR@\h \$(exitstatus) \$(nixshellEval $1)$BLUE\w$NO_COLOR\n$PROMPT_COLOR\\$ $NO_COLOR"
|
||||
if test "$TERM" = "xterm"; then
|
||||
PS1="\[\033]2;\h:\u:\w\007\]$PS1"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setPS1
|
||||
'';
|
||||
};
|
||||
|
||||
# Package configuration
|
||||
environment.systemPackages = with pkgs; [
|
||||
xorg.xmodmap
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
NIXPKGS_ALLOW_UNFREE = "1";
|
||||
|
||||
# Don't create .pyc files.
|
||||
PYTHONDONTWRITEBYTECODE = "1";
|
||||
};
|
||||
|
||||
environment.etc."lvm/lvm.conf".text = ''
|
||||
devices {
|
||||
issue_discards = 1
|
||||
}
|
||||
'';
|
||||
|
||||
# Fonts, I18N, Date ...
|
||||
fonts = {
|
||||
enableCoreFonts = true;
|
||||
};
|
||||
|
||||
i18n = {
|
||||
consoleFont = "lat9w-16";
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
};
|
||||
time.timeZone = "Europe/Berlin";
|
||||
#time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Services
|
||||
services.gpm.enable = true;
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "yes";
|
||||
|
||||
services.teamviewer.enable = true;
|
||||
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = [ pkgs.hplip ];
|
||||
};
|
||||
|
||||
services.pcscd.enable = true;
|
||||
services.xserver = {
|
||||
libinput.enable = true;
|
||||
libinput.naturalScrolling = true;
|
||||
|
||||
videoDrivers = [ "qxl" "intel" ];
|
||||
enable = true;
|
||||
layout = "us";
|
||||
|
||||
windowManager.qtile.enable = true;
|
||||
windowManager.default = "qtile";
|
||||
desktopManager = {
|
||||
xterm.enable = true;
|
||||
gnome3.enable = false;
|
||||
xfce.enable = true;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
slim = {
|
||||
enable = true;
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "steveej";
|
||||
repo = "nixos-slim-theme";
|
||||
rev = "eec04a624113db835f2b5960d305e242da9dbc2a";
|
||||
sha256 = "146zmr5rzwxq5mz6b7108a3ksf3nvqxrr8bvi82jsw6xqji4i5f5";
|
||||
};
|
||||
autoLogin = true;
|
||||
defaultUser = "steveej";
|
||||
};
|
||||
sessionCommands = ''
|
||||
xscreensaver -no-splash &
|
||||
${pkgs.networkmanagerapplet}/bin/nm-applet &
|
||||
$(sleep 2; xmodmap ~/.Xmodmap) &
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
services.udev.packages = [
|
||||
pkgs.libu2f-host
|
||||
pkgs.yubikey-personalization
|
||||
];
|
||||
services.udev.extraRules = ''
|
||||
# OnePlusOne
|
||||
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6764", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
||||
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6765", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
||||
''
|
||||
# + builtins.readFile (pkgs.fetchurl {
|
||||
# url="https://raw.githubusercontent.com/Yubico/libu2f-host/master/70-u2f.rules";
|
||||
# sha256="1vmvk6pybvw92y97xbf8gm08x54f4zhvjawmbc37f25g2x97kgrf";
|
||||
# })
|
||||
;
|
||||
|
||||
services.resolved.enable = false;
|
||||
|
||||
# hardware related services
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
support32Bit = true;
|
||||
};
|
||||
};
|
||||
|
||||
# virtualization
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
virtualbox.host.enable = true;
|
||||
virtualbox.host.addNetworkInterface = true;
|
||||
};
|
||||
|
||||
system.activationScripts.bin = ''
|
||||
echo "setting up /bin..."
|
||||
ln -sfn ${pkgs.bash}/bin/bash /tmp/.binbash
|
||||
mv /tmp/.binbash /bin/bash
|
||||
'';
|
||||
}
|
28
nixos-configuration/steveej-laptop/user.nix
Normal file
28
nixos-configuration/steveej-laptop/user.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../common/user/root.nix
|
||||
];
|
||||
|
||||
users.extraUsers.steveej = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
home = "/home/steveej";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"libvirtd"
|
||||
"networkmanager"
|
||||
"vboxusers"
|
||||
"users"
|
||||
"input"
|
||||
"audio"
|
||||
"video"
|
||||
];
|
||||
hashedPassword = "removed";
|
||||
};
|
||||
|
||||
security.pam.enableU2F = true;
|
||||
security.pam.services.steveej.u2fAuth = true;
|
||||
}
|
150
nixos-configuration/steveej-laptop2/configuration.nix
Normal file
150
nixos-configuration/steveej-laptop2/configuration.nix
Normal file
|
@ -0,0 +1,150 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
|
||||
nix.binaryCaches = [
|
||||
"https://cache.nixos.org"
|
||||
"https://hydra.nixos.org"
|
||||
];
|
||||
nix.trustedBinaryCaches = [
|
||||
"https://cache.nixos.org"
|
||||
"https://hydra.nixos.org"
|
||||
];
|
||||
|
||||
nix.daemonNiceLevel = 19;
|
||||
nix.daemonIONiceLevel = 7;
|
||||
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "steveej-laptop2"; # Define your hostname.
|
||||
|
||||
fonts = {
|
||||
enableCoreFonts = true;
|
||||
};
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
unmanaged = [
|
||||
"interface-name:veth*"
|
||||
"interface-name:virbr*"
|
||||
"interface-name:br*"
|
||||
"interface-name:*vbox*"
|
||||
"interface-name:*cni*"
|
||||
];
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enableCompletion = true;
|
||||
promptInit = ''
|
||||
function exitstatus() {
|
||||
if [[ $? -eq 0 ]]; then
|
||||
printf '✓'
|
||||
else
|
||||
printf '✗'
|
||||
fi
|
||||
}
|
||||
function nixshellEval {
|
||||
if [[ "$1" != "" ]]; then
|
||||
printf "»$1« "
|
||||
fi
|
||||
}
|
||||
function setPS1 {
|
||||
if test "$TERM" != "dumb"; then
|
||||
# Provide a nice prompt.
|
||||
BLUE="\[\033[0;34m\]"
|
||||
RED="\[\033[1;31m\]"
|
||||
GREEN="\[\033[1;32m\]"
|
||||
NO_COLOR="\[\033[0m\]"
|
||||
|
||||
PROMPT_COLOR=$RED
|
||||
let $UID && PROMPT_COLOR=$GREEN
|
||||
PS1="$PROMPT_COLOR\u$NO_COLOR@\h \$(exitstatus) \$(nixshellEval $1)$BLUE\w$NO_COLOR\n$PROMPT_COLOR\\$ $NO_COLOR"
|
||||
if test "$TERM" = "xterm"; then
|
||||
PS1="\[\033]2;\h:\u:\w\007\]$PS1"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setPS1
|
||||
'';
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
libinput.enable = true;
|
||||
libinput.naturalScrolling = true;
|
||||
|
||||
videoDrivers = [ "qxl" "intel" ];
|
||||
enable = true;
|
||||
layout = "us";
|
||||
|
||||
windowManager.qtile.enable = true;
|
||||
desktopManager = {
|
||||
xterm.enable = false;
|
||||
gnome3.enable = true;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
slim = {
|
||||
enable = true;
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "steveej";
|
||||
repo = "nixos-slim-theme";
|
||||
rev = "eec04a624113db835f2b5960d305e242da9dbc2a";
|
||||
sha256 = "146zmr5rzwxq5mz6b7108a3ksf3nvqxrr8bvi82jsw6xqji4i5f5";
|
||||
};
|
||||
autoLogin = false;
|
||||
defaultUser = "steveej";
|
||||
};
|
||||
# sessionCommands = ''
|
||||
# xscreensaver -no-splash &
|
||||
# ${pkgs.networkmanagerapplet}/bin/nm-applet &
|
||||
# $(sleep 2; xmodmap /home/steveej/.Xmodmap) &
|
||||
# '';
|
||||
};
|
||||
};
|
||||
|
||||
users.mutableUsers = false;
|
||||
users.extraUsers.root = {
|
||||
hashedPassword = "removed";
|
||||
openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3niN5KcIYikRhXTYZCSehI1ZQs+vvG/dZ7KxNVHslfsS+p1yTycXcZFtDDn5vtG2fAo3yksxCk+G10/AWQ+NMOcFKuAi5qTOYSLbEcHVlZ4ko8sDUe3fF79vrCqY7IWbKKjZ4DH77Qs6SXk5GIlNaIzxut8Dpv8qHnkPiPuFgrJC4oGk60ZKmCPvOEpgg9twcdI6ykIxD4Fg+hHgG1p07uSEcm9EADli8RsU3UJ1UBhXMohMC6HrKVBkBX9wTo+zY+xqXxxem6xGNnkNiZLACfhCnjXv39zh85pgFuNv7R8SzVZQ9iRoCmax/w3JtWdDjqoTGgLfJyhMMjNdjVHOx steveej@steveej-laptop"];
|
||||
};
|
||||
users.extraUsers.steveej = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
home = "/home/steveej";
|
||||
extraGroups = [ "wheel" "libvirtd" "networkmanager" "vboxusers" ];
|
||||
hashedPassword = "removed";
|
||||
};
|
||||
|
||||
services.gpm.enable = true;
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "yes";
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
xorg.xmodmap
|
||||
wget
|
||||
vim
|
||||
roxterm
|
||||
];
|
||||
|
||||
# The NixOS release to be compatible with for stateful data such as databases.
|
||||
system.stateVersion = "16.09";
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod"
|
||||
];
|
||||
boot.kernelModules = [
|
||||
"nf_conntrack_proto_gre"
|
||||
"nf_conntrack_pptp"
|
||||
"kvm-intel"
|
||||
];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
nix.maxJobs = lib.mkDefault 2;
|
||||
nix.buildCores = 2;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# Bootloader, initrd and Kernel
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.enableCryptodisk = true;
|
||||
boot.loader.grub.version = 2;
|
||||
|
||||
# Workaround for nm-pptp
|
||||
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.trackpoint.emulateWheel = true;
|
||||
|
||||
fileSystems."/" = { device = "/dev/disk/by-uuid/c428a7e0-cd80-4ae7-90fb-530a9676278e";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"defaults"
|
||||
"compress=lzo"
|
||||
"subvol=nixos"
|
||||
];
|
||||
};
|
||||
fileSystems."/home" = { device = "/dev/disk/by-uuid/c428a7e0-cd80-4ae7-90fb-530a9676278e";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"defaults"
|
||||
"compress=lzo"
|
||||
"subvol=home"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/rkt" = {
|
||||
fsType = "tmpfs";
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/cni" = {
|
||||
fsType = "tmpfs";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Define on which hard drive you want to install Grub.
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
boot.initrd.luks.devices = [ {
|
||||
name = "luksroot";
|
||||
device = "/dev/disk/by-uuid/4ac7f8ba-4dea-41e8-99ea-b794aace24a1";
|
||||
preLVM = false;
|
||||
allowDiscards = true;
|
||||
}
|
||||
];
|
||||
}
|
276
nixos-configuration/steveej-utilitepro/configuration.nix
Normal file
276
nixos-configuration/steveej-utilitepro/configuration.nix
Normal file
|
@ -0,0 +1,276 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# The NixOS release to be compatible with for stateful data such as databases.
|
||||
system.stateVersion = "16.03";
|
||||
nix.maxJobs = 4;
|
||||
nix.buildCores = 4;
|
||||
|
||||
nix.extraOptions = ''
|
||||
gc-keep-outputs = true
|
||||
gc-keep-derivations = true
|
||||
'';
|
||||
|
||||
|
||||
|
||||
nixpkgs.config = {
|
||||
|
||||
packageOverrides = super: let self = super.pkgs; in {
|
||||
linux_4_1 = super.linux_4_1.override {
|
||||
kernelPatches = super.linux_4_1.kernelPatches ++ [
|
||||
{ patch = ./patches/utilitepro-kernel-dts.patch; name = "utilitepro-dts"; }
|
||||
{ patch = ./patches/utilitepro-kernel-dts-Makefile.patch; name = "utilitepro-dts-Makefile"; }
|
||||
];
|
||||
# add "CONFIG_PPP_FILTER y" option to the set of kernel options
|
||||
extraConfig = ''
|
||||
BTRFS_FS y
|
||||
BTRFS_FS_POSIX_ACL y
|
||||
FUSE_FS y
|
||||
OVERLAY_FS y
|
||||
|
||||
BLK_DEV_DM y
|
||||
DM_THIN_PROVISIONING y
|
||||
|
||||
NAMESPACES y
|
||||
NET_NS y
|
||||
PID_NS y
|
||||
IPC_NS y
|
||||
UTS_NS y
|
||||
DEVPTS_MULTIPLE_INSTANCES y
|
||||
CGROUPS y
|
||||
CGROUP_CPUACCT y
|
||||
CGROUP_DEVICE y
|
||||
CGROUP_FREEZER y
|
||||
CGROUP_SCHED y
|
||||
CPUSETS y
|
||||
MEMCG y
|
||||
POSIX_MQUEUE y
|
||||
|
||||
MACVLAN m
|
||||
VETH m
|
||||
BRIDGE m
|
||||
|
||||
NF_TABLES m
|
||||
NETFILTER y
|
||||
NETFILTER_ADVANCED y
|
||||
NF_NAT_IPV4 m
|
||||
IP_NF_FILTER m
|
||||
IP_NF_TARGET_MASQUERADE m
|
||||
NETFILTER_XT_MATCH_ADDRTYPE m
|
||||
NETFILTER_XT_MATCH_CONNTRACK m
|
||||
NF_NAT m
|
||||
NF_NAT_NEEDED m
|
||||
BRIDGE_NETFILTER m
|
||||
NETFILTER_INGRESS y
|
||||
NETFILTER_NETLINK m
|
||||
NETFILTER_NETLINK_ACCT m
|
||||
NETFILTER_NETLINK_QUEUE m
|
||||
NETFILTER_NETLINK_LOG m
|
||||
NETFILTER_SYNPROXY m
|
||||
NETFILTER_XTABLES m
|
||||
NETFILTER_XT_MARK m
|
||||
NETFILTER_XT_CONNMARK m
|
||||
NETFILTER_XT_SET m
|
||||
NETFILTER_XT_TARGET_AUDIT m
|
||||
NETFILTER_XT_TARGET_CHECKSUM m
|
||||
NETFILTER_XT_TARGET_CLASSIFY m
|
||||
NETFILTER_XT_TARGET_CONNMARK m
|
||||
NETFILTER_XT_TARGET_CONNSECMARK m
|
||||
NETFILTER_XT_TARGET_CT m
|
||||
NETFILTER_XT_TARGET_DSCP m
|
||||
NETFILTER_XT_TARGET_HL m
|
||||
NETFILTER_XT_TARGET_HMARK m
|
||||
NETFILTER_XT_TARGET_IDLETIMER m
|
||||
NETFILTER_XT_TARGET_LED m
|
||||
NETFILTER_XT_TARGET_LOG m
|
||||
NETFILTER_XT_TARGET_MARK m
|
||||
NETFILTER_XT_NAT m
|
||||
NETFILTER_XT_TARGET_NETMAP m
|
||||
NETFILTER_XT_TARGET_NFLOG m
|
||||
NETFILTER_XT_TARGET_NFQUEUE m
|
||||
NETFILTER_XT_TARGET_NOTRACK m
|
||||
NETFILTER_XT_TARGET_RATEEST m
|
||||
NETFILTER_XT_TARGET_REDIRECT m
|
||||
NETFILTER_XT_TARGET_TEE m
|
||||
NETFILTER_XT_TARGET_TPROXY m
|
||||
NETFILTER_XT_TARGET_TRACE m
|
||||
NETFILTER_XT_TARGET_SECMARK m
|
||||
NETFILTER_XT_TARGET_TCPMSS m
|
||||
NETFILTER_XT_TARGET_TCPOPTSTRIP m
|
||||
NETFILTER_XT_MATCH_ADDRTYPE m
|
||||
NETFILTER_XT_MATCH_BPF m
|
||||
NETFILTER_XT_MATCH_CGROUP m
|
||||
NETFILTER_XT_MATCH_CLUSTER m
|
||||
NETFILTER_XT_MATCH_COMMENT m
|
||||
NETFILTER_XT_MATCH_CONNBYTES m
|
||||
NETFILTER_XT_MATCH_CONNLABEL m
|
||||
NETFILTER_XT_MATCH_CONNLIMIT m
|
||||
NETFILTER_XT_MATCH_CONNMARK m
|
||||
NETFILTER_XT_MATCH_CONNTRACK m
|
||||
NETFILTER_XT_MATCH_CPU m
|
||||
NETFILTER_XT_MATCH_DCCP m
|
||||
NETFILTER_XT_MATCH_DEVGROUP m
|
||||
NETFILTER_XT_MATCH_DSCP m
|
||||
NETFILTER_XT_MATCH_ECN m
|
||||
NETFILTER_XT_MATCH_ESP m
|
||||
NETFILTER_XT_MATCH_HASHLIMIT m
|
||||
NETFILTER_XT_MATCH_HELPER m
|
||||
NETFILTER_XT_MATCH_HL m
|
||||
NETFILTER_XT_MATCH_IPCOMP m
|
||||
NETFILTER_XT_MATCH_IPRANGE m
|
||||
NETFILTER_XT_MATCH_IPVS m
|
||||
NETFILTER_XT_MATCH_L2TP m
|
||||
NETFILTER_XT_MATCH_LENGTH m
|
||||
NETFILTER_XT_MATCH_LIMIT m
|
||||
NETFILTER_XT_MATCH_MAC m
|
||||
NETFILTER_XT_MATCH_MARK m
|
||||
NETFILTER_XT_MATCH_MULTIPORT m
|
||||
NETFILTER_XT_MATCH_NFACCT m
|
||||
NETFILTER_XT_MATCH_OSF m
|
||||
NETFILTER_XT_MATCH_OWNER m
|
||||
NETFILTER_XT_MATCH_POLICY m
|
||||
NETFILTER_XT_MATCH_PHYSDEV m
|
||||
NETFILTER_XT_MATCH_PKTTYPE m
|
||||
NETFILTER_XT_MATCH_QUOTA m
|
||||
NETFILTER_XT_MATCH_RATEEST m
|
||||
NETFILTER_XT_MATCH_REALM m
|
||||
NETFILTER_XT_MATCH_RECENT m
|
||||
NETFILTER_XT_MATCH_SCTP m
|
||||
NETFILTER_XT_MATCH_SOCKET m
|
||||
NETFILTER_XT_MATCH_STATE m
|
||||
NETFILTER_XT_MATCH_STATISTIC m
|
||||
NETFILTER_XT_MATCH_STRING m
|
||||
NETFILTER_XT_MATCH_TCPMSS m
|
||||
NETFILTER_XT_MATCH_TIME m
|
||||
NETFILTER_XT_MATCH_U32 m
|
||||
|
||||
|
||||
|
||||
MEMCG_KMEM y
|
||||
MEMCG_SWAP y
|
||||
MEMCG_SWAP_ENABLED y
|
||||
BLK_CGROUP y
|
||||
IOSCHED_CFQ y
|
||||
BLK_DEV_THROTTLING y
|
||||
CGROUP_PERF y
|
||||
CGROUP_HUGETLB y
|
||||
NET_CLS_CGROUP y
|
||||
CGROUP_NET_PRIO y
|
||||
CFS_BANDWIDTH y
|
||||
FAIR_GROUP_SCHED y
|
||||
RT_GROUP_SCHED y
|
||||
EXT3_FS y
|
||||
EXT3_FS_XATTR y
|
||||
EXT3_FS_POSIX_ACL y
|
||||
EXT3_FS_SECURITY y
|
||||
|
||||
PPP_FILTER y
|
||||
HAVE_IMX_ANATOP y
|
||||
HAVE_IMX_GPC y
|
||||
HAVE_IMX_MMDC y
|
||||
HAVE_IMX_SRC y
|
||||
SOC_IMX6 y
|
||||
SOC_IMX6Q y
|
||||
SOC_IMX6SL y
|
||||
PCI_IMX6 y
|
||||
ARM_IMX6Q_CPUFREQ y
|
||||
IMX_WEIM y
|
||||
AHCI_IMX y
|
||||
SERIAL_IMX y
|
||||
SERIAL_IMX_CONSOLE y
|
||||
I2C_IMX y
|
||||
SPI_IMX y
|
||||
PINCTRL_IMX y
|
||||
PINCTRL_IMX6Q y
|
||||
PINCTRL_IMX6SL y
|
||||
POWER_RESET_IMX y
|
||||
IMX_THERMAL y
|
||||
IMX2_WDT y
|
||||
IMX_IPUV3_CORE y
|
||||
DRM_IMX y
|
||||
DRM_IMX_FB_HELPER y
|
||||
DRM_IMX_PARALLEL_DISPLAY y
|
||||
DRM_IMX_TVE y
|
||||
DRM_IMX_LDB y
|
||||
DRM_IMX_IPUV3 y
|
||||
DRM_IMX_HDMI y
|
||||
MMC_SDHCI_ESDHC_IMX y
|
||||
IMX_SDMA y
|
||||
PWM_IMX y
|
||||
DEBUG_IMX6Q_UART y
|
||||
|
||||
'';
|
||||
};
|
||||
# pkgs.linux_4_2 = "/nix/store/jc1h6mcc6sq420q2i572qba4b0xzw4gm-linux-4.3-armv7l-unknown-linux-gnueabi";
|
||||
};
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "steveej-utilitepro"; # Define your hostname.
|
||||
#networking.wireless.enable = true; # Enables wireless support viawpa_supplicant.
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_4_1;
|
||||
boot.extraKernelParams = [
|
||||
"cm_fx6_v4l_msize=128M"
|
||||
"vmalloc=256M"
|
||||
"root=/dev/sda3"
|
||||
"rootflags=subvol=nixos"
|
||||
"console=ttymxc3,115200"
|
||||
];
|
||||
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
boot.loader.grub.enable = false;
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
consoleFont = "Lat2-Terminus16";
|
||||
consoleKeyMap = "us";
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
environment.systemPackages = with pkgs; [
|
||||
iptables
|
||||
wget
|
||||
vim
|
||||
sshfsFuse
|
||||
pastebinit
|
||||
git
|
||||
];
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "yes";
|
||||
|
||||
# Disable CUPS to print documents.
|
||||
services.printing.enable = false;
|
||||
|
||||
users.mutableUsers = false;
|
||||
users.extraUsers.root = {
|
||||
hashedPassword = "removed";
|
||||
openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3niN5KcIYikRhXTYZCSehI1ZQs+vvG/dZ7KxNVHslfsS+p1yTycXcZFtDDn5vtG2fAo3yksxCk+G10/AWQ+NMOcFKuAi5qTOYSLbEcHVlZ4ko8sDUe3fF79vrCqY7IWbKKjZ4DH77Qs6SXk5GIlNaIzxut8Dpv8qHnkPiPuFgrJC4oGk60ZKmCPvOEpgg9twcdI6ykIxD4Fg+hHgG1p07uSEcm9EADli8RsU3UJ1UBhXMohMC6HrKVBkBX9wTo+zY+xqXxxem6xGNnkNiZLACfhCnjXv39zh85pgFuNv7R8SzVZQ9iRoCmax/w3JtWdDjqoTGgLfJyhMMjNdjVHOx steveej@steveej-laptop"];
|
||||
};
|
||||
users.extraUsers.steveej = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
home = "/home/steveej";
|
||||
extraGroups = [ "wheel" "libvirtd" ];
|
||||
hashedPassword = "removed";
|
||||
openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3niN5KcIYikRhXTYZCSehI1ZQs+vvG/dZ7KxNVHslfsS+p1yTycXcZFtDDn5vtG2fAo3yksxCk+G10/AWQ+NMOcFKuAi5qTOYSLbEcHVlZ4ko8sDUe3fF79vrCqY7IWbKKjZ4DH77Qs6SXk5GIlNaIzxut8Dpv8qHnkPiPuFgrJC4oGk60ZKmCPvOEpgg9twcdI6ykIxD4Fg+hHgG1p07uSEcm9EADli8RsU3UJ1UBhXMohMC6HrKVBkBX9wTo+zY+xqXxxem6xGNnkNiZLACfhCnjXv39zh85pgFuNv7R8SzVZQ9iRoCmax/w3JtWdDjqoTGgLfJyhMMjNdjVHOx steveej@steveej-laptop"];
|
||||
};
|
||||
|
||||
networking.firewall.enable = false;
|
||||
networking.useNetworkd = true;
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/09d1e4a2-d57b-4de8-a42b-671c4c188367";
|
||||
fsType = "btrfs";
|
||||
options = "subvol=nixos";
|
||||
};
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/f1e7e913-93a0-4258-88f9-f65041d91d66";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 992736b..6ff9735 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -296,6 +296,8 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||
imx6q-sabreauto.dtb \
|
||||
imx6q-sabrelite.dtb \
|
||||
imx6q-sabresd.dtb \
|
||||
+ imx6q-sbc-fx6.dtb \
|
||||
+ imx6q-sbc-fx6m.dtb \
|
||||
imx6q-sbc6x.dtb \
|
||||
imx6q-tbs2910.dtb \
|
||||
imx6q-tx6q-1010.dtb \
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue