Advertisement
Guest User

Untitled

a guest
Oct 9th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.70 KB | None | 0 0
  1.  
  2. # Edit this configuration file to define what should be installed on
  3. # your system. Help is available in the configuration.nix(5) man page
  4. # and in the NixOS manual (accessible by running ‘nixos-help’).
  5.  
  6. { config, pkgs, ... }:
  7.  
  8.  
  9. let
  10. unstableTarball =
  11. fetchTarball
  12. https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
  13. in
  14. {
  15. imports =
  16. [ # Include the results of the hardware scan.
  17. ./hardware-configuration.nix
  18. ];
  19.  
  20. # Use the systemd-boot EFI boot loader.
  21. boot.loader.systemd-boot.enable = true;
  22. boot.loader.efi.canTouchEfiVariables = true;
  23.  
  24. boot.kernelPackages = pkgs.linuxPackages_latest;
  25.  
  26. hardware.cpu.amd.updateMicrocode = true;
  27.  
  28. hardware.bluetooth.enable = true;
  29. hardware.bluetooth.package = pkgs.bluezFull;
  30.  
  31. hardware.opengl.driSupport32Bit = true;
  32. hardware.pulseaudio.support32Bit = true;
  33.  
  34. fileSystems."/void" = {
  35. device = "10.0.5.10:/void";
  36. fsType = "nfs";
  37. options = ["x-systemd.automount" "noauto"];
  38. };
  39.  
  40. networking.hostName = "inanna"; # Define your hostname.
  41. #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
  42.  
  43. # Configure network proxy if necessary
  44. # networking.proxy.default = "http://user:password@proxy:port/";
  45. # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
  46.  
  47. # nixpkgs.config = {
  48. # packageOverrides = pkgs: {
  49. # unstable = import unstableTarball {
  50. # config = config.nixpkgs.config;
  51. # };
  52. # };
  53. # };
  54.  
  55. # nixpkgs.config.packageOverrides.airsonic = unstable.airsonic;
  56.  
  57. nixpkgs.config.allowUnfree = true;
  58.  
  59. nixpkgs.config.retroarch = {
  60. enableDolphin = true;
  61. enableMGBA = true;
  62. enableMAME = true;
  63. enableHiganSFC = true;
  64. };
  65.  
  66.  
  67. # Select internationalisation properties.
  68. i18n = {
  69. consoleFont = "Lat2-Terminus16";
  70. consoleKeyMap = "us";
  71. defaultLocale = "en_US.UTF-8";
  72. };
  73.  
  74. # Set your time zone.
  75. time.timeZone = "US/Eastern";
  76.  
  77. # List packages installed in system profile. To search, run:
  78. # $ nix search wget
  79. environment.systemPackages = with pkgs; [
  80. binutils
  81. nmap
  82. smartmontools
  83. alsaLib
  84. alsaTools
  85. alsaUtils
  86. apg
  87. aspell
  88. dvdplusrwtools
  89. aspellDicts.en
  90. atop
  91. audacity
  92. bind
  93. darktable
  94. dcm2niix
  95. digikam
  96. electrum
  97. gcc9
  98. gdb
  99. hlint
  100. html-tidy
  101. gitAndTools.git-hub
  102. imagemagick
  103. imapsync
  104. jasper
  105. jq
  106. k3b
  107. libinput
  108. libstrophe
  109. lsb-release
  110. man-pages
  111. mtr
  112. nix-index
  113. nmap
  114. nmon
  115. openssl
  116. p7zip
  117. profanity
  118. pstree
  119. redis
  120. retroarchBare
  121. ruby
  122. rustup
  123. SDL
  124. SDL2
  125. SDL2_mixer
  126. socat
  127. spotify
  128. sshfs-fuse
  129. stunnel
  130. telegraf
  131. enlightenment.terminology
  132. ttyplot
  133. unrar
  134. whois
  135. wrk
  136. xclip
  137. xorg.xeyes
  138. yq
  139. zandronum-server
  140. zip
  141. zlib
  142.  
  143.  
  144. airsonic
  145. apacheKafka
  146. apcupsd
  147. bitcoin
  148. chrony
  149. claws-mail
  150. cmus
  151. dep
  152. dmidecode
  153. dnsutils
  154. elinks
  155. emacs
  156. ffmpeg-full
  157. gimp
  158. imagemagick
  159. file
  160. filezilla
  161. firefox
  162. fluidsynth
  163. geeqie
  164. ghc
  165. gitAndTools.gitFull
  166. glxinfo
  167. gnumake
  168. gnupg
  169. go
  170. gzdoom
  171. haskellPackages.xmonad
  172. haskellPackages.xmonad-contrib
  173. haskellPackages.xmonad-extras
  174. haskellPackages.xmonad-utils
  175. haskellPackages.xmonad-wallpaper
  176. haskellPackages.yeganesh
  177. hddtemp
  178. hdparm
  179. htop
  180. hugo
  181. inxi
  182. iotop
  183. ispell
  184. iw
  185. kdeApplications.okular
  186. kodi
  187. kubectl
  188. kubernetes
  189. kubernetes-helm
  190. lm_sensors
  191. mplayer
  192. pass
  193. pandoc
  194. pciutils
  195. pidgin
  196. redis
  197. redshift
  198. ripgrep
  199. sshguard
  200. stack
  201. steam
  202. superTuxKart
  203. tmux
  204. tree
  205. unzip
  206. usbutils
  207. vim
  208. virtualboxWithExtpack
  209. lsof
  210.  
  211. wget
  212. wirelesstools
  213. xmobar
  214. xorg.xdpyinfo
  215. xscreensaver
  216. zandronum
  217. dhewm3
  218. wine
  219. yquake2
  220. yquake2-all-games
  221. zsh
  222. zsh-autosuggestions
  223. wireshark
  224.  
  225. (texlive.combine {
  226. inherit (texlive)
  227. bera
  228. cabin
  229. collection-basic
  230. collection-bibtexextra
  231. collection-binextra
  232. collection-context
  233. collection-fontsrecommended
  234. collection-fontutils
  235. collection-formatsextra
  236. collection-langenglish
  237. collection-latex
  238. collection-latexextra
  239. collection-latexrecommended
  240. collection-luatex
  241. collection-mathscience
  242. collection-metapost
  243. collection-pictures
  244. collection-plaingeneric
  245. collection-pstricks
  246. collection-xetex
  247. eulervm
  248. expex
  249. fbb
  250. fontawesome
  251. framed
  252. gb4e
  253. hyperref
  254. ifxetex
  255. inconsolata
  256. kantlipsum
  257. koma-script
  258. latexmk
  259. libertine
  260. libertinus
  261. linguex
  262. ly1
  263. mnsymbol
  264. mweights
  265. newpx
  266. newtx
  267. qtree
  268. scheme-full
  269. tex-gyre
  270. tex-gyre-math
  271. tree-dvips
  272. url
  273. xcolor
  274. ;
  275. })
  276. ];
  277.  
  278.  
  279. # Some programs need SUID wrappers, can be configured further or are
  280. # started in user sessions.
  281. # programs.mtr.enable = true;
  282. programs.mtr.enable = true;
  283. # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
  284.  
  285. # List services that you want to enable:
  286.  
  287. # Enable the OpenSSH daemon.
  288. services.openssh.enable = true;
  289. # programs.ssh.forwardX11 = true;
  290. services.openssh.forwardX11 = true;
  291. services.openssh.ports = [ 22 2222 ];
  292. services.openssh.passwordAuthentication = false;
  293. services.openssh.permitRootLogin = "no";
  294.  
  295.  
  296. # Open ports in the firewall.
  297. networking.firewall.enable = true;
  298. networking.firewall.allowedTCPPorts = [ 22 2222 4040 8333 ];
  299. # networking.firewall.allowedUDPPorts = [ ... ];
  300. networking.firewall.allowPing = true;
  301.  
  302. # Enable CUPS to print documents.
  303. services.printing.enable = true;
  304.  
  305. # Enable sound.
  306. sound.enable = true;
  307. # sound.extraConfig = ''
  308. # pcm.!default {
  309. # type hw
  310. # card 0
  311. # device 5
  312. # }
  313. #
  314. # ctl.!default {
  315. # type hw
  316. # card 0
  317. # device 5
  318. # }
  319. # '';
  320.  
  321. # hardware.pulseaudio.enable = true;
  322.  
  323. services.upower.enable = true;
  324. systemd.services.upower.enable = true;
  325.  
  326. services.logind.extraConfig = ''
  327. HandlePowerKey=ignore
  328. '';
  329.  
  330. # Enable the X11 windowing system.
  331. services.xserver.enable = true;
  332. services.xserver.layout = "us";
  333. services.xserver.xkbOptions = "ctrl:nocaps";
  334.  
  335. # Enable touchpad support.
  336. # services.xserver.libinput.enable = true;
  337.  
  338. # Enable the KDE Desktop Environment.
  339. # services.xserver.displayManager.sddm.enable = true;
  340. services.xserver.desktopManager.plasma5.enable = true;
  341. services.xserver.windowManager.xmonad.enable = true;
  342. services.xserver.windowManager.xmonad.enableContribAndExtras = true;
  343.  
  344. services.redshift.enable = false;
  345. services.redshift.latitude = "42.39";
  346. services.redshift.longitude = "71.04";
  347.  
  348. # services.kubernetes = {
  349. # roles = ["master" "node"];
  350. # masterAddress = "inanna.sumeria";
  351. # };
  352.  
  353. # Define a user account. Don't forget to set a password with ‘passwd’.
  354. users.users.adam = {
  355. description = "Adam";
  356. isNormalUser = true;
  357. extraGroups = [
  358. "wheel"
  359. "networkmanager"
  360. "vboxusers"
  361. "docker"
  362. "cdrom"
  363. "video"
  364. "systemd-journal"
  365. "lp"
  366. "disk"
  367. "audio"
  368. "users"
  369. ];
  370. shell = pkgs.zsh;
  371. };
  372.  
  373. security.pam.loginLimits = [
  374. { domain = "adam"; item = "nofile"; type = "hard"; value = "65536"; }
  375. ];
  376.  
  377. security.sudo.configFile = ''
  378. adam an = (root) NOPASSWD: ${pkgs.inxi}/bin/inxi
  379. '';
  380. programs.zsh.enable = true;
  381. programs.zsh.autosuggestions.enable = true;
  382.  
  383. virtualisation.docker.enable = true;
  384. virtualisation.virtualbox.host.enable = true;
  385. virtualisation.virtualbox.host.enableExtensionPack = true;
  386.  
  387. services.airsonic = {
  388. enable = true;
  389. maxMemory = 2000;
  390. listenAddress = "0.0.0.0";
  391. };
  392.  
  393. services.zookeeper.enable = true;
  394.  
  395. services.apache-kafka = {
  396. enable = true;
  397. extraProperties = ''
  398. offsets.topic.replication.factor=1
  399. delete.topic.enable=true
  400. '';
  401. };
  402.  
  403. services.apcupsd.enable = false;
  404.  
  405. # This value determines the NixOS release with which your system is to be
  406. # compatible, in order to avoid breaking some software such as database
  407. # servers. You should change this only after NixOS release notes say you
  408. # should.
  409. system.stateVersion = "19.03"; # Did you read the comment?
  410.  
  411. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement