Last active
July 11, 2023 18:58
-
-
Save Pitometsu/6db6ec921e19a7b37472 to your computer and use it in GitHub Desktop.
NixOS system config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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, ... }: | |
rec { | |
imports = | |
[ # Include the results of the hardware scan. | |
./hardware-configuration.nix | |
./musnix/default.nix | |
]; | |
musnix = { | |
enable = true; | |
kernel = { | |
# optimize = true; | |
# realtime = true; | |
packages = pkgs.linuxPackages_4_6_rt_fix; | |
}; | |
}; | |
boot = { | |
kernelModules = [ | |
"kvm-intel" "tpm-rng" | |
]; | |
extraModprobeConfig = '' | |
# thinkpad acpi | |
options thinkpad_acpi fan_control=1 | |
# intel graphics | |
options i915 modeset=1 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1 # powersave=0 | |
options bbswitch use_acpi_to_detect_card_state=1 | |
# intel audio | |
# options snd-hda-intel index=0 id=PCH | |
# options snd-hda-intel index=1 id=HDMI | |
# options snd-hda-intel index=0 model=auto vid=8086 pid=8c20 | |
# options snd-hda-intel index=1 model=auto vid=8086 pid=0c0c | |
# options snd slots=snd-hda-intel | |
# fix intel wifi-N | |
# options iwlwifi 11n_disable=1 | |
# options iwlwifi swcrypto=1 | |
options iwlwifi 11n_disable=8 | |
iwlwifi.power_save=Y | |
iwldvm.force_cam=N | |
''; | |
extraModulePackages = [ config.boot.kernelPackages.tp_smapi ]; | |
# kernelPackages = pkgs.linuxPackages_latest; # TODO: zen-kernel BFQ/BFS/reiserfs/lowlatency/hibernation/custom font | |
# kernelPackages = let | |
# rtKernel = pkgs.linuxPackagesFor (pkgs.linux.override { | |
# extraConfig = '' | |
# PREEMPT_RT_FULL? y | |
# PREEMPT y | |
# IOSCHED_DEADLINE y | |
# DEFAULT_DEADLINE y | |
# DEFAULT_IOSCHED "deadline" | |
# HPET_TIMER y | |
# CPU_FREQ n | |
# TREE_RCU_TRACE n | |
# ''; | |
# }) pkgs.linuxPackages; in rtKernel; | |
kernelParams = [ | |
# "acpi_osi=\"!Windows 2012\"" | |
# "acpi_backlight=vendor" | |
"acpi_osi=" | |
# "acpi_osi=\"!Windows 2013\"" | |
"video.use_native_backlight=1" | |
"pcie_aspm=force" | |
"drm_kms_helper.edid_firmware=edid/1920x1080.bin" | |
"video=1920x1080" | |
"clocksource=acpi_pm" | |
"pci=use_crs" | |
"consoleblank=0" | |
# realtime | |
# "threadirq" | |
# debug only: | |
# "boot.shell_on_fail" | |
# "boot.trace" | |
# "systemd.log_level=debug" | |
# "systemd.log_target=console" | |
# colors | |
"vt.default_red=0x07,0xdc,0x85,0xb5,0x26,0xd3,0x2a,0xee,0x00,0xcb,0x58,0x65,0x83,0x6c,0x93,0xfd vt.default_grn=0x36,0x32,0x99,0x89,0x8b,0x36,0xa1,0xe8,0x2b,0x4b,0x6e,0x7b,0x94,0x71,0xa1,0xf6 vt.default_blu=0x42,0x2f,0x00,0x00,0xd2,0x82,0x98,0xd5,0x36,0x16,0x75,0x83,0x96,0xc4,0xa1,0xe3" | |
]; | |
loader = { | |
# systemd-boot.enable = true; | |
efi.canTouchEfiVariables = true; | |
grub.enable = true; | |
grub.device = "nodev"; | |
grub.fsIdentifier = "label"; | |
grub.gfxmodeEfi = "1920x1080"; | |
grub.efiSupport = true; | |
# grub.splashImage = "./background.png"; | |
timeout = 3; | |
}; | |
initrd.kernelModules = [ | |
"intel_agp" | |
"i915" | |
"bbswitch" | |
# jack | |
# "snd-seq" | |
# "snd-rawmidi" | |
"snd-aloop" | |
"thinkpad_ec" | |
"tp_smapi" | |
"hdaps" | |
# "fbcon" # ???: Built-in now | |
# external sound card | |
"snd-usb-audio" | |
# "snd_hda_intel" | |
"ehci_hcd" "ahci" "firewire_ohci" | |
]; | |
blacklistedKernelModules = [ | |
# No beeping | |
"snd_pcsp" | |
"pcspkr" | |
# fix bumblebee | |
"nvidia_uvm" | |
# because of intel | |
"nouveau" | |
"nvidia" | |
"nvidiafb" | |
# buggy and old | |
"thinkpad_acpi" | |
]; | |
# kernel.sysctl = { vm.swappiness = 1; }; | |
# kernel.sysctl = { "vm.swappiness" = 10; "fs.inotify.max_user_watches" = 524288; }; | |
# postBootCommands = '' | |
# echo 2048 > /sys/class/rtc/rtc0/max_user_freq | |
# echo 2048 > /proc/sys/dev/hpet/max-user-freq | |
# setpci -v -d *:* latency_timer=b0 | |
# setpci -v -s $00:1b.0 latency_timer=ff | |
# ''; | |
# /*The SOUND_CARD_PCI_ID can be obtained like so:*/ | |
# /*$ lspci | grep -i audio*/ | |
}; | |
fileSystems."/" = pkgs.lib.mkForce { | |
device = "/dev/nixos/root"; | |
label = "root"; | |
fsType = "ext3"; | |
options = [ "noatime" "errors=remount-ro"]; | |
}; | |
fileSystems."/home" = pkgs.lib.mkForce { | |
device = "/dev/nixos/home"; | |
label = "home"; | |
fsType = "ext4"; | |
}; | |
fileSystems."/boot" = pkgs.lib.mkForce { | |
device = "/dev/disk/by-label/ESP"; | |
fsType = "vfat"; | |
}; | |
fileSystems."/tmp" = pkgs.lib.mkForce { | |
device = "tmpfs"; | |
fsType = "tmpfs"; | |
options = [ "nosuid" "nodev" "noatime" "nodiratime" "size=10G" ]; | |
}; | |
swapDevices = pkgs.lib.mkForce [ | |
{ device = "/dev/disk/by-label/Swap"; } | |
]; | |
networking = { | |
hostName = "hackbook"; | |
hostId = "847849e7"; | |
# interfaceMonitor.enable = false; | |
wireless.enable = false; | |
wireless.interfaces = [ "wlp4s0" ]; | |
wireless.userControlled.enable = true; | |
wireless.userControlled.group = "network"; | |
useDHCP = false; | |
wicd.enable = true; | |
extraHosts = '' | |
127.0.0.1 db | |
''; | |
}; | |
# security.pam.loginLimits = | |
# [ | |
# { domain = "@audio"; item = "memlock"; type = "-"; value = "unlimited"; } | |
# { domain = "@audio"; item = "rtprio"; type = "-"; value = "99"; } | |
# { domain = "@audio"; item = "nofile"; type = "soft"; value = "99999"; } | |
# { domain = "@audio"; item = "nofile"; type = "hard"; value = "99999"; } | |
# ]; | |
nix = { | |
extraOptions = '' | |
auto-optimise-store = true | |
env-keep-derivations = true | |
gc-keep-outputs = true | |
gc-keep-derivations = true | |
# keep-failed = true | |
# keep-going = true | |
auto-optimise-store = true | |
''; | |
maxJobs = pkgs.lib.mkForce 9; | |
buildCores = pkgs.lib.mkForce 9; | |
useSandbox = true; | |
binaryCaches = [ "https://cache.nixos.org/" # "https://hydra.nixos.org/" "https://hydra.cryp.to/" | |
]; | |
}; | |
nixpkgs.config = { | |
allowUnfree = true; | |
# # CFLAGS="-march=core-avx2 -O2 -pipe" | |
# # stdenv.userHook = '' | |
# # NIX_CFLAGS_COMPILE+=" -march=core-avx2 -O2 -pipe" | |
# # ''; | |
firefox = { | |
enableGoogleTalkPlugin = true; | |
enableAdobeFlash = true; | |
enableGTK3 = true; # recompilation required :( | |
# ffmpegSupport = false; | |
# jre = true; | |
# enableMPlayer = true; # will use MPV instead, see: https://addons.mozilla.org/en-US/firefox/addon/watch-with-mpv/ | |
icedtea = true; | |
}; | |
chromium = { | |
enablePepperFlash = true; | |
enablePepperPDF = true; | |
# hiDPISupport = true; # recompilation required :( | |
# jre = true; | |
icedtea = true; | |
}; | |
pulseaudio = true; | |
jack = true; | |
# qt48Full = { gtkStyle = true; }; | |
# qt53 = { gtkStyle = true; }; | |
mesa = { | |
# enableTextureFloats = true; | |
}; | |
# # virtualbox.enableExtensionPack = true; | |
haskellPackageOverrides = self: super: with pkgs.haskell.lib; { | |
# libmpd = pkgs.haskell.lib.overrideCabal super.libmpd (drv: { | |
# # don't help to fix time-1.5 | |
# libraryHaskellDepends = drv.libraryHaskellDepends ++ [ pkgs.haskell.packages.lts-5_15.time ]; | |
# }); | |
libmpd = dontCheck (overrideCabal super.libmpd (drv: { | |
postPatch = (drv.postPatch or "") + '' | |
substituteInPlace ./libmpd.cabal --replace "time >=1.5 && <1.6" "time >=1.5" | |
''; | |
})); | |
xmobar = (overrideCabal super.xmobar (drv: { | |
# Skip -fwith_datezone | |
configureFlags = [ "-fwith_xft" "-fwith_utf8" "-fwith_inotify" | |
"-fwith_iwlib" "-fwith_mpd" "-fwith_alsa" | |
"-fwith_mpris" "-fwith_dbus" "-fwith_xpm" ]; | |
})).override { | |
timezone-series = null; | |
timezone-olson = null; | |
}; | |
# # pandoc = overrideCabal super.pandoc (drv: { | |
# # version = "1.12.4.2"; | |
# # editedCabalFile = null; | |
# # revision = null; | |
# # sha256 = "0ibzladj0xm0xnsphd26lzndxzkawz73pfd7rnlnmllqckrzairg"; | |
# # }); | |
# # xmobar = pkgs.haskell.lib.overrideCabal super.xmobar | |
# # cabal-install = lib.overrideCabal super.cabal-install (attrs: { | |
# # buildDepends = [ self.text ]; # for antigen-hs, see: https://github.com/Tarrasch/antigen-hs/issues/24 | |
# # }); | |
# # ghc-mod = lib.overrideCabal super.ghc-mod (oldAttrs: { | |
# # src = pkgs.fetchgit { | |
# # url = https://github.com/kazu-yamamoto/ghc-mod; | |
# # rev = "247e4e0e7616fe1fecc68fdcf80d6249ac4cee4f"; | |
# # sha256 = "2a23271d0e6907351a246f095040ba18c3ab6bf1cba08a14338d701defa55474"; | |
# # }; | |
# # buildDepends = oldAttrs.buildDepends ++ [ self.cabal-helper self.cereal ]; | |
# # }); | |
# # cabal-helper = lib.overrideCabal super.cabal-helper (oldAttrs: { | |
# # version = "0.3.2.0"; | |
# # sha256 = "06igjmr0n8418wid1pr74cgvlsmwni7ar72g9bddivlbxax1pfli"; | |
# # }); | |
# # HaRe = lib.overrideCabal super.HaRe (attrs: { | |
# # version = "0.6.1.0"; | |
# # sha256 = "1azxbfvzdn73bv3vg6xylrjiahaxcx86vhx9b60z106a4ynkxdfr"; | |
# # }); | |
# # ghc-mod = super.ghc-mod.overrideDerivation (attrs: { | |
# # src = pkgs.fetchFromGitHub { | |
# # owner = "kazu-yamamoto"; | |
# # repo = "ghc-mod"; | |
# # rev = "19b3de356928f7c1a7aa3a59430beae08a883e7b"; | |
# # sha256 = "0airmyw5w912fxlq9r1076q6cca7nvh29smhny1lv694h3bbvgjz"; | |
# # }; | |
# # buildInputs = attrs.buildInputs ++ [ pkgs.haskellPackages.cabal-helper ]; | |
# # }); | |
# # cabal-helper = super.cabal-helper.overrideDerivation (attrs: { | |
# # src = pkgs.fetchFromGitHub { | |
# # owner = "DanielG"; | |
# # repo = "cabal-helper"; | |
# # rev = "c2f6a2e5bf40f9e4cb9276bcc9b58ec3627f727a"; | |
# # sha256 = "075a4i8ck75rc03pmzr65ys20s9g0jwyclfvnziminpp3p8p53vi"; | |
# # }; | |
# # version = "0.6.0.0"; | |
# # }); | |
# # cabal-helper = lib.overrideCabal super.cabal-helper (attrs: { | |
# # version = "0.6.0.0"; | |
# # sha256 = "0b12mz370fhlibln6w9c67npp9ivvgkayxn53zv5pq7w76rd1ajv"; | |
# # }); | |
hobbes = super.hobbes.overrideDerivation (attrs: { | |
src = pkgs.fetchFromGitHub { | |
owner = "jhickner"; | |
repo = "hobbes"; | |
rev = "764b04465b9d46e3521d42cd26f006b571aad912"; | |
sha256 = "05cqirxfnibnwr1vwziwxp75jh7m871jq5y2rmbkz79b7bw8lbcz"; | |
}; | |
buildInputs = with pkgs.haskellPackages; [ | |
filepath | |
filemanip | |
fsnotify | |
text | |
]; | |
}); | |
funnyprint = with pkgs.haskellPackages; mkDerivation { | |
pname = "funnyprint"; | |
version = "0.0.5"; | |
sha256 = "17prxs7cdblkn4f9w2nr0gjhcm1p1pqklxg44ynpr5a739zdh4wg"; | |
isLibrary = true; | |
isExecutable = false; | |
libraryHaskellDepends = [ ipprint hscolour ]; | |
testHaskellDepends = [ tasty tasty-hspec criterion ]; | |
doCheck = false; | |
jailbreak = true; | |
homepage = "https://github.com/Pitometsu/funnyprint#readme"; | |
description = "funnyPrint function to colorize GHCi output."; | |
license = pkgs.stdenv.lib.licenses.mit; | |
platforms = self.ghc.meta.platforms; | |
}; | |
# # ghci-ng = overrideCabal super.ghci-ng (attrs: { | |
# # src = pkgs.fetchFromGitHub { | |
# # owner = "chrisdone"; | |
# # repo = "ghci-ng"; | |
# # rev = "05df61d826d71cf8d65a6d764928775fdb8c91ad"; | |
# # sha256 = "0flawgqdn01axkzac3zkzzqgbjm7z7b4y0xwcvr360x1fbnmmp52"; | |
# # }; | |
# # executableHaskellDepends = | |
# # let deps = with super; [ containers syb time transformers ]; | |
# # in attrs.executableHaskellDepends ++ deps; | |
# # version = "0.0.0"; | |
# # homepage = "https://github.com/chrisdone/ghci-ng#readme"; | |
# # description = "Next generation GHCi"; | |
# # }); | |
hmenu = overrideCabal super.hmenu (attrs: { | |
src = pkgs.fetchFromGitHub { | |
owner = "sulami"; | |
repo = "hmenu"; | |
rev = "728a746202065c740b1516f3c66e72c6ff90bd35"; | |
sha256 = "1c05j9m0vgzx70245k84mqs3x9ikd2k6c3r64w46l26cgi9bfahc"; | |
}; | |
buildDepends = with super; [ MissingH ]; | |
}); | |
haskell-docs = overrideCabal super.haskell-docs (drv: { | |
src = pkgs.fetchFromGitHub { | |
owner = "chrisdone"; | |
repo = "haskell-docs"; | |
rev = "32ecee8afe78de600da2f85ae58e60dcbc02fceb"; | |
sha256 = "098zf0bd93yk6w5vfpbaqhp51sdwk9bmg0wdnidhk7ff9y4b27b8"; | |
}; | |
# patches = [ ~/nix/patches/haskell-docs/0001-packagename-type-ambiguity.patch ]; | |
}); | |
# hell-git = pkgs.haskell-ng.lib.overrideCabal pkgs.haskellngPackages.hell (oldAttrs: { | |
# src = pkgs.fetchgit { | |
# url = https://github.com/chrisdone/hell.git; | |
# rev = "442b0fc7cd7e2e9a5b2e43b14540467ddd32d29b"; | |
# sha256 = "0q046zixqz5hd8c2pd4m6gcz3qyl032z8i9xxs0658c36fkk788f"; | |
# }; | |
# }); | |
# stack = (overrideCabal super.stack (drv: { | |
# version = "1.1.3"; | |
# revision = null; | |
# editedCabalFile = null; | |
# src = pkgs.fetchFromGitHub { | |
# owner = "commercialhaskell"; | |
# repo = "stack"; | |
# rev = "35ad01e6c7a2c7b090e52594043dc72cd7ed27b9"; | |
# sha256 = "1w656qzm4ba06blcmykrsv45hckygf16964i1w2snlhfpz4xij8g"; | |
# }; | |
# libraryHaskellDepends = with self; [store persistent-sqlite] ++ drv.libraryHaskellDepends; | |
# })).override { | |
# persistent-sqlite = self.persistent-sqlite_2_5; | |
# }; | |
th-utilities = overrideCabal super.th-utilities (drv: { | |
doCheck = false; | |
}); | |
store = overrideCabal super.store (drv: { | |
doCheck = false; | |
}); | |
# persistent-sqlite_2_5 = overrideCabal super.persistent-sqlite (drv: { | |
# version = "2.5"; | |
# sha256 = "0wv3pc226vq5xyz05j4jm960ambk49g2phw22zz5q8c9a1zfhrya"; | |
# doCheck = false; | |
# jailbreak = true; | |
# isLibrary = true; | |
# isExecutable = false; | |
# revision = null; | |
# editedCabalFile = null; | |
# }); | |
}; | |
packageOverrides = pkgs: with pkgs; rec { | |
linuxPackages_4_6_rt = linuxPackages_4_6_rt.override { | |
kernelPatches = super.linuxPackages_4_6_rt.kernelPatches ++ [ | |
# Fix Bumblebee for T440p | |
{ name = "pcipm-nouveau-pm2"; | |
patch = fetchurl { | |
url = "https://lekensteyn.nl/files/linux-v4.6-pcipm-nouveau-pm2.patch"; | |
sha256 = "8caa840429de855188b3e262b66708a2b70af05652286015b8e1f6f8ea90f12d"; | |
}; | |
} | |
]; | |
extraConfig = '' | |
SCHED_BFS y | |
''; | |
}; | |
# jrePlugin = pkgs.jre8Plugin; | |
# qt4 = pkgs.qt4.override { gtkStyle = true; }; | |
# qt53 = pkgs.qt53.override { gtkStyle = true; }; | |
bumblebee = pkgs.bumblebee.override { | |
extraNvidiaDeviceOptions = '' | |
# custom setup | |
BusID "PCI:2:0:0" | |
Option "DRI" "3" | |
Option "AllowGLXWithComposite" "true" | |
Option "TwinView" "true" | |
Option "AddARGBGLXVisuals" "true" | |
Option "DisableGLXRootClipping" "true" | |
Option "DamageEvents" "true" | |
Option "RenderAccel" "true" | |
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }" | |
Option "AllowIndirectGLXProtocol" "off" | |
# caution here | |
Option "UseEvents" "false" | |
Option "TripleBuffer" "true" | |
Option "BackingStore" "true" | |
Option "Coolbits" "1" | |
Option "AccelMethod" "EXA" | |
Option "MigrationHeuristic" "greedy" | |
Option "AccelDFS" "true" | |
Option "EnablePageFlip" "true" | |
Option "EnableDepthMoves" "true" | |
Option "RegistryDwords" "EnableBrightnessControl=1" | |
''; | |
}; | |
lts-5_15 = (pkgs.haskell.packages.lts-5_15.override rec { | |
overrides = config.haskellPackageOverrides or (self: super: { | |
vector-algorithms = pkgs.haskell.lib.overrideCabal super.vector-algorithms (drv: { | |
libraryHaskellDepends = with self; [ mtl mwc-random ] ++ drv.libraryHaskellDepends; | |
# libraryHaskellDepends = with self; [ base bytestring primitive vector mtl mwc-random ]; | |
# testHaskellDepends = with self; [ base bytestring primitive vector mtl mwc-random ]; | |
# executableHaskellDepends = with self; [ base bytestring primitive vector mtl mwc-random ]; | |
# doCheck = false; | |
# jailbreak = true; | |
# isLibrary = true; | |
# isExecutable = false; | |
# revision = null; | |
# editedCabalFile = null; | |
}); | |
}); | |
}); | |
numix_solarized-gtk-theme = with pkgs; stdenv.mkDerivation rec { | |
version = "0.0.1"; | |
name = "numix_solarized-gtk-theme-${version}"; | |
src = fetchFromGitHub { | |
owner = "Ferdi265"; | |
repo = "numix-solarized-gtk-theme"; | |
rev = "b6fce07c95a84dd618ed8594d441d0543192c1bb"; | |
sha256 = "0gix5gx0n2bqyig3ngc9ky4296kqhnjr2vzjkidsjlkqp8raalmw"; | |
}; | |
# actuall, buildDepends, but in case of buildDepends it don't see sass in $PATH, not sure, why | |
buildInputs = [ gdk_pixbuf glib sass libxml2 ]; | |
buildPhase = '' | |
make DESTDIR=$out | |
''; | |
prePatch = '' | |
sed -i 's/Numix/Numix Solarized/g' index.theme | |
export bkgrn=586e75 | |
export white=eee8d5 | |
export black=002b36 | |
sed -i 's/selected_bg_color: #[^\\n]*;/selected_bg_color: #'$bkgrn';/g' gtk-3.0/scss/_global.scss | |
sed -i 's/selected_bg_color: #[^\\n]*;/selected_bg_color: #'$bkgrn';/g' gtk-3.20/scss/_global.scss | |
sed -i 's/white: #fff;/white: #'$white';/g' gtk-3.0/scss/_global.scss | |
sed -i 's/white: #fff;/white: #'$white';/g' gtk-3.20/scss/_global.scss | |
sed -i 's/black: #000;/black: #'$black';/g' gtk-3.0/scss/_global.scss | |
sed -i 's/black: #000;/black: #'$black';/g' gtk-3.20/scss/_global.scss | |
sed -i 's/nselected_bg_color:#[^\\n]*\\n/nselected_bg_color:#'$bkgrn'\\n/g' gtk-2.0/gtkrc | |
''; | |
installPhase = '' | |
install -dm 755 $out/share/themes/Numix\ Solarized | |
cp -dr --no-preserve='ownership' {LICENSE,CREDITS,index.theme,README.md,gtk-2.0,gtk-3.0,gtk-3.20,metacity-1,openbox-3,unity,xfce-notify-4.0,xfwm4} $out/share/themes/Numix\ Solarized/ | |
''; | |
# installPhase = '' | |
# make DESTDIR=$out install | |
# ''; | |
meta = { | |
description = "Numix Solarized GTK theme"; | |
homepage = http://bitterologist.deviantart.com/art/Numix-Solarized-417575928; | |
license = stdenv.lib.licenses.gpl3; | |
platforms = stdenv.lib.platforms.all; | |
}; | |
}; | |
conkeror-unwrapped = pkgs.stdenv.lib.overrideDerivation pkgs.conkeror-unwrapped (attrs: rec { | |
version = "1.0.3"; | |
src = fetchgit { | |
url = "git://repo.or.cz/conkeror.git"; | |
rev = "refs/tags/${version}"; | |
sha256 = "06fhfk8km3gd1lc19543zn0c71zfbn8wsalinvm1dbgi724f52pd"; | |
}; | |
}); | |
# vstsdk = fetchzip { | |
# name = "vstsdk-3.6.5"; | |
# url = "file://" + requireFile { | |
# url = http://www.steinberg.net/sdk_downloads/vstsdk365_28_08_2015_build_66.zip; | |
# sha256 = "18jd2s31hgbgv3765xl9zmljlikryd0104m34qkpc1jmlxzaclac"; | |
# }; | |
# sha256 = "1vgwdplb1jsa4y4azdc93h3prs2jpqpbw2vzvv105amdizvq0f13"; | |
# }; | |
# carla = pkgs.stdenv.mkDerivation rec { | |
# version = "2.0"; | |
# name = "carla-${version}"; | |
# src = fetchzip { | |
# url = "https://github.com/falkTX/Carla/archive/master.zip"; | |
# sha256 = "13sp36jyvdksxpz77ijddjdmdlhq9yvlb1z93p0nr7bpc4xp567q"; | |
# }; | |
# buildInputs = with pkgs; [ | |
# wineWow | |
# pkgconfig | |
# python3 | |
# # pyliblo - does not exist | |
# # liblo - enable this if pyliblo exists | |
# libclthreads | |
# libclxclient | |
# ffmpeg | |
# fluidsynth | |
# mesa_glu | |
# libpng | |
# libsmf | |
# /* linuxsampler */ | |
# ntk | |
# minixml | |
# zita-convolver | |
# zita-resampler | |
# vstsdk | |
# # optionals: | |
# gtk2 # lv2 gtk2 ui support | |
# gtk3 # lv2 gtk3 ui support | |
# /* pygtk # NekoFilter UI */ | |
# /* zlib # extra native plugins */ | |
# /* zynaddsubfx # ZynAddSubFX banks */ | |
# /* windows.mingw_w64 */ | |
# /* windows.mingw_w64_headers */ | |
# makeWrapper | |
# ] ++ (with python34Packages; | |
# [ wrapPython | |
# pyqt5 | |
# ]); | |
# pyuic5 = "PYUIC5=${pkgs.python34Packages.pyqt5}/bin/pyuic5"; | |
# phaseNames = [ "wrapBinContentsPython" ]; | |
# buildPhase = '' | |
# sed -i source/Makefile.mk -e "s#CARLA_VESTIGE_HEADER = true##" | |
# rm -r source/includes/vestige | |
# ln -s ${pkgs.vstsdk} source/includes/vst2 | |
# export ${pyuic5} | |
# export PREFIX=$out | |
# #echo "=== compiling win64 ===" | |
# #make win64 | |
# #echo "=== compiling wine64 ===" | |
# #make wine64 | |
# #echo "=== compiling carla ===" | |
# make | |
# ''; | |
# installPhase = '' | |
# make ${pyuic5} install PREFIX=$out | |
# for i in $out/bin/*; do | |
# wrapProgram "$i" --set PYTHONPATH $PYTHONPATH | |
# done | |
# for i in $out/bin/.*wrapped; do | |
# sed -i $i \ | |
# -e "s#python#${pkgs.python3}/bin/python3#" | |
# done | |
# for i in $out/share/carla/resources/{*-ui,*-plugin*}; do | |
# patch --batch $i ${./fixpypath.patch} | |
# done | |
# ''; | |
# meta = with stdenv.lib; { | |
# description = "Audio plugin host"; | |
# homepage = http://ardour.org/; | |
# license = licenses.gpl2; | |
# platforms = platforms.linux; | |
# maintainers = [ maintainers.joelmo ]; | |
# }; | |
# }; | |
xombrero = with pkgs; stdenv.mkDerivation rec { | |
# TODO: gtk2 flag support | |
version = "1.6.4"; | |
pname = "xombrero"; | |
name = "${pname}-${version}"; | |
src = fetchFromGitHub { | |
owner = "conformal"; | |
repo = "${pname}"; | |
rev = "28d140688dd5944df75568b2f6c785069a5883aa"; | |
sha256 = "0376yyz2ybzgp7q9j1rvwxfmgww4hhkaq3fd6l7gljphjj6qvcqj"; | |
}; | |
preFixup='' | |
wrapProgram "$out/bin/$pname" \ | |
--prefix GIO_EXTRA_MODULES : "${gnome3.glib_networking.out}/lib/gio/modules:${gnome3.dconf}/lib/gio/modules" \ | |
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" | |
''; | |
buildInputs = [gnutls desktop_file_utils perl libbsd gtk3 gnome3.webkitgtk24x pkgconfig groff makeWrapper gsettings_desktop_schemas ]; | |
makeFlags = [ "-C" "linux" "GTK_VERSION=gtk3" "PREFIX=\${out}" ]; | |
installFlags = [ "PREFIX=\${out}" ]; | |
# preInstall = "cp -r share/$pname $out/share/$pname"; | |
# environment.pathsToLink = [ "/share/$pname" ]; | |
# outputs = [ "out" "man" "${pname}" ]; | |
}; | |
# patched version for VFS5011 sensor, unreliable | |
# fprintd = pkgs.stdenv.lib.overrideDerivation pkgs.fprintd (attrs: { | |
# src = pkgs.fetchFromGitHub { | |
# owner = "abbradar"; | |
# repo = "fprint_vfs5011"; | |
# rev = "faa090818200ca3ea6bfac8bb510e5e01a246c34"; | |
# sha256 = "0msiwk5f88030my6chchy5xzsmfd5x8m2inyg7br3jdx2vjr0mw3"; | |
# }; | |
# }); | |
# # tmux = pkgs.stdenv.lib.overrideDerivation pkgs.tmux (attrs: { | |
# # version = "2.2"; | |
# # }); | |
emacs = pkgs.stdenv.lib.overrideDerivation (pkgs.emacs.override { | |
withGTK2 = false; | |
withGTK3 = true; | |
# imagemagick = pkgs.imagemagickBig; | |
}) (attrs: { | |
# src = pkgs.fetchgit { | |
# rev = "f85318cdcdc2f7cf7729117fcc841407776c7e4b"; | |
# url = "git://git.savannah.gnu.org/emacs.git"; | |
# sha256 = "1hqghjgr0kdhwgmw6nnilnw2dmmb7arcd14iyrai2z61krv0z29j"; | |
# }; | |
patches = map pkgs.fetchurl [ | |
{ url = "https://gist.githubusercontent.com/choppsv1/e8198df70cb1778b04d6/raw/99b9c436c5b7dc96f2d4645b7b2cdeec614f7698/emacs-24.5-24bit.diff"; | |
sha256 = "04jbskhhd90h5xkj2575kzs9p1lady864l6ng3c7jpsk2hhcxsgv"; | |
} | |
]; | |
}); | |
urxvt = pkgs.stdenv.lib.overrideDerivation pkgs.rxvt_unicode (attrs: { | |
src = pkgs.fetchgit { | |
url = "https://github.com/spudowiar/rxvt-unicode.git"; | |
rev = "d6732943f1e79f09fa1bd86dbeb4e02a06bdfc18"; | |
sha256 = "1xh7b71f1a2zblykymcjmpnqw2jvmz114fc1sfvpjvq6rvswc93m"; | |
fetchSubmodules = true; | |
}; | |
preConfigure = '' | |
mkdir -p $terminfo/share/terminfo | |
configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color --enable-24-bit-color --enable-combining --enable-fading --enable-font-styles --enable-iso14755 --enable-keepscrolling --enable-lastlog --enable-mousewheel --enable-next-scroll --enable-perl --enable-pointer-blank --enable-rxvt-scroll --enable-selectionscrolling --enable-slipwheeling --disable-smart-resize --enable-startup-notification --enable-transparency --enable-unicode3 --enable-utmp --enable-wtmp --enable-xft --enable-xim --enable-xterm-scroll --disable-pixbuf --disable-frills" | |
export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic | |
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.freetype}/include/freetype2" | |
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender " | |
mkdir -p $out/lib/perl5 | |
ln -s $out/{lib/urxvt,lib/perl5/site_perl} | |
''; | |
}); | |
urxvt-with-plugins = pkgs.rxvt_unicode_with-plugins.override { | |
rxvt_unicode = urxvt; | |
}; | |
# # st = pkgs.stdenv.lib.overrideDerivation pkgs.st (attrs: rec { | |
# # patches = map pkgs.fetchurl [ | |
# # { url = "http://st.suckless.org/patches/st-0.6-argbbg.diff"; | |
# # sha256 = "0ig87m5dp0p08dl9idq7vsg5w0w5h24lpaj6kbfr9bl81zh0rjl4"; | |
# # } | |
# # { url = "http://st.suckless.org/patches/st-git-20151119-solarized-light.diff"; | |
# # sha256 = "14bi0vsvyj75mp5nqsp34c2x8kkkv9c2q0kbx495k2a4gcsgv1s7"; | |
# # } | |
# # ]; | |
# # }); | |
rofi = pkgs.stdenv.lib.overrideDerivation pkgs.rofi (attrs: { | |
version = "0.15.8"; | |
postInstall = '' | |
ln -s "$out/bin/rofi" "$out/bin/dmenu" | |
''; | |
}); | |
skype = pkgs.stdenv.lib.overrideDerivation pkgs.skype (attrs: { | |
buildInputs = with pkgs.pkgsi686Linux; [gtk-engine-murrine gtk_engines gnome.gtk gnome3.gtk gdk_pixbuf libcanberra_gtk3] ++ attrs.buildInputs; | |
}); | |
moc = pkgs.stdenv.lib.overrideDerivation pkgs.moc (attrs: { | |
buildInputs = attrs.buildInputs ++ (with pkgs; [ libsamplerate taglib libmpcdec wavpack faad2 curl file ]); # +librcc +libmagic -libmpc | |
configureFlags = "--with-rcc --without-oss --with-alsa --with-jack --with-aac --with-mp3 --with-musepack --with-vorbis --with-flac --with-wavpack --with-sndfile --with-modplug --with-ffmpeg --with-speex --with-timidity --with-samplerate --with-curl --with-sidplay2 --with-magic --disable-cache --disable-debug"; | |
}); | |
sox = pkgs.sox.override { | |
enableLame = true; | |
enableAMR = true; | |
}; | |
ffmpeg-full = pkgs.ffmpeg-full.override { | |
lame = true; | |
# TODO: a lot of flags here... | |
}; | |
vlc = pkgs.vlc.override { | |
jackSupport = true; | |
}; | |
# gnome.gtk = pkgs.stdenv.lib.overrideDerivation pkgs.gnome.gtk (attrs: { | |
# prePatch = '' | |
# substituteInPlace gtk/gtkprivate.h '#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_CONTROL_MASK' '#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_SUPER_MASK' | |
# ''; | |
# }); | |
# gnome3.gtk = pkgs.stdenv.lib.overrideDerivation pkgs.gnome3.gtk (attrs: { | |
# prePatch = '' | |
# substituteInPlace gtk/gtkprivate.h '#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_CONTROL_MASK' '#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_SUPER_MASK' | |
# ''; | |
# }); | |
# wicd = pkgs.wicd.override { | |
# python = pkgs.python34; | |
# }; | |
# sxiv_xft = pkgs.stdenv.lib.overrideDerivation (pkgs.sxiv.override | |
# (args: args) // { # here add new args | |
# # withImagemagick = true; | |
# # withLibjpeg = true; | |
# # withGimp = true; | |
# } | |
# ) (attrs: { | |
# name = "sxiv_xft-2013.10.27"; | |
# # meta.description = "Simple (or small or suckless) X Image Viewer with manga view mode (-m) (baskerville xft fork)"; | |
# prePatch = '' | |
# substituteInPlace config.def.h 'static const char * const BAR_FONT = "Monospace:size=9";' 'static const char * const BAR_FONT = "Inconsolata LGC:size=8.6";' | |
# substituteInPlace config.def.h 'static const char * const WIN_BG_COLOR = "#555555";' 'static const char * const WIN_BG_COLOR = "#fdf6e3";' | |
# substituteInPlace config.def.h 'static const char * const WIN_FS_COLOR = "#000000";' 'static const char * const WIN_FS_COLOR = "#657b83";' | |
# substituteInPlace config.def.h 'static const char * const SEL_COLOR = "#EEEEEE";' 'static const char * const SEL_COLOR = "#eee8d5";' | |
# substituteInPlace config.def.h 'static const char * const BAR_BG_COLOR = "#222222";' 'static const char * const BAR_BG_COLOR = "#fdf6e3";' | |
# substituteInPlace config.def.h 'static const char * const BAR_FG_COLOR = "#EEEEEE";' 'static const char * const BAR_FG_COLOR = "#657b83";' | |
# ''; | |
# src = pkgs.fetchFromGitHub { | |
# owner = "Pitometsu"; | |
# repo = "sxiv"; | |
# # branch = "xft"; | |
# sha256 = "02zj4gmckaca5ryxb52ma1fd26gm2fjpahz7f7iv801qs8i88b1j"; | |
# rev = "6af450670d20cfaa779013e85e709eb3fe022c52"; | |
# }; | |
# # patches = [ | |
# # (let manga_patch = { | |
# # name = "manga-patch"; | |
# # src = import <nix/fetchurl.nix> { | |
# # url = "https://github.com/baskerville/sxiv/commit/77eb07637d14c432319605d3e383d37ff1a91850.patch"; | |
# # md5 = "7faf8df927e34a44802ecc17e7b80755"; | |
# # }; | |
# # }; in manga_patch.src) | |
# # (let xft_patch = { | |
# # name = "xft-patch"; | |
# # src = import <nix/fetchurl.nix> { | |
# # url = "https://github.com/baskerville/sxiv/commit/ea4ea27cae735f107c191eb4590db357f9ee5d4f.patch"; | |
# # md5 = "0b8cc129d9d078322fa82179544cc008"; | |
# # }; | |
# # }; in xft_patch.src) | |
# # ]; | |
# # buildInputs = attrs.buildInputs ++ [ pkgs.xlibs.libXft ] ++ stdenv.lib.optional attrs.withImagemagick pkgs.imagemagick ++ stdenv.lib.optional attrs.withLibjpeg pkgs.libjpeg ++ stdenv.lib.optional attrs.withGimp pkgs.gimp; | |
# buildInputs = attrs.buildInputs ++ [ pkgs.xlibs.libXft ]; | |
# # buildDepends = [ pkgs.xlibs.libXft ]; | |
# }); | |
}; | |
}; | |
# system.copySystemConfiguration = true; # broken because of chroot | |
services.ntp.enable = true; | |
time.timeZone = "Europe/Kiev"; | |
# Select internationalisation properties. | |
i18n = { | |
consoleFont = "${pkgs.terminus_font}/share/consolefonts/ter-v16n.psf.gz"; | |
consoleKeyMap = "dvp"; | |
defaultLocale = "en_US.UTF-8"; | |
# consoleUseXkbConfig = true; | |
}; | |
programs.zsh = { | |
enable = true; | |
interactiveShellInit = '' | |
x-copy-region-as-kill () { | |
zle copy-region-as-kill | |
print -rn $CUTBUFFER | xsel --clipboard --input --display :0 | |
} | |
zle -N x-copy-region-as-kill | |
x-kill-region () { | |
zle kill-region | |
print -rn $CUTBUFFER | xsel --clipboard --input --display :0 | |
} | |
zle -N x-kill-region | |
x-yank () { | |
CUTBUFFER=$(xsel --clipboard --output --display :0 < /dev/null) | |
zle yank | |
} | |
zle -N x-yank | |
bindkey -e '\ew' x-copy-region-as-kill | |
bindkey -e '^w' x-kill-region | |
bindkey -e '^y' x-yank | |
setopt extended_glob | |
''; | |
}; | |
environment = { | |
shellAliases = { | |
j = "jobs"; | |
g = "git"; | |
gl = "git log --pretty=format:\"%an, %ar, %h: %s\""; | |
gs = "git status"; | |
gf = "git fetch"; | |
ga = "git add"; | |
gcl = "git clone"; | |
gc = "git commit -m"; | |
gca = "git commit -a -m"; | |
gp = "git pull --rebase && git push"; | |
gull = "git pull --rebase"; | |
gpp = "git pull --rebase git push"; | |
gush = "git push"; | |
gm = "git merge"; | |
gb = "git branch"; | |
gco = "git checkout"; | |
gd = "git diff"; | |
gu = "git ls-files --other --exclude-standard"; | |
gt = "git log --graph --oneline --decorate --all"; | |
gsm = "git submodule"; | |
ecw = "emacsclient"; | |
ec = "emacsclient -nw"; | |
gr = "egrep -s --colour=auto"; | |
t = "tree -C"; | |
t1 = "t -L 1"; | |
lls = "ls -F -h --color=auto"; | |
ll = "ls -l"; | |
la = "ls -a"; | |
ls = "ls -h"; | |
lla = "la -1"; | |
l = "ls"; | |
nano = "nano -w"; | |
cp = "cp -viR"; | |
mv = "mv -vi"; | |
rm = "rm -viR"; | |
md = "mkdir -p -v"; | |
# jackD = "set_rlimits jackd -Rv -p512 -d alsa -dhw:1 -r96000 -p4096 -n2 -Xseq"; | |
df = "df -h"; | |
du = "du -h"; | |
# burndvd = "growisofs -Z /dev/dvdrw -R -J"; | |
# burndvdISO = "growisofs -dvd-compat -Z /dev/dvdrw="; | |
# burncd = "mkisofs -r -f -jcharset=cp1251 -C $(cdrecord dev=/dev/cdrw -msinfo) -M /dev/cdrw $HOME/forburn/ | cdrecord --speed=4 -v -multi driveropts=burnfree -eject dev=/dev/cdrw -"; | |
# burncdISO = "cdrecord --speed=4 -v -multi driveropts=burnfree -eject dev=/dev/cdrw"; | |
# blankcd = "cdrecord --dev=/dev/cdrw --blank=fast"; | |
# bl = "baudline_jack -waveform -realtime -record -jack -inconnect"; | |
wget = "wget --no-check-certificate"; | |
wgetp = "wgetpaste -rXvt"; | |
killall = "pkill"; | |
pbcopy = "xsel --clipboard --input --display :0"; | |
pbpaste = "xsel --clipboard --output --display :0"; | |
open = "DISPLAY=:0 xdg-open"; | |
zip = "zip -r"; | |
ew = "emacs -Q"; | |
et = "emacs -nw -Q"; | |
tv = "pv -p --timer --rate --bytes"; | |
dmesg = "dmesg --color=always"; | |
less = "less -R"; | |
s = "ssh"; | |
c = "curl"; | |
f = "find"; | |
h = "heroku"; | |
haix = "heroku sudo apps:info -xa"; | |
be = "bundle exec"; | |
# tmux | |
tma = "tmux attach -d -t"; | |
tmn = "tmux new -s $(basename $(pwd))"; | |
tml = "tmux list-sessions"; | |
nixpaste = "curl -F \"text=<-\" http://nixpaste.lbr.uno"; | |
nixos-fix = "nix-store --verify --check-contents --repair"; | |
nixos-repkg = "nix-build --check -A"; | |
nixos-clean = "nix-collect-garbage -d"; | |
nixos-search = "nix-env -qaP --description \\* | sed -re \"s/^nixos\\.//g\" | fgrep -i"; | |
nixos-update = "nixos-rebuild switch"; | |
nixos-upgrade = "nixos-rebuild switch --upgrade"; | |
nxf = "nixos-fix"; | |
nxr = "nixos-repkg"; | |
nxc = "nixos-clean"; | |
nxs = "nixos-search"; | |
nxu = "nixos-update"; | |
nxg = "nixos-upgrade"; # TODO: sync git in /etc/nixos/* from imports | |
}; | |
shells = [ | |
"/run/current-system/sw/bin/zsh" | |
"/run/current-system/sw/bin/bash" | |
]; | |
variables = with pkgs; rec { | |
EDITOR = "et"; | |
# DRI_PRIME = "1"; | |
VDPAU_DRIVER = "va_gl"; | |
QT_STYLE_OVERRIDE = "GTK+"; | |
# fish ssl for git, see: https://github.com/NixOS/nixpkgs/issues/3382 | |
# GIT_SSL_CAINFO="/etc/ssl/certs/ca-certificates.crt"; | |
# Fix Gtk org.a11y.Bus error. Or just add at-spi2-core-2.20.1/etc/xdg to /run/current-system/sw/etc/xdg ??? See: https://github.com/NixOS/nixpkgs/issues/16327 | |
# NO_AT_BRIDGE = "1"; | |
# nvidia tearing | |
__GL_YIELD = "USLEEP"; | |
__GL_THREADED_OPTIMIZATIONS = "1"; | |
# Fix webkitgtk | |
# GIO_EXTRA_MODULES = "${glib_networking}/lib/gio/modules"; | |
# GIO_EXTRA_MODULES = "${dconf}/lib/gio/modules" | |
# GIO_EXTRA_MODULES = "${glib}/lib/gio/modules" | |
# GIO_EXTRA_MODULES = "${gconf}/lib/gio/modules" | |
# GSETTINGS_SCHEMA_DIR = "${glib}/share/glib-2.0/schemas"; | |
# GSETTINGS_SCHEMA_PATH = "\$GSETTINGS_SCHEMA_DIR"; | |
# XDG_DATA_DIRS = "${glib}/share:${gtk3}/share:\$GSETTINGS_SCHEMAS_PATH:\$XDG_ICON_DIRS:\$XDG_DATA_DIRS"; | |
# XDG_ICON_DIRS = ... | |
XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons:\$XCURSOR_PATH"; | |
XDG_CONFIG_DIRS = "${gnome3.gnome_settings_daemon}/etc/xdg:\$XDG_CONFIG_DIRS"; | |
# GTK2 theme | |
GTK_PATH = "\$GTK_PATH:${gtk-engine-murrine}/lib/gtk-2.0"; | |
GTK2_RC_FILES = "${pkgs.writeText "iconrc" ''gtk-icon-theme-name="Numix-Light"''}:${pkgs.numix_solarized-gtk-theme}/share/themes/Numix\ Solarized/gtk-2.0/gtkrc:\$GTK2_RC_FILES"; | |
# GTK3 theme | |
GTK_THEME = "Numix Solarized"; | |
XDG_DATA_DIRS = "${numix_solarized-gtk-theme}/share:\$XDG_DATA_DIRS"; | |
# export XDG_CONFIG_DIR S ="/etc/xdg:\$XDG_CONFIG_DIRS"; | |
# XCURSOR_PATH = ... | |
# SVG loader for pixbuf (needed for svg icon themes) | |
GDK_PIXBUF_MODULE_FILE = "\$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)"; | |
# Set GTK_DATA_PREFIX so that GTK+ can find the system themes. | |
GTK_DATA_PREFIX = "\$GTK_DATA_PREFIX:${config.system.path}:${pkgs.numix_solarized-gtk-theme}"; | |
}; | |
interactiveShellInit = '' | |
''; | |
extraInit = '' | |
''; | |
# binsh = "${pkgs.dash}/bin/dash"; # SLIM not work with DASH :'( | |
# shellInit = '' | |
# export VST_PATH=/nix/var/nix/profiles/default/lib/vst:/var/run/current-system/sw/lib/vst:~/.vst | |
# export LXVST_PATH=/nix/var/nix/profiles/default/lib/lxvst:/var/run/current-system/sw/lib/lxvst:~/.lxvst | |
# export LADSPA_PATH=/nix/var/nix/profiles/default/lib/ladspa:/var/run/current-system/sw/lib/ladspa:~/.ladspa | |
# export LV2_PATH=/nix/var/nix/profiles/default/lib/lv2:/var/run/current-system/sw/lib/lv2:~/.lv2 | |
# export DSSI_PATH=/nix/var/nix/profiles/default/lib/dssi:/var/run/current-system/sw/lib/dssi:~/.dssi | |
# ''; | |
# /var/run/current-system/sw/etc/profile | |
# shellInit = '' | |
# # =================================== | |
# # SYSTEM WIDE CONFIGURATION GOES HERE | |
# # =================================== | |
# # Set GTK_PATH so that GTK+ can find themes engine. | |
# export GTK_PATH=$GTK_PATH:${pkgs.numix-gtk-theme}/lib/gtk-2.0::${pkgs.numix-gtk-theme}/lib/gtk-3.0:${pkgs.gtk-engine-murrine}/lib/gtk-2.0 | |
# # Set GTK2 RC | |
# export GTK2_RC_FILES=$GTK2_RC_FILES:${pkgs.numix-gtk-theme}/share/themes/Numix/gtk-2.0/gtkrc | |
# # Set GTK_DATA_PREFIX so that GTK+ can find the system themes. | |
# export GTK_DATA_PREFIX=$GTK_DATA_PREFIX:${config.system.path} | |
# # =================================== | |
# ''; | |
# pathsToLink = | |
# [ "/usr/share/themes" "/usr/share/mime" "/usr/share/desktop-directories" ]; | |
# List packages installed in system profile | |
systemPackages = with pkgs; ([ | |
# appearance | |
lxappearance gtk-engine-murrine hicolor_icon_theme gtk_engines numix-icon-theme numix_solarized-gtk-theme # qt5.qtbase.gtk | |
# desktop | |
lxappearance primus rofi compton-git unclutter haskellPackages.hmenu haskellPackages.yeganesh haskellPackages.xmobar taffybar redshift unclutter scrot screenfetch stalonetray xlaunch xlibs.xev xlibs.xlsfonts xclip xsel primus wmctrl feh xdotool # bgs | |
(let dmenfm = let version = "0.1.2.1"; | |
in with pkgs; stdenv.mkDerivation rec { | |
name = "dmenfm-${version}"; | |
src = fetchFromGitHub { | |
owner = "Pitometsu"; | |
repo = "dmenfm"; | |
rev = "a4b61f49b15ce210fde25aaa87a55a90c0a9f6bf"; | |
sha256 = "14fq6c0kkxg29ikknsmk43j8hg3v70qnma5hs4iisx0dl5p9ma5i"; | |
}; | |
dontBuild = true; | |
installPhase = let | |
bin_dir = "$out/bin"; | |
doc_dir = "$out/share/doc/${name}"; | |
in '' | |
mkdir -pv "${bin_dir}" | |
mkdir -pv "${doc_dir}" | |
cp -v dmenfm "${bin_dir}" | |
cp -v README.md "${doc_dir}" | |
''; | |
meta = with stdenv.lib; { | |
homepage = "https://github.com/hangtwenty/dmenfm#readme"; | |
description = "A simple dmenu-based file manager."; | |
license = licenses.gpl; | |
platforms = platforms.all; | |
}; | |
}; in dmenfm) | |
# env | |
emacs zeal moc mpv st urxvt-with-plugins zathura conkeror chromium transmission_gtk rtorrent gimp-with-plugins inkscape skype qtox weechat gajim sxiv python27Packages.youtube-dl xombrero firefox # sxiv_xft # sxiv_bskv_manga vlc libreoffice firefox-esr-wrapper | |
# emacs wibkit dependensies: | |
python27Packages.pyqt5 | |
python27Packages.epc | |
python27Packages.xlib | |
# qt5.qtwebkit | |
# (let sxiv_xft = with pkgs; stdenv.mkDerivation rec { | |
# name = "sxiv_xft"; | |
# src = fetchgit { | |
# url = "git://github.com/pitometsu/sxiv.git"; | |
# sha256 = "1fapnvaj0cf9gj2gmdls1ch2jh68i51sga9zdmrirmzr9fwqhfhx"; | |
# rev = "6af450670d20cfaa779013e85e709eb3fe022c52"; | |
# }; | |
# postUnpack = '' | |
# substituteInPlace $sourceRoot/Makefile \ | |
# --replace /usr/local $out | |
# ''; | |
# buildInputs = with pkgs.xlibs; [ libX11 imlib2 libXft libXext fontconfig giflib libexif ]; # TODO: make giflib and libexif optional | |
# meta = with stdenv.lib; { | |
# description = "Simple (or small or suckless) X Image Viewer (xft fork)"; | |
# homepage = https://github.com/pitometsu/sxiv; | |
# license = licenses.gpl2Plus; | |
# platforms = platforms.linux; | |
# }; | |
# }; in sxiv_xft) | |
# cli | |
tmux w3m wget zsh nix-zsh-completions tree file lsof # byobu | |
# fun | |
steam | |
# audio | |
# sox soxr | |
pavucontrol lash baudline # ladish patchage gladish/claudia baudline | |
jack2Full qjackctl a2jmidid # spectrojack | |
jaaa jack_rack jalv jackmeter jack_oscrolloscope # zynjacku lv2rack | |
ingen ardour audacious jamin timemachine patchage iannix spectrojack non # laoe jamin luppp iannix algoscore rationale carla non_sequencer non_mixer non_timeline nsm | |
mhwaveedit # reZound | |
puredata # supercollider | |
calf artyFX ams-lv2 | |
# commented out because of broken Faust | |
constant-detune-chorus CharacterCompressor CompBus LazyLimiter | |
# fomp MBdistortion mda_lv2 (hiPrio metersLv2) mod-distortion RhythmDelay rkrlv2 sorcer | |
# swh_lv2 x42-plugins # zam-plugins | |
# dev | |
stack cabal-install cabal2nix llvm (hiPrio clang) gdb gnumake automake autoconf cmake gitAndTools.gitFull diffoscope subversion bazaar bazaarTools cvs mercurial darcs silver-searcher haskellPackages.hobbes nodejs openjdk python3 # postgresql # oraclejre oraclejdk # ghc gcc | |
git-hub heroku nix-repl # howdoi | |
ditaa | |
gnupg | |
# Ruby | |
bundix | |
ruby_2_0 # for emacs plugins | |
# chruby | |
# # RVM -- ???: sholdn't it be in dependencies list? | |
# # git | |
# # gcc | |
# # bash | |
# # curl | |
# which | |
# ## openssl | |
# sqlite | |
# # patch | |
# ## readline | |
# # ncurses | |
# ## zlib | |
# libyaml | |
# libiconv | |
# libxml2 # used by gem nokogiri, rails dependency | |
# libxslt # used by gem nokogiri, rails dependency | |
# libksba | |
# libtool | |
# bison | |
# pkgconfig | |
# # v8 | |
# # Rails | |
# nodejs | |
# python | |
python34Packages.ipython python34Packages.pip python34Packages.virtualenv | |
# sci | |
R graphviz gnuplot # octave (hiPrio texLiveFull) emacs24Packages.ess | |
# utils | |
keychain aspell pastebinit wgetpaste gnupg openvpn qrencode unrar unzip p7zip imagemagickBig pv glxinfo # imgurbash | |
tcpdump reptyr gnutls | |
python27Packages.googlecl python34Packages.youtube-dl gist # haskellPackages.pandoc haskellPackages.hakyll | |
(let clipmenu = # { stdenv | |
# , pkgs | |
# , fetchFromGitHub | |
# , withRofi ? true, rofi | |
# , withDmenu2 ? false, dmenu2 ? null | |
# , dmenu ? null }: | |
with pkgs.stdenv.lib; | |
# assert withRofi -> !withDmenu2 && dmenu2 == null && dmenu == null && rofi != null; | |
# assert withDmenu2 -> !withRofi && rofi == null && dmenu == null && dmenu2 != null; | |
# assert !withRofi && !withDmenu2 -> rofi == null && dmenu2 == null && dmenu != null; | |
let | |
version = "1.1.0"; | |
in | |
stdenv.mkDerivation rec { | |
name = "clipmenu-${version}"; | |
src = fetchFromGitHub { | |
owner = "cdown"; | |
repo = "clipmenu"; | |
rev = "4dfbfed9e2a1a66836816883a14065333abaf8c6"; | |
sha256 = "0dbvrbzrb505sjcv0kyrc0yjzhwwckdpgya7ylrxqpfabklwv7lz"; | |
}; | |
dontBuild = true; | |
installPhase = let | |
bin_dir = "$out/bin"; | |
doc_dir = "$out/share/doc/${name}"; | |
in '' | |
mkdir -pv "${bin_dir}" | |
mkdir -pv "${doc_dir}" | |
cp -v {clipmenu,clipmenud} "${bin_dir}" | |
cp -v {README.md,LICENSE} "${doc_dir}" | |
''; | |
buildInputs = [ bash ] | |
++ [ rofi ]; | |
# ++ optional withRofi [ rofi ] | |
# ++ optional (!withRofi && withDmenu2) [ dmenu2 ] | |
# ++ optional (!withRofi && !withDmenu2) [ dmenu ]; | |
meta = with stdenv.lib; { | |
homepage = "https://github.com/cdown/clipmenu#readme"; | |
description = "clipmenu is a simple clipboard manager using dmenu and xsel."; | |
license = licenses.isc; | |
platforms = platforms.all; | |
}; | |
}; in clipmenu) | |
# sys | |
dash usbutils pciutils lshw htop ntfs3g fbterm nox hdparm powertop aircrackng acpitool mkpasswd reiser4progs udisks bashmount (hiPrio utillinuxCurses) parted gptfdisk pmutils # udisks manpages | |
gparted | |
# host | |
# qemu_kvm # linuxPackages_4_6.virtualbox | |
# haskell development and hacking | |
# HUnit broke hoogle suppert for now somewhy | |
# (lts-5_15.ghcWithHoogle (hpkgs: with lts-5_15; [ | |
(lts-5_15.ghcWithPackages (hpkgs: with lts-5_15; [ | |
hoogle | |
hlint | |
hi | |
shake | |
(pkgs.haskell.lib.dontCheck intero) | |
funnyprint | |
haskell-docs | |
stylish-haskell | |
structured-haskell-mode | |
ghc-mod | |
hasktags | |
HaRe | |
])) | |
] # ++ # (with haskellPackages; [ | |
# (haskell.packages.lts-5_15.ghcWithHoogle (hpkgs: with haskell.packages.lts-5_15; [ | |
# hlint hi | |
# (pkgs.haskell.lib.dontCheck intero) | |
# funnyprint | |
# haskell-docs | |
# hscolour ipprint | |
# stylish-haskell | |
# structured-haskell-mode ghc-mod # hdevtools | |
# hasktags | |
# ])) | |
# ]) # ++ (with haskell.packages.ghc784; [ | |
# ghci-ng | |
# structured-haskell-mode # ghc stack hlint ghc-mod hi hdevtools cabal-install | |
# ]) # ++ [ haskell.packages.ghc763.HaRe ] | |
); | |
}; | |
# nixpkgs.config.allowBroken = true; | |
environment.etc."adobe/mms.cfg".text = '' | |
EnableLinuxHWVideoDecode = 1 | |
OverrideGPUValidation = 1 | |
''; | |
fonts = { | |
enableCoreFonts = true; | |
enableFontDir = true; | |
enableGhostscriptFonts = false; | |
fonts = with pkgs; [ | |
symbola | |
font-awesome-ttf | |
libertine | |
# code2000 | |
# code2001 | |
# code2002 | |
terminus_font | |
ubuntu_font_family | |
liberation_ttf | |
freefont_ttf | |
source-code-pro | |
(let inconsolata-lgc = let version = "1.2.0"; | |
in with pkgs; stdenv.mkDerivation rec { | |
name = "inconsolata-lgc-${version}"; | |
src = fetchurl { | |
url = "https://github.com/MihailJP/Inconsolata-LGC/releases/download/LGC-1.2.0/InconsolataLGC-OT-1.2.0.tar.xz"; | |
sha256 = "0rw8i481sdqi0pspbvyd2f86k0vlrb6mbi94jmsl1kms18c18p66"; | |
}; | |
dontBuild = true; | |
installPhase = let | |
fonts_dir = "$out/share/fonts/opentype"; | |
doc_dir = "$out/share/doc/${name}"; | |
in '' | |
mkdir -pv "${fonts_dir}" | |
mkdir -pv "${doc_dir}" | |
cp -v *.otf "${fonts_dir}" | |
cp -v {README,LICENSE,ChangeLog} "${doc_dir}" | |
''; | |
meta = with stdenv.lib; { | |
homepage = http://www.levien.com/type/myfonts/inconsolata.html; | |
description = "A monospace font for both screen and print, LGC extension"; | |
license = licenses.ofl; | |
platforms = platforms.all; | |
}; | |
}; in inconsolata-lgc) | |
inconsolata | |
vistafonts | |
dejavu_fonts | |
freefont_ttf | |
unifont | |
cm_unicode | |
ipafont | |
baekmuk-ttf | |
source-han-sans-japanese | |
source-han-sans-korean | |
source-han-sans-simplified-chinese | |
source-han-sans-traditional-chinese | |
source-sans-pro | |
source-serif-pro | |
fira | |
fira-code | |
fira-mono | |
hasklig | |
]; | |
fontconfig = { | |
enable = true; | |
dpi = 100; | |
antialias = true; | |
hinting = { | |
autohint = false; | |
enable = true; | |
style = "slight"; | |
}; | |
subpixel.lcdfilter = "default"; | |
ultimate = { | |
enable = true; # see also: rendering, substitutions | |
useEmbeddedBitmaps = true; | |
}; | |
defaultFonts = { | |
serif = [ "Source Sans Pro" "DejaVu Serif" "IPAMincho" "Beakmuk Batang" ]; | |
sansSerif = [ "Source Serif Pro" "DejaVu Sans" "IPAGothic" "Beakmuk Dotum" ]; | |
monospace = [ "Inconsolata LGC" "DejaVu Sans Mono" "IPAGothic" "Beakmuk Dotum" ]; | |
}; | |
}; | |
}; | |
environment.etc."fonts/conf.d/98-matches.conf".text = '' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<match target="font"> | |
<!-- Medium hinting for smaller fonts --> | |
<match target="font"> | |
<test compare="more" name="pixelsize" qual="any"><double>5</double></test> | |
<test compare="less_eq" name="pixelsize" qual="any"><double>9</double></test> | |
<edit mode="assign" name="hintstyle"><const>hintmedium</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | |
</match> | |
<!-- Full hinting for smallest fonts --> | |
<match target="font"> | |
<test compare="less_eq" name="pixelsize" qual="any"><double>5</double></test> | |
<edit mode="assign" name="hintstyle"><const>hintfull</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdnone</const></edit> | |
</match> | |
<!-- Medium hinting for bigger fonts --> | |
<match target="font"> | |
<test compare="more_eq" name="pixelsize" qual="any"><double>18</double></test> | |
<test compare="less" name="pixelsize" qual="any"><double>24</double></test> | |
<edit mode="assign" name="hintstyle"><const>hintmedium</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | |
</match> | |
<!-- Full hinting for biggest fonts --> | |
<match target="font"> | |
<test compare="more_eq" name="pixelsize" qual="any"><double>24</double></test> | |
<edit mode="assign" name="hintstyle"><const>hintfull</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdnone</const></edit> | |
</match> | |
<!-- Medium hinting for BOLD bigger fonts --> | |
<match target="font"> | |
<test compare="more_eq" name="pixelsize" qual="any"><double>16</double></test> | |
<test compare="less" name="pixelsize" qual="any"><double>18</double></test> | |
<test name="weight" compare="more"><const>medium</const></test> | |
<edit mode="assign" name="hintstyle"><const>hintmedium</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | |
</match> | |
<!-- Full hinting for BOLD biggest fonts --> | |
<match target="font"> | |
<test compare="more_eq" name="pixelsize" qual="any"><double>18</double></test> | |
<test name="weight" compare="more"><const>medium</const></test> | |
<edit mode="assign" name="hintstyle"><const>hintfull</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdnone</const></edit> | |
</match> | |
<!-- Medium hinting for _italic_ bigger fonts --> | |
<match target="font"> | |
<test compare="more_eq" name="pixelsize" qual="any"><double>16</double></test> | |
<test name="slant" compare="not_eq"><double>0</double></test> | |
<edit mode="assign" name="hintstyle"><const>hintmedium</const></edit> | |
<edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | |
</match> | |
</match> | |
</fontconfig> | |
''; | |
environment.etc."fonts/conf.d/99-aliases.conf".text = '' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<match target="font"> | |
<!-- Use Nimbus Sans L instead of Helvetica --> | |
<alias binding="same"> | |
<family>Helvetica</family> | |
<prefer> | |
<family>Nimbus Sans L</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Nimbus Sans L instead of Segoe UI --> | |
<alias binding="same"> | |
<family>Segoe UI</family> | |
<prefer> | |
<family>Nimbus Sans L</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Sans instead of Arial --> | |
<alias binding="same"> | |
<family>Arial Unicode MS</family> | |
<prefer> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Sans instead of Arial --> | |
<alias binding="same"> | |
<family>Arial</family> | |
<prefer> | |
<family>Liberation Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Sans instead of Corbel --> | |
<alias binding="same"> | |
<family>Corbel</family> | |
<prefer> | |
<family>Liberation Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Sans instead of Candara --> | |
<alias binding="same"> | |
<family>Candara</family> | |
<prefer> | |
<family>Liberation Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Serif instead of Times New Roman --> | |
<alias binding="same"> | |
<family>Times New Roman</family> | |
<prefer> | |
<family>Liberation Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Serif instead of Palatino Linotype --> | |
<alias binding="same"> | |
<family>Palatino Linotype</family> | |
<prefer> | |
<family>Liberation Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Serif instead of Sylfaen --> | |
<alias binding="same"> | |
<family>Sylfaen</family> | |
<prefer> | |
<family>Liberation Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Liberation Serif instead of Cambria --> | |
<alias binding="same"> | |
<family>Cambria</family> | |
<prefer> | |
<family>Liberation Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Droid Serif instead of Georgia --> | |
<alias binding="same"> | |
<family>Georgia</family> | |
<prefer> | |
<family>Droid Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Droid Serif instead of Constantia --> | |
<alias binding="same"> | |
<family>Constantia</family> | |
<prefer> | |
<family>Droid Serif</family> | |
<family>DejaVu Serif</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Ubuntu instead of Calibri --> | |
<alias binding="same"> | |
<family>Calibri</family> | |
<prefer> | |
<family>Ubuntu</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Ubuntu instead of Trebuchet MS --> | |
<alias binding="same"> | |
<family>Trebuchet MS</family> | |
<prefer> | |
<family>Ubuntu</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Ubuntu instead of Segoe Script --> | |
<alias binding="same"> | |
<family>Segoe Script</family> | |
<prefer> | |
<family>Ubuntu</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Ubuntu instead of Lucida Sans Unicode --> | |
<alias binding="same"> | |
<family>Lucida Sans Unicode</family> | |
<prefer> | |
<family>Ubuntu</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Ubuntu instead of Comic Sans MS --> | |
<alias binding="same"> | |
<family>Comic Sans MS</family> | |
<prefer> | |
<family>Ubuntu</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Droid Sans instead of Verdana --> | |
<alias binding="same"> | |
<family>Verdana</family> | |
<prefer> | |
<family>Droid Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Droid Sans instead of Tahoma --> | |
<alias binding="same"> | |
<family>Tahoma</family> | |
<prefer> | |
<family>Droid Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Droid Sans instead of Microsoft Sans Serif --> | |
<alias binding="same"> | |
<family>Microsoft Sans Serif</family> | |
<prefer> | |
<family>Droid Sans</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Inconsolata LGC instead of Consolas --> | |
<alias binding="same"> | |
<family>Consolas</family> | |
<prefer> | |
<family>Inconsolata LGC</family> | |
<family>MigMix 1M</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Inconsolata LGC instead of Monaco --> | |
<alias binding="same"> | |
<family>Monaco</family> | |
<prefer> | |
<family>Inconsolata LGC</family> | |
<family>MigMix 1M</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Use Inconsolata LGC instead of Monaco --> | |
<alias binding="same"> | |
<family>Menlo</family> | |
<prefer> | |
<family>Ubuntu Mono</family> | |
<family>MigMix 1M</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Ubuntu Mono instead of Courier New --> | |
<alias binding="same"> | |
<family>Courier New</family> | |
<prefer> | |
<family>Ubuntu Mono</family> | |
<family>MigMix 1M</family> | |
<family>DejaVu Sans</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
<!-- Ubuntu Mono instead of Lucida Console --> | |
<alias binding="same"> | |
<family>Lucida Console</family> | |
<prefer> | |
<family>Ubuntu Mono</family> | |
<family>MigMix 1M</family> | |
<family>DejaVu Sans Mono</family> | |
<family>Source Han Sans</family> | |
<family>Sazanami-Hanazono Mincho</family> | |
<family>Hancom</family> | |
<family>Code2000</family> | |
<family>Code2001</family> | |
<family>Code2002</family> | |
</prefer> | |
</alias> | |
</match> | |
</fontconfig> | |
''; | |
security.sudo.extraConfig = '' | |
# Disable timeout. | |
Defaults env_reset,timestamp_timeout=0 | |
''; | |
security.setuidPrograms = [ "xlaunch" | |
# "pmount" "pumount" "udevil" | |
]; | |
# List services that you want to enable: | |
# PostgreSQL | |
services.postgresql = { | |
enable = true; | |
package = pkgs.postgresql95; | |
authentication = "local all all ident"; | |
}; | |
# Enable the OpenSSH daemon. | |
# services.openssh.enable = true; | |
services.cron.enable = false; | |
# services.udev = { | |
# extraRules = '' | |
# KERNEL=="rtc0", GROUP="audio" | |
# KERNEL=="hpet", GROUP="audio" | |
# ''; | |
# }; | |
services.udisks2.enable = true; | |
# services.devmon.enable = true; | |
services.kmscon.hwRender = true; | |
services.logind.extraConfig = '' | |
HandleLidSwitch=ignore | |
HandlePowerKey=hybrid-sleep | |
''; | |
# Enable CUPS to print documents. | |
# services.printing.enable = true; | |
# Xorg, WM, DM, DE | |
services.xserver = { | |
useGlamor = true; | |
enable = true; | |
enableTCP = false; | |
exportConfiguration = true; | |
layout = "us,ru"; | |
xkbVariant = "dvp,winkeys"; | |
xkbOptions = "grp:shift_toggle,grp_led:caps,ctrl:nocaps,altwin:meta_alt,altwin:super_win,altwin:hyper_win"; | |
# autorun = false; | |
videoDrivers = [ "intel" ]; | |
synaptics = { | |
enable = true; | |
accelFactor = "0.005"; | |
vertEdgeScroll = false; | |
horizEdgeScroll = false; | |
tapButtons = false; | |
buttonsMap = [ 0 0 0 ]; | |
fingersMap = [ 1 3 2 ]; | |
twoFingerScroll = true; | |
palmDetect = true; | |
palmMinZ = 100; | |
palmMinWidth = 8; | |
additionalOptions = '' | |
Option "MaxTapTime" "0" | |
''; | |
}; | |
config = '' | |
# /etc/X11/xorg.conf.d/50-thinkpad_trackpoint.conf | |
Section "InputClass" | |
Identifier "TrackPoint" | |
MatchProduct "TrackPoint" | |
MatchDriver "evdev" | |
# MatchDevicePath "event" | |
Option "EmulateWheel" "true" | |
Option "EmulateWheelButton" "2" | |
Option "EmulateWheelTimeOut" "200" | |
Option "XAxisMapping" "6 7" | |
Option "YAxisMapping" "4 5" | |
Option "ZAxisMapping" "4 5" | |
Option "AccelerationProfile" "2" | |
Option "AccelerationNumerator" "5" | |
Option "AccelerationDenominator" "3" | |
Option "AccelerationThreshold" "4" | |
Option "AdaptiveDeceleration" "2" | |
# Option "ConstantDeceleration" "2" | |
EndSection | |
# /etc/X11/xorg.conf.d/60-mouse-acceleration.conf | |
Section "InputClass" | |
Identifier "My Mouse" | |
MatchIsPointer "yes" | |
# set the following to 1 1 0 respectively to disable acceleration. | |
Option "AccelerationNumerator" "2" | |
Option "AccelerationDenominator" "1" | |
Option "AccelerationThreshold" "4" | |
EndSection | |
# Disable black screen | |
Section "Monitor" | |
Identifier "LVDS0" | |
Option "DPMS" "false" | |
EndSection | |
Section "ServerLayout" | |
Identifier "ServerLayout0" | |
Option "StandbyTime" "0" | |
Option "SuspendTime" "0" | |
Option "OffTime" "0" | |
Option "BlankTime" "0" | |
Option "OffTime" "0" | |
EndSection | |
''; | |
# deviceSection = '' | |
# # custom setup | |
# BusID "PCI:0:2:0" | |
# Option "DRI" "3" | |
# Option "AllowGLXWithComposite" "true" | |
# Option "TwinView" "true" | |
# Option "XvMC" "true" | |
# Option "XAANoOffscreenPixmaps" "true" | |
# Option "UseEvents" "true" | |
# Option "TearFree" "true" | |
# Option "Tiling" "true" | |
# Option "SwapBuffersWait" "true" | |
# Option "Backlight" "intel_backlight" | |
# ''; | |
# inputClassSections = [ | |
# '' | |
# Identifier "TrackPoint" | |
# MatchProduct "TrackPoint" | |
# MatchDriver "evdev" | |
# Option "EmulateWheel" "true" | |
# Option "EmulateWheelButton" "2" | |
# Option "EmulateWheelTimeOut" "200" | |
# Option "XAxisMapping" "6 7" | |
# Option "YAxisMapping" "4 5" | |
# Option "ZAxisMapping" "4 5" | |
# Option "AccelerationProfile" "2" | |
# Option "AccelerationNumerator" "5" | |
# Option "AccelerationDenominator" "3" | |
# Option "AccelerationThreshold" "4" | |
# Option "AdaptiveDeceleration" "2" | |
# '' | |
# '' | |
# Identifier "Mouse" | |
# MatchIsPointer "yes" | |
# # set the following to 1 1 0 respectively to disable acceleration. | |
# Option "AccelerationNumerator" "2" | |
# Option "AccelerationDenominator" "1" | |
# Option "AccelerationThreshold" "4" | |
# '' | |
# ]; | |
# moduleSection = '' | |
# # custom setup | |
# Load "glx" | |
# Load "dbe" | |
# Load "extmod" | |
# Load "dri" | |
# ''; | |
# monitorSection = '' | |
# # custom setup | |
# Option "DPMS" "false" | |
# Option "PreferredMode" "1920x1080" | |
# DisplaySize 309 173 | |
# ''; | |
# screenSection = '' | |
# DefaultDepth 24 | |
# ''; | |
# serverFlagsSection = '' | |
# # custom setup | |
# # Option "DefaultServerLayout" "Layout[all]" | |
# Option "AIGLX" "true" | |
# Option "VTSysReq" "True" | |
# Option "Xinerama" "true" | |
# Option "DRI2" "true" | |
# Option "GlxVisuals" "all" | |
# Option "StandbyTime" "0" | |
# Option "SuspendTime" "0" | |
# Option "OffTime" "0" | |
# Option "BlankTime" "0" | |
# ''; | |
# serverLayoutSection = '' | |
# # custom setup | |
# # Option "AutoAddDevices" "false" | |
# Option "AutoAddDevices" "true" | |
# Option "AutoAddGPU" "false" | |
# Option "AIGLX" "true" | |
# Option "IsolateDevice" "PCI:0:2:0" | |
# ''; | |
# config = '' | |
# Section "Extensions" | |
# Option "Composite" "Enable" | |
# EndSection | |
# ''; | |
desktopManager = { | |
kde4.enable = false; | |
xterm.enable = false; | |
default = "none"; | |
}; | |
displayManager.slim = { | |
enable = true; | |
defaultUser = "netsu"; | |
# autoLogin = true; | |
# hideCursor = true; | |
}; | |
windowManager.xmonad = { | |
enable = true; | |
enableContribAndExtras = true; | |
}; | |
}; | |
# services.mingetty.autologinUser = "netsu"; | |
services.gnome3.at-spi2-core.enable = true; | |
services.acpid.enable = true; | |
services.hdapsd.enable = true; | |
# services.fprintd.enable = true; | |
# services.thinkfan.enable = true; | |
# services.thinkfan.sensor = "/sys/class/hwmon/hwmon0/temp1_input"; | |
powerManagement.enable = true; | |
# powerManagement.cpuFreqGovernor = "ondemand"; | |
# powerManagement.cpuFreqGovernor = "performance"; | |
hardware = { | |
opengl = { | |
extraPackages = with pkgs; [ vaapiIntel vaapiVdpau ]; | |
driSupport32Bit = true; | |
s3tcSupport = true; | |
}; | |
bumblebee.enable = true; | |
# bluetooth.enable = true; | |
trackpoint.sensitivity = 255; | |
# trackpoint.speed = 255; | |
# firmware = [ pkgs.linuxPackages_4_6.mt7601 ]; | |
enableAllFirmware = true; | |
pulseaudio = { | |
enable = true; | |
support32Bit = true; | |
package = pkgs.pulseaudioFull; | |
}; | |
}; | |
# Docker | |
virtualisation.docker.enable = true; | |
# User account | |
users.extraUsers.netsu = { | |
isNormalUser = true; | |
name = "netsu"; | |
description = "Yuriy Pitomets"; | |
group = "users"; | |
extraGroups = [ "wheel" "network" "disk" "audio" "video" "docker" ]; | |
uid = 1000; | |
createHome = true; | |
home = "/home/netsu"; | |
hashedPassword = "RXBFfJzQ59q6Q"; | |
}; | |
users.mutableUsers = false; | |
users.extraUsers.root = { | |
hashedPassword = null; | |
initialHashedPassword = null; | |
initialPassword = null; | |
password = null; | |
passwordFile = null; | |
}; | |
services.openssh.permitRootLogin = "no"; | |
# Make Zsh the default shell system-wide | |
users.defaultUserShell = "/run/current-system/sw/bin/zsh"; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment