Skip to content

Instantly share code, notes, and snippets.

@adrianparvino
Created April 20, 2018 16:39
Show Gist options
  • Save adrianparvino/27d686963162abf5f8295c7a201d7b90 to your computer and use it in GitHub Desktop.
Save adrianparvino/27d686963162abf5f8295c7a201d7b90 to your computer and use it in GitHub Desktop.
# 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, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./nixos-configs/qemu.nix
# ./nixos-configs/netboot_server.nix
];
qemu-user.arm = true;
# virtualisation.virtualbox.host.enable = true;
# virtualisation.docker.enable = true;
# netboot_server = {
# network.wan = "wlp0s20f0u8";
# network.lan = "enp2s0";
# };
boot = {
kernelParams = [ "quiet" "splash" "acpi_osi=Linux" ];
loader = {
systemd-boot.enable = true;
timeout = 2;
efi.canTouchEfiVariables = true;
};
};
networking = {
hostName = "myrl"; # Define your hostname.
nameservers = [ "8.8.4.4" "8.8.8.8" ];
firewall.enable = false;
wireless.enable = true;
interfaces = {
wlp0s20f0u8 = {
ipv4.addresses = [{
address = "192.168.1.101";
prefixLength = 24;
}];
};
};
defaultGateway = "192.168.1.1";
extraHosts = ''
192.168.2.101 myrl
'';
};
services = {
# postgresql.enable = true;
# resolved.enable = true;
samba.enable = true;
openssh = {
enable = true;
forwardX11 = true;
};
compton = {
enable = true;
extraOptions = ''
xrender-sync = true;
xrender-sync-fence = true;
blur-background = true;
blur-kern = "7,7,0.913931,0.937067,0.951229,0.955997,0.951229,0.937067,0.913931,0.937067,0.960789,0.975310,0.980199,0.975310,0.960789,0.937067,0.951229,0.975310,0.990050,0.995012,0.990050,0.975310,0.951229,0.955997,0.980199,0.995012,0.995012,0.980199,0.955997,0.951229,0.975310,0.990050,0.995012,0.990050,0.975310,0.951229,0.937067,0.960789,0.975310,0.980199,0.975310,0.960789,0.937067,0.913931,0.937067,0.951229,0.955997,0.951229,0.937067,0.913931,";
'';
};
xserver = {
xkbVariant = "colemak";
xkbOptions = "ctrl:swap_lalt_lctl,lv3:ralt_alt";
enable = true;
windowManager.xmonad.enable = true;
windowManager.xmonad.enableContribAndExtras = true;
displayManager.lightdm.enable = true;
displayManager.lightdm.extraSeatDefaults = ''
xserver-allow-tcp=true
'';
displayManager.xserverArgs = [ "+iglx" "-listen tcp " ];
displayManager.sessionCommands = ''
xset m 1 0
'';
videoDrivers = [ "intel" ];
deviceSection = ''
Option "DRI" "3"
Option "TearFree" "true"
'';
windowManager.session = [{
name = "xhbmonad";
start = ''
${pkgs.sxhkd}/sxhkd
/home/myrl/.local/bin/xhbmonad
'';
}];
};
# udev.extraHwdb = ''
# evdev:input:b0003v1EA7p0911*
# KEYBOARD_KEY_70039=backspace
# KEYBOARD_KEY_700e0=leftalt
# KEYBOARD_KEY_700e2=leftctrl
# KEYBOARD_KEY_70014=q
# KEYBOARD_KEY_7001a=w
# KEYBOARD_KEY_70008=f
# KEYBOARD_KEY_70015=p
# KEYBOARD_KEY_70017=g
# KEYBOARD_KEY_7001c=j
# KEYBOARD_KEY_70018=l
# KEYBOARD_KEY_7000c=u
# KEYBOARD_KEY_70012=y
# KEYBOARD_KEY_70013=semicolon
# KEYBOARD_KEY_70004=a
# KEYBOARD_KEY_70016=r
# KEYBOARD_KEY_70007=s
# KEYBOARD_KEY_70009=t
# KEYBOARD_KEY_7000a=d
# KEYBOARD_KEY_7000b=h
# KEYBOARD_KEY_7000d=n
# KEYBOARD_KEY_7000e=e
# KEYBOARD_KEY_7000f=i
# KEYBOARD_KEY_70033=o
# KEYBOARD_KEY_7001d=z
# KEYBOARD_KEY_7001b=x
# KEYBOARD_KEY_70006=c
# KEYBOARD_KEY_70019=v
# KEYBOARD_KEY_70005=b
# KEYBOARD_KEY_70011=k
# KEYBOARD_KEY_70010=m
# '';
# gnome3.gvfs.enable = true;
# udisks2.enable = true;
};
environment = {
variables = {
SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "0";
VISUAL = "emacsclient";
EDITOR = "$EDITOR";
_JAVA_AWT_WM_NONREPARENTING = "1";
NAME = "Adrian Parvin Ouano";
QT_QPA_PLATFORMTHEME = "qt5ct";
#QTAH_QMAKE="${pkgs.qt56.qtbase}/bin/qmake";
};
sessionVariables = {
TERMINFO_DIRS = "/run/current-system/sw/share/terminfo";
};
};
time.timeZone = "Asia/Manila";
users.extraUsers.disnix = {
isNormalUser = true;
home = "/home/disnix";
description = "build slave";
shell = "/run/current-system/sw/bin/zsh";
};
users.extraUsers.myrl = {
isNormalUser = true;
home = "/home/myrl";
description = "Myrl Hex";
extraGroups = [ "disk" "wheel" "video" "audio" "vboxusers" "docker" ];
shell = "/run/current-system/sw/bin/zsh";
};
programs.zsh = {
enable = true;
};
environment.systemPackages = with pkgs; let
tex = texlive.combine {
inherit (texlive) scheme-basic koma-script stmaryrd booktabs paralist framed fontspec luatex85 luatex luaotfload float lualibs euenc titlesec tabu varwidth xypic standalone enumitem xetex xkeyval currfile filehook tocloft pgf ms xcolor glossaries mfirstuc etoolbox textcase xfor datatool substr fp exam latex-fonts collection-fontsrecommended easylist soul tracklang pgfplots biblatex apacite biblatex-apa logreq xstring biber picinpar wrapfig ulem capt-of usebib biblatex-mla setspace mathtools ucs multirow sectsty pgfgantt beamer listings pdfpages etoc microtype luatexbase ctablestack siunitx dvipng metafont datetime fmtcount csquotes;
};
system = [ ntfs3g efibootmgr grub2_efi ];
word_editing = [ plover evince aspell aspellDicts.en tex ]; # tex libreoffice ghostscript biber
media = [ transmission mpv ffmpeg gimp-with-plugins imagemagick ];
security = [ gnupg1compat gnutls keepassxc ];
archiving = [ zip unzip unrar ];
misc = [ dmenu qrencode glxinfo feh ]; # kolourpaint
tools = [ htop wget mtr ag scrot xsel st tmux xwinwrap xorg.xgamma ];
dev = [ cabal2nix manpages gcc git emacs ghc ocl-icd rustc cargo ]; # myrddin R gnumake coq valgrind ocl-icd
games = [ steam wine winetricks ]; # steam wine winetricks minecraft
networking = [ firefox discord tdesktop mu offlineimap gnutls samba ]; # slack samba
theming = [ qt5ct ]; # qt5ct libsForQt5.qtstyleplugins
in system
++ word_editing
++ media
++ security
++ archiving
++ misc
++ tools
++ dev
++ games
++ networking
++ theming;
fonts = {
enableFontDir = true;
fontconfig = {
defaultFonts = {
monospace = ["Envypn" "DejaVu Sans Mono"];
serif = ["CMU Serif" "DejaVu Serif"];
};
};
fonts = with pkgs; [
envypn-font
carlito
caladea
cm_unicode
unifont
corefonts
terminus_font_ttf
overpass
];
};
nixpkgs.config = {
allowUnfree = true;
st = {
patches = [ ./st/config.patch ];
extraLibs = with pkgs; [ xorg.renderproto xorg.libXrender ];
};
wine = {
release = "staging";
build = "wineWow";
};
};
hardware = {
pulseaudio.enable = true;
opengl = {
driSupport32Bit = true;
# extraPackages = [ pkgs.pocl ];
};
};
# nix.distributedBuilds = true;
# nix.buildMachines = [
# { hostName = "192.168.2.10";
# sshUser = "disnix";
# sshKey = "/root/.ssh/disnix_lappy_rsa";
# system = "x86_64-linux";
# maxJobs = 2;
# }
# ];
nix.trustedUsers = [ "root" "disnix" ];
# nix.binaryCachePublicKeys = [ "ryantrinkle.com-1:JJiAKaRv9mWgpVAz8dwewnZe0AzzEAzPkagE9SP5NWI=" ];
nix.nixPath = [ "/etc/nixos" "nixos-config=/etc/nixos/configuration.nix" "nixpkgs=/etc/nixos/nixpkgs" ];
nix.binaryCaches = [
"http://cache.earthtools.ca"
"https://cache.nixos.org"
];
nix.binaryCachePublicKeys = [
"c2d.localnet-1:YTVKcy9ZO3tqPNxRqeYEYxSpUH5C8ykZ9ImUKuugf4c="
"hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs="
];
# environment.etc = {
# "OpenCL/vendors/pocl.icd" = {
# source = ''${pkgs.pocl}/etc/OpenCL/vendors/pocl.icd'';
# };
# };
# nix.buildCores = lib.mkDefault 4;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment