diff options
68 files changed, 6645 insertions, 36 deletions
diff --git a/COPYING b/COPYING index 8377ade4..1da4f5dd 100644 --- a/COPYING +++ b/COPYING @@ -1,17 +1,20 @@ -All Nix expressions in this repository are free software: you can -redistribute them and/or modify them under the terms of the GNU General -Public License as published by the Free Software Foundation, either -version 3 of the License, or (at your option) any later version. +Everything except files that end with ".patch" are copyright (C) 2015 +aszlig and licensed under the Apache License, Version 2.0 (the +"License"); you may not use these files except in compliance with the +License. You may obtain a copy of the License at -The expression files are distributed in the hope that they will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -Public License for more details. + http://www.apache.org/licenses/LICENSE-2.0 -For files other than the Nix expression files the same terms apply, -unless explicitly stated otherwise here or in the file header. +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -You should have received a copy of the GNU General Public License -along with this program (see LICENSE file). +If the URL to the license is unavailable, please see LICENSE.APACHE in +this directory. -If not, see <http://www.gnu.org/licenses/>. +All of the .patch files are copyright (C) 2015 aszlig as well, but are +licensed under the licenses of the corresponding projects. Please look +at accompanying Nix expressions for more information about the +licenses of the respective projects and thus my patches. diff --git a/LICENSE.APACHE b/LICENSE.APACHE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/LICENSE.APACHE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index dd081f1c..b4065817 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,15 @@ -# LaberNix +About Vuizvui +============= -A collection of [Nix][] expressions for (Open)Labers (people from the OpenLab), -which **of course** is the only reason why the name of this repository is like -this. +This is a [set of NixOS modules/configs][manual] which I use for my personal +machines, with a focus on patching most "dotfiles" directly into the packages +and thus using the real dotfiles only for experimenting/testing. -No coincidences, right? +The name "vuizvui" is of Bavarian origins and means something like "too much" +while on the other side "nix" means nothing. Which fits quite well because this +repository is for everything I find either too complex or not polished/generic +enough to push into [nixpkgs]. -[Nix]: https://nixos.org/nix/ -Hydra builds: https://headcounter.org/hydra/jobset/openlab/labernix +Hydra builds: https://headcounter.org/hydra/jobset/aszlig/vuizvui +[nixpkgs]: https://github.com/NixOS/nixpkgs +[manual]: https://headcounter.org/hydra/job/aszlig/vuizvui/manual/latest/download/1/manual.html diff --git a/cfgfiles/gajim.nix b/cfgfiles/gajim.nix new file mode 100644 index 00000000..e9ed1100 --- /dev/null +++ b/cfgfiles/gajim.nix @@ -0,0 +1,731 @@ +with (import <nixpkgs> {}).lib; + +let + mkConfig = let + traverse = path: attrs: let + mkVal = name: value: let + flatPath = concatStringsSep "." (path ++ [name]); + in if isAttrs value then traverse (path ++ [name]) value + else if value == true then "${flatPath} = True" + else if value == false then "${flatPath} = False" + else "${flatPath} = ${value}"; + in concatStringsSep "\n" (mapAttrsToList mkVal attrs); + + rootTraverse = attrs: (traverse [] attrs) + "\n"; + in rootTraverse; + +in mkConfig { + activity_iconset = "default"; + after_nickname = ">"; + allow_hide_roster = true; + always_english_wikipedia = false; + always_english_wiktionary = true; + ascii_formatting = true; + ask_avatars_on_startup = true; + ask_offline_status = true; + ask_offline_status_on_connection = false; + ask_online_status = false; + attach_notifications_to_systray = false; + audio_input_device = "pulsesrc device=alsa_input." + + "usb-046d_0804_DD519390-02-U0x46d0x804.analog-mono" + + " ! volume name=gajim_vol"; + audio_input_volume = "50"; + audio_output_device = "pulsesink device=alsa_output." + + "pci-0000_00_1b.0.analog-stereo sync=true"; + audio_output_volume = "50"; + autoaway = false; + autoaway_message = "$S (Away as a result of being idle more than $T min)"; + autoawaytime = "5"; + autodetect_browser_mailer = false; + autopopup = true; + autopopupaway = true; + autoxa = false; + autoxa_message = "$S (Not available as a result of being" + + " idle more than $T min)"; + autoxatime = "15"; + avatar_position_in_roster = "left"; + before_nickname = "<"; + change_roster_title = true; + change_status_window_timeout = "15"; + "chat-msgwin-height" = "440"; + "chat-msgwin-width" = "480"; + "chat-msgwin-x-position" = "-1"; + "chat-msgwin-y-position" = "-1"; + chat_avatar_height = "52"; + chat_avatar_width = "52"; + chat_merge_consecutive_nickname = false; + chat_merge_consecutive_nickname_indent = " "; + check_idle_every_foo_seconds = "2"; + check_if_gajim_is_default = true; + collapsed_rows = ""; + compact_view = false; + confirm_block = ""; + confirm_close_muc = true; + confirm_close_muc_rooms = ""; + confirm_close_multiple_tabs = true; + confirm_custom_status = "no"; + confirm_metacontacts = "no"; + conversation_font = "Liberation Mono 10"; + ctrl_tab_go_to_next_composing = true; + custom_file_manager = ""; + custombrowser = "chromium"; + custommailapp = ""; + dictionary_url = "WIKTIONARY"; + displayed_chat_state_notifications = "all"; + emoticons_theme = ""; + enable_negative_priority = false; + escape_key_closes = false; + esession_modp = "5,14"; + file_transfers_port = "28011"; + ft_add_hosts_to_send = ""; + "gc-hpaned-position" = "979"; + "gc-msgwin-height" = "440"; + "gc-msgwin-width" = "600"; + "gc-msgwin-x-position" = "-1"; + "gc-msgwin-y-position" = "-1"; + gc_nicknames_colors = "#4e9a06:#f57900:#ce5c00:#3465a4:#204a87:#75507b:" + + "#5c3566:#c17d11:#8f5902:#ef2929:#cc0000:#a40000"; + gc_proposed_nick_char = "_"; + gc_refer_to_nick_char = ":"; + global_proxy = ""; + hide_avatar_of_transport = true; + hide_chat_banner = false; + hide_groupchat_banner = false; + hide_groupchat_occupants_list = false; + history_window_height = "1156"; + history_window_width = "1596"; + "history_window_x-position" = "0"; + "history_window_y-position" = "20"; + iconset = "dcraven"; + ignore_incoming_xhtml = false; + inmsgcolor = "#ff7f50"; + inmsgfont = ""; + inmsgtxtcolor = ""; + inmsgtxtfont = ""; + just_connected_bg_color = "#adc3c6"; + just_disconnected_bg_color = "#ab6161"; + key_up_lines = "25"; + last_emoticons_dir = ""; + last_roster_visible = true; + last_save_dir = ""; + last_send_dir = ""; + last_sounds_dir = ""; + latex_png_dpi = "108"; + log_contact_status_changes = true; + log_xhtml_messages = false; + markedmsgcolor = "#ff8080"; + max_conversation_lines = "500"; + mergeaccounts = false; + mood_iconset = "default"; + "msgwin-height" = "1156"; + "msgwin-max-state" = true; + "msgwin-width" = "1336"; + "msgwin-x-position" = "0"; + "msgwin-y-position" = "20"; + muc_autorejoin_on_kick = false; + muc_autorejoin_timeout = "1"; + muc_highlight_words = "DOWN;PROBLEM;CRITICAL;UNREACHABLE"; + muc_restore_lines = "20"; + muc_restore_timeout = "60"; + networkmanager_support = true; + noconfirm_close_muc_rooms = ""; + notification_avatar_height = "48"; + notification_avatar_width = "48"; + notification_position_x = "-1"; + notification_position_y = "-1"; + notification_preview_message = true; + notification_timeout = "5"; + notify_on_all_muc_messages = false; + notify_on_file_complete = true; + notify_on_new_gmail_email = true; + notify_on_new_gmail_email_command = ""; + notify_on_new_gmail_email_extra = false; + notify_on_new_message = false; + notify_on_signin = false; + notify_on_signout = false; + one_message_window = "always_with_roster"; + openwith = "xdg-open"; + outgoing_chat_state_notifications = "composing_only"; + outmsgcolor = "#add8e6"; + outmsgfont = ""; + outmsgtxtcolor = ""; + outmsgtxtfont = ""; + plugins.plugin_installer.active = false; + print_ichat_every_foo_minutes = "5"; + print_status_in_chats = true; + print_status_in_muc = "in_and_out"; + print_time = "always"; + print_time_fuzzy = "0"; + quit_on_roster_x_button = true; + recently_groupchat = ""; + remote_control = true; + restore_lines = "10"; + restore_timeout = "60"; + restored_messages_color = "#555753"; + restored_messages_small = false; + roster_avatar_height = "16"; + roster_avatar_width = "16"; + roster_height = "1156"; + roster_theme = "blue"; + roster_width = "206"; + roster_window_skip_taskbar = false; + "roster_x-position" = "0"; + "roster_y-position" = "20"; + rst_formatting_outgoing_messages = false; + "save-roster-position" = true; + scroll_roster_to_last_message = true; + search_engine = "https://www.google.com/search?&q=%s&sourceid=gajim"; + send_on_ctrl_enter = false; + send_sha_in_gc_presence = true; + shell_like_completion = true; + show_activity_in_roster = true; + show_affiliation_in_groupchat = true; + show_ascii_formatting_chars = true; + show_avatar_in_chat = true; + show_avatars_in_roster = true; + show_contacts_number = true; + show_location_in_roster = true; + show_mood_in_roster = true; + show_only_chat_and_online = false; + show_roster_on_startup = "always"; + show_self_contact = "when_other_resource"; + show_status_msgs_in_roster = true; + show_transports_group = true; + show_tunes_in_roster = true; + show_unread_tab_icon = true; + showoffline = false; + "single-msg-height" = "280"; + "single-msg-width" = "400"; + "single-msg-x-position" = "0"; + "single-msg-y-position" = "0"; + sort_by_show_in_muc = false; + sort_by_show_in_roster = true; + sounddnd = false; + soundplayer = "aplay -q"; + sounds_on = false; + speller_language = "de.en"; + statusmsgcolor = "#4e9a06"; + statusmsgfont = ""; + stun_server = ""; + tabs_always_visible = true; + tabs_border = false; + tabs_close_button = true; + tabs_position = "right"; + time_stamp = "[%H:%M:%S]"; + tooltip_account_name_color = "#888A85"; + tooltip_affiliation_administrator_color = "#F57900"; + tooltip_affiliation_member_color = "#73D216"; + tooltip_affiliation_none_color = "#555753"; + tooltip_affiliation_owner_color = "#CC0000"; + tooltip_avatar_height = "125"; + tooltip_avatar_width = "125"; + tooltip_idle_color = "#888A85"; + tooltip_status_away_color = "#EDD400"; + tooltip_status_busy_color = "#F57900"; + tooltip_status_free_for_chat_color = "#3465A4"; + tooltip_status_na_color = "#CC0000"; + tooltip_status_offline_color = "#555753"; + tooltip_status_online_color = "#73D216"; + trayicon = "never"; + trayicon_notification_on_events = true; + treat_incoming_messages = ""; + uri_schemes = "aaa:// aaas:// acap:// cap:// cid: crid:// data: dav: " + + "dict:// dns: fax: file:/ ftp:// geo: go: gopher:// h323: " + + "http:// https:// iax: icap:// im: imap:// info: ipp:// iris: " + + "iris.beep: iris.xpc: iris.xpcs: iris.lwz: ldap:// mid: " + + "modem: msrp:// msrps:// mtqp:// mupdate:// news: nfs:// " + + "nntp:// opaquelocktoken: pop:// pres: prospero:// rtsp:// " + + "service: shttp:// sip: sips: sms: snmp:// soap.beep:// " + + "soap.beeps:// tag: tel: telnet:// tftp:// thismessage:/ " + + "tip:// tv: urn:// vemmi:// xmlrpc.beep:// xmlrpc.beeps:// " + + "z39.50r:// z39.50s:// about: apt: cvs:// daap:// ed2k:// " + + "feed: fish:// git:// iax2: irc:// ircs:// ldaps:// magnet: " + + "mms:// rsync:// ssh:// svn:// sftp:// smb:// webcal://"; + urlmsgcolor = "#add8e6"; + use_gnomekeyring = true; + use_gpg_agent = true; + use_kib_mib = false; + use_kwalletcli = true; + use_latex = false; + use_notif_daemon = true; + use_smooth_scrolling = true; + use_speller = true; + use_stun_server = false; + use_transports_iconsets = true; + use_urgency_hint = true; + vcard_avatar_height = "200"; + vcard_avatar_width = "200"; + verbose = false; + version = "0.15.4"; + video_framerate = ""; + video_input_device = "v4l2src device=/dev/video0"; + video_output_device = "ximagesink"; + video_size = ""; + + accounts = { + Local = { + action_when_plaintext_connection = "warn"; + active = true; + adjust_priority_with_status = true; + allow_no_log_for = ""; + anonymous_auth = false; + answer_receipts = true; + attached_gpg_keys = ""; + autoauth = false; + autoconnect = true; + autoconnect_as = "online"; + autonegotiate_esessions = true; + autopriority_away = "40"; + autopriority_chat = "50"; + autopriority_dnd = "20"; + autopriority_invisible = "10"; + autopriority_online = "50"; + autopriority_xa = "30"; + autoreconnect = true; + client_cert = ""; + client_cert_encrypted = false; + connection_types = "tls ssl plain"; + custom_host = ""; + custom_port = "5298"; + dont_ack_subscription = false; + enable_esessions = true; + enable_message_carbons = false; + file_transfer_proxies = "proxy.eu.jabber.org, proxy.jabber.ru, " + + "proxy.jabbim.cz"; + ft_send_local_ips = true; + gpg_sign_presence = true; + hostname = "mmrnmhrm"; + http_auth = "ask"; + ignore_ssl_errors = ""; + ignore_unknown_contacts = false; + is_zeroconf = true; + keep_alive_every_foo_secs = "55"; + keep_alives_enabled = true; + keyid = ""; + keyname = ""; + last_archiving_time = "1970-01-01T00:00:00Z"; + last_status = "online"; + last_status_msg = ""; + listen_to_network_manager = true; + log_encrypted_sessions = true; + minimized_gc = ""; + "msgwin-height" = "440"; + "msgwin-width" = "480"; + "msgwin-x-position" = "-1"; + "msgwin-y-position" = "-1"; + name = "aszlig"; + no_log_for = ""; + password = "zeroconf"; + ping_alive_every_foo_secs = "120"; + ping_alives_enabled = true; + priority = "5"; + proxy = ""; + publish_location = false; + publish_tune = false; + request_receipt = true; + resource = "gajim"; + restore_last_status = false; + roster_version = ""; + savepass = false; + send_idle_time = true; + send_os_info = true; + send_time_info = true; + ssl_fingerprint_sha1 = ""; + subscribe_activity = true; + subscribe_location = true; + subscribe_mood = true; + subscribe_nick = true; + subscribe_tune = true; + subscription_request_msg = ""; + sync_with_global_status = true; + test_ft_proxies_on_startup = true; + time_for_ping_alive_answer = "60"; + try_connecting_for_foo_secs = "60"; + use_custom_host = false; + use_env_http_proxy = false; + use_ft_proxies = false; + use_srv = true; + warn_when_insecure_password = true; + warn_when_insecure_ssl_connection = true; + zeroconf_email = ""; + zeroconf_first_name = ""; + zeroconf_jabber_id = ""; + zeroconf_last_name = ""; + }; + + "aszlig.net" = { + action_when_plaintext_connection = "disconnect"; + active = true; + adjust_priority_with_status = true; + allow_no_log_for = ""; + anonymous_auth = false; + answer_receipts = true; + autoauth = false; + autoconnect = false; + autoconnect_as = "online"; + autonegotiate_esessions = true; + autopriority_away = "40"; + autopriority_chat = "50"; + autopriority_dnd = "20"; + autopriority_invisible = "10"; + autopriority_online = "50"; + autopriority_xa = "30"; + autoreconnect = true; + client_cert = ""; + client_cert_encrypted = false; + connection_types = "tls ssl plain"; + custom_host = "aszlig.net"; + custom_port = "5222"; + dont_ack_subscription = false; + enable_esessions = true; + enable_message_carbons = false; + file_transfer_proxies = "proxy.headcounter.org"; + ft_send_local_ips = true; + gpg_sign_presence = true; + hostname = "aszlig.net"; + http_auth = "ask"; + ignore_ssl_errors = ""; + ignore_unknown_contacts = false; + is_zeroconf = false; + keep_alive_every_foo_secs = "55"; + keep_alives_enabled = true; + keyid = "8C2DC961"; + keyname = ''aszlig <"^[0-9]+$"@regexmail.net>''; + last_archiving_time = "1970-01-01T00:00:00Z"; + last_status_msg = ""; + listen_to_network_manager = true; + log_encrypted_sessions = true; + minimized_gc = ""; + "msgwin-height" = "440"; + "msgwin-width" = "480"; + "msgwin-x-position" = "-1"; + "msgwin-y-position" = "-1"; + name = "aszlig"; + no_log_for = ""; + ping_alive_every_foo_secs = "120"; + ping_alives_enabled = true; + priority = "5"; + proxy = ""; + publish_location = false; + publish_tune = false; + request_receipt = true; + resource = "redmoon"; + restore_last_status = false; + savepass = true; + send_idle_time = true; + send_os_info = true; + send_time_info = true; + ssl_fingerprint_sha1 = "8D:BC:E5:46:AB:B3:53:F7:36:B3:" + + "66:0D:B4:B7:83:32:65:BA:A8:EF"; + subscribe_activity = true; + subscribe_location = true; + subscribe_mood = true; + subscribe_nick = true; + subscribe_tune = true; + subscription_request_msg = ""; + sync_with_global_status = true; + test_ft_proxies_on_startup = true; + time_for_ping_alive_answer = "60"; + try_connecting_for_foo_secs = "60"; + use_custom_host = false; + use_env_http_proxy = false; + use_ft_proxies = true; + use_srv = true; + warn_when_insecure_password = true; + warn_when_insecure_ssl_connection = true; + zeroconf_email = ""; + zeroconf_first_name = ""; + zeroconf_jabber_id = ""; + zeroconf_last_name = ""; + }; + }; + + defaultstatusmsg = { + away = { + enabled = false; + message = "Be right back."; + }; + + chat = { + enabled = false; + message = "I'm free for chat."; + }; + + dnd = { + enabled = false; + message = "Do not disturb."; + }; + + invisible = { + enabled = false; + message = "Bye!"; + }; + + offline = { + enabled = false; + message = "Bye!"; + }; + + online = { + enabled = false; + message = "I'm available."; + }; + + xa = { + enabled = false; + message = "I'm not available."; + }; + }; + + statusmsg = let + defaults = { + activity = ""; + activity_text = ""; + message = ""; + mood = ""; + mood_text = ""; + subactivity = ""; + }; + applyDefaults = const (attrs: defaults // attrs); + in mapAttrs applyDefaults { + zone.activity = "working"; + zone.subactivity = "coding"; + zone.message = "In The Zone[TM]"; + + rofa.activity = "working"; + rofa.activity_text = "Blinded by the lights..."; + rofa.subactivity = "other"; + rofa.message = "RoFa"; + + kernel.mood = "happy"; + kernel.message = "Kerneling down for reboot NOW."; + + sleep.activity = "inactive"; + sleep.subactivity = "sleeping"; + sleep.mood = "sleepy"; + sleep.message = "Sleeping the hell out of here..."; + + _last_away = {}; + _last_chat = {}; + _last_dnd = {}; + _last_invisible = {}; + _last_offline = {}; + _last_online = {}; + _last_xa = {}; + }; + + soundevents = { + contact_connected = { + enabled = false; + path = "connected.wav"; + }; + + contact_disconnected = { + enabled = false; + path = "disconnected.wav"; + }; + + first_message_received = { + enabled = true; + path = "message1.wav"; + }; + + gmail_received = { + enabled = false; + path = "message1.wav"; + }; + + message_sent = { + enabled = false; + path = "sent.wav"; + }; + + muc_message_highlight = { + enabled = true; + path = "gc_message1.wav"; + }; + + muc_message_received = { + enabled = false; + path = "gc_message2.wav"; + }; + + next_message_received_focused = { + enabled = false; + path = "message2.wav"; + }; + + next_message_received_unfocused = { + enabled = true; + path = "message2.wav"; + }; + }; + + proxies.Tor = { + bosh_content = "text/xml; charset=utf-8"; + bosh_hold = "2"; + bosh_http_pipelining = false; + bosh_uri = ""; + bosh_useproxy = false; + bosh_wait = "30"; + bosh_wait_for_restart_response = false; + host = "localhost"; + pass = ""; + port = "9050"; + type = "socks5"; + useauth = false; + user = ""; + }; + + themes = { + blue = { + accountbgcolor = "#0c232e"; + accountfont = "Liberation Mono 8"; + accountfontattrs = "B"; + accounttextcolor = "#ffffff"; + bannerbgcolor = "#0f4864"; + bannerfont = "Liberation Mono Bold 12"; + bannerfontattrs = "B"; + bannertextcolor = "#ffffff"; + contactbgcolor = "#0c232b"; + contactfont = "Liberation Mono Bold 8"; + contactfontattrs = ""; + contacttextcolor = "#ffffff"; + groupbgcolor = "#18515f"; + groupfont = "Liberation Mono Bold 8"; + groupfontattrs = "I"; + grouptextcolor = "#ffffff"; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + + default = { + accountbgcolor = ""; + accountfont = ""; + accountfontattrs = "B"; + accounttextcolor = ""; + bannerbgcolor = ""; + bannerfont = ""; + bannerfontattrs = "B"; + bannertextcolor = ""; + contactbgcolor = ""; + contactfont = ""; + contactfontattrs = ""; + contacttextcolor = ""; + groupbgcolor = ""; + groupfont = ""; + groupfontattrs = "I"; + grouptextcolor = ""; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + + green = { + accountbgcolor = "#94aa8c"; + accountfont = ""; + accountfontattrs = "B"; + accounttextcolor = ""; + bannerbgcolor = "#94aa8c"; + bannerfont = ""; + bannerfontattrs = "B"; + bannertextcolor = ""; + contactbgcolor = ""; + contactfont = ""; + contactfontattrs = ""; + contacttextcolor = "#000000"; + groupbgcolor = "#eff3e7"; + groupfont = ""; + groupfontattrs = "I"; + grouptextcolor = "#0000ff"; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + + grocery = { + accountbgcolor = "#6bbe18"; + accountfont = ""; + accountfontattrs = "B"; + accounttextcolor = ""; + bannerbgcolor = "#108abd"; + bannerfont = ""; + bannerfontattrs = "B"; + bannertextcolor = ""; + contactbgcolor = "#efb26b"; + contactfont = ""; + contactfontattrs = ""; + contacttextcolor = "#000000"; + groupbgcolor = "#ceefad"; + groupfont = ""; + groupfontattrs = "I"; + grouptextcolor = "#12125a"; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + + human = { + accountbgcolor = "#996442"; + accountfont = ""; + accountfontattrs = "B"; + accounttextcolor = ""; + bannerbgcolor = "#996442"; + bannerfont = ""; + bannerfontattrs = "B"; + bannertextcolor = ""; + contactbgcolor = ""; + contactfont = ""; + contactfontattrs = ""; + contacttextcolor = "#000000"; + groupbgcolor = "#e3ca94"; + groupfont = ""; + groupfontattrs = "I"; + grouptextcolor = "#ab5920"; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + + marine = { + accountbgcolor = "#918caa"; + accountfont = ""; + accountfontattrs = "B"; + accounttextcolor = ""; + bannerbgcolor = "#918caa"; + bannerfont = ""; + bannerfontattrs = "B"; + bannertextcolor = ""; + contactbgcolor = ""; + contactfont = ""; + contactfontattrs = ""; + contacttextcolor = "#000000"; + groupbgcolor = "#e9e7f3"; + groupfont = ""; + groupfontattrs = "I"; + grouptextcolor = ""; + state_composing_color = "green4"; + state_gone_color = "grey"; + state_inactive_color = "grey62"; + state_muc_directed_msg_color = "red2"; + state_muc_msg_color = "mediumblue"; + state_paused_color = "mediumblue"; + }; + }; +} diff --git a/cfgfiles/synergy.conf b/cfgfiles/synergy.conf new file mode 100644 index 00000000..57c4405f --- /dev/null +++ b/cfgfiles/synergy.conf @@ -0,0 +1,18 @@ +section: screens + dnyarri: + mmrnmhrm: +end + +section: links + mmrnmhrm: + left = dnyarri + right = dnyarri + dnyarri: + right = mmrnmhrm + left = mmrnmhrm +end + +section: options + keystroke(AudioPlay) = switchToScreen(dnyarri) + keystroke(Menu) = switchToScreen(mmrnmhrm) +end diff --git a/common-workstation.nix b/common-workstation.nix new file mode 100644 index 00000000..307abb00 --- /dev/null +++ b/common-workstation.nix @@ -0,0 +1,145 @@ +{ pkgs, config, lib, ... }: + +let + randrHeads = config.services.xserver.xrandrHeads; +in { + imports = [ + ./common.nix + ./packages.nix + ]; + + boot.kernelParams = [ "zswap.enabled=1" ]; + boot.cleanTmpDir = true; + + environment.systemPackages = with lib; let + mkRandrConf = acc: name: acc ++ singleton { + inherit name; + value = "--output '${name}' --preferred" + + optionalString (acc != []) " --right-of '${(head acc).name}'"; + }; + randrConf = map (getAttr "value") (foldl mkRandrConf [] randrHeads); + in singleton (pkgs.writeScriptBin "xreset" '' + #!${pkgs.stdenv.shell} + ${pkgs.xorg.xrandr}/bin/xrandr ${concatStringsSep " " randrConf} + ''); + + hardware = { + pulseaudio.enable = true; + pulseaudio.package = pkgs.pulseaudio.override { + useSystemd = true; + }; + opengl = { + driSupport32Bit = true; + s3tcSupport = true; + }; + }; + + fonts = { + enableCoreFonts = true; + enableFontDir = true; + enableGhostscriptFonts = true; + fonts = [ + pkgs.dosemu_fonts + pkgs.liberation_ttf + ]; + }; + + vuizvui.i3.enable = true; + vuizvui.slim.enable = true; + vuizvui.vlock.enable = true; + vuizvui.zsh.enable = true; + + vuizvui.git.enable = true; + vuizvui.git.config = { + color.ui = "auto"; + merge.tool = "vimdiff3"; + user.email = "aszlig@redmoonstudios.org"; + user.name = "aszlig"; + user.signkey = "8C2DC961"; + gpg.program = "${pkgs.gnupg}/bin/gpg2"; + push.default = "current"; + tar."tar.xz".command = "${pkgs.xz}/bin/xz -c"; + rebase.autosquash = true; + rerere.enabled = true; + rerere.autoupdate = true; + commit.gpgsign = true; + + alias.backport = let + release = "14.04"; + message = "Merge release ${release} into backports."; + in "!git fetch upstream release-${release} &&" + + " git merge -m \"${message}\" --log FETCH_HEAD"; + }; + + services = { + openssh = { + enable = true; + permitRootLogin = "without-password"; + }; + + xfs.enable = false; + + gpm = { + enable = true; + protocol = "exps2"; + }; + + printing.enable = true; + + udev.extraRules = '' + # aXbo S.P.A.C. + SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", \ + ATTRS{serial}=="0001", OWNER="aszlig", SYMLINK+="axbo" + # Enttec DMX device + SUBSYSTEM=="usb*|tty", ACTION=="add|change", ATTRS{idVendor}=="0403", \ + ATTRS{idProduct}=="6001", OWNER="aszlig" + ''; + + virtualboxHost.enable = true; + + xserver = { + enable = true; + layout = "dvorak"; + + startGnuPGAgent = true; + + displayManager.sessionCommands = '' + ${pkgs.redshift}/bin/redshift -l 48.428404:10.866007 & + ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.config" '' + Rxvt*font: vga + Rxvt*background: black + Rxvt*foreground: grey + Rxvt*scrollBar: false + Rxvt*saveLines: 2000 + + Rxvt*keysym.Home: \033[1~ + Rxvt*keysym.End: \033[4~ + + Rxvt*urgentOnBell: true + + XTerm*font: vga + XTerm*saveLines: 10000 + XTerm*bellIsUrgent: true + XTerm*background: black + XTerm*foreground: grey + + XTerm*backarrowKeyIsErase: true + XTerm*ptyInitialErase: true + ''}" + ''; + + desktopManager.default = "none"; + desktopManager.xterm.enable = false; + }; + }; + + users.extraUsers.aszlig = { + uid = 1000; + description = "aszlig"; + group = "users"; + extraGroups = [ "wheel" "video" ]; + home = "/home/aszlig"; + useDefaultShell = true; + createHome = true; + }; +} diff --git a/common.nix b/common.nix index b012032a..111b5c6c 100644 --- a/common.nix +++ b/common.nix @@ -1,4 +1,57 @@ +{ config, pkgs, ... }: + { imports = import ./modules/module-list.nix; + + nix = { + package = pkgs.nixUnstable; + useChroot = true; + readOnlyStore = true; + extraOptions = '' + build-cores = 0 + auto-optimise-store = true + ''; + }; + + boot.loader.grub = { + enable = true; + version = 2; + }; + + hardware.cpu.intel.updateMicrocode = true; + + users.defaultUserShell = "/var/run/current-system/sw/bin/zsh"; + + networking.wireless.enable = false; networking.firewall.enable = false; + networking.useNetworkd = true; + + i18n.consoleKeyMap = "dvorak"; + + programs.ssh.startAgent = false; + programs.ssh.extraConfig = '' + ServerAliveInterval 60 + ''; + + services.nixosManual.showManual = false; + + environment.systemPackages = with pkgs; [ + binutils + cacert + file + htop + iotop + psmisc + unrar + unzip + vim + vlock + wget + xz + zsh + ]; + + nixpkgs.config = import ./nixpkgs/config.nix; + system.fsPackages = with pkgs; [ sshfsFuse ]; + time.timeZone = "Europe/Berlin"; } diff --git a/labernix/COPYING b/labernix/COPYING new file mode 100644 index 00000000..8377ade4 --- /dev/null +++ b/labernix/COPYING @@ -0,0 +1,17 @@ +All Nix expressions in this repository are free software: you can +redistribute them and/or modify them under the terms of the GNU General +Public License as published by the Free Software Foundation, either +version 3 of the License, or (at your option) any later version. + +The expression files are distributed in the hope that they will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +Public License for more details. + +For files other than the Nix expression files the same terms apply, +unless explicitly stated otherwise here or in the file header. + +You should have received a copy of the GNU General Public License +along with this program (see LICENSE file). + +If not, see <http://www.gnu.org/licenses/>. diff --git a/LICENSE b/labernix/LICENSE index 94a9ed02..94a9ed02 100644 --- a/LICENSE +++ b/labernix/LICENSE diff --git a/labernix/README.md b/labernix/README.md new file mode 100644 index 00000000..dd081f1c --- /dev/null +++ b/labernix/README.md @@ -0,0 +1,10 @@ +# LaberNix + +A collection of [Nix][] expressions for (Open)Labers (people from the OpenLab), +which **of course** is the only reason why the name of this repository is like +this. + +No coincidences, right? + +[Nix]: https://nixos.org/nix/ +Hydra builds: https://headcounter.org/hydra/jobset/openlab/labernix diff --git a/labernix/common.nix b/labernix/common.nix new file mode 100644 index 00000000..b012032a --- /dev/null +++ b/labernix/common.nix @@ -0,0 +1,4 @@ +{ + imports = import ./modules/module-list.nix; + networking.firewall.enable = false; +} diff --git a/default.nix b/labernix/default.nix index 20118162..20118162 100644 --- a/default.nix +++ b/labernix/default.nix diff --git a/machines/heinrich.nix b/labernix/machines/heinrich.nix index 8ce69950..8ce69950 100644 --- a/machines/heinrich.nix +++ b/labernix/machines/heinrich.nix diff --git a/machines/labtop.nix b/labernix/machines/labtop.nix index bf376ba5..bf376ba5 100644 --- a/machines/labtop.nix +++ b/labernix/machines/labtop.nix diff --git a/machines/mailserver.nix b/labernix/machines/mailserver.nix index 7d4bd397..7d4bd397 100644 --- a/machines/mailserver.nix +++ b/labernix/machines/mailserver.nix diff --git a/modules/config/labernix-pkgs.nix b/labernix/modules/config/labernix-pkgs.nix index c1f6d807..c1f6d807 100644 --- a/modules/config/labernix-pkgs.nix +++ b/labernix/modules/config/labernix-pkgs.nix diff --git a/labernix/modules/module-list.nix b/labernix/modules/module-list.nix new file mode 100644 index 00000000..5137c672 --- /dev/null +++ b/labernix/modules/module-list.nix @@ -0,0 +1,4 @@ +[ + ./config/labernix-pkgs.nix + ./services/postfix +] diff --git a/modules/services/postfix/default.nix b/labernix/modules/services/postfix/default.nix index 4103a41b..4103a41b 100644 --- a/modules/services/postfix/default.nix +++ b/labernix/modules/services/postfix/default.nix diff --git a/modules/services/postfix/restrictions.nix b/labernix/modules/services/postfix/restrictions.nix index fbb47f10..fbb47f10 100644 --- a/modules/services/postfix/restrictions.nix +++ b/labernix/modules/services/postfix/restrictions.nix diff --git a/pkgs/beehive/default.nix b/labernix/pkgs/beehive/default.nix index 8cadb9e5..8cadb9e5 100644 --- a/pkgs/beehive/default.nix +++ b/labernix/pkgs/beehive/default.nix diff --git a/pkgs/beehive/godeps.nix b/labernix/pkgs/beehive/godeps.nix index a0e7526e..a0e7526e 100644 --- a/pkgs/beehive/godeps.nix +++ b/labernix/pkgs/beehive/godeps.nix diff --git a/labernix/pkgs/default.nix b/labernix/pkgs/default.nix new file mode 100644 index 00000000..9ff952ed --- /dev/null +++ b/labernix/pkgs/default.nix @@ -0,0 +1,9 @@ +{ pkgs ? import <nixpkgs> {} }: + +let + callPackage = pkgs.lib.callPackageWith (pkgs // self); + + self = { + beehive = callPackage ./beehive {}; + }; +in self diff --git a/labernix/release.nix b/labernix/release.nix new file mode 100644 index 00000000..1edf284a --- /dev/null +++ b/labernix/release.nix @@ -0,0 +1,22 @@ +with import <nixpkgs/lib>; + +let + system = "x86_64-linux"; + + genMachine = name: cfg: (import <nixpkgs/nixos/lib/eval-config.nix> { + inherit system; + modules = [ cfg ]; + }).config.system.build.toplevel; + +in { + machines = mapAttrs genMachine (import ./default.nix).machines; + tests = { + heinrich = import ./tests/heinrich.nix { inherit system; }; + }; + + pkgs = import ./pkgs { + pkgs = import <nixpkgs> { + inherit system; + }; + }; +} diff --git a/tests/heinrich.nix b/labernix/tests/heinrich.nix index c524835e..c524835e 100644 --- a/tests/heinrich.nix +++ b/labernix/tests/heinrich.nix diff --git a/tests/make-test.nix b/labernix/tests/make-test.nix index 10381afd..10381afd 100644 --- a/tests/make-test.nix +++ b/labernix/tests/make-test.nix diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 00000000..95f4f39f --- /dev/null +++ b/lib/default.nix @@ -0,0 +1,17 @@ +with import <nixpkgs> {}; + +with pkgs.lib; + +{ + generateKConf = exprs: let + isNumber = c: elem c ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"]; + mkValue = val: + if val == "" then "\"\"" + else if val == "y" || val == "m" || val == "n" then val + else if all isNumber (stringToCharacters val) then val + else if substring 0 2 val == "0x" then val + else "\"${val}\""; + mkConfigLine = key: val: "${key}=${mkValue val}"; + mkConf = cfg: concatStringsSep "\n" (mapAttrsToList mkConfigLine cfg); + in pkgs.writeText "generated.kconf" (mkConf exprs); +} diff --git a/machines/arilou.nix b/machines/arilou.nix new file mode 100644 index 00000000..08f3e370 --- /dev/null +++ b/machines/arilou.nix @@ -0,0 +1,47 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + rootUUID = "e9c95c74-e4cf-41f6-bb45-baf8dd579217"; + swapUUID = "4d172959-5cfd-4164-a46e-fa7be0dfd03a"; + diskID = "usb-Lexar_USB_Flash_Drive_201303211246293590E4-0:0"; +in { + imports = [ + ../common-workstation.nix + <nixpkgs/nixos/modules/profiles/all-hardware.nix> + ]; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + initrd.kernelModules = [ "fbcon" "usb_storage" ]; + loader.grub.device = "/dev/disk/by-id/${diskID}"; + loader.grub.memtest86.enable = true; + }; + + networking.hostName = "arilou"; + networking.wireless.enable = true; + networking.enableB43Firmware = true; + + fileSystems."/".device = "/dev/disk/by-uuid/${rootUUID}"; + fileSystems."/".fsType = "btrfs"; + fileSystems."/".options = concatStringsSep "," [ + "ssd" + "space_cache" + "compress-force=zlib" + "noatime" + ]; + + fileSystems."/tmp".device = "none"; + fileSystems."/tmp".fsType = "tmpfs"; + fileSystems."/tmp".options = "nosuid,nodev,relatime"; + + swapDevices = singleton { + device = "/dev/disk/by-uuid/${swapUUID}"; + }; + + services.openssh.enable = mkForce false; + services.xserver.videoDrivers = [ "intel" "ati" "nouveau" ]; + + nix.maxJobs = mkForce 2; +} diff --git a/machines/dnyarri-kconf.nix b/machines/dnyarri-kconf.nix new file mode 100644 index 00000000..368c155f --- /dev/null +++ b/machines/dnyarri-kconf.nix @@ -0,0 +1,1510 @@ +{ + "CONFIG_64BIT" = "y"; + "CONFIG_X86_64" = "y"; + "CONFIG_X86" = "y"; + "CONFIG_INSTRUCTION_DECODER" = "y"; + "CONFIG_PERF_EVENTS_INTEL_UNCORE" = "y"; + "CONFIG_OUTPUT_FORMAT" = "elf64-x86-64"; + "CONFIG_ARCH_DEFCONFIG" = "arch/x86/configs/x86_64_defconfig"; + "CONFIG_LOCKDEP_SUPPORT" = "y"; + "CONFIG_STACKTRACE_SUPPORT" = "y"; + "CONFIG_HAVE_LATENCYTOP_SUPPORT" = "y"; + "CONFIG_MMU" = "y"; + "CONFIG_NEED_DMA_MAP_STATE" = "y"; + "CONFIG_NEED_SG_DMA_LENGTH" = "y"; + "CONFIG_GENERIC_ISA_DMA" = "y"; + "CONFIG_GENERIC_BUG" = "y"; + "CONFIG_GENERIC_BUG_RELATIVE_POINTERS" = "y"; + "CONFIG_GENERIC_HWEIGHT" = "y"; + "CONFIG_ARCH_MAY_HAVE_PC_FDC" = "y"; + "CONFIG_RWSEM_XCHGADD_ALGORITHM" = "y"; + "CONFIG_GENERIC_CALIBRATE_DELAY" = "y"; + "CONFIG_ARCH_HAS_CPU_RELAX" = "y"; + "CONFIG_ARCH_HAS_CACHE_LINE_SIZE" = "y"; + "CONFIG_HAVE_SETUP_PER_CPU_AREA" = "y"; + "CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK" = "y"; + "CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK" = "y"; + "CONFIG_ARCH_HIBERNATION_POSSIBLE" = "y"; + "CONFIG_ARCH_SUSPEND_POSSIBLE" = "y"; + "CONFIG_ARCH_WANT_HUGE_PMD_SHARE" = "y"; + "CONFIG_ARCH_WANT_GENERAL_HUGETLB" = "y"; + "CONFIG_ZONE_DMA32" = "y"; + "CONFIG_AUDIT_ARCH" = "y"; + "CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING" = "y"; + "CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC" = "y"; + "CONFIG_X86_64_SMP" = "y"; + "CONFIG_X86_HT" = "y"; + "CONFIG_ARCH_HWEIGHT_CFLAGS" = "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"; + "CONFIG_ARCH_SUPPORTS_UPROBES" = "y"; + "CONFIG_FIX_EARLYCON_MEM" = "y"; + "CONFIG_DEFCONFIG_LIST" = "/lib/modules/$UNAME_RELEASE/.config"; + "CONFIG_IRQ_WORK" = "y"; + "CONFIG_BUILDTIME_EXTABLE_SORT" = "y"; + "CONFIG_INIT_ENV_ARG_LIMIT" = "32"; + "CONFIG_CROSS_COMPILE" = ""; + "CONFIG_LOCALVERSION" = ""; + "CONFIG_HAVE_KERNEL_GZIP" = "y"; + "CONFIG_HAVE_KERNEL_BZIP2" = "y"; + "CONFIG_HAVE_KERNEL_LZMA" = "y"; + "CONFIG_HAVE_KERNEL_XZ" = "y"; + "CONFIG_HAVE_KERNEL_LZO" = "y"; + "CONFIG_HAVE_KERNEL_LZ4" = "y"; + "CONFIG_KERNEL_XZ" = "y"; + "CONFIG_DEFAULT_HOSTNAME" = "dnyarri"; + "CONFIG_SWAP" = "y"; + "CONFIG_SYSVIPC" = "y"; + "CONFIG_SYSVIPC_SYSCTL" = "y"; + "CONFIG_POSIX_MQUEUE" = "y"; + "CONFIG_POSIX_MQUEUE_SYSCTL" = "y"; + "CONFIG_CROSS_MEMORY_ATTACH" = "y"; + "CONFIG_FHANDLE" = "y"; + "CONFIG_HAVE_ARCH_AUDITSYSCALL" = "y"; + "CONFIG_GENERIC_IRQ_PROBE" = "y"; + "CONFIG_GENERIC_IRQ_SHOW" = "y"; + "CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ" = "y"; + "CONFIG_GENERIC_PENDING_IRQ" = "y"; + "CONFIG_IRQ_DOMAIN" = "y"; + "CONFIG_GENERIC_MSI_IRQ" = "y"; + "CONFIG_IRQ_FORCED_THREADING" = "y"; + "CONFIG_SPARSE_IRQ" = "y"; + "CONFIG_CLOCKSOURCE_WATCHDOG" = "y"; + "CONFIG_ARCH_CLOCKSOURCE_DATA" = "y"; + "CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE" = "y"; + "CONFIG_GENERIC_TIME_VSYSCALL" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_BUILD" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_BROADCAST" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST" = "y"; + "CONFIG_GENERIC_CMOS_UPDATE" = "y"; + "CONFIG_TICK_ONESHOT" = "y"; + "CONFIG_NO_HZ_COMMON" = "y"; + "CONFIG_NO_HZ_IDLE" = "y"; + "CONFIG_NO_HZ" = "y"; + "CONFIG_HIGH_RES_TIMERS" = "y"; + "CONFIG_TICK_CPU_ACCOUNTING" = "y"; + "CONFIG_BSD_PROCESS_ACCT" = "y"; + "CONFIG_BSD_PROCESS_ACCT_V3" = "y"; + "CONFIG_TASKSTATS" = "y"; + "CONFIG_TASK_DELAY_ACCT" = "y"; + "CONFIG_TASK_XACCT" = "y"; + "CONFIG_TASK_IO_ACCOUNTING" = "y"; + "CONFIG_PREEMPT_RCU" = "y"; + "CONFIG_SRCU" = "y"; + "CONFIG_RCU_STALL_COMMON" = "y"; + "CONFIG_RCU_FANOUT" = "64"; + "CONFIG_RCU_FANOUT_LEAF" = "16"; + "CONFIG_RCU_BOOST" = "y"; + "CONFIG_RCU_KTHREAD_PRIO" = "1"; + "CONFIG_RCU_BOOST_DELAY" = "500"; + "CONFIG_BUILD_BIN2C" = "y"; + "CONFIG_IKCONFIG" = "y"; + "CONFIG_IKCONFIG_PROC" = "y"; + "CONFIG_LOG_BUF_SHIFT" = "17"; + "CONFIG_LOG_CPU_MAX_BUF_SHIFT" = "14"; + "CONFIG_HAVE_UNSTABLE_SCHED_CLOCK" = "y"; + "CONFIG_ARCH_SUPPORTS_NUMA_BALANCING" = "y"; + "CONFIG_ARCH_SUPPORTS_INT128" = "y"; + "CONFIG_CGROUPS" = "y"; + "CONFIG_CGROUP_FREEZER" = "y"; + "CONFIG_CGROUP_DEVICE" = "y"; + "CONFIG_CPUSETS" = "y"; + "CONFIG_CGROUP_CPUACCT" = "y"; + "CONFIG_CGROUP_SCHED" = "y"; + "CONFIG_FAIR_GROUP_SCHED" = "y"; + "CONFIG_CFS_BANDWIDTH" = "y"; + "CONFIG_BLK_CGROUP" = "y"; + "CONFIG_NAMESPACES" = "y"; + "CONFIG_UTS_NS" = "y"; + "CONFIG_IPC_NS" = "y"; + "CONFIG_USER_NS" = "y"; + "CONFIG_PID_NS" = "y"; + "CONFIG_NET_NS" = "y"; + "CONFIG_SCHED_AUTOGROUP" = "y"; + "CONFIG_RELAY" = "y"; + "CONFIG_BLK_DEV_INITRD" = "y"; + "CONFIG_INITRAMFS_SOURCE" = ""; + "CONFIG_RD_GZIP" = "y"; + "CONFIG_RD_BZIP2" = "y"; + "CONFIG_RD_LZMA" = "y"; + "CONFIG_RD_XZ" = "y"; + "CONFIG_RD_LZO" = "y"; + "CONFIG_RD_LZ4" = "y"; + "CONFIG_SYSCTL" = "y"; + "CONFIG_ANON_INODES" = "y"; + "CONFIG_HAVE_UID16" = "y"; + "CONFIG_SYSCTL_EXCEPTION_TRACE" = "y"; + "CONFIG_HAVE_PCSPKR_PLATFORM" = "y"; + "CONFIG_BPF" = "y"; + "CONFIG_UID16" = "y"; + "CONFIG_SGETMASK_SYSCALL" = "y"; + "CONFIG_SYSFS_SYSCALL" = "y"; + "CONFIG_KALLSYMS" = "y"; + "CONFIG_PRINTK" = "y"; + "CONFIG_BUG" = "y"; + "CONFIG_ELF_CORE" = "y"; + "CONFIG_PCSPKR_PLATFORM" = "y"; + "CONFIG_BASE_FULL" = "y"; + "CONFIG_FUTEX" = "y"; + "CONFIG_EPOLL" = "y"; + "CONFIG_SIGNALFD" = "y"; + "CONFIG_TIMERFD" = "y"; + "CONFIG_EVENTFD" = "y"; + "CONFIG_SHMEM" = "y"; + "CONFIG_AIO" = "y"; + "CONFIG_ADVISE_SYSCALLS" = "y"; + "CONFIG_PCI_QUIRKS" = "y"; + "CONFIG_HAVE_PERF_EVENTS" = "y"; + "CONFIG_PERF_EVENTS" = "y"; + "CONFIG_VM_EVENT_COUNTERS" = "y"; + "CONFIG_SLUB_DEBUG" = "y"; + "CONFIG_SLUB" = "y"; + "CONFIG_SYSTEM_TRUSTED_KEYRING" = "y"; + "CONFIG_HAVE_OPROFILE" = "y"; + "CONFIG_OPROFILE_NMI_TIMER" = "y"; + "CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS" = "y"; + "CONFIG_ARCH_USE_BUILTIN_BSWAP" = "y"; + "CONFIG_USER_RETURN_NOTIFIER" = "y"; + "CONFIG_HAVE_IOREMAP_PROT" = "y"; + "CONFIG_HAVE_KPROBES" = "y"; + "CONFIG_HAVE_KRETPROBES" = "y"; + "CONFIG_HAVE_OPTPROBES" = "y"; + "CONFIG_HAVE_KPROBES_ON_FTRACE" = "y"; + "CONFIG_HAVE_ARCH_TRACEHOOK" = "y"; + "CONFIG_HAVE_DMA_ATTRS" = "y"; + "CONFIG_HAVE_DMA_CONTIGUOUS" = "y"; + "CONFIG_GENERIC_SMP_IDLE_THREAD" = "y"; + "CONFIG_HAVE_REGS_AND_STACK_ACCESS_API" = "y"; + "CONFIG_HAVE_DMA_API_DEBUG" = "y"; + "CONFIG_HAVE_HW_BREAKPOINT" = "y"; + "CONFIG_HAVE_MIXED_BREAKPOINTS_REGS" = "y"; + "CONFIG_HAVE_USER_RETURN_NOTIFIER" = "y"; + "CONFIG_HAVE_PERF_EVENTS_NMI" = "y"; + "CONFIG_HAVE_PERF_REGS" = "y"; + "CONFIG_HAVE_PERF_USER_STACK_DUMP" = "y"; + "CONFIG_HAVE_ARCH_JUMP_LABEL" = "y"; + "CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG" = "y"; + "CONFIG_HAVE_ALIGNED_STRUCT_PAGE" = "y"; + "CONFIG_HAVE_CMPXCHG_LOCAL" = "y"; + "CONFIG_HAVE_CMPXCHG_DOUBLE" = "y"; + "CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION" = "y"; + "CONFIG_ARCH_WANT_OLD_COMPAT_IPC" = "y"; + "CONFIG_HAVE_ARCH_SECCOMP_FILTER" = "y"; + "CONFIG_SECCOMP_FILTER" = "y"; + "CONFIG_HAVE_CC_STACKPROTECTOR" = "y"; + "CONFIG_CC_STACKPROTECTOR" = "y"; + "CONFIG_CC_STACKPROTECTOR_REGULAR" = "y"; + "CONFIG_HAVE_CONTEXT_TRACKING" = "y"; + "CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN" = "y"; + "CONFIG_HAVE_IRQ_TIME_ACCOUNTING" = "y"; + "CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE" = "y"; + "CONFIG_HAVE_ARCH_SOFT_DIRTY" = "y"; + "CONFIG_MODULES_USE_ELF_RELA" = "y"; + "CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK" = "y"; + "CONFIG_OLD_SIGSUSPEND3" = "y"; + "CONFIG_COMPAT_OLD_SIGACTION" = "y"; + "CONFIG_ARCH_HAS_GCOV_PROFILE_ALL" = "y"; + "CONFIG_SLABINFO" = "y"; + "CONFIG_RT_MUTEXES" = "y"; + "CONFIG_BASE_SMALL" = "0"; + "CONFIG_MODULES" = "y"; + "CONFIG_MODULE_FORCE_LOAD" = "y"; + "CONFIG_MODULE_UNLOAD" = "y"; + "CONFIG_MODULE_FORCE_UNLOAD" = "y"; + "CONFIG_MODVERSIONS" = "y"; + "CONFIG_STOP_MACHINE" = "y"; + "CONFIG_BLOCK" = "y"; + "CONFIG_BLK_DEV_BSG" = "y"; + "CONFIG_BLK_DEV_INTEGRITY" = "y"; + "CONFIG_BLK_DEV_THROTTLING" = "y"; + "CONFIG_MSDOS_PARTITION" = "y"; + "CONFIG_EFI_PARTITION" = "y"; + "CONFIG_BLOCK_COMPAT" = "y"; + "CONFIG_IOSCHED_NOOP" = "y"; + "CONFIG_IOSCHED_DEADLINE" = "y"; + "CONFIG_IOSCHED_CFQ" = "y"; + "CONFIG_CFQ_GROUP_IOSCHED" = "y"; + "CONFIG_IOSCHED_BFQ" = "y"; + "CONFIG_CGROUP_BFQIO" = "y"; + "CONFIG_DEFAULT_BFQ" = "y"; + "CONFIG_DEFAULT_IOSCHED" = "bfq"; + "CONFIG_PREEMPT_NOTIFIERS" = "y"; + "CONFIG_PADATA" = "y"; + "CONFIG_ASN1" = "y"; + "CONFIG_UNINLINE_SPIN_UNLOCK" = "y"; + "CONFIG_ARCH_SUPPORTS_ATOMIC_RMW" = "y"; + "CONFIG_MUTEX_SPIN_ON_OWNER" = "y"; + "CONFIG_RWSEM_SPIN_ON_OWNER" = "y"; + "CONFIG_LOCK_SPIN_ON_OWNER" = "y"; + "CONFIG_ARCH_USE_QUEUE_RWLOCK" = "y"; + "CONFIG_QUEUE_RWLOCK" = "y"; + "CONFIG_FREEZER" = "y"; + "CONFIG_ZONE_DMA" = "y"; + "CONFIG_SMP" = "y"; + "CONFIG_X86_FEATURE_NAMES" = "y"; + "CONFIG_IOSF_MBI" = "m"; + "CONFIG_X86_SUPPORTS_MEMORY_FAILURE" = "y"; + "CONFIG_SCHED_OMIT_FRAME_POINTER" = "y"; + "CONFIG_NO_BOOTMEM" = "y"; + "CONFIG_MEMTEST" = "y"; + "CONFIG_MCORE2" = "y"; + "CONFIG_X86_INTERNODE_CACHE_SHIFT" = "6"; + "CONFIG_X86_L1_CACHE_SHIFT" = "6"; + "CONFIG_X86_INTEL_USERCOPY" = "y"; + "CONFIG_X86_USE_PPRO_CHECKSUM" = "y"; + "CONFIG_X86_P6_NOP" = "y"; + "CONFIG_X86_TSC" = "y"; + "CONFIG_X86_CMPXCHG64" = "y"; + "CONFIG_X86_CMOV" = "y"; + "CONFIG_X86_MINIMUM_CPU_FAMILY" = "64"; + "CONFIG_X86_DEBUGCTLMSR" = "y"; + "CONFIG_CPU_SUP_INTEL" = "y"; + "CONFIG_CPU_SUP_AMD" = "y"; + "CONFIG_CPU_SUP_CENTAUR" = "y"; + "CONFIG_HPET_TIMER" = "y"; + "CONFIG_HPET_EMULATE_RTC" = "y"; + "CONFIG_DMI" = "y"; + "CONFIG_GART_IOMMU" = "y"; + "CONFIG_SWIOTLB" = "y"; + "CONFIG_IOMMU_HELPER" = "y"; + "CONFIG_NR_CPUS" = "8"; + "CONFIG_SCHED_SMT" = "y"; + "CONFIG_SCHED_MC" = "y"; + "CONFIG_PREEMPT" = "y"; + "CONFIG_PREEMPT_COUNT" = "y"; + "CONFIG_X86_UP_APIC_MSI" = "y"; + "CONFIG_X86_LOCAL_APIC" = "y"; + "CONFIG_X86_IO_APIC" = "y"; + "CONFIG_X86_MCE" = "y"; + "CONFIG_X86_MCE_INTEL" = "y"; + "CONFIG_X86_MCE_THRESHOLD" = "y"; + "CONFIG_X86_THERMAL_VECTOR" = "y"; + "CONFIG_X86_16BIT" = "y"; + "CONFIG_X86_ESPFIX64" = "y"; + "CONFIG_X86_VSYSCALL_EMULATION" = "y"; + "CONFIG_MICROCODE" = "y"; + "CONFIG_MICROCODE_INTEL" = "y"; + "CONFIG_MICROCODE_OLD_INTERFACE" = "y"; + "CONFIG_MICROCODE_INTEL_EARLY" = "y"; + "CONFIG_MICROCODE_EARLY" = "y"; + "CONFIG_X86_MSR" = "m"; + "CONFIG_X86_CPUID" = "m"; + "CONFIG_ARCH_PHYS_ADDR_T_64BIT" = "y"; + "CONFIG_ARCH_DMA_ADDR_T_64BIT" = "y"; + "CONFIG_DIRECT_GBPAGES" = "y"; + "CONFIG_NUMA" = "y"; + "CONFIG_X86_64_ACPI_NUMA" = "y"; + "CONFIG_NODES_SPAN_OTHER_NODES" = "y"; + "CONFIG_NODES_SHIFT" = "6"; + "CONFIG_ARCH_SPARSEMEM_ENABLE" = "y"; + "CONFIG_ARCH_SPARSEMEM_DEFAULT" = "y"; + "CONFIG_ARCH_SELECT_MEMORY_MODEL" = "y"; + "CONFIG_ILLEGAL_POINTER_VALUE" = "0xdead000000000000"; + "CONFIG_SELECT_MEMORY_MODEL" = "y"; + "CONFIG_SPARSEMEM_MANUAL" = "y"; + "CONFIG_SPARSEMEM" = "y"; + "CONFIG_NEED_MULTIPLE_NODES" = "y"; + "CONFIG_HAVE_MEMORY_PRESENT" = "y"; + "CONFIG_SPARSEMEM_EXTREME" = "y"; + "CONFIG_SPARSEMEM_VMEMMAP_ENABLE" = "y"; + "CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" = "y"; + "CONFIG_SPARSEMEM_VMEMMAP" = "y"; + "CONFIG_HAVE_MEMBLOCK" = "y"; + "CONFIG_HAVE_MEMBLOCK_NODE_MAP" = "y"; + "CONFIG_ARCH_DISCARD_MEMBLOCK" = "y"; + "CONFIG_PAGEFLAGS_EXTENDED" = "y"; + "CONFIG_SPLIT_PTLOCK_CPUS" = "4"; + "CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK" = "y"; + "CONFIG_COMPACTION" = "y"; + "CONFIG_MIGRATION" = "y"; + "CONFIG_PHYS_ADDR_T_64BIT" = "y"; + "CONFIG_ZONE_DMA_FLAG" = "1"; + "CONFIG_BOUNCE" = "y"; + "CONFIG_NEED_BOUNCE_POOL" = "y"; + "CONFIG_VIRT_TO_BUS" = "y"; + "CONFIG_MMU_NOTIFIER" = "y"; + "CONFIG_KSM" = "y"; + "CONFIG_DEFAULT_MMAP_MIN_ADDR" = "65536"; + "CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE" = "y"; + "CONFIG_TRANSPARENT_HUGEPAGE" = "y"; + "CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS" = "y"; + "CONFIG_CLEANCACHE" = "y"; + "CONFIG_FRONTSWAP" = "y"; + "CONFIG_ZPOOL" = "m"; + "CONFIG_ZSMALLOC" = "y"; + "CONFIG_GENERIC_EARLY_IOREMAP" = "y"; + "CONFIG_X86_RESERVE_LOW" = "64"; + "CONFIG_MTRR" = "y"; + "CONFIG_MTRR_SANITIZER" = "y"; + "CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT" = "0"; + "CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT" = "1"; + "CONFIG_X86_PAT" = "y"; + "CONFIG_ARCH_USES_PG_UNCACHED" = "y"; + "CONFIG_ARCH_RANDOM" = "y"; + "CONFIG_X86_SMAP" = "y"; + "CONFIG_SECCOMP" = "y"; + "CONFIG_HZ_1000" = "y"; + "CONFIG_HZ" = "1000"; + "CONFIG_SCHED_HRTICK" = "y"; + "CONFIG_KEXEC" = "y"; + "CONFIG_KEXEC_FILE" = "y"; + "CONFIG_PHYSICAL_START" = "0x1000000"; + "CONFIG_PHYSICAL_ALIGN" = "0x1000000"; + "CONFIG_HAVE_LIVEPATCH" = "y"; + "CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG" = "y"; + "CONFIG_USE_PERCPU_NUMA_NODE_ID" = "y"; + "CONFIG_PM" = "y"; + "CONFIG_ACPI" = "y"; + "CONFIG_ACPI_LEGACY_TABLES_LOOKUP" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC" = "y"; + "CONFIG_ACPI_BUTTON" = "y"; + "CONFIG_ACPI_VIDEO" = "y"; + "CONFIG_ACPI_FAN" = "y"; + "CONFIG_ACPI_DOCK" = "y"; + "CONFIG_ACPI_PROCESSOR" = "y"; + "CONFIG_ACPI_THERMAL" = "y"; + "CONFIG_ACPI_NUMA" = "y"; + "CONFIG_ACPI_CUSTOM_DSDT_FILE" = ""; + "CONFIG_X86_PM_TIMER" = "y"; + "CONFIG_ACPI_HOTPLUG_IOAPIC" = "y"; + "CONFIG_ACPI_HED" = "y"; + "CONFIG_HAVE_ACPI_APEI" = "y"; + "CONFIG_HAVE_ACPI_APEI_NMI" = "y"; + "CONFIG_ACPI_EXTLOG" = "m"; + "CONFIG_CPU_IDLE" = "y"; + "CONFIG_CPU_IDLE_GOV_LADDER" = "y"; + "CONFIG_CPU_IDLE_GOV_MENU" = "y"; + "CONFIG_INTEL_IDLE" = "y"; + "CONFIG_PCI" = "y"; + "CONFIG_PCI_DIRECT" = "y"; + "CONFIG_PCI_MMCONFIG" = "y"; + "CONFIG_PCI_DOMAINS" = "y"; + "CONFIG_PCIEPORTBUS" = "y"; + "CONFIG_PCIEAER" = "y"; + "CONFIG_PCIEASPM" = "y"; + "CONFIG_PCIEASPM_PERFORMANCE" = "y"; + "CONFIG_PCIE_PME" = "y"; + "CONFIG_PCI_MSI" = "y"; + "CONFIG_HT_IRQ" = "y"; + "CONFIG_PCI_LABEL" = "y"; + "CONFIG_ISA_DMA_API" = "y"; + "CONFIG_AMD_NB" = "y"; + "CONFIG_BINFMT_ELF" = "y"; + "CONFIG_COMPAT_BINFMT_ELF" = "y"; + "CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE" = "y"; + "CONFIG_BINFMT_SCRIPT" = "y"; + "CONFIG_BINFMT_MISC" = "y"; + "CONFIG_COREDUMP" = "y"; + "CONFIG_IA32_EMULATION" = "y"; + "CONFIG_X86_X32" = "y"; + "CONFIG_COMPAT" = "y"; + "CONFIG_COMPAT_FOR_U64_ALIGNMENT" = "y"; + "CONFIG_SYSVIPC_COMPAT" = "y"; + "CONFIG_KEYS_COMPAT" = "y"; + "CONFIG_X86_DEV_DMA_OPS" = "y"; + "CONFIG_PMC_ATOM" = "y"; + "CONFIG_NET" = "y"; + "CONFIG_PACKET" = "y"; + "CONFIG_PACKET_DIAG" = "m"; + "CONFIG_UNIX" = "y"; + "CONFIG_UNIX_DIAG" = "y"; + "CONFIG_XFRM" = "y"; + "CONFIG_XFRM_ALGO" = "y"; + "CONFIG_NET_KEY" = "y"; + "CONFIG_INET" = "y"; + "CONFIG_IP_MULTICAST" = "y"; + "CONFIG_IP_ROUTE_CLASSID" = "y"; + "CONFIG_NET_IP_TUNNEL" = "m"; + "CONFIG_SYN_COOKIES" = "y"; + "CONFIG_NET_UDP_TUNNEL" = "m"; + "CONFIG_NET_FOU" = "m"; + "CONFIG_GENEVE" = "m"; + "CONFIG_INET_TUNNEL" = "m"; + "CONFIG_INET_LRO" = "y"; + "CONFIG_INET_DIAG" = "y"; + "CONFIG_INET_TCP_DIAG" = "y"; + "CONFIG_INET_UDP_DIAG" = "y"; + "CONFIG_TCP_CONG_CUBIC" = "y"; + "CONFIG_DEFAULT_TCP_CONG" = "cubic"; + "CONFIG_IPV6" = "y"; + "CONFIG_IPV6_ROUTER_PREF" = "y"; + "CONFIG_INET6_TUNNEL" = "m"; + "CONFIG_IPV6_SIT" = "m"; + "CONFIG_IPV6_NDISC_NODETYPE" = "y"; + "CONFIG_IPV6_TUNNEL" = "m"; + "CONFIG_IPV6_GRE" = "m"; + "CONFIG_NET_PTP_CLASSIFY" = "y"; + "CONFIG_NETFILTER" = "y"; + "CONFIG_NETFILTER_ADVANCED" = "y"; + "CONFIG_BRIDGE_NETFILTER" = "m"; + "CONFIG_NETFILTER_NETLINK" = "m"; + "CONFIG_NETFILTER_NETLINK_ACCT" = "m"; + "CONFIG_NETFILTER_NETLINK_QUEUE" = "m"; + "CONFIG_NETFILTER_NETLINK_LOG" = "m"; + "CONFIG_NF_CONNTRACK" = "m"; + "CONFIG_NF_LOG_COMMON" = "m"; + "CONFIG_NF_CONNTRACK_MARK" = "y"; + "CONFIG_NF_CONNTRACK_ZONES" = "y"; + "CONFIG_NF_CONNTRACK_EVENTS" = "y"; + "CONFIG_NF_CONNTRACK_TIMEOUT" = "y"; + "CONFIG_NF_CONNTRACK_LABELS" = "y"; + "CONFIG_NF_CT_PROTO_DCCP" = "m"; + "CONFIG_NF_CT_PROTO_GRE" = "m"; + "CONFIG_NF_CT_PROTO_SCTP" = "m"; + "CONFIG_NF_CT_PROTO_UDPLITE" = "m"; + "CONFIG_NF_CONNTRACK_AMANDA" = "m"; + "CONFIG_NF_CONNTRACK_FTP" = "m"; + "CONFIG_NF_CONNTRACK_H323" = "m"; + "CONFIG_NF_CONNTRACK_IRC" = "m"; + "CONFIG_NF_CONNTRACK_BROADCAST" = "m"; + "CONFIG_NF_CONNTRACK_NETBIOS_NS" = "m"; + "CONFIG_NF_CONNTRACK_SNMP" = "m"; + "CONFIG_NF_CONNTRACK_PPTP" = "m"; + "CONFIG_NF_CONNTRACK_SANE" = "m"; + "CONFIG_NF_CONNTRACK_SIP" = "m"; + "CONFIG_NF_CONNTRACK_TFTP" = "m"; + "CONFIG_NF_CT_NETLINK" = "m"; + "CONFIG_NF_CT_NETLINK_TIMEOUT" = "m"; + "CONFIG_NF_NAT" = "m"; + "CONFIG_NF_NAT_NEEDED" = "y"; + "CONFIG_NF_NAT_PROTO_DCCP" = "m"; + "CONFIG_NF_NAT_PROTO_UDPLITE" = "m"; + "CONFIG_NF_NAT_PROTO_SCTP" = "m"; + "CONFIG_NF_NAT_AMANDA" = "m"; + "CONFIG_NF_NAT_FTP" = "m"; + "CONFIG_NF_NAT_IRC" = "m"; + "CONFIG_NF_NAT_SIP" = "m"; + "CONFIG_NF_NAT_TFTP" = "m"; + "CONFIG_NF_NAT_REDIRECT" = "m"; + "CONFIG_NETFILTER_SYNPROXY" = "m"; + "CONFIG_NF_TABLES" = "m"; + "CONFIG_NF_TABLES_INET" = "m"; + "CONFIG_NFT_EXTHDR" = "m"; + "CONFIG_NFT_META" = "m"; + "CONFIG_NFT_CT" = "m"; + "CONFIG_NFT_RBTREE" = "m"; + "CONFIG_NFT_HASH" = "m"; + "CONFIG_NFT_COUNTER" = "m"; + "CONFIG_NFT_LOG" = "m"; + "CONFIG_NFT_LIMIT" = "m"; + "CONFIG_NFT_MASQ" = "m"; + "CONFIG_NFT_REDIR" = "m"; + "CONFIG_NFT_NAT" = "m"; + "CONFIG_NFT_QUEUE" = "m"; + "CONFIG_NFT_REJECT" = "m"; + "CONFIG_NFT_REJECT_INET" = "m"; + "CONFIG_NFT_COMPAT" = "m"; + "CONFIG_NETFILTER_XTABLES" = "m"; + "CONFIG_NETFILTER_XT_MARK" = "m"; + "CONFIG_NETFILTER_XT_CONNMARK" = "m"; + "CONFIG_NETFILTER_XT_SET" = "m"; + "CONFIG_NETFILTER_XT_TARGET_CHECKSUM" = "m"; + "CONFIG_NETFILTER_XT_TARGET_CLASSIFY" = "m"; + "CONFIG_NETFILTER_XT_TARGET_CONNMARK" = "m"; + "CONFIG_NETFILTER_XT_TARGET_CT" = "m"; + "CONFIG_NETFILTER_XT_TARGET_DSCP" = "m"; + "CONFIG_NETFILTER_XT_TARGET_HL" = "m"; + "CONFIG_NETFILTER_XT_TARGET_HMARK" = "m"; + "CONFIG_NETFILTER_XT_TARGET_IDLETIMER" = "m"; + "CONFIG_NETFILTER_XT_TARGET_LOG" = "m"; + "CONFIG_NETFILTER_XT_TARGET_MARK" = "m"; + "CONFIG_NETFILTER_XT_NAT" = "m"; + "CONFIG_NETFILTER_XT_TARGET_NETMAP" = "m"; + "CONFIG_NETFILTER_XT_TARGET_NFLOG" = "m"; + "CONFIG_NETFILTER_XT_TARGET_NFQUEUE" = "m"; + "CONFIG_NETFILTER_XT_TARGET_NOTRACK" = "m"; + "CONFIG_NETFILTER_XT_TARGET_RATEEST" = "m"; + "CONFIG_NETFILTER_XT_TARGET_REDIRECT" = "m"; + "CONFIG_NETFILTER_XT_TARGET_TEE" = "m"; + "CONFIG_NETFILTER_XT_TARGET_TPROXY" = "m"; + "CONFIG_NETFILTER_XT_TARGET_TRACE" = "m"; + "CONFIG_NETFILTER_XT_TARGET_TCPMSS" = "m"; + "CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_ADDRTYPE" = "m"; + "CONFIG_NETFILTER_XT_MATCH_BPF" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CGROUP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CLUSTER" = "m"; + "CONFIG_NETFILTER_XT_MATCH_COMMENT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CONNBYTES" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CONNLABEL" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CONNLIMIT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CONNMARK" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CONNTRACK" = "m"; + "CONFIG_NETFILTER_XT_MATCH_CPU" = "m"; + "CONFIG_NETFILTER_XT_MATCH_DCCP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_DEVGROUP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_DSCP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_ECN" = "m"; + "CONFIG_NETFILTER_XT_MATCH_ESP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_HASHLIMIT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_HELPER" = "m"; + "CONFIG_NETFILTER_XT_MATCH_HL" = "m"; + "CONFIG_NETFILTER_XT_MATCH_IPCOMP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_IPRANGE" = "m"; + "CONFIG_NETFILTER_XT_MATCH_L2TP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_LENGTH" = "m"; + "CONFIG_NETFILTER_XT_MATCH_LIMIT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_MAC" = "m"; + "CONFIG_NETFILTER_XT_MATCH_MARK" = "m"; + "CONFIG_NETFILTER_XT_MATCH_MULTIPORT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_NFACCT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_OSF" = "m"; + "CONFIG_NETFILTER_XT_MATCH_OWNER" = "m"; + "CONFIG_NETFILTER_XT_MATCH_POLICY" = "m"; + "CONFIG_NETFILTER_XT_MATCH_PKTTYPE" = "m"; + "CONFIG_NETFILTER_XT_MATCH_QUOTA" = "m"; + "CONFIG_NETFILTER_XT_MATCH_RATEEST" = "m"; + "CONFIG_NETFILTER_XT_MATCH_REALM" = "m"; + "CONFIG_NETFILTER_XT_MATCH_RECENT" = "m"; + "CONFIG_NETFILTER_XT_MATCH_SCTP" = "m"; + "CONFIG_NETFILTER_XT_MATCH_SOCKET" = "m"; + "CONFIG_NETFILTER_XT_MATCH_STATE" = "m"; + "CONFIG_NETFILTER_XT_MATCH_STATISTIC" = "m"; + "CONFIG_NETFILTER_XT_MATCH_STRING" = "m"; + "CONFIG_NETFILTER_XT_MATCH_TCPMSS" = "m"; + "CONFIG_NETFILTER_XT_MATCH_TIME" = "m"; + "CONFIG_NETFILTER_XT_MATCH_U32" = "m"; + "CONFIG_IP_SET" = "m"; + "CONFIG_IP_SET_MAX" = "256"; + "CONFIG_IP_SET_BITMAP_IP" = "m"; + "CONFIG_IP_SET_BITMAP_IPMAC" = "m"; + "CONFIG_IP_SET_BITMAP_PORT" = "m"; + "CONFIG_IP_SET_HASH_IP" = "m"; + "CONFIG_IP_SET_HASH_IPMARK" = "m"; + "CONFIG_IP_SET_HASH_IPPORT" = "m"; + "CONFIG_IP_SET_HASH_IPPORTIP" = "m"; + "CONFIG_IP_SET_HASH_IPPORTNET" = "m"; + "CONFIG_IP_SET_HASH_MAC" = "m"; + "CONFIG_IP_SET_HASH_NETPORTNET" = "m"; + "CONFIG_IP_SET_HASH_NET" = "m"; + "CONFIG_IP_SET_HASH_NETNET" = "m"; + "CONFIG_IP_SET_HASH_NETPORT" = "m"; + "CONFIG_IP_SET_HASH_NETIFACE" = "m"; + "CONFIG_IP_SET_LIST_SET" = "m"; + "CONFIG_NF_DEFRAG_IPV4" = "m"; + "CONFIG_NF_CONNTRACK_IPV4" = "m"; + "CONFIG_NF_LOG_ARP" = "m"; + "CONFIG_NF_LOG_IPV4" = "m"; + "CONFIG_NF_TABLES_IPV4" = "m"; + "CONFIG_NFT_CHAIN_ROUTE_IPV4" = "m"; + "CONFIG_NF_REJECT_IPV4" = "y"; + "CONFIG_NFT_REJECT_IPV4" = "m"; + "CONFIG_NF_TABLES_ARP" = "m"; + "CONFIG_NF_NAT_IPV4" = "m"; + "CONFIG_NFT_CHAIN_NAT_IPV4" = "m"; + "CONFIG_NF_NAT_MASQUERADE_IPV4" = "m"; + "CONFIG_NFT_MASQ_IPV4" = "m"; + "CONFIG_NFT_REDIR_IPV4" = "m"; + "CONFIG_NF_NAT_SNMP_BASIC" = "m"; + "CONFIG_NF_NAT_PROTO_GRE" = "m"; + "CONFIG_NF_NAT_PPTP" = "m"; + "CONFIG_NF_NAT_H323" = "m"; + "CONFIG_IP_NF_IPTABLES" = "m"; + "CONFIG_IP_NF_MATCH_AH" = "m"; + "CONFIG_IP_NF_MATCH_ECN" = "m"; + "CONFIG_IP_NF_MATCH_RPFILTER" = "m"; + "CONFIG_IP_NF_MATCH_TTL" = "m"; + "CONFIG_IP_NF_FILTER" = "m"; + "CONFIG_IP_NF_TARGET_REJECT" = "m"; + "CONFIG_IP_NF_TARGET_SYNPROXY" = "m"; + "CONFIG_IP_NF_NAT" = "m"; + "CONFIG_IP_NF_TARGET_MASQUERADE" = "m"; + "CONFIG_IP_NF_TARGET_NETMAP" = "m"; + "CONFIG_IP_NF_TARGET_REDIRECT" = "m"; + "CONFIG_IP_NF_MANGLE" = "m"; + "CONFIG_IP_NF_TARGET_CLUSTERIP" = "m"; + "CONFIG_IP_NF_TARGET_ECN" = "m"; + "CONFIG_IP_NF_TARGET_TTL" = "m"; + "CONFIG_IP_NF_RAW" = "m"; + "CONFIG_IP_NF_ARPTABLES" = "m"; + "CONFIG_IP_NF_ARPFILTER" = "m"; + "CONFIG_IP_NF_ARP_MANGLE" = "m"; + "CONFIG_NF_DEFRAG_IPV6" = "m"; + "CONFIG_NF_CONNTRACK_IPV6" = "m"; + "CONFIG_NF_TABLES_IPV6" = "m"; + "CONFIG_NFT_CHAIN_ROUTE_IPV6" = "m"; + "CONFIG_NF_REJECT_IPV6" = "y"; + "CONFIG_NFT_REJECT_IPV6" = "m"; + "CONFIG_NF_LOG_IPV6" = "m"; + "CONFIG_NF_NAT_IPV6" = "m"; + "CONFIG_NFT_CHAIN_NAT_IPV6" = "m"; + "CONFIG_NF_NAT_MASQUERADE_IPV6" = "m"; + "CONFIG_NFT_MASQ_IPV6" = "m"; + "CONFIG_NFT_REDIR_IPV6" = "m"; + "CONFIG_IP6_NF_IPTABLES" = "m"; + "CONFIG_IP6_NF_MATCH_AH" = "m"; + "CONFIG_IP6_NF_MATCH_EUI64" = "m"; + "CONFIG_IP6_NF_MATCH_FRAG" = "m"; + "CONFIG_IP6_NF_MATCH_OPTS" = "m"; + "CONFIG_IP6_NF_MATCH_HL" = "m"; + "CONFIG_IP6_NF_MATCH_IPV6HEADER" = "m"; + "CONFIG_IP6_NF_MATCH_MH" = "m"; + "CONFIG_IP6_NF_MATCH_RPFILTER" = "m"; + "CONFIG_IP6_NF_MATCH_RT" = "m"; + "CONFIG_IP6_NF_TARGET_HL" = "m"; + "CONFIG_IP6_NF_FILTER" = "m"; + "CONFIG_IP6_NF_TARGET_REJECT" = "m"; + "CONFIG_IP6_NF_TARGET_SYNPROXY" = "m"; + "CONFIG_IP6_NF_MANGLE" = "m"; + "CONFIG_IP6_NF_RAW" = "m"; + "CONFIG_IP6_NF_NAT" = "m"; + "CONFIG_IP6_NF_TARGET_MASQUERADE" = "m"; + "CONFIG_IP6_NF_TARGET_NPT" = "m"; + "CONFIG_NF_TABLES_BRIDGE" = "m"; + "CONFIG_NFT_BRIDGE_META" = "m"; + "CONFIG_NFT_BRIDGE_REJECT" = "m"; + "CONFIG_NF_LOG_BRIDGE" = "m"; + "CONFIG_L2TP" = "m"; + "CONFIG_STP" = "m"; + "CONFIG_BRIDGE" = "m"; + "CONFIG_BRIDGE_IGMP_SNOOPING" = "y"; + "CONFIG_HAVE_NET_DSA" = "y"; + "CONFIG_LLC" = "m"; + "CONFIG_NET_SCHED" = "y"; + "CONFIG_NET_SCH_CBQ" = "m"; + "CONFIG_NET_SCH_HTB" = "m"; + "CONFIG_NET_SCH_HFSC" = "m"; + "CONFIG_NET_SCH_PRIO" = "m"; + "CONFIG_NET_SCH_MULTIQ" = "m"; + "CONFIG_NET_SCH_RED" = "m"; + "CONFIG_NET_SCH_SFB" = "m"; + "CONFIG_NET_SCH_SFQ" = "m"; + "CONFIG_NET_SCH_TEQL" = "m"; + "CONFIG_NET_SCH_TBF" = "m"; + "CONFIG_NET_SCH_GRED" = "m"; + "CONFIG_NET_SCH_DSMARK" = "m"; + "CONFIG_NET_SCH_NETEM" = "m"; + "CONFIG_NET_SCH_DRR" = "m"; + "CONFIG_NET_SCH_MQPRIO" = "m"; + "CONFIG_NET_SCH_CHOKE" = "m"; + "CONFIG_NET_SCH_QFQ" = "m"; + "CONFIG_NET_SCH_CODEL" = "m"; + "CONFIG_NET_SCH_FQ_CODEL" = "m"; + "CONFIG_NET_SCH_FQ" = "m"; + "CONFIG_NET_SCH_HHF" = "m"; + "CONFIG_NET_SCH_PIE" = "m"; + "CONFIG_NET_SCH_INGRESS" = "m"; + "CONFIG_NET_SCH_PLUG" = "m"; + "CONFIG_NET_CLS" = "y"; + "CONFIG_NET_CLS_BASIC" = "m"; + "CONFIG_NET_CLS_TCINDEX" = "m"; + "CONFIG_NET_CLS_ROUTE4" = "m"; + "CONFIG_NET_CLS_FW" = "m"; + "CONFIG_NET_CLS_U32" = "m"; + "CONFIG_CLS_U32_MARK" = "y"; + "CONFIG_NET_CLS_RSVP" = "m"; + "CONFIG_NET_CLS_RSVP6" = "m"; + "CONFIG_NET_CLS_FLOW" = "m"; + "CONFIG_NET_CLS_CGROUP" = "y"; + "CONFIG_NET_CLS_BPF" = "m"; + "CONFIG_NET_EMATCH" = "y"; + "CONFIG_NET_EMATCH_STACK" = "32"; + "CONFIG_NET_EMATCH_CMP" = "m"; + "CONFIG_NET_EMATCH_NBYTE" = "m"; + "CONFIG_NET_EMATCH_U32" = "m"; + "CONFIG_NET_EMATCH_META" = "m"; + "CONFIG_NET_EMATCH_TEXT" = "m"; + "CONFIG_NET_EMATCH_IPSET" = "m"; + "CONFIG_NET_CLS_ACT" = "y"; + "CONFIG_NET_ACT_POLICE" = "m"; + "CONFIG_NET_ACT_GACT" = "m"; + "CONFIG_GACT_PROB" = "y"; + "CONFIG_NET_ACT_MIRRED" = "m"; + "CONFIG_NET_ACT_IPT" = "m"; + "CONFIG_NET_ACT_NAT" = "m"; + "CONFIG_NET_ACT_PEDIT" = "m"; + "CONFIG_NET_ACT_SIMP" = "m"; + "CONFIG_NET_ACT_SKBEDIT" = "m"; + "CONFIG_NET_ACT_CSUM" = "m"; + "CONFIG_NET_ACT_VLAN" = "m"; + "CONFIG_NET_ACT_BPF" = "m"; + "CONFIG_NET_ACT_CONNMARK" = "m"; + "CONFIG_NET_CLS_IND" = "y"; + "CONFIG_NET_SCH_FIFO" = "y"; + "CONFIG_DNS_RESOLVER" = "y"; + "CONFIG_BATMAN_ADV" = "m"; + "CONFIG_BATMAN_ADV_BLA" = "y"; + "CONFIG_OPENVSWITCH" = "m"; + "CONFIG_OPENVSWITCH_VXLAN" = "m"; + "CONFIG_VSOCKETS" = "m"; + "CONFIG_NETLINK_MMAP" = "y"; + "CONFIG_NETLINK_DIAG" = "m"; + "CONFIG_NET_MPLS_GSO" = "m"; + "CONFIG_HSR" = "m"; + "CONFIG_RPS" = "y"; + "CONFIG_RFS_ACCEL" = "y"; + "CONFIG_XPS" = "y"; + "CONFIG_CGROUP_NET_CLASSID" = "y"; + "CONFIG_NET_RX_BUSY_POLL" = "y"; + "CONFIG_BQL" = "y"; + "CONFIG_BPF_JIT" = "y"; + "CONFIG_NET_FLOW_LIMIT" = "y"; + "CONFIG_NET_PKTGEN" = "m"; + "CONFIG_CEPH_LIB" = "m"; + "CONFIG_HAVE_BPF_JIT" = "y"; + "CONFIG_DEVTMPFS" = "y"; + "CONFIG_DEVTMPFS_MOUNT" = "y"; + "CONFIG_FW_LOADER" = "y"; + "CONFIG_FIRMWARE_IN_KERNEL" = "y"; + "CONFIG_EXTRA_FIRMWARE" = "@extra_firmware@"; + "CONFIG_EXTRA_FIRMWARE_DIR" = "@builtin_firmware@"; + "CONFIG_ALLOW_DEV_COREDUMP" = "y"; + "CONFIG_GENERIC_CPU_AUTOPROBE" = "y"; + "CONFIG_DMA_SHARED_BUFFER" = "y"; + "CONFIG_CONNECTOR" = "y"; + "CONFIG_PROC_EVENTS" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT" = "y"; + "CONFIG_PNP" = "y"; + "CONFIG_PNPACPI" = "y"; + "CONFIG_BLK_DEV" = "y"; + "CONFIG_BLK_DEV_NULL_BLK" = "m"; + "CONFIG_ZRAM" = "y"; + "CONFIG_ZRAM_LZ4_COMPRESS" = "y"; + "CONFIG_BLK_DEV_LOOP" = "y"; + "CONFIG_BLK_DEV_LOOP_MIN_COUNT" = "0"; + "CONFIG_BLK_DEV_CRYPTOLOOP" = "m"; + "CONFIG_CDROM_PKTCDVD" = "y"; + "CONFIG_CDROM_PKTCDVD_BUFFERS" = "8"; + "CONFIG_HAVE_IDE" = "y"; + "CONFIG_SCSI_MOD" = "y"; + "CONFIG_SCSI" = "y"; + "CONFIG_SCSI_DMA" = "y"; + "CONFIG_SCSI_MQ_DEFAULT" = "y"; + "CONFIG_BLK_DEV_SD" = "y"; + "CONFIG_BLK_DEV_SR" = "y"; + "CONFIG_CHR_DEV_SG" = "y"; + "CONFIG_ATA" = "y"; + "CONFIG_ATA_ACPI" = "y"; + "CONFIG_SATA_AHCI" = "y"; + "CONFIG_MD" = "y"; + "CONFIG_BLK_DEV_MD" = "y"; + "CONFIG_MD_AUTODETECT" = "y"; + "CONFIG_MD_RAID1" = "y"; + "CONFIG_BLK_DEV_DM_BUILTIN" = "y"; + "CONFIG_BLK_DEV_DM" = "y"; + "CONFIG_DM_BUFIO" = "m"; + "CONFIG_DM_CRYPT" = "y"; + "CONFIG_DM_UEVENT" = "y"; + "CONFIG_DM_FLAKEY" = "m"; + "CONFIG_DM_VERITY" = "m"; + "CONFIG_NETDEVICES" = "y"; + "CONFIG_NET_CORE" = "y"; + "CONFIG_DUMMY" = "m"; + "CONFIG_NET_TEAM" = "m"; + "CONFIG_NET_TEAM_MODE_BROADCAST" = "m"; + "CONFIG_NET_TEAM_MODE_ROUNDROBIN" = "m"; + "CONFIG_NET_TEAM_MODE_RANDOM" = "m"; + "CONFIG_NET_TEAM_MODE_ACTIVEBACKUP" = "m"; + "CONFIG_NET_TEAM_MODE_LOADBALANCE" = "m"; + "CONFIG_VXLAN" = "m"; + "CONFIG_NETCONSOLE" = "m"; + "CONFIG_NETPOLL" = "y"; + "CONFIG_NET_POLL_CONTROLLER" = "y"; + "CONFIG_TUN" = "m"; + "CONFIG_NLMON" = "m"; + "CONFIG_VHOST_NET" = "m"; + "CONFIG_VHOST_RING" = "m"; + "CONFIG_VHOST" = "m"; + "CONFIG_ETHERNET" = "y"; + "CONFIG_NET_VENDOR_INTEL" = "y"; + "CONFIG_E1000E" = "y"; + "CONFIG_PPP" = "m"; + "CONFIG_PPP_BSDCOMP" = "m"; + "CONFIG_PPP_DEFLATE" = "m"; + "CONFIG_PPP_FILTER" = "y"; + "CONFIG_PPP_MPPE" = "m"; + "CONFIG_PPPOE" = "m"; + "CONFIG_PPP_ASYNC" = "m"; + "CONFIG_PPP_SYNC_TTY" = "m"; + "CONFIG_SLHC" = "m"; + "CONFIG_USB_NET_DRIVERS" = "m"; + "CONFIG_INPUT" = "y"; + "CONFIG_INPUT_FF_MEMLESS" = "y"; + "CONFIG_INPUT_MOUSEDEV" = "y"; + "CONFIG_INPUT_MOUSEDEV_SCREEN_X" = "1600"; + "CONFIG_INPUT_MOUSEDEV_SCREEN_Y" = "1200"; + "CONFIG_INPUT_JOYDEV" = "y"; + "CONFIG_INPUT_EVDEV" = "y"; + "CONFIG_INPUT_KEYBOARD" = "y"; + "CONFIG_KEYBOARD_ATKBD" = "y"; + "CONFIG_INPUT_MOUSE" = "y"; + "CONFIG_INPUT_MISC" = "y"; + "CONFIG_INPUT_UINPUT" = "m"; + "CONFIG_SERIO" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_PC_SERIO" = "y"; + "CONFIG_SERIO_I8042" = "y"; + "CONFIG_SERIO_LIBPS2" = "y"; + "CONFIG_TTY" = "y"; + "CONFIG_VT" = "y"; + "CONFIG_CONSOLE_TRANSLATIONS" = "y"; + "CONFIG_VT_CONSOLE" = "y"; + "CONFIG_HW_CONSOLE" = "y"; + "CONFIG_VT_HW_CONSOLE_BINDING" = "y"; + "CONFIG_UNIX98_PTYS" = "y"; + "CONFIG_DEVPTS_MULTIPLE_INSTANCES" = "y"; + "CONFIG_DEVMEM" = "y"; + "CONFIG_DEVKMEM" = "y"; + "CONFIG_NVRAM" = "m"; + "CONFIG_HPET" = "y"; + "CONFIG_HPET_MMAP" = "y"; + "CONFIG_HPET_MMAP_DEFAULT" = "y"; + "CONFIG_HANGCHECK_TIMER" = "m"; + "CONFIG_DEVPORT" = "y"; + "CONFIG_I2C" = "y"; + "CONFIG_I2C_BOARDINFO" = "y"; + "CONFIG_I2C_CHARDEV" = "y"; + "CONFIG_I2C_MUX" = "y"; + "CONFIG_I2C_HELPER_AUTO" = "y"; + "CONFIG_I2C_ALGOBIT" = "y"; + "CONFIG_I2C_I801" = "y"; + "CONFIG_PPS" = "y"; + "CONFIG_PTP_1588_CLOCK" = "y"; + "CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB" = "y"; + "CONFIG_POWER_SUPPLY" = "y"; + "CONFIG_HWMON" = "y"; + "CONFIG_HWMON_VID" = "y"; + "CONFIG_SENSORS_ASC7621" = "y"; + "CONFIG_SENSORS_CORETEMP" = "y"; + "CONFIG_SENSORS_W83627EHF" = "y"; + "CONFIG_THERMAL" = "y"; + "CONFIG_THERMAL_HWMON" = "y"; + "CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE" = "y"; + "CONFIG_THERMAL_GOV_STEP_WISE" = "y"; + "CONFIG_THERMAL_GOV_USER_SPACE" = "y"; + "CONFIG_INTEL_POWERCLAMP" = "m"; + "CONFIG_X86_PKG_TEMP_THERMAL" = "m"; + "CONFIG_SSB_POSSIBLE" = "y"; + "CONFIG_BCMA_POSSIBLE" = "y"; + "CONFIG_MEDIA_SUPPORT" = "y"; + "CONFIG_MEDIA_CAMERA_SUPPORT" = "y"; + "CONFIG_VIDEO_DEV" = "y"; + "CONFIG_VIDEO_V4L2" = "y"; + "CONFIG_VIDEOBUF2_CORE" = "y"; + "CONFIG_VIDEOBUF2_MEMOPS" = "y"; + "CONFIG_VIDEOBUF2_VMALLOC" = "y"; + "CONFIG_MEDIA_USB_SUPPORT" = "y"; + "CONFIG_USB_VIDEO_CLASS" = "y"; + "CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV" = "y"; + "CONFIG_USB_GSPCA" = "m"; + "CONFIG_USB_M5602" = "m"; + "CONFIG_USB_STV06XX" = "m"; + "CONFIG_USB_GL860" = "m"; + "CONFIG_USB_GSPCA_BENQ" = "m"; + "CONFIG_USB_GSPCA_CONEX" = "m"; + "CONFIG_USB_GSPCA_CPIA1" = "m"; + "CONFIG_USB_GSPCA_DTCS033" = "m"; + "CONFIG_USB_GSPCA_ETOMS" = "m"; + "CONFIG_USB_GSPCA_FINEPIX" = "m"; + "CONFIG_USB_GSPCA_JEILINJ" = "m"; + "CONFIG_USB_GSPCA_JL2005BCD" = "m"; + "CONFIG_USB_GSPCA_KINECT" = "m"; + "CONFIG_USB_GSPCA_KONICA" = "m"; + "CONFIG_USB_GSPCA_MARS" = "m"; + "CONFIG_USB_GSPCA_MR97310A" = "m"; + "CONFIG_USB_GSPCA_NW80X" = "m"; + "CONFIG_USB_GSPCA_OV519" = "m"; + "CONFIG_USB_GSPCA_OV534" = "m"; + "CONFIG_USB_GSPCA_OV534_9" = "m"; + "CONFIG_USB_GSPCA_PAC207" = "m"; + "CONFIG_USB_GSPCA_PAC7302" = "m"; + "CONFIG_USB_GSPCA_PAC7311" = "m"; + "CONFIG_USB_GSPCA_SE401" = "m"; + "CONFIG_USB_GSPCA_SN9C2028" = "m"; + "CONFIG_USB_GSPCA_SN9C20X" = "m"; + "CONFIG_USB_GSPCA_SONIXB" = "m"; + "CONFIG_USB_GSPCA_SONIXJ" = "m"; + "CONFIG_USB_GSPCA_SPCA500" = "m"; + "CONFIG_USB_GSPCA_SPCA501" = "m"; + "CONFIG_USB_GSPCA_SPCA505" = "m"; + "CONFIG_USB_GSPCA_SPCA506" = "m"; + "CONFIG_USB_GSPCA_SPCA508" = "m"; + "CONFIG_USB_GSPCA_SPCA561" = "m"; + "CONFIG_USB_GSPCA_SPCA1528" = "m"; + "CONFIG_USB_GSPCA_SQ905" = "m"; + "CONFIG_USB_GSPCA_SQ905C" = "m"; + "CONFIG_USB_GSPCA_SQ930X" = "m"; + "CONFIG_USB_GSPCA_STK014" = "m"; + "CONFIG_USB_GSPCA_STK1135" = "m"; + "CONFIG_USB_GSPCA_STV0680" = "m"; + "CONFIG_USB_GSPCA_SUNPLUS" = "m"; + "CONFIG_USB_GSPCA_T613" = "m"; + "CONFIG_USB_GSPCA_TOPRO" = "m"; + "CONFIG_USB_GSPCA_TOUPTEK" = "m"; + "CONFIG_USB_GSPCA_TV8532" = "m"; + "CONFIG_USB_GSPCA_VC032X" = "m"; + "CONFIG_USB_GSPCA_VICAM" = "m"; + "CONFIG_USB_GSPCA_XIRLINK_CIT" = "m"; + "CONFIG_USB_GSPCA_ZC3XX" = "m"; + "CONFIG_AGP" = "y"; + "CONFIG_AGP_INTEL" = "y"; + "CONFIG_INTEL_GTT" = "y"; + "CONFIG_VGA_ARB" = "y"; + "CONFIG_VGA_ARB_MAX_GPUS" = "2"; + "CONFIG_DRM" = "y"; + "CONFIG_DRM_KMS_HELPER" = "y"; + "CONFIG_DRM_KMS_FB_HELPER" = "y"; + "CONFIG_DRM_TTM" = "y"; + "CONFIG_DRM_RADEON" = "y"; + "CONFIG_DRM_BOCHS" = "m"; + "CONFIG_FB" = "y"; + "CONFIG_FB_CMDLINE" = "y"; + "CONFIG_FB_CFB_FILLRECT" = "y"; + "CONFIG_FB_CFB_COPYAREA" = "y"; + "CONFIG_FB_CFB_IMAGEBLIT" = "y"; + "CONFIG_FB_SYS_FILLRECT" = "m"; + "CONFIG_FB_SYS_COPYAREA" = "m"; + "CONFIG_FB_SYS_IMAGEBLIT" = "m"; + "CONFIG_FB_MODE_HELPERS" = "y"; + "CONFIG_FB_TILEBLITTING" = "y"; + "CONFIG_BACKLIGHT_LCD_SUPPORT" = "y"; + "CONFIG_BACKLIGHT_CLASS_DEVICE" = "y"; + "CONFIG_HDMI" = "y"; + "CONFIG_VGA_CONSOLE" = "y"; + "CONFIG_VGACON_SOFT_SCROLLBACK" = "y"; + "CONFIG_VGACON_SOFT_SCROLLBACK_SIZE" = "1024"; + "CONFIG_DUMMY_CONSOLE" = "y"; + "CONFIG_DUMMY_CONSOLE_COLUMNS" = "80"; + "CONFIG_DUMMY_CONSOLE_ROWS" = "25"; + "CONFIG_FRAMEBUFFER_CONSOLE" = "y"; + "CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY" = "y"; + "CONFIG_SOUND" = "y"; + "CONFIG_SOUND_OSS_CORE" = "y"; + "CONFIG_SOUND_OSS_CORE_PRECLAIM" = "y"; + "CONFIG_SND" = "y"; + "CONFIG_SND_TIMER" = "y"; + "CONFIG_SND_PCM" = "y"; + "CONFIG_SND_HWDEP" = "y"; + "CONFIG_SND_RAWMIDI" = "m"; + "CONFIG_SND_JACK" = "y"; + "CONFIG_SND_SEQUENCER" = "y"; + "CONFIG_SND_SEQ_DUMMY" = "m"; + "CONFIG_SND_OSSEMUL" = "y"; + "CONFIG_SND_MIXER_OSS" = "y"; + "CONFIG_SND_PCM_OSS" = "y"; + "CONFIG_SND_PCM_OSS_PLUGINS" = "y"; + "CONFIG_SND_SEQUENCER_OSS" = "y"; + "CONFIG_SND_HRTIMER" = "y"; + "CONFIG_SND_SEQ_HRTIMER_DEFAULT" = "y"; + "CONFIG_SND_DYNAMIC_MINORS" = "y"; + "CONFIG_SND_MAX_CARDS" = "32"; + "CONFIG_SND_VMASTER" = "y"; + "CONFIG_SND_KCTL_JACK" = "y"; + "CONFIG_SND_DMA_SGBUF" = "y"; + "CONFIG_SND_RAWMIDI_SEQ" = "m"; + "CONFIG_SND_PCI" = "y"; + "CONFIG_SND_CTXFI" = "y"; + "CONFIG_SND_HDA" = "y"; + "CONFIG_SND_HDA_INTEL" = "y"; + "CONFIG_SND_HDA_PREALLOC_SIZE" = "4096"; + "CONFIG_SND_HDA_HWDEP" = "y"; + "CONFIG_SND_HDA_RECONFIG" = "y"; + "CONFIG_SND_HDA_INPUT_BEEP" = "y"; + "CONFIG_SND_HDA_INPUT_BEEP_MODE" = "0"; + "CONFIG_SND_HDA_INPUT_JACK" = "y"; + "CONFIG_SND_HDA_PATCH_LOADER" = "y"; + "CONFIG_SND_HDA_CODEC_REALTEK" = "y"; + "CONFIG_SND_HDA_GENERIC" = "y"; + "CONFIG_SND_HDA_POWER_SAVE_DEFAULT" = "0"; + "CONFIG_SND_USB" = "y"; + "CONFIG_SND_USB_AUDIO" = "m"; + "CONFIG_HID" = "y"; + "CONFIG_HID_BATTERY_STRENGTH" = "y"; + "CONFIG_UHID" = "m"; + "CONFIG_HID_GENERIC" = "y"; + "CONFIG_HID_A4TECH" = "y"; + "CONFIG_HID_APPLE" = "y"; + "CONFIG_HID_BELKIN" = "y"; + "CONFIG_HID_CHERRY" = "y"; + "CONFIG_HID_CHICONY" = "y"; + "CONFIG_HID_CYPRESS" = "y"; + "CONFIG_HID_EZKEY" = "y"; + "CONFIG_HID_KENSINGTON" = "y"; + "CONFIG_HID_LOGITECH" = "y"; + "CONFIG_HID_MICROSOFT" = "y"; + "CONFIG_HID_MONTEREY" = "y"; + "CONFIG_HID_PANTHERLORD" = "y"; + "CONFIG_PANTHERLORD_FF" = "y"; + "CONFIG_HID_SONY" = "m"; + "CONFIG_SONY_FF" = "y"; + "CONFIG_HID_GREENASIA" = "y"; + "CONFIG_GREENASIA_FF" = "y"; + "CONFIG_HID_WACOM" = "m"; + "CONFIG_USB_HID" = "y"; + "CONFIG_USB_HIDDEV" = "y"; + "CONFIG_I2C_HID" = "m"; + "CONFIG_USB_OHCI_LITTLE_ENDIAN" = "y"; + "CONFIG_USB_SUPPORT" = "y"; + "CONFIG_USB_COMMON" = "y"; + "CONFIG_USB_ARCH_HAS_HCD" = "y"; + "CONFIG_USB" = "y"; + "CONFIG_USB_ANNOUNCE_NEW_DEVICES" = "y"; + "CONFIG_USB_DEFAULT_PERSIST" = "y"; + "CONFIG_USB_MON" = "m"; + "CONFIG_USB_EHCI_HCD" = "y"; + "CONFIG_USB_EHCI_ROOT_HUB_TT" = "y"; + "CONFIG_USB_EHCI_PCI" = "y"; + "CONFIG_USB_STORAGE" = "y"; + "CONFIG_USB_STORAGE_REALTEK" = "m"; + "CONFIG_REALTEK_AUTOPM" = "y"; + "CONFIG_USB_STORAGE_DATAFAB" = "m"; + "CONFIG_USB_STORAGE_FREECOM" = "m"; + "CONFIG_USB_STORAGE_ISD200" = "m"; + "CONFIG_USB_STORAGE_USBAT" = "m"; + "CONFIG_USB_STORAGE_SDDR09" = "m"; + "CONFIG_USB_STORAGE_SDDR55" = "m"; + "CONFIG_USB_STORAGE_JUMPSHOT" = "m"; + "CONFIG_USB_STORAGE_ALAUDA" = "m"; + "CONFIG_USB_STORAGE_ONETOUCH" = "m"; + "CONFIG_USB_STORAGE_KARMA" = "m"; + "CONFIG_USB_STORAGE_CYPRESS_ATACB" = "m"; + "CONFIG_USB_STORAGE_ENE_UB6250" = "m"; + "CONFIG_USB_UAS" = "m"; + "CONFIG_USBIP_CORE" = "m"; + "CONFIG_USBIP_VHCI_HCD" = "m"; + "CONFIG_USBIP_HOST" = "m"; + "CONFIG_USB_SERIAL" = "y"; + "CONFIG_USB_SERIAL_SIMPLE" = "m"; + "CONFIG_USB_SERIAL_AIRCABLE" = "m"; + "CONFIG_USB_SERIAL_ARK3116" = "m"; + "CONFIG_USB_SERIAL_BELKIN" = "m"; + "CONFIG_USB_SERIAL_CH341" = "m"; + "CONFIG_USB_SERIAL_WHITEHEAT" = "m"; + "CONFIG_USB_SERIAL_DIGI_ACCELEPORT" = "m"; + "CONFIG_USB_SERIAL_CP210X" = "m"; + "CONFIG_USB_SERIAL_CYPRESS_M8" = "m"; + "CONFIG_USB_SERIAL_EMPEG" = "m"; + "CONFIG_USB_SERIAL_FTDI_SIO" = "m"; + "CONFIG_USB_SERIAL_VISOR" = "m"; + "CONFIG_USB_SERIAL_IPAQ" = "m"; + "CONFIG_USB_SERIAL_IR" = "m"; + "CONFIG_USB_SERIAL_EDGEPORT" = "m"; + "CONFIG_USB_SERIAL_EDGEPORT_TI" = "m"; + "CONFIG_USB_SERIAL_F81232" = "m"; + "CONFIG_USB_SERIAL_GARMIN" = "m"; + "CONFIG_USB_SERIAL_IPW" = "m"; + "CONFIG_USB_SERIAL_IUU" = "m"; + "CONFIG_USB_SERIAL_KEYSPAN_PDA" = "m"; + "CONFIG_USB_SERIAL_KEYSPAN" = "m"; + "CONFIG_USB_SERIAL_KEYSPAN_MPR" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA28" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA28X" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA28XA" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA28XB" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA19" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA18X" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA19W" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA19QW" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA19QI" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA49W" = "y"; + "CONFIG_USB_SERIAL_KEYSPAN_USA49WLC" = "y"; + "CONFIG_USB_SERIAL_KLSI" = "m"; + "CONFIG_USB_SERIAL_KOBIL_SCT" = "m"; + "CONFIG_USB_SERIAL_MCT_U232" = "m"; + "CONFIG_USB_SERIAL_METRO" = "m"; + "CONFIG_USB_SERIAL_MOS7720" = "m"; + "CONFIG_USB_SERIAL_MOS7840" = "m"; + "CONFIG_USB_SERIAL_MXUPORT" = "m"; + "CONFIG_USB_SERIAL_NAVMAN" = "m"; + "CONFIG_USB_SERIAL_PL2303" = "m"; + "CONFIG_USB_SERIAL_OTI6858" = "m"; + "CONFIG_USB_SERIAL_QCAUX" = "m"; + "CONFIG_USB_SERIAL_QUALCOMM" = "m"; + "CONFIG_USB_SERIAL_SPCP8X5" = "m"; + "CONFIG_USB_SERIAL_SAFE" = "m"; + "CONFIG_USB_SERIAL_SIERRAWIRELESS" = "m"; + "CONFIG_USB_SERIAL_SYMBOL" = "m"; + "CONFIG_USB_SERIAL_TI" = "m"; + "CONFIG_USB_SERIAL_CYBERJACK" = "m"; + "CONFIG_USB_SERIAL_XIRCOM" = "m"; + "CONFIG_USB_SERIAL_WWAN" = "m"; + "CONFIG_USB_SERIAL_OPTION" = "m"; + "CONFIG_USB_SERIAL_OMNINET" = "m"; + "CONFIG_USB_SERIAL_OPTICON" = "m"; + "CONFIG_USB_SERIAL_XSENS_MT" = "m"; + "CONFIG_USB_SERIAL_WISHBONE" = "m"; + "CONFIG_USB_SERIAL_SSU100" = "m"; + "CONFIG_USB_SERIAL_QT2" = "m"; + "CONFIG_USB_SERIAL_DEBUG" = "m"; + "CONFIG_USB_EZUSB_FX2" = "m"; + "CONFIG_NEW_LEDS" = "y"; + "CONFIG_LEDS_CLASS" = "m"; + "CONFIG_LEDS_CLASS_FLASH" = "m"; + "CONFIG_RTC_LIB" = "y"; + "CONFIG_RTC_CLASS" = "y"; + "CONFIG_RTC_HCTOSYS" = "y"; + "CONFIG_RTC_SYSTOHC" = "y"; + "CONFIG_RTC_HCTOSYS_DEVICE" = "rtc0"; + "CONFIG_RTC_INTF_SYSFS" = "y"; + "CONFIG_RTC_INTF_PROC" = "y"; + "CONFIG_RTC_INTF_DEV" = "y"; + "CONFIG_RTC_DRV_CMOS" = "y"; + "CONFIG_CLKEVT_I8253" = "y"; + "CONFIG_I8253_LOCK" = "y"; + "CONFIG_CLKBLD_I8253" = "y"; + "CONFIG_EXTCON" = "m"; + "CONFIG_RAS" = "y"; + "CONFIG_FIRMWARE_MEMMAP" = "y"; + "CONFIG_DMIID" = "y"; + "CONFIG_DMI_SYSFS" = "m"; + "CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK" = "y"; + "CONFIG_UEFI_CPER" = "y"; + "CONFIG_DCACHE_WORD_ACCESS" = "y"; + "CONFIG_EXT2_FS" = "y"; + "CONFIG_EXT3_FS" = "m"; + "CONFIG_EXT4_FS" = "m"; + "CONFIG_EXT4_FS_POSIX_ACL" = "y"; + "CONFIG_JBD" = "m"; + "CONFIG_JBD2" = "m"; + "CONFIG_FS_MBCACHE" = "m"; + "CONFIG_XFS_FS" = "y"; + "CONFIG_XFS_POSIX_ACL" = "y"; + "CONFIG_FS_POSIX_ACL" = "y"; + "CONFIG_EXPORTFS" = "y"; + "CONFIG_FILE_LOCKING" = "y"; + "CONFIG_FSNOTIFY" = "y"; + "CONFIG_DNOTIFY" = "y"; + "CONFIG_INOTIFY_USER" = "y"; + "CONFIG_FANOTIFY" = "y"; + "CONFIG_AUTOFS4_FS" = "y"; + "CONFIG_FUSE_FS" = "y"; + "CONFIG_CUSE" = "m"; + "CONFIG_OVERLAY_FS" = "y"; + "CONFIG_ISO9660_FS" = "y"; + "CONFIG_JOLIET" = "y"; + "CONFIG_UDF_FS" = "y"; + "CONFIG_UDF_NLS" = "y"; + "CONFIG_FAT_FS" = "y"; + "CONFIG_MSDOS_FS" = "y"; + "CONFIG_VFAT_FS" = "y"; + "CONFIG_FAT_DEFAULT_CODEPAGE" = "850"; + "CONFIG_FAT_DEFAULT_IOCHARSET" = "iso8859-1"; + "CONFIG_NTFS_FS" = "y"; + "CONFIG_PROC_FS" = "y"; + "CONFIG_PROC_SYSCTL" = "y"; + "CONFIG_PROC_PAGE_MONITOR" = "y"; + "CONFIG_KERNFS" = "y"; + "CONFIG_SYSFS" = "y"; + "CONFIG_TMPFS" = "y"; + "CONFIG_TMPFS_POSIX_ACL" = "y"; + "CONFIG_TMPFS_XATTR" = "y"; + "CONFIG_CONFIGFS_FS" = "y"; + "CONFIG_MISC_FILESYSTEMS" = "y"; + "CONFIG_ADFS_FS" = "m"; + "CONFIG_ADFS_FS_RW" = "y"; + "CONFIG_AFFS_FS" = "m"; + "CONFIG_ECRYPT_FS" = "m"; + "CONFIG_HFS_FS" = "m"; + "CONFIG_HFSPLUS_FS" = "m"; + "CONFIG_BEFS_FS" = "m"; + "CONFIG_BFS_FS" = "m"; + "CONFIG_EFS_FS" = "m"; + "CONFIG_LOGFS" = "m"; + "CONFIG_CRAMFS" = "m"; + "CONFIG_SQUASHFS" = "m"; + "CONFIG_SQUASHFS_FILE_CACHE" = "y"; + "CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU" = "y"; + "CONFIG_SQUASHFS_ZLIB" = "y"; + "CONFIG_SQUASHFS_LZ4" = "y"; + "CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE" = "3"; + "CONFIG_VXFS_FS" = "m"; + "CONFIG_MINIX_FS" = "m"; + "CONFIG_OMFS_FS" = "m"; + "CONFIG_QNX4FS_FS" = "m"; + "CONFIG_QNX6FS_FS" = "m"; + "CONFIG_ROMFS_FS" = "m"; + "CONFIG_ROMFS_BACKED_BY_BLOCK" = "y"; + "CONFIG_ROMFS_ON_BLOCK" = "y"; + "CONFIG_PSTORE" = "y"; + "CONFIG_PSTORE_RAM" = "y"; + "CONFIG_SYSV_FS" = "m"; + "CONFIG_UFS_FS" = "m"; + "CONFIG_UFS_FS_WRITE" = "y"; + "CONFIG_NETWORK_FILESYSTEMS" = "y"; + "CONFIG_NFS_FS" = "y"; + "CONFIG_NFS_V3" = "y"; + "CONFIG_NFS_V3_ACL" = "y"; + "CONFIG_NFS_V4" = "y"; + "CONFIG_NFS_USE_KERNEL_DNS" = "y"; + "CONFIG_NFSD" = "y"; + "CONFIG_NFSD_V2_ACL" = "y"; + "CONFIG_NFSD_V3" = "y"; + "CONFIG_NFSD_V3_ACL" = "y"; + "CONFIG_NFSD_V4" = "y"; + "CONFIG_GRACE_PERIOD" = "y"; + "CONFIG_LOCKD" = "y"; + "CONFIG_LOCKD_V4" = "y"; + "CONFIG_NFS_ACL_SUPPORT" = "y"; + "CONFIG_NFS_COMMON" = "y"; + "CONFIG_SUNRPC" = "y"; + "CONFIG_SUNRPC_GSS" = "y"; + "CONFIG_RPCSEC_GSS_KRB5" = "m"; + "CONFIG_CEPH_FS" = "m"; + "CONFIG_CIFS" = "y"; + "CONFIG_NLS" = "y"; + "CONFIG_NLS_DEFAULT" = "ascii"; + "CONFIG_NLS_CODEPAGE_437" = "m"; + "CONFIG_NLS_CODEPAGE_850" = "m"; + "CONFIG_NLS_CODEPAGE_852" = "m"; + "CONFIG_NLS_ASCII" = "y"; + "CONFIG_NLS_ISO8859_1" = "m"; + "CONFIG_NLS_ISO8859_15" = "m"; + "CONFIG_NLS_MAC_ROMAN" = "m"; + "CONFIG_NLS_MAC_CELTIC" = "m"; + "CONFIG_NLS_MAC_CENTEURO" = "m"; + "CONFIG_NLS_MAC_CROATIAN" = "m"; + "CONFIG_NLS_MAC_CYRILLIC" = "m"; + "CONFIG_NLS_MAC_GAELIC" = "m"; + "CONFIG_NLS_MAC_GREEK" = "m"; + "CONFIG_NLS_MAC_ICELAND" = "m"; + "CONFIG_NLS_MAC_INUIT" = "m"; + "CONFIG_NLS_MAC_ROMANIAN" = "m"; + "CONFIG_NLS_MAC_TURKISH" = "m"; + "CONFIG_NLS_UTF8" = "m"; + "CONFIG_TRACE_IRQFLAGS_SUPPORT" = "y"; + "CONFIG_MESSAGE_LOGLEVEL_DEFAULT" = "4"; + "CONFIG_FRAME_WARN" = "2048"; + "CONFIG_ARCH_WANT_FRAME_POINTERS" = "y"; + "CONFIG_MAGIC_SYSRQ" = "y"; + "CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE" = "0x1"; + "CONFIG_HAVE_DEBUG_KMEMLEAK" = "y"; + "CONFIG_DEBUG_MEMORY_INIT" = "y"; + "CONFIG_HAVE_DEBUG_STACKOVERFLOW" = "y"; + "CONFIG_HAVE_ARCH_KMEMCHECK" = "y"; + "CONFIG_HAVE_ARCH_KASAN" = "y"; + "CONFIG_KASAN_SHADOW_OFFSET" = "0xdffffc0000000000"; + "CONFIG_PANIC_ON_OOPS_VALUE" = "0"; + "CONFIG_PANIC_TIMEOUT" = "0"; + "CONFIG_DEBUG_BUGVERBOSE" = "y"; + "CONFIG_RCU_CPU_STALL_TIMEOUT" = "60"; + "CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS" = "y"; + "CONFIG_USER_STACKTRACE_SUPPORT" = "y"; + "CONFIG_HAVE_FUNCTION_TRACER" = "y"; + "CONFIG_HAVE_FUNCTION_GRAPH_TRACER" = "y"; + "CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST" = "y"; + "CONFIG_HAVE_DYNAMIC_FTRACE" = "y"; + "CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS" = "y"; + "CONFIG_HAVE_FTRACE_MCOUNT_RECORD" = "y"; + "CONFIG_HAVE_SYSCALL_TRACEPOINTS" = "y"; + "CONFIG_HAVE_FENTRY" = "y"; + "CONFIG_HAVE_C_RECORDMCOUNT" = "y"; + "CONFIG_TRACING_SUPPORT" = "y"; + "CONFIG_TEST_HEXDUMP" = "m"; + "CONFIG_HAVE_ARCH_KGDB" = "y"; + "CONFIG_STRICT_DEVMEM" = "y"; + "CONFIG_X86_VERBOSE_BOOTUP" = "y"; + "CONFIG_EARLY_PRINTK" = "y"; + "CONFIG_DOUBLEFAULT" = "y"; + "CONFIG_HAVE_MMIOTRACE_SUPPORT" = "y"; + "CONFIG_IO_DELAY_TYPE_0X80" = "0"; + "CONFIG_IO_DELAY_TYPE_0XED" = "1"; + "CONFIG_IO_DELAY_TYPE_UDELAY" = "2"; + "CONFIG_IO_DELAY_TYPE_NONE" = "3"; + "CONFIG_IO_DELAY_0X80" = "y"; + "CONFIG_DEFAULT_IO_DELAY_TYPE" = "0"; + "CONFIG_KEYS" = "y"; + "CONFIG_ENCRYPTED_KEYS" = "y"; + "CONFIG_SECURITY" = "y"; + "CONFIG_DEFAULT_SECURITY_DAC" = "y"; + "CONFIG_DEFAULT_SECURITY" = ""; + "CONFIG_CRYPTO" = "y"; + "CONFIG_CRYPTO_ALGAPI" = "y"; + "CONFIG_CRYPTO_ALGAPI2" = "y"; + "CONFIG_CRYPTO_AEAD" = "y"; + "CONFIG_CRYPTO_AEAD2" = "y"; + "CONFIG_CRYPTO_BLKCIPHER" = "y"; + "CONFIG_CRYPTO_BLKCIPHER2" = "y"; + "CONFIG_CRYPTO_HASH" = "y"; + "CONFIG_CRYPTO_HASH2" = "y"; + "CONFIG_CRYPTO_RNG" = "y"; + "CONFIG_CRYPTO_RNG2" = "y"; + "CONFIG_CRYPTO_PCOMP" = "y"; + "CONFIG_CRYPTO_PCOMP2" = "y"; + "CONFIG_CRYPTO_MANAGER" = "y"; + "CONFIG_CRYPTO_MANAGER2" = "y"; + "CONFIG_CRYPTO_USER" = "m"; + "CONFIG_CRYPTO_GF128MUL" = "y"; + "CONFIG_CRYPTO_NULL" = "m"; + "CONFIG_CRYPTO_PCRYPT" = "y"; + "CONFIG_CRYPTO_WORKQUEUE" = "y"; + "CONFIG_CRYPTO_CRYPTD" = "y"; + "CONFIG_CRYPTO_MCRYPTD" = "m"; + "CONFIG_CRYPTO_AUTHENC" = "m"; + "CONFIG_CRYPTO_TEST" = "m"; + "CONFIG_CRYPTO_ABLK_HELPER" = "y"; + "CONFIG_CRYPTO_GLUE_HELPER_X86" = "y"; + "CONFIG_CRYPTO_CCM" = "m"; + "CONFIG_CRYPTO_GCM" = "m"; + "CONFIG_CRYPTO_SEQIV" = "y"; + "CONFIG_CRYPTO_CBC" = "y"; + "CONFIG_CRYPTO_CTR" = "y"; + "CONFIG_CRYPTO_CTS" = "m"; + "CONFIG_CRYPTO_ECB" = "y"; + "CONFIG_CRYPTO_LRW" = "y"; + "CONFIG_CRYPTO_PCBC" = "y"; + "CONFIG_CRYPTO_XTS" = "y"; + "CONFIG_CRYPTO_CMAC" = "y"; + "CONFIG_CRYPTO_HMAC" = "y"; + "CONFIG_CRYPTO_XCBC" = "m"; + "CONFIG_CRYPTO_VMAC" = "m"; + "CONFIG_CRYPTO_CRC32C" = "y"; + "CONFIG_CRYPTO_CRC32C_INTEL" = "y"; + "CONFIG_CRYPTO_CRC32" = "y"; + "CONFIG_CRYPTO_CRC32_PCLMUL" = "y"; + "CONFIG_CRYPTO_CRCT10DIF" = "y"; + "CONFIG_CRYPTO_CRCT10DIF_PCLMUL" = "m"; + "CONFIG_CRYPTO_GHASH" = "y"; + "CONFIG_CRYPTO_MD4" = "y"; + "CONFIG_CRYPTO_MD5" = "y"; + "CONFIG_CRYPTO_MICHAEL_MIC" = "y"; + "CONFIG_CRYPTO_RMD128" = "m"; + "CONFIG_CRYPTO_RMD160" = "m"; + "CONFIG_CRYPTO_RMD256" = "m"; + "CONFIG_CRYPTO_RMD320" = "m"; + "CONFIG_CRYPTO_SHA1" = "y"; + "CONFIG_CRYPTO_SHA1_SSSE3" = "y"; + "CONFIG_CRYPTO_SHA256_SSSE3" = "y"; + "CONFIG_CRYPTO_SHA512_SSSE3" = "y"; + "CONFIG_CRYPTO_SHA1_MB" = "m"; + "CONFIG_CRYPTO_SHA256" = "y"; + "CONFIG_CRYPTO_SHA512" = "y"; + "CONFIG_CRYPTO_TGR192" = "m"; + "CONFIG_CRYPTO_WP512" = "m"; + "CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL" = "m"; + "CONFIG_CRYPTO_AES" = "y"; + "CONFIG_CRYPTO_AES_X86_64" = "y"; + "CONFIG_CRYPTO_AES_NI_INTEL" = "y"; + "CONFIG_CRYPTO_ANUBIS" = "m"; + "CONFIG_CRYPTO_ARC4" = "y"; + "CONFIG_CRYPTO_BLOWFISH" = "y"; + "CONFIG_CRYPTO_BLOWFISH_COMMON" = "y"; + "CONFIG_CRYPTO_BLOWFISH_X86_64" = "y"; + "CONFIG_CRYPTO_CAMELLIA" = "m"; + "CONFIG_CRYPTO_CAMELLIA_X86_64" = "y"; + "CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64" = "y"; + "CONFIG_CRYPTO_CAST_COMMON" = "y"; + "CONFIG_CRYPTO_CAST5" = "y"; + "CONFIG_CRYPTO_CAST5_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_CAST6" = "y"; + "CONFIG_CRYPTO_CAST6_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_DES" = "y"; + "CONFIG_CRYPTO_DES3_EDE_X86_64" = "y"; + "CONFIG_CRYPTO_FCRYPT" = "m"; + "CONFIG_CRYPTO_KHAZAD" = "m"; + "CONFIG_CRYPTO_SALSA20" = "m"; + "CONFIG_CRYPTO_SALSA20_X86_64" = "m"; + "CONFIG_CRYPTO_SEED" = "m"; + "CONFIG_CRYPTO_SERPENT" = "y"; + "CONFIG_CRYPTO_SERPENT_SSE2_X86_64" = "y"; + "CONFIG_CRYPTO_SERPENT_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_SERPENT_AVX2_X86_64" = "y"; + "CONFIG_CRYPTO_TEA" = "m"; + "CONFIG_CRYPTO_TWOFISH" = "y"; + "CONFIG_CRYPTO_TWOFISH_COMMON" = "y"; + "CONFIG_CRYPTO_TWOFISH_X86_64" = "y"; + "CONFIG_CRYPTO_TWOFISH_X86_64_3WAY" = "y"; + "CONFIG_CRYPTO_TWOFISH_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_DEFLATE" = "y"; + "CONFIG_CRYPTO_ZLIB" = "y"; + "CONFIG_CRYPTO_LZO" = "y"; + "CONFIG_CRYPTO_LZ4" = "y"; + "CONFIG_CRYPTO_LZ4HC" = "y"; + "CONFIG_CRYPTO_ANSI_CPRNG" = "m"; + "CONFIG_CRYPTO_USER_API" = "m"; + "CONFIG_CRYPTO_USER_API_HASH" = "m"; + "CONFIG_CRYPTO_USER_API_SKCIPHER" = "m"; + "CONFIG_CRYPTO_USER_API_RNG" = "m"; + "CONFIG_CRYPTO_HASH_INFO" = "y"; + "CONFIG_ASYMMETRIC_KEY_TYPE" = "y"; + "CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE" = "y"; + "CONFIG_PUBLIC_KEY_ALGO_RSA" = "y"; + "CONFIG_X509_CERTIFICATE_PARSER" = "y"; + "CONFIG_PKCS7_MESSAGE_PARSER" = "m"; + "CONFIG_PKCS7_TEST_KEY" = "m"; + "CONFIG_HAVE_KVM" = "y"; + "CONFIG_HAVE_KVM_IRQCHIP" = "y"; + "CONFIG_HAVE_KVM_IRQFD" = "y"; + "CONFIG_HAVE_KVM_IRQ_ROUTING" = "y"; + "CONFIG_HAVE_KVM_EVENTFD" = "y"; + "CONFIG_KVM_APIC_ARCHITECTURE" = "y"; + "CONFIG_KVM_MMIO" = "y"; + "CONFIG_KVM_ASYNC_PF" = "y"; + "CONFIG_HAVE_KVM_MSI" = "y"; + "CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT" = "y"; + "CONFIG_KVM_VFIO" = "y"; + "CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT" = "y"; + "CONFIG_KVM_COMPAT" = "y"; + "CONFIG_VIRTUALIZATION" = "y"; + "CONFIG_KVM" = "m"; + "CONFIG_KVM_INTEL" = "m"; + "CONFIG_BITREVERSE" = "y"; + "CONFIG_GENERIC_STRNCPY_FROM_USER" = "y"; + "CONFIG_GENERIC_STRNLEN_USER" = "y"; + "CONFIG_GENERIC_NET_UTILS" = "y"; + "CONFIG_GENERIC_FIND_FIRST_BIT" = "y"; + "CONFIG_GENERIC_PCI_IOMAP" = "y"; + "CONFIG_GENERIC_IOMAP" = "y"; + "CONFIG_GENERIC_IO" = "y"; + "CONFIG_ARCH_USE_CMPXCHG_LOCKREF" = "y"; + "CONFIG_ARCH_HAS_FAST_MULTIPLIER" = "y"; + "CONFIG_CRC_CCITT" = "y"; + "CONFIG_CRC16" = "y"; + "CONFIG_CRC_T10DIF" = "y"; + "CONFIG_CRC_ITU_T" = "y"; + "CONFIG_CRC32" = "y"; + "CONFIG_CRC32_SELFTEST" = "y"; + "CONFIG_CRC32_SLICEBY8" = "y"; + "CONFIG_CRC7" = "y"; + "CONFIG_LIBCRC32C" = "y"; + "CONFIG_CRC8" = "y"; + "CONFIG_RANDOM32_SELFTEST" = "y"; + "CONFIG_ZLIB_INFLATE" = "y"; + "CONFIG_ZLIB_DEFLATE" = "y"; + "CONFIG_LZO_COMPRESS" = "y"; + "CONFIG_LZO_DECOMPRESS" = "y"; + "CONFIG_LZ4_COMPRESS" = "y"; + "CONFIG_LZ4HC_COMPRESS" = "y"; + "CONFIG_LZ4_DECOMPRESS" = "y"; + "CONFIG_XZ_DEC" = "y"; + "CONFIG_XZ_DEC_X86" = "y"; + "CONFIG_XZ_DEC_POWERPC" = "y"; + "CONFIG_XZ_DEC_IA64" = "y"; + "CONFIG_XZ_DEC_ARM" = "y"; + "CONFIG_XZ_DEC_ARMTHUMB" = "y"; + "CONFIG_XZ_DEC_SPARC" = "y"; + "CONFIG_XZ_DEC_BCJ" = "y"; + "CONFIG_XZ_DEC_TEST" = "y"; + "CONFIG_DECOMPRESS_GZIP" = "y"; + "CONFIG_DECOMPRESS_BZIP2" = "y"; + "CONFIG_DECOMPRESS_LZMA" = "y"; + "CONFIG_DECOMPRESS_XZ" = "y"; + "CONFIG_DECOMPRESS_LZO" = "y"; + "CONFIG_DECOMPRESS_LZ4" = "y"; + "CONFIG_REED_SOLOMON" = "y"; + "CONFIG_REED_SOLOMON_ENC8" = "y"; + "CONFIG_REED_SOLOMON_DEC8" = "y"; + "CONFIG_TEXTSEARCH" = "y"; + "CONFIG_TEXTSEARCH_KMP" = "m"; + "CONFIG_TEXTSEARCH_BM" = "m"; + "CONFIG_TEXTSEARCH_FSM" = "m"; + "CONFIG_BTREE" = "y"; + "CONFIG_INTERVAL_TREE" = "y"; + "CONFIG_ASSOCIATIVE_ARRAY" = "y"; + "CONFIG_HAS_IOMEM" = "y"; + "CONFIG_HAS_IOPORT_MAP" = "y"; + "CONFIG_HAS_DMA" = "y"; + "CONFIG_CHECK_SIGNATURE" = "y"; + "CONFIG_CPU_RMAP" = "y"; + "CONFIG_DQL" = "y"; + "CONFIG_GLOB" = "y"; + "CONFIG_NLATTR" = "y"; + "CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE" = "y"; + "CONFIG_AVERAGE" = "y"; + "CONFIG_CLZ_TAB" = "y"; + "CONFIG_CORDIC" = "y"; + "CONFIG_MPILIB" = "y"; + "CONFIG_OID_REGISTRY" = "y"; + "CONFIG_FONT_SUPPORT" = "y"; + "CONFIG_FONT_8x8" = "y"; + "CONFIG_FONT_8x16" = "y"; + "CONFIG_ARCH_HAS_SG_CHAIN" = "y"; +} diff --git a/machines/dnyarri.nix b/machines/dnyarri.nix new file mode 100644 index 00000000..aca4d383 --- /dev/null +++ b/machines/dnyarri.nix @@ -0,0 +1,145 @@ +{ pkgs, ... }: + +with pkgs.lib; +with import ../lib; + +{ + imports = singleton ../common-workstation.nix; + + nix.maxJobs = 8; + + boot = let + patch51Name = "patch51.fw"; + kernelParams = [ "snd-hda-intel.patch=${patch51Name}" ]; + + patch51 = pkgs.writeText patch51Name '' + [codec] + 0x10ec0889 0x80860033 2 + + [pincfg] + 0x11 0x01442130 + 0x12 0x411111f0 + 0x14 0x01014410 + 0x15 0x0321403f + 0x16 0x40f000f0 + 0x17 0x40f000f0 + 0x18 0x03a19020 + 0x19 0x40f000f0 + 0x1a 0x01014412 + 0x1b 0x01014411 + 0x1c 0x411111f0 + 0x1d 0x411111f0 + 0x1e 0x01451140 + 0x1f 0x01c51170 + + [model] + auto + ''; + + radeonFW = [ + "radeon/R600_rlc.bin" + "radeon/R700_rlc.bin" + "radeon/RV710_uvd.bin" + "radeon/RV710_smc.bin" + "radeon/RV730_smc.bin" + ]; + + linuxVuizvui = pkgs.buildLinux { + inherit (pkgs.kernelSourceVuizvui) version src; + + kernelPatches = singleton pkgs.vuizvuiKernelPatches.bfqsched; + configfile = pkgs.substituteAll { + name = "vuizvui-with-firmware.kconf"; + src = generateKConf (import ./dnyarri-kconf.nix); + + extra_firmware = concatStringsSep " " (radeonFW ++ [ + "patch51.fw" + ]); + + builtin_firmware = pkgs.stdenv.mkDerivation { + name = "builtin-firmware"; + buildCommand = let + firmwareBasePath = "${pkgs.firmwareLinuxNonfree}/lib/firmware"; + in '' + mkdir -p "$out/radeon" + ${concatMapStrings (x: '' + cp -Lv -t "$out/radeon" "${firmwareBasePath}/${x}"; + '') radeonFW} + + cp "${patch51}" "$out/${patch51Name}" + ''; + }; + }; + allowImportFromDerivation = true; # XXX + }; + in rec { + kernelPackages = let + kpkgs = pkgs.recurseIntoAttrs + (pkgs.linuxPackagesFor linuxVuizvui kernelPackages); + virtualbox = kpkgs.virtualbox.override { + enableExtensionPack = true; + }; + in pkgs.recurseIntoAttrs (kpkgs // { inherit virtualbox; }); + inherit kernelParams; + + initrd = { + mdadmConf = '' + ARRAY /dev/md0 metadata=1.2 UUID=f5e9de04:89efc509:4e184fcc:166b0b67 + ARRAY /dev/md1 metadata=0.90 UUID=b85aa8be:cea0faf2:7abcbee8:eeae037b + ''; + luks.devices = [ + { name = "system_crypt"; + device = "/dev/md1"; + preLVM = true; + } + ]; + }; + + loader.grub.devices = [ + "/dev/disk/by-id/ata-ST31500541AS_5XW0AMNH" + "/dev/disk/by-id/ata-ST31500541AS_6XW0M217" + ]; + }; + + networking.hostName = "dnyarri"; + + fileSystems = { + "/boot" = { + label = "boot"; + fsType = "ext2"; + }; + "/" = { + device = "/dev/shofixti/root"; + fsType = "xfs"; + }; + }; + + powerManagement.powerUpCommands = '' + ${pkgs.hdparm}/sbin/hdparm -B 255 /dev/disk/by-id/ata-ST31500541AS_5XW0AMNH + ${pkgs.hdparm}/sbin/hdparm -B 255 /dev/disk/by-id/ata-ST31500541AS_6XW0M217 + ''; + + swapDevices = singleton { + device = "/dev/shofixti/swap"; + }; + + # TODO: Try to avoid this, but as there is only a single user using audio on + # this machine, it's okay for now. But remember that this will break heavily, + # should there be another user accessing the audio devices. + users.extraUsers.aszlig.extraGroups = [ "audio" "vboxusers" ]; + + services.synergy.client.enable = true; + services.synergy.client.serverAddress = "mmrnmhrm"; + + systemd.services."synergy-client".serviceConfig.CPUSchedulingPolicy = "rr"; + systemd.services."synergy-client".serviceConfig.CPUSchedulingPriority = 50; + + services.xserver.videoDrivers = [ "ati" ]; + services.xserver.xrandrHeads = [ "HDMI-0" "DVI-0" ]; + + vuizvui.i3.reverseHeads = true; + vuizvui.i3.workspaces."6" = { + label = "Chromium"; + assign = singleton { class = "^Chromium(?:-browser)?\$"; }; + }; +} diff --git a/machines/kzerza.nix b/machines/kzerza.nix new file mode 100644 index 00000000..c7f09526 --- /dev/null +++ b/machines/kzerza.nix @@ -0,0 +1,64 @@ +{ pkgs, lib, ... }: + +with lib; + +let + rootUUID = "ad41f848-d14a-4a89-9d04-3e48bd73dc5c"; + diskID = "usb-0000_Removable_Drive_23372707080836980013-0:0"; +in { + imports = singleton ../common.nix; + + services.xserver.enable = mkForce false; + + boot = { + kernelParams = singleton "consoleblank=0"; + initrd.kernelModules = [ "fbcon" "usb_storage" ]; + loader.grub.device = "/dev/disk/by-id/${diskID}"; + }; + + networking.hostName = "kzerza"; + + fileSystems."/".device = "/dev/disk/by-uuid/${rootUUID}"; + fileSystems."/".fsType = "btrfs"; + fileSystems."/".options = concatStringsSep "," [ + "ssd" + "space_cache" + "compress-force=zlib" + "noatime" + ]; + + services.udev.extraRules = '' + SUBSYSTEM=="usb*|tty", ACTION=="add|change", ATTRS{idVendor}=="0403", \ + ATTRS{idProduct}=="6001", OWNER="grandpa" + ''; + + fileSystems."/tmp".device = "none"; + fileSystems."/tmp".fsType = "tmpfs"; + fileSystems."/tmp".options = "nosuid,nodev,relatime"; + + users.extraGroups.grandpa.gid = 666; + users.extraUsers.grandpa = { + uid = 666; + description = "GrandPA User"; + group = "grandpa"; + createHome = true; + }; + + systemd.services.grandpa = { + description = "GrandPA Lighting Controller"; + wantedBy = [ "multi-user.target" ]; + preStart = "${pkgs.kbd}/bin/chvt 7"; + serviceConfig = { + Type = "idle"; + ExecStart = "${pkgs.grandpa}/bin/grandpa"; + StandardInput = "tty"; + StandardOutput = "tty"; + TTYPath = "/dev/tty7"; + TTYVTDisallocate = true; + User = "grandpa"; + Group = "grandpa"; + PrivateTmp = true; + PrivateNetwork = true; + }; + }; +} diff --git a/machines/mmrnmhrm-kconf.nix b/machines/mmrnmhrm-kconf.nix new file mode 100644 index 00000000..ac37de64 --- /dev/null +++ b/machines/mmrnmhrm-kconf.nix @@ -0,0 +1,1220 @@ +{ + "CONFIG_64BIT" = "y"; + "CONFIG_X86_64" = "y"; + "CONFIG_X86" = "y"; + "CONFIG_INSTRUCTION_DECODER" = "y"; + "CONFIG_PERF_EVENTS_INTEL_UNCORE" = "y"; + "CONFIG_OUTPUT_FORMAT" = "elf64-x86-64"; + "CONFIG_ARCH_DEFCONFIG" = "arch/x86/configs/x86_64_defconfig"; + "CONFIG_LOCKDEP_SUPPORT" = "y"; + "CONFIG_STACKTRACE_SUPPORT" = "y"; + "CONFIG_HAVE_LATENCYTOP_SUPPORT" = "y"; + "CONFIG_MMU" = "y"; + "CONFIG_NEED_DMA_MAP_STATE" = "y"; + "CONFIG_NEED_SG_DMA_LENGTH" = "y"; + "CONFIG_GENERIC_ISA_DMA" = "y"; + "CONFIG_GENERIC_BUG" = "y"; + "CONFIG_GENERIC_BUG_RELATIVE_POINTERS" = "y"; + "CONFIG_GENERIC_HWEIGHT" = "y"; + "CONFIG_ARCH_MAY_HAVE_PC_FDC" = "y"; + "CONFIG_RWSEM_XCHGADD_ALGORITHM" = "y"; + "CONFIG_GENERIC_CALIBRATE_DELAY" = "y"; + "CONFIG_ARCH_HAS_CPU_RELAX" = "y"; + "CONFIG_ARCH_HAS_CACHE_LINE_SIZE" = "y"; + "CONFIG_HAVE_SETUP_PER_CPU_AREA" = "y"; + "CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK" = "y"; + "CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK" = "y"; + "CONFIG_ARCH_HIBERNATION_POSSIBLE" = "y"; + "CONFIG_ARCH_SUSPEND_POSSIBLE" = "y"; + "CONFIG_ARCH_WANT_HUGE_PMD_SHARE" = "y"; + "CONFIG_ARCH_WANT_GENERAL_HUGETLB" = "y"; + "CONFIG_ZONE_DMA32" = "y"; + "CONFIG_AUDIT_ARCH" = "y"; + "CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING" = "y"; + "CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC" = "y"; + "CONFIG_X86_64_SMP" = "y"; + "CONFIG_X86_HT" = "y"; + "CONFIG_ARCH_HWEIGHT_CFLAGS" = "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"; + "CONFIG_ARCH_SUPPORTS_UPROBES" = "y"; + "CONFIG_FIX_EARLYCON_MEM" = "y"; + "CONFIG_DEFCONFIG_LIST" = "/lib/modules/$UNAME_RELEASE/.config"; + "CONFIG_IRQ_WORK" = "y"; + "CONFIG_BUILDTIME_EXTABLE_SORT" = "y"; + "CONFIG_INIT_ENV_ARG_LIMIT" = "32"; + "CONFIG_CROSS_COMPILE" = ""; + "CONFIG_LOCALVERSION" = ""; + "CONFIG_HAVE_KERNEL_GZIP" = "y"; + "CONFIG_HAVE_KERNEL_BZIP2" = "y"; + "CONFIG_HAVE_KERNEL_LZMA" = "y"; + "CONFIG_HAVE_KERNEL_XZ" = "y"; + "CONFIG_HAVE_KERNEL_LZO" = "y"; + "CONFIG_HAVE_KERNEL_LZ4" = "y"; + "CONFIG_KERNEL_XZ" = "y"; + "CONFIG_DEFAULT_HOSTNAME" = "mmrnmhrm"; + "CONFIG_SWAP" = "y"; + "CONFIG_SYSVIPC" = "y"; + "CONFIG_SYSVIPC_SYSCTL" = "y"; + "CONFIG_POSIX_MQUEUE" = "y"; + "CONFIG_POSIX_MQUEUE_SYSCTL" = "y"; + "CONFIG_CROSS_MEMORY_ATTACH" = "y"; + "CONFIG_FHANDLE" = "y"; + "CONFIG_HAVE_ARCH_AUDITSYSCALL" = "y"; + "CONFIG_GENERIC_IRQ_PROBE" = "y"; + "CONFIG_GENERIC_IRQ_SHOW" = "y"; + "CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ" = "y"; + "CONFIG_GENERIC_PENDING_IRQ" = "y"; + "CONFIG_IRQ_DOMAIN" = "y"; + "CONFIG_GENERIC_MSI_IRQ" = "y"; + "CONFIG_IRQ_FORCED_THREADING" = "y"; + "CONFIG_SPARSE_IRQ" = "y"; + "CONFIG_CLOCKSOURCE_WATCHDOG" = "y"; + "CONFIG_ARCH_CLOCKSOURCE_DATA" = "y"; + "CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE" = "y"; + "CONFIG_GENERIC_TIME_VSYSCALL" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_BUILD" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_BROADCAST" = "y"; + "CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST" = "y"; + "CONFIG_GENERIC_CMOS_UPDATE" = "y"; + "CONFIG_TICK_ONESHOT" = "y"; + "CONFIG_NO_HZ_COMMON" = "y"; + "CONFIG_NO_HZ_IDLE" = "y"; + "CONFIG_HIGH_RES_TIMERS" = "y"; + "CONFIG_TICK_CPU_ACCOUNTING" = "y"; + "CONFIG_BSD_PROCESS_ACCT" = "y"; + "CONFIG_BSD_PROCESS_ACCT_V3" = "y"; + "CONFIG_TASKSTATS" = "y"; + "CONFIG_TASK_DELAY_ACCT" = "y"; + "CONFIG_TASK_XACCT" = "y"; + "CONFIG_TASK_IO_ACCOUNTING" = "y"; + "CONFIG_PREEMPT_RCU" = "y"; + "CONFIG_SRCU" = "y"; + "CONFIG_RCU_STALL_COMMON" = "y"; + "CONFIG_RCU_FANOUT" = "64"; + "CONFIG_RCU_FANOUT_LEAF" = "16"; + "CONFIG_RCU_BOOST" = "y"; + "CONFIG_RCU_KTHREAD_PRIO" = "1"; + "CONFIG_RCU_BOOST_DELAY" = "500"; + "CONFIG_BUILD_BIN2C" = "y"; + "CONFIG_IKCONFIG" = "y"; + "CONFIG_IKCONFIG_PROC" = "y"; + "CONFIG_LOG_BUF_SHIFT" = "17"; + "CONFIG_LOG_CPU_MAX_BUF_SHIFT" = "14"; + "CONFIG_HAVE_UNSTABLE_SCHED_CLOCK" = "y"; + "CONFIG_ARCH_SUPPORTS_NUMA_BALANCING" = "y"; + "CONFIG_ARCH_SUPPORTS_INT128" = "y"; + "CONFIG_CGROUPS" = "y"; + "CONFIG_CGROUP_FREEZER" = "y"; + "CONFIG_CGROUP_DEVICE" = "y"; + "CONFIG_CPUSETS" = "y"; + "CONFIG_CGROUP_CPUACCT" = "y"; + "CONFIG_CGROUP_SCHED" = "y"; + "CONFIG_FAIR_GROUP_SCHED" = "y"; + "CONFIG_CFS_BANDWIDTH" = "y"; + "CONFIG_BLK_CGROUP" = "y"; + "CONFIG_NAMESPACES" = "y"; + "CONFIG_UTS_NS" = "y"; + "CONFIG_IPC_NS" = "y"; + "CONFIG_USER_NS" = "y"; + "CONFIG_PID_NS" = "y"; + "CONFIG_NET_NS" = "y"; + "CONFIG_SCHED_AUTOGROUP" = "y"; + "CONFIG_RELAY" = "y"; + "CONFIG_BLK_DEV_INITRD" = "y"; + "CONFIG_INITRAMFS_SOURCE" = ""; + "CONFIG_RD_GZIP" = "y"; + "CONFIG_RD_BZIP2" = "y"; + "CONFIG_RD_LZMA" = "y"; + "CONFIG_RD_XZ" = "y"; + "CONFIG_RD_LZO" = "y"; + "CONFIG_RD_LZ4" = "y"; + "CONFIG_SYSCTL" = "y"; + "CONFIG_ANON_INODES" = "y"; + "CONFIG_HAVE_UID16" = "y"; + "CONFIG_SYSCTL_EXCEPTION_TRACE" = "y"; + "CONFIG_HAVE_PCSPKR_PLATFORM" = "y"; + "CONFIG_BPF" = "y"; + "CONFIG_UID16" = "y"; + "CONFIG_SGETMASK_SYSCALL" = "y"; + "CONFIG_SYSFS_SYSCALL" = "y"; + "CONFIG_KALLSYMS" = "y"; + "CONFIG_PRINTK" = "y"; + "CONFIG_BUG" = "y"; + "CONFIG_ELF_CORE" = "y"; + "CONFIG_PCSPKR_PLATFORM" = "y"; + "CONFIG_BASE_FULL" = "y"; + "CONFIG_FUTEX" = "y"; + "CONFIG_EPOLL" = "y"; + "CONFIG_SIGNALFD" = "y"; + "CONFIG_TIMERFD" = "y"; + "CONFIG_EVENTFD" = "y"; + "CONFIG_SHMEM" = "y"; + "CONFIG_AIO" = "y"; + "CONFIG_ADVISE_SYSCALLS" = "y"; + "CONFIG_PCI_QUIRKS" = "y"; + "CONFIG_HAVE_PERF_EVENTS" = "y"; + "CONFIG_PERF_EVENTS" = "y"; + "CONFIG_VM_EVENT_COUNTERS" = "y"; + "CONFIG_SLUB_DEBUG" = "y"; + "CONFIG_SLUB" = "y"; + "CONFIG_SYSTEM_TRUSTED_KEYRING" = "y"; + "CONFIG_HAVE_OPROFILE" = "y"; + "CONFIG_OPROFILE_NMI_TIMER" = "y"; + "CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS" = "y"; + "CONFIG_ARCH_USE_BUILTIN_BSWAP" = "y"; + "CONFIG_USER_RETURN_NOTIFIER" = "y"; + "CONFIG_HAVE_IOREMAP_PROT" = "y"; + "CONFIG_HAVE_KPROBES" = "y"; + "CONFIG_HAVE_KRETPROBES" = "y"; + "CONFIG_HAVE_OPTPROBES" = "y"; + "CONFIG_HAVE_KPROBES_ON_FTRACE" = "y"; + "CONFIG_HAVE_ARCH_TRACEHOOK" = "y"; + "CONFIG_HAVE_DMA_ATTRS" = "y"; + "CONFIG_HAVE_DMA_CONTIGUOUS" = "y"; + "CONFIG_GENERIC_SMP_IDLE_THREAD" = "y"; + "CONFIG_HAVE_REGS_AND_STACK_ACCESS_API" = "y"; + "CONFIG_HAVE_DMA_API_DEBUG" = "y"; + "CONFIG_HAVE_HW_BREAKPOINT" = "y"; + "CONFIG_HAVE_MIXED_BREAKPOINTS_REGS" = "y"; + "CONFIG_HAVE_USER_RETURN_NOTIFIER" = "y"; + "CONFIG_HAVE_PERF_EVENTS_NMI" = "y"; + "CONFIG_HAVE_PERF_REGS" = "y"; + "CONFIG_HAVE_PERF_USER_STACK_DUMP" = "y"; + "CONFIG_HAVE_ARCH_JUMP_LABEL" = "y"; + "CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG" = "y"; + "CONFIG_HAVE_ALIGNED_STRUCT_PAGE" = "y"; + "CONFIG_HAVE_CMPXCHG_LOCAL" = "y"; + "CONFIG_HAVE_CMPXCHG_DOUBLE" = "y"; + "CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION" = "y"; + "CONFIG_ARCH_WANT_OLD_COMPAT_IPC" = "y"; + "CONFIG_HAVE_ARCH_SECCOMP_FILTER" = "y"; + "CONFIG_SECCOMP_FILTER" = "y"; + "CONFIG_HAVE_CC_STACKPROTECTOR" = "y"; + "CONFIG_CC_STACKPROTECTOR" = "y"; + "CONFIG_CC_STACKPROTECTOR_REGULAR" = "y"; + "CONFIG_HAVE_CONTEXT_TRACKING" = "y"; + "CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN" = "y"; + "CONFIG_HAVE_IRQ_TIME_ACCOUNTING" = "y"; + "CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE" = "y"; + "CONFIG_HAVE_ARCH_SOFT_DIRTY" = "y"; + "CONFIG_MODULES_USE_ELF_RELA" = "y"; + "CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK" = "y"; + "CONFIG_OLD_SIGSUSPEND3" = "y"; + "CONFIG_COMPAT_OLD_SIGACTION" = "y"; + "CONFIG_ARCH_HAS_GCOV_PROFILE_ALL" = "y"; + "CONFIG_SLABINFO" = "y"; + "CONFIG_RT_MUTEXES" = "y"; + "CONFIG_BASE_SMALL" = "0"; + "CONFIG_MODULES" = "y"; + "CONFIG_MODULE_FORCE_LOAD" = "y"; + "CONFIG_MODULE_UNLOAD" = "y"; + "CONFIG_MODULE_FORCE_UNLOAD" = "y"; + "CONFIG_MODVERSIONS" = "y"; + "CONFIG_STOP_MACHINE" = "y"; + "CONFIG_BLOCK" = "y"; + "CONFIG_BLK_DEV_BSG" = "y"; + "CONFIG_BLK_DEV_INTEGRITY" = "y"; + "CONFIG_BLK_DEV_THROTTLING" = "y"; + "CONFIG_MSDOS_PARTITION" = "y"; + "CONFIG_EFI_PARTITION" = "y"; + "CONFIG_BLOCK_COMPAT" = "y"; + "CONFIG_IOSCHED_NOOP" = "y"; + "CONFIG_IOSCHED_DEADLINE" = "y"; + "CONFIG_IOSCHED_CFQ" = "y"; + "CONFIG_CFQ_GROUP_IOSCHED" = "y"; + "CONFIG_IOSCHED_BFQ" = "y"; + "CONFIG_CGROUP_BFQIO" = "y"; + "CONFIG_DEFAULT_BFQ" = "y"; + "CONFIG_DEFAULT_IOSCHED" = "bfq"; + "CONFIG_PREEMPT_NOTIFIERS" = "y"; + "CONFIG_PADATA" = "y"; + "CONFIG_ASN1" = "m"; + "CONFIG_UNINLINE_SPIN_UNLOCK" = "y"; + "CONFIG_ARCH_SUPPORTS_ATOMIC_RMW" = "y"; + "CONFIG_MUTEX_SPIN_ON_OWNER" = "y"; + "CONFIG_RWSEM_SPIN_ON_OWNER" = "y"; + "CONFIG_LOCK_SPIN_ON_OWNER" = "y"; + "CONFIG_ARCH_USE_QUEUE_RWLOCK" = "y"; + "CONFIG_QUEUE_RWLOCK" = "y"; + "CONFIG_FREEZER" = "y"; + "CONFIG_ZONE_DMA" = "y"; + "CONFIG_SMP" = "y"; + "CONFIG_X86_FEATURE_NAMES" = "y"; + "CONFIG_IOSF_MBI" = "m"; + "CONFIG_X86_SUPPORTS_MEMORY_FAILURE" = "y"; + "CONFIG_SCHED_OMIT_FRAME_POINTER" = "y"; + "CONFIG_NO_BOOTMEM" = "y"; + "CONFIG_MEMTEST" = "y"; + "CONFIG_MCORE2" = "y"; + "CONFIG_X86_INTERNODE_CACHE_SHIFT" = "6"; + "CONFIG_X86_L1_CACHE_SHIFT" = "6"; + "CONFIG_X86_INTEL_USERCOPY" = "y"; + "CONFIG_X86_USE_PPRO_CHECKSUM" = "y"; + "CONFIG_X86_P6_NOP" = "y"; + "CONFIG_X86_TSC" = "y"; + "CONFIG_X86_CMPXCHG64" = "y"; + "CONFIG_X86_CMOV" = "y"; + "CONFIG_X86_MINIMUM_CPU_FAMILY" = "64"; + "CONFIG_X86_DEBUGCTLMSR" = "y"; + "CONFIG_CPU_SUP_INTEL" = "y"; + "CONFIG_CPU_SUP_AMD" = "y"; + "CONFIG_CPU_SUP_CENTAUR" = "y"; + "CONFIG_HPET_TIMER" = "y"; + "CONFIG_HPET_EMULATE_RTC" = "y"; + "CONFIG_DMI" = "y"; + "CONFIG_GART_IOMMU" = "y"; + "CONFIG_SWIOTLB" = "y"; + "CONFIG_IOMMU_HELPER" = "y"; + "CONFIG_NR_CPUS" = "8"; + "CONFIG_SCHED_SMT" = "y"; + "CONFIG_SCHED_MC" = "y"; + "CONFIG_PREEMPT" = "y"; + "CONFIG_PREEMPT_COUNT" = "y"; + "CONFIG_X86_UP_APIC_MSI" = "y"; + "CONFIG_X86_LOCAL_APIC" = "y"; + "CONFIG_X86_IO_APIC" = "y"; + "CONFIG_X86_MCE" = "y"; + "CONFIG_X86_MCE_INTEL" = "y"; + "CONFIG_X86_MCE_THRESHOLD" = "y"; + "CONFIG_X86_THERMAL_VECTOR" = "y"; + "CONFIG_X86_16BIT" = "y"; + "CONFIG_X86_ESPFIX64" = "y"; + "CONFIG_X86_VSYSCALL_EMULATION" = "y"; + "CONFIG_MICROCODE" = "y"; + "CONFIG_MICROCODE_INTEL" = "y"; + "CONFIG_MICROCODE_OLD_INTERFACE" = "y"; + "CONFIG_MICROCODE_INTEL_EARLY" = "y"; + "CONFIG_MICROCODE_EARLY" = "y"; + "CONFIG_X86_MSR" = "m"; + "CONFIG_X86_CPUID" = "m"; + "CONFIG_ARCH_PHYS_ADDR_T_64BIT" = "y"; + "CONFIG_ARCH_DMA_ADDR_T_64BIT" = "y"; + "CONFIG_DIRECT_GBPAGES" = "y"; + "CONFIG_ARCH_SPARSEMEM_ENABLE" = "y"; + "CONFIG_ARCH_SPARSEMEM_DEFAULT" = "y"; + "CONFIG_ARCH_SELECT_MEMORY_MODEL" = "y"; + "CONFIG_ILLEGAL_POINTER_VALUE" = "0xdead000000000000"; + "CONFIG_SELECT_MEMORY_MODEL" = "y"; + "CONFIG_SPARSEMEM_MANUAL" = "y"; + "CONFIG_SPARSEMEM" = "y"; + "CONFIG_HAVE_MEMORY_PRESENT" = "y"; + "CONFIG_SPARSEMEM_EXTREME" = "y"; + "CONFIG_SPARSEMEM_VMEMMAP_ENABLE" = "y"; + "CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER" = "y"; + "CONFIG_SPARSEMEM_VMEMMAP" = "y"; + "CONFIG_HAVE_MEMBLOCK" = "y"; + "CONFIG_HAVE_MEMBLOCK_NODE_MAP" = "y"; + "CONFIG_ARCH_DISCARD_MEMBLOCK" = "y"; + "CONFIG_MEMORY_ISOLATION" = "y"; + "CONFIG_PAGEFLAGS_EXTENDED" = "y"; + "CONFIG_SPLIT_PTLOCK_CPUS" = "4"; + "CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK" = "y"; + "CONFIG_MEMORY_BALLOON" = "y"; + "CONFIG_BALLOON_COMPACTION" = "y"; + "CONFIG_COMPACTION" = "y"; + "CONFIG_MIGRATION" = "y"; + "CONFIG_PHYS_ADDR_T_64BIT" = "y"; + "CONFIG_ZONE_DMA_FLAG" = "1"; + "CONFIG_BOUNCE" = "y"; + "CONFIG_VIRT_TO_BUS" = "y"; + "CONFIG_MMU_NOTIFIER" = "y"; + "CONFIG_KSM" = "y"; + "CONFIG_DEFAULT_MMAP_MIN_ADDR" = "65536"; + "CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE" = "y"; + "CONFIG_MEMORY_FAILURE" = "y"; + "CONFIG_TRANSPARENT_HUGEPAGE" = "y"; + "CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS" = "y"; + "CONFIG_CLEANCACHE" = "y"; + "CONFIG_FRONTSWAP" = "y"; + "CONFIG_ZSWAP" = "y"; + "CONFIG_ZPOOL" = "y"; + "CONFIG_ZBUD" = "y"; + "CONFIG_ZSMALLOC" = "y"; + "CONFIG_GENERIC_EARLY_IOREMAP" = "y"; + "CONFIG_X86_RESERVE_LOW" = "64"; + "CONFIG_MTRR" = "y"; + "CONFIG_MTRR_SANITIZER" = "y"; + "CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT" = "0"; + "CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT" = "1"; + "CONFIG_X86_PAT" = "y"; + "CONFIG_ARCH_USES_PG_UNCACHED" = "y"; + "CONFIG_ARCH_RANDOM" = "y"; + "CONFIG_X86_SMAP" = "y"; + "CONFIG_SECCOMP" = "y"; + "CONFIG_HZ_1000" = "y"; + "CONFIG_HZ" = "1000"; + "CONFIG_SCHED_HRTICK" = "y"; + "CONFIG_KEXEC" = "y"; + "CONFIG_KEXEC_FILE" = "y"; + "CONFIG_PHYSICAL_START" = "0x1000000"; + "CONFIG_PHYSICAL_ALIGN" = "0x1000000"; + "CONFIG_HAVE_LIVEPATCH" = "y"; + "CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG" = "y"; + "CONFIG_PM" = "y"; + "CONFIG_ACPI" = "y"; + "CONFIG_ACPI_LEGACY_TABLES_LOOKUP" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC" = "y"; + "CONFIG_ACPI_BUTTON" = "y"; + "CONFIG_ACPI_VIDEO" = "y"; + "CONFIG_ACPI_FAN" = "y"; + "CONFIG_ACPI_DOCK" = "y"; + "CONFIG_ACPI_PROCESSOR" = "y"; + "CONFIG_ACPI_THERMAL" = "y"; + "CONFIG_ACPI_CUSTOM_DSDT_FILE" = ""; + "CONFIG_ACPI_INITRD_TABLE_OVERRIDE" = "y"; + "CONFIG_X86_PM_TIMER" = "y"; + "CONFIG_ACPI_HOTPLUG_IOAPIC" = "y"; + "CONFIG_ACPI_HED" = "y"; + "CONFIG_HAVE_ACPI_APEI" = "y"; + "CONFIG_HAVE_ACPI_APEI_NMI" = "y"; + "CONFIG_ACPI_EXTLOG" = "m"; + "CONFIG_CPU_IDLE" = "y"; + "CONFIG_CPU_IDLE_GOV_LADDER" = "y"; + "CONFIG_CPU_IDLE_GOV_MENU" = "y"; + "CONFIG_INTEL_IDLE" = "y"; + "CONFIG_PCI" = "y"; + "CONFIG_PCI_DIRECT" = "y"; + "CONFIG_PCI_MMCONFIG" = "y"; + "CONFIG_PCI_DOMAINS" = "y"; + "CONFIG_PCIEPORTBUS" = "y"; + "CONFIG_PCIEAER" = "y"; + "CONFIG_PCIEASPM" = "y"; + "CONFIG_PCIEASPM_PERFORMANCE" = "y"; + "CONFIG_PCIE_PME" = "y"; + "CONFIG_PCI_MSI" = "y"; + "CONFIG_HT_IRQ" = "y"; + "CONFIG_PCI_LABEL" = "y"; + "CONFIG_ISA_DMA_API" = "y"; + "CONFIG_AMD_NB" = "y"; + "CONFIG_BINFMT_ELF" = "y"; + "CONFIG_COMPAT_BINFMT_ELF" = "y"; + "CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE" = "y"; + "CONFIG_BINFMT_SCRIPT" = "y"; + "CONFIG_BINFMT_MISC" = "y"; + "CONFIG_COREDUMP" = "y"; + "CONFIG_IA32_EMULATION" = "y"; + "CONFIG_X86_X32" = "y"; + "CONFIG_COMPAT" = "y"; + "CONFIG_COMPAT_FOR_U64_ALIGNMENT" = "y"; + "CONFIG_SYSVIPC_COMPAT" = "y"; + "CONFIG_KEYS_COMPAT" = "y"; + "CONFIG_X86_DEV_DMA_OPS" = "y"; + "CONFIG_PMC_ATOM" = "y"; + "CONFIG_NET" = "y"; + "CONFIG_PACKET" = "y"; + "CONFIG_PACKET_DIAG" = "m"; + "CONFIG_UNIX" = "y"; + "CONFIG_UNIX_DIAG" = "y"; + "CONFIG_XFRM" = "y"; + "CONFIG_XFRM_ALGO" = "y"; + "CONFIG_NET_KEY" = "y"; + "CONFIG_INET" = "y"; + "CONFIG_IP_MULTICAST" = "y"; + "CONFIG_IP_ROUTE_CLASSID" = "y"; + "CONFIG_NET_IP_TUNNEL" = "m"; + "CONFIG_NET_UDP_TUNNEL" = "m"; + "CONFIG_NET_FOU" = "m"; + "CONFIG_GENEVE" = "m"; + "CONFIG_INET_TUNNEL" = "m"; + "CONFIG_INET_LRO" = "y"; + "CONFIG_INET_DIAG" = "y"; + "CONFIG_INET_TCP_DIAG" = "y"; + "CONFIG_INET_UDP_DIAG" = "y"; + "CONFIG_TCP_CONG_CUBIC" = "y"; + "CONFIG_DEFAULT_TCP_CONG" = "cubic"; + "CONFIG_IPV6" = "y"; + "CONFIG_IPV6_ROUTER_PREF" = "y"; + "CONFIG_INET6_TUNNEL" = "m"; + "CONFIG_IPV6_SIT" = "m"; + "CONFIG_IPV6_NDISC_NODETYPE" = "y"; + "CONFIG_IPV6_TUNNEL" = "m"; + "CONFIG_IPV6_GRE" = "m"; + "CONFIG_NET_PTP_CLASSIFY" = "y"; + "CONFIG_IP_SCTP" = "m"; + "CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5" = "y"; + "CONFIG_SCTP_COOKIE_HMAC_MD5" = "y"; + "CONFIG_HAVE_NET_DSA" = "y"; + "CONFIG_NET_SCHED" = "y"; + "CONFIG_NET_SCH_CBQ" = "m"; + "CONFIG_NET_SCH_HTB" = "m"; + "CONFIG_NET_SCH_HFSC" = "m"; + "CONFIG_NET_SCH_PRIO" = "m"; + "CONFIG_NET_SCH_MULTIQ" = "m"; + "CONFIG_NET_SCH_RED" = "m"; + "CONFIG_NET_SCH_SFB" = "m"; + "CONFIG_NET_SCH_SFQ" = "m"; + "CONFIG_NET_SCH_TEQL" = "m"; + "CONFIG_NET_SCH_TBF" = "m"; + "CONFIG_NET_SCH_GRED" = "m"; + "CONFIG_NET_SCH_DSMARK" = "m"; + "CONFIG_NET_SCH_NETEM" = "m"; + "CONFIG_NET_SCH_DRR" = "m"; + "CONFIG_NET_SCH_MQPRIO" = "m"; + "CONFIG_NET_SCH_CHOKE" = "m"; + "CONFIG_NET_SCH_QFQ" = "m"; + "CONFIG_NET_SCH_CODEL" = "m"; + "CONFIG_NET_SCH_FQ_CODEL" = "m"; + "CONFIG_NET_SCH_FQ" = "m"; + "CONFIG_NET_SCH_HHF" = "m"; + "CONFIG_NET_SCH_PIE" = "m"; + "CONFIG_NET_SCH_INGRESS" = "m"; + "CONFIG_NET_SCH_PLUG" = "m"; + "CONFIG_NET_CLS" = "y"; + "CONFIG_NET_CLS_BASIC" = "m"; + "CONFIG_NET_CLS_TCINDEX" = "m"; + "CONFIG_NET_CLS_ROUTE4" = "m"; + "CONFIG_NET_CLS_FW" = "m"; + "CONFIG_NET_CLS_U32" = "m"; + "CONFIG_NET_CLS_RSVP" = "m"; + "CONFIG_NET_CLS_RSVP6" = "m"; + "CONFIG_NET_CLS_FLOW" = "m"; + "CONFIG_NET_CLS_CGROUP" = "m"; + "CONFIG_NET_CLS_BPF" = "m"; + "CONFIG_NET_EMATCH" = "y"; + "CONFIG_NET_EMATCH_STACK" = "32"; + "CONFIG_NET_EMATCH_CMP" = "m"; + "CONFIG_NET_EMATCH_NBYTE" = "m"; + "CONFIG_NET_EMATCH_U32" = "m"; + "CONFIG_NET_EMATCH_META" = "m"; + "CONFIG_NET_EMATCH_TEXT" = "m"; + "CONFIG_NET_CLS_ACT" = "y"; + "CONFIG_NET_ACT_POLICE" = "m"; + "CONFIG_NET_ACT_GACT" = "m"; + "CONFIG_NET_ACT_MIRRED" = "m"; + "CONFIG_NET_ACT_NAT" = "m"; + "CONFIG_NET_ACT_PEDIT" = "m"; + "CONFIG_NET_ACT_SIMP" = "m"; + "CONFIG_NET_ACT_SKBEDIT" = "m"; + "CONFIG_NET_ACT_CSUM" = "m"; + "CONFIG_NET_ACT_VLAN" = "m"; + "CONFIG_NET_ACT_BPF" = "m"; + "CONFIG_NET_SCH_FIFO" = "y"; + "CONFIG_DNS_RESOLVER" = "y"; + "CONFIG_VSOCKETS" = "y"; + "CONFIG_NETLINK_MMAP" = "y"; + "CONFIG_NETLINK_DIAG" = "m"; + "CONFIG_RPS" = "y"; + "CONFIG_RFS_ACCEL" = "y"; + "CONFIG_XPS" = "y"; + "CONFIG_CGROUP_NET_CLASSID" = "y"; + "CONFIG_NET_RX_BUSY_POLL" = "y"; + "CONFIG_BQL" = "y"; + "CONFIG_BPF_JIT" = "y"; + "CONFIG_NET_FLOW_LIMIT" = "y"; + "CONFIG_HAVE_BPF_JIT" = "y"; + "CONFIG_DEVTMPFS" = "y"; + "CONFIG_DEVTMPFS_MOUNT" = "y"; + "CONFIG_FW_LOADER" = "y"; + "CONFIG_EXTRA_FIRMWARE" = ""; + "CONFIG_FW_LOADER_USER_HELPER" = "y"; + "CONFIG_ALLOW_DEV_COREDUMP" = "y"; + "CONFIG_GENERIC_CPU_AUTOPROBE" = "y"; + "CONFIG_DMA_SHARED_BUFFER" = "y"; + "CONFIG_CONNECTOR" = "y"; + "CONFIG_PROC_EVENTS" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT" = "y"; + "CONFIG_PNP" = "y"; + "CONFIG_PNPACPI" = "y"; + "CONFIG_BLK_DEV" = "y"; + "CONFIG_BLK_DEV_NULL_BLK" = "m"; + "CONFIG_ZRAM" = "y"; + "CONFIG_ZRAM_LZ4_COMPRESS" = "y"; + "CONFIG_BLK_DEV_LOOP" = "y"; + "CONFIG_BLK_DEV_LOOP_MIN_COUNT" = "0"; + "CONFIG_BLK_DEV_CRYPTOLOOP" = "m"; + "CONFIG_CDROM_PKTCDVD" = "y"; + "CONFIG_CDROM_PKTCDVD_BUFFERS" = "8"; + "CONFIG_VIRTIO_BLK" = "m"; + "CONFIG_EEPROM_AT24" = "m"; + "CONFIG_EEPROM_93CX6" = "m"; + "CONFIG_HAVE_IDE" = "y"; + "CONFIG_SCSI_MOD" = "y"; + "CONFIG_SCSI" = "y"; + "CONFIG_SCSI_DMA" = "y"; + "CONFIG_SCSI_MQ_DEFAULT" = "y"; + "CONFIG_BLK_DEV_SD" = "y"; + "CONFIG_BLK_DEV_SR" = "y"; + "CONFIG_CHR_DEV_SG" = "y"; + "CONFIG_ATA" = "y"; + "CONFIG_ATA_ACPI" = "y"; + "CONFIG_SATA_AHCI" = "y"; + "CONFIG_ATA_SFF" = "y"; + "CONFIG_ATA_BMDMA" = "y"; + "CONFIG_ATA_PIIX" = "y"; + "CONFIG_MD" = "y"; + "CONFIG_BLK_DEV_DM_BUILTIN" = "y"; + "CONFIG_BLK_DEV_DM" = "y"; + "CONFIG_DM_CRYPT" = "y"; + "CONFIG_DM_UEVENT" = "y"; + "CONFIG_NETDEVICES" = "y"; + "CONFIG_NET_CORE" = "y"; + "CONFIG_VXLAN" = "m"; + "CONFIG_VIRTIO_NET" = "m"; + "CONFIG_NLMON" = "m"; + "CONFIG_VHOST_NET" = "m"; + "CONFIG_VHOST_RING" = "m"; + "CONFIG_VHOST" = "m"; + "CONFIG_ETHERNET" = "y"; + "CONFIG_NET_VENDOR_BROADCOM" = "y"; + "CONFIG_TIGON3" = "y"; + "CONFIG_PHYLIB" = "y"; + "CONFIG_USB_NET_DRIVERS" = "m"; + "CONFIG_INPUT" = "y"; + "CONFIG_INPUT_FF_MEMLESS" = "y"; + "CONFIG_INPUT_MATRIXKMAP" = "m"; + "CONFIG_INPUT_MOUSEDEV" = "y"; + "CONFIG_INPUT_MOUSEDEV_SCREEN_X" = "1024"; + "CONFIG_INPUT_MOUSEDEV_SCREEN_Y" = "768"; + "CONFIG_INPUT_JOYDEV" = "y"; + "CONFIG_INPUT_EVDEV" = "y"; + "CONFIG_INPUT_KEYBOARD" = "y"; + "CONFIG_KEYBOARD_ATKBD" = "y"; + "CONFIG_INPUT_MOUSE" = "y"; + "CONFIG_INPUT_TABLET" = "y"; + "CONFIG_SERIO" = "y"; + "CONFIG_ARCH_MIGHT_HAVE_PC_SERIO" = "y"; + "CONFIG_SERIO_I8042" = "y"; + "CONFIG_SERIO_LIBPS2" = "y"; + "CONFIG_TTY" = "y"; + "CONFIG_VT" = "y"; + "CONFIG_CONSOLE_TRANSLATIONS" = "y"; + "CONFIG_VT_CONSOLE" = "y"; + "CONFIG_HW_CONSOLE" = "y"; + "CONFIG_VT_HW_CONSOLE_BINDING" = "y"; + "CONFIG_UNIX98_PTYS" = "y"; + "CONFIG_DEVPTS_MULTIPLE_INSTANCES" = "y"; + "CONFIG_DEVMEM" = "y"; + "CONFIG_DEVKMEM" = "y"; + "CONFIG_HVC_DRIVER" = "y"; + "CONFIG_VIRTIO_CONSOLE" = "m"; + "CONFIG_NVRAM" = "m"; + "CONFIG_HPET" = "y"; + "CONFIG_HPET_MMAP" = "y"; + "CONFIG_HPET_MMAP_DEFAULT" = "y"; + "CONFIG_HANGCHECK_TIMER" = "m"; + "CONFIG_TCG_TPM" = "y"; + "CONFIG_TCG_TIS" = "y"; + "CONFIG_DEVPORT" = "y"; + "CONFIG_I2C" = "y"; + "CONFIG_I2C_BOARDINFO" = "y"; + "CONFIG_I2C_CHARDEV" = "y"; + "CONFIG_I2C_MUX" = "y"; + "CONFIG_I2C_HELPER_AUTO" = "y"; + "CONFIG_I2C_ALGOBIT" = "y"; + "CONFIG_I2C_I801" = "y"; + "CONFIG_PPS" = "y"; + "CONFIG_PTP_1588_CLOCK" = "y"; + "CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB" = "y"; + "CONFIG_POWER_SUPPLY" = "y"; + "CONFIG_POWER_RESET" = "y"; + "CONFIG_HWMON" = "y"; + "CONFIG_SENSORS_CORETEMP" = "y"; + "CONFIG_SENSORS_LM90" = "y"; + "CONFIG_THERMAL" = "y"; + "CONFIG_THERMAL_HWMON" = "y"; + "CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE" = "y"; + "CONFIG_THERMAL_GOV_FAIR_SHARE" = "y"; + "CONFIG_THERMAL_GOV_STEP_WISE" = "y"; + "CONFIG_THERMAL_GOV_BANG_BANG" = "y"; + "CONFIG_THERMAL_GOV_USER_SPACE" = "y"; + "CONFIG_INTEL_POWERCLAMP" = "m"; + "CONFIG_X86_PKG_TEMP_THERMAL" = "m"; + "CONFIG_SSB_POSSIBLE" = "y"; + "CONFIG_BCMA_POSSIBLE" = "y"; + "CONFIG_MFD_CORE" = "y"; + "CONFIG_LPC_ICH" = "y"; + "CONFIG_MEDIA_SUPPORT" = "y"; + "CONFIG_MEDIA_CAMERA_SUPPORT" = "y"; + "CONFIG_VIDEO_DEV" = "y"; + "CONFIG_VIDEO_V4L2" = "y"; + "CONFIG_VIDEOBUF2_CORE" = "m"; + "CONFIG_VIDEOBUF2_MEMOPS" = "m"; + "CONFIG_VIDEOBUF2_VMALLOC" = "m"; + "CONFIG_MEDIA_USB_SUPPORT" = "y"; + "CONFIG_USB_VIDEO_CLASS" = "m"; + "CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV" = "y"; + "CONFIG_AGP" = "y"; + "CONFIG_AGP_INTEL" = "y"; + "CONFIG_INTEL_GTT" = "y"; + "CONFIG_VGA_ARB" = "y"; + "CONFIG_VGA_ARB_MAX_GPUS" = "16"; + "CONFIG_DRM" = "y"; + "CONFIG_DRM_KMS_HELPER" = "y"; + "CONFIG_DRM_KMS_FB_HELPER" = "y"; + "CONFIG_DRM_TTM" = "y"; + "CONFIG_DRM_NOUVEAU" = "y"; + "CONFIG_NOUVEAU_DEBUG" = "5"; + "CONFIG_NOUVEAU_DEBUG_DEFAULT" = "3"; + "CONFIG_DRM_NOUVEAU_BACKLIGHT" = "y"; + "CONFIG_DRM_BOCHS" = "m"; + "CONFIG_FB" = "y"; + "CONFIG_FB_CMDLINE" = "y"; + "CONFIG_FB_CFB_FILLRECT" = "y"; + "CONFIG_FB_CFB_COPYAREA" = "y"; + "CONFIG_FB_CFB_IMAGEBLIT" = "y"; + "CONFIG_FB_SYS_FILLRECT" = "m"; + "CONFIG_FB_SYS_COPYAREA" = "m"; + "CONFIG_FB_SYS_IMAGEBLIT" = "m"; + "CONFIG_FB_BACKLIGHT" = "y"; + "CONFIG_FB_MODE_HELPERS" = "y"; + "CONFIG_FB_TILEBLITTING" = "y"; + "CONFIG_BACKLIGHT_LCD_SUPPORT" = "y"; + "CONFIG_BACKLIGHT_CLASS_DEVICE" = "y"; + "CONFIG_HDMI" = "y"; + "CONFIG_VGA_CONSOLE" = "y"; + "CONFIG_VGACON_SOFT_SCROLLBACK" = "y"; + "CONFIG_VGACON_SOFT_SCROLLBACK_SIZE" = "1024"; + "CONFIG_DUMMY_CONSOLE" = "y"; + "CONFIG_DUMMY_CONSOLE_COLUMNS" = "80"; + "CONFIG_DUMMY_CONSOLE_ROWS" = "25"; + "CONFIG_FRAMEBUFFER_CONSOLE" = "y"; + "CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY" = "y"; + "CONFIG_SOUND" = "y"; + "CONFIG_SOUND_OSS_CORE" = "y"; + "CONFIG_SOUND_OSS_CORE_PRECLAIM" = "y"; + "CONFIG_SND" = "y"; + "CONFIG_SND_TIMER" = "y"; + "CONFIG_SND_PCM" = "y"; + "CONFIG_SND_HWDEP" = "y"; + "CONFIG_SND_RAWMIDI" = "y"; + "CONFIG_SND_JACK" = "y"; + "CONFIG_SND_SEQUENCER" = "y"; + "CONFIG_SND_SEQ_DUMMY" = "m"; + "CONFIG_SND_OSSEMUL" = "y"; + "CONFIG_SND_MIXER_OSS" = "y"; + "CONFIG_SND_PCM_OSS" = "y"; + "CONFIG_SND_PCM_OSS_PLUGINS" = "y"; + "CONFIG_SND_SEQUENCER_OSS" = "y"; + "CONFIG_SND_HRTIMER" = "y"; + "CONFIG_SND_SEQ_HRTIMER_DEFAULT" = "y"; + "CONFIG_SND_DYNAMIC_MINORS" = "y"; + "CONFIG_SND_MAX_CARDS" = "32"; + "CONFIG_SND_VMASTER" = "y"; + "CONFIG_SND_KCTL_JACK" = "y"; + "CONFIG_SND_DMA_SGBUF" = "y"; + "CONFIG_SND_RAWMIDI_SEQ" = "y"; + "CONFIG_SND_PCI" = "y"; + "CONFIG_SND_HDA" = "y"; + "CONFIG_SND_HDA_INTEL" = "y"; + "CONFIG_SND_HDA_PREALLOC_SIZE" = "64"; + "CONFIG_SND_HDA_INPUT_BEEP" = "y"; + "CONFIG_SND_HDA_INPUT_BEEP_MODE" = "0"; + "CONFIG_SND_HDA_INPUT_JACK" = "y"; + "CONFIG_SND_HDA_CODEC_SIGMATEL" = "y"; + "CONFIG_SND_HDA_GENERIC" = "y"; + "CONFIG_SND_HDA_POWER_SAVE_DEFAULT" = "0"; + "CONFIG_SND_USB" = "y"; + "CONFIG_SND_USB_AUDIO" = "y"; + "CONFIG_HID" = "y"; + "CONFIG_HIDRAW" = "y"; + "CONFIG_UHID" = "m"; + "CONFIG_HID_GENERIC" = "y"; + "CONFIG_HID_A4TECH" = "y"; + "CONFIG_HID_APPLE" = "y"; + "CONFIG_HID_BELKIN" = "y"; + "CONFIG_HID_CHERRY" = "y"; + "CONFIG_HID_CHICONY" = "y"; + "CONFIG_HID_CYPRESS" = "y"; + "CONFIG_HID_EZKEY" = "y"; + "CONFIG_HID_KENSINGTON" = "y"; + "CONFIG_HID_LOGITECH" = "y"; + "CONFIG_HID_MICROSOFT" = "y"; + "CONFIG_HID_MONTEREY" = "y"; + "CONFIG_HID_GREENASIA" = "y"; + "CONFIG_GREENASIA_FF" = "y"; + "CONFIG_HID_SENSOR_HUB" = "m"; + "CONFIG_USB_HID" = "y"; + "CONFIG_USB_HIDDEV" = "y"; + "CONFIG_I2C_HID" = "m"; + "CONFIG_USB_OHCI_LITTLE_ENDIAN" = "y"; + "CONFIG_USB_SUPPORT" = "y"; + "CONFIG_USB_COMMON" = "y"; + "CONFIG_USB_ARCH_HAS_HCD" = "y"; + "CONFIG_USB" = "y"; + "CONFIG_USB_ANNOUNCE_NEW_DEVICES" = "y"; + "CONFIG_USB_DEFAULT_PERSIST" = "y"; + "CONFIG_USB_MON" = "m"; + "CONFIG_USB_EHCI_HCD" = "y"; + "CONFIG_USB_EHCI_ROOT_HUB_TT" = "y"; + "CONFIG_USB_EHCI_TT_NEWSCHED" = "y"; + "CONFIG_USB_EHCI_PCI" = "y"; + "CONFIG_USB_UHCI_HCD" = "y"; + "CONFIG_USB_STORAGE" = "y"; + "CONFIG_USB_STORAGE_REALTEK" = "m"; + "CONFIG_REALTEK_AUTOPM" = "y"; + "CONFIG_USB_STORAGE_DATAFAB" = "m"; + "CONFIG_USB_STORAGE_FREECOM" = "m"; + "CONFIG_USB_STORAGE_ISD200" = "m"; + "CONFIG_USB_STORAGE_USBAT" = "m"; + "CONFIG_USB_STORAGE_SDDR09" = "m"; + "CONFIG_USB_STORAGE_SDDR55" = "m"; + "CONFIG_USB_STORAGE_JUMPSHOT" = "m"; + "CONFIG_USB_STORAGE_ALAUDA" = "m"; + "CONFIG_USB_STORAGE_ONETOUCH" = "m"; + "CONFIG_USB_STORAGE_KARMA" = "m"; + "CONFIG_USB_STORAGE_CYPRESS_ATACB" = "m"; + "CONFIG_USB_STORAGE_ENE_UB6250" = "m"; + "CONFIG_USB_UAS" = "m"; + "CONFIG_USB_MDC800" = "m"; + "CONFIG_USB_MICROTEK" = "m"; + "CONFIG_USBIP_CORE" = "m"; + "CONFIG_USBIP_VHCI_HCD" = "m"; + "CONFIG_USBIP_HOST" = "m"; + "CONFIG_USB_SERIAL" = "m"; + "CONFIG_USB_SERIAL_GENERIC" = "y"; + "CONFIG_USB_SERIAL_SIMPLE" = "m"; + "CONFIG_USB_SERIAL_AIRCABLE" = "m"; + "CONFIG_USB_SERIAL_ARK3116" = "m"; + "CONFIG_USB_SERIAL_BELKIN" = "m"; + "CONFIG_USB_SERIAL_CH341" = "m"; + "CONFIG_USB_SERIAL_WHITEHEAT" = "m"; + "CONFIG_USB_SERIAL_DIGI_ACCELEPORT" = "m"; + "CONFIG_USB_SERIAL_CP210X" = "m"; + "CONFIG_USB_SERIAL_CYPRESS_M8" = "m"; + "CONFIG_USB_SERIAL_EMPEG" = "m"; + "CONFIG_USB_SERIAL_FTDI_SIO" = "m"; + "CONFIG_USB_SERIAL_VISOR" = "m"; + "CONFIG_USB_SERIAL_IPAQ" = "m"; + "CONFIG_USB_SERIAL_IR" = "m"; + "CONFIG_USB_SERIAL_EDGEPORT" = "m"; + "CONFIG_USB_SERIAL_EDGEPORT_TI" = "m"; + "CONFIG_USB_SERIAL_F81232" = "m"; + "CONFIG_USB_SERIAL_GARMIN" = "m"; + "CONFIG_USB_SERIAL_IPW" = "m"; + "CONFIG_USB_SERIAL_IUU" = "m"; + "CONFIG_USB_SERIAL_KEYSPAN_PDA" = "m"; + "CONFIG_USB_SERIAL_KEYSPAN" = "m"; + "CONFIG_USB_SERIAL_KLSI" = "m"; + "CONFIG_USB_SERIAL_KOBIL_SCT" = "m"; + "CONFIG_USB_SERIAL_MCT_U232" = "m"; + "CONFIG_USB_SERIAL_METRO" = "m"; + "CONFIG_USB_SERIAL_MOS7720" = "m"; + "CONFIG_USB_SERIAL_MOS7840" = "m"; + "CONFIG_USB_SERIAL_MXUPORT" = "m"; + "CONFIG_USB_SERIAL_NAVMAN" = "m"; + "CONFIG_USB_SERIAL_PL2303" = "m"; + "CONFIG_USB_SERIAL_OTI6858" = "m"; + "CONFIG_USB_SERIAL_QCAUX" = "m"; + "CONFIG_USB_SERIAL_QUALCOMM" = "m"; + "CONFIG_USB_SERIAL_SPCP8X5" = "m"; + "CONFIG_USB_SERIAL_SAFE" = "m"; + "CONFIG_USB_SERIAL_SIERRAWIRELESS" = "m"; + "CONFIG_USB_SERIAL_SYMBOL" = "m"; + "CONFIG_USB_SERIAL_TI" = "m"; + "CONFIG_USB_SERIAL_CYBERJACK" = "m"; + "CONFIG_USB_SERIAL_XIRCOM" = "m"; + "CONFIG_USB_SERIAL_WWAN" = "m"; + "CONFIG_USB_SERIAL_OPTION" = "m"; + "CONFIG_USB_SERIAL_OMNINET" = "m"; + "CONFIG_USB_SERIAL_OPTICON" = "m"; + "CONFIG_USB_SERIAL_XSENS_MT" = "m"; + "CONFIG_USB_SERIAL_WISHBONE" = "m"; + "CONFIG_USB_SERIAL_SSU100" = "m"; + "CONFIG_USB_SERIAL_QT2" = "m"; + "CONFIG_USB_EZUSB_FX2" = "m"; + "CONFIG_NEW_LEDS" = "y"; + "CONFIG_LEDS_CLASS" = "y"; + "CONFIG_LEDS_CLASS_FLASH" = "m"; + "CONFIG_EDAC" = "y"; + "CONFIG_EDAC_MM_EDAC" = "y"; + "CONFIG_EDAC_I82975X" = "y"; + "CONFIG_RTC_LIB" = "y"; + "CONFIG_RTC_CLASS" = "y"; + "CONFIG_RTC_HCTOSYS" = "y"; + "CONFIG_RTC_SYSTOHC" = "y"; + "CONFIG_RTC_HCTOSYS_DEVICE" = "rtc0"; + "CONFIG_RTC_INTF_SYSFS" = "y"; + "CONFIG_RTC_INTF_PROC" = "y"; + "CONFIG_RTC_INTF_DEV" = "y"; + "CONFIG_RTC_DRV_CMOS" = "y"; + "CONFIG_VIRT_DRIVERS" = "y"; + "CONFIG_VIRTIO" = "m"; + "CONFIG_VIRTIO_PCI" = "m"; + "CONFIG_VIRTIO_BALLOON" = "m"; + "CONFIG_VIRTIO_MMIO" = "m"; + "CONFIG_X86_PLATFORM_DEVICES" = "y"; + "CONFIG_ACPI_WMI" = "y"; + "CONFIG_MXM_WMI" = "y"; + "CONFIG_CLKEVT_I8253" = "y"; + "CONFIG_I8253_LOCK" = "y"; + "CONFIG_CLKBLD_I8253" = "y"; + "CONFIG_RAS" = "y"; + "CONFIG_FIRMWARE_MEMMAP" = "y"; + "CONFIG_DELL_RBU" = "y"; + "CONFIG_DCDBAS" = "y"; + "CONFIG_DMIID" = "y"; + "CONFIG_DMI_SYSFS" = "y"; + "CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK" = "y"; + "CONFIG_UEFI_CPER" = "y"; + "CONFIG_DCACHE_WORD_ACCESS" = "y"; + "CONFIG_EXT2_FS" = "y"; + "CONFIG_EXT2_FS_XATTR" = "y"; + "CONFIG_EXT2_FS_POSIX_ACL" = "y"; + "CONFIG_FS_MBCACHE" = "y"; + "CONFIG_BTRFS_FS" = "y"; + "CONFIG_BTRFS_FS_POSIX_ACL" = "y"; + "CONFIG_FS_POSIX_ACL" = "y"; + "CONFIG_EXPORTFS" = "y"; + "CONFIG_FILE_LOCKING" = "y"; + "CONFIG_FSNOTIFY" = "y"; + "CONFIG_DNOTIFY" = "y"; + "CONFIG_INOTIFY_USER" = "y"; + "CONFIG_FANOTIFY" = "y"; + "CONFIG_AUTOFS4_FS" = "y"; + "CONFIG_FUSE_FS" = "y"; + "CONFIG_CUSE" = "m"; + "CONFIG_OVERLAY_FS" = "y"; + "CONFIG_FSCACHE" = "m"; + "CONFIG_CACHEFILES" = "m"; + "CONFIG_ISO9660_FS" = "y"; + "CONFIG_JOLIET" = "y"; + "CONFIG_ZISOFS" = "y"; + "CONFIG_UDF_FS" = "y"; + "CONFIG_UDF_NLS" = "y"; + "CONFIG_FAT_FS" = "m"; + "CONFIG_MSDOS_FS" = "m"; + "CONFIG_VFAT_FS" = "m"; + "CONFIG_FAT_DEFAULT_CODEPAGE" = "437"; + "CONFIG_FAT_DEFAULT_IOCHARSET" = "utf8"; + "CONFIG_NTFS_FS" = "m"; + "CONFIG_NTFS_RW" = "y"; + "CONFIG_PROC_FS" = "y"; + "CONFIG_PROC_SYSCTL" = "y"; + "CONFIG_PROC_PAGE_MONITOR" = "y"; + "CONFIG_KERNFS" = "y"; + "CONFIG_SYSFS" = "y"; + "CONFIG_TMPFS" = "y"; + "CONFIG_TMPFS_POSIX_ACL" = "y"; + "CONFIG_TMPFS_XATTR" = "y"; + "CONFIG_CONFIGFS_FS" = "y"; + "CONFIG_MISC_FILESYSTEMS" = "y"; + "CONFIG_ECRYPT_FS" = "y"; + "CONFIG_SQUASHFS" = "m"; + "CONFIG_SQUASHFS_FILE_CACHE" = "y"; + "CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU" = "y"; + "CONFIG_SQUASHFS_XATTR" = "y"; + "CONFIG_SQUASHFS_ZLIB" = "y"; + "CONFIG_SQUASHFS_LZ4" = "y"; + "CONFIG_SQUASHFS_LZO" = "y"; + "CONFIG_SQUASHFS_XZ" = "y"; + "CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE" = "3"; + "CONFIG_NETWORK_FILESYSTEMS" = "y"; + "CONFIG_NFS_FS" = "y"; + "CONFIG_NFS_V3" = "y"; + "CONFIG_NFS_V3_ACL" = "y"; + "CONFIG_NFS_V4" = "y"; + "CONFIG_NFS_USE_KERNEL_DNS" = "y"; + "CONFIG_NFSD" = "y"; + "CONFIG_NFSD_V2_ACL" = "y"; + "CONFIG_NFSD_V3" = "y"; + "CONFIG_NFSD_V3_ACL" = "y"; + "CONFIG_NFSD_V4" = "y"; + "CONFIG_GRACE_PERIOD" = "y"; + "CONFIG_LOCKD" = "y"; + "CONFIG_LOCKD_V4" = "y"; + "CONFIG_NFS_ACL_SUPPORT" = "y"; + "CONFIG_NFS_COMMON" = "y"; + "CONFIG_SUNRPC" = "y"; + "CONFIG_SUNRPC_GSS" = "y"; + "CONFIG_RPCSEC_GSS_KRB5" = "m"; + "CONFIG_CIFS" = "y"; + "CONFIG_CIFS_XATTR" = "y"; + "CONFIG_CIFS_POSIX" = "y"; + "CONFIG_NLS" = "y"; + "CONFIG_NLS_DEFAULT" = "ascii"; + "CONFIG_NLS_CODEPAGE_437" = "m"; + "CONFIG_NLS_CODEPAGE_737" = "m"; + "CONFIG_NLS_CODEPAGE_775" = "m"; + "CONFIG_NLS_CODEPAGE_850" = "m"; + "CONFIG_NLS_CODEPAGE_852" = "m"; + "CONFIG_NLS_CODEPAGE_855" = "m"; + "CONFIG_NLS_CODEPAGE_857" = "m"; + "CONFIG_NLS_CODEPAGE_860" = "m"; + "CONFIG_NLS_CODEPAGE_861" = "m"; + "CONFIG_NLS_CODEPAGE_862" = "m"; + "CONFIG_NLS_CODEPAGE_863" = "m"; + "CONFIG_NLS_CODEPAGE_864" = "m"; + "CONFIG_NLS_CODEPAGE_865" = "m"; + "CONFIG_NLS_CODEPAGE_866" = "m"; + "CONFIG_NLS_CODEPAGE_869" = "m"; + "CONFIG_NLS_CODEPAGE_936" = "m"; + "CONFIG_NLS_CODEPAGE_950" = "m"; + "CONFIG_NLS_CODEPAGE_932" = "m"; + "CONFIG_NLS_CODEPAGE_949" = "m"; + "CONFIG_NLS_CODEPAGE_874" = "m"; + "CONFIG_NLS_ISO8859_8" = "m"; + "CONFIG_NLS_CODEPAGE_1250" = "m"; + "CONFIG_NLS_CODEPAGE_1251" = "m"; + "CONFIG_NLS_ASCII" = "y"; + "CONFIG_NLS_ISO8859_1" = "m"; + "CONFIG_NLS_ISO8859_2" = "m"; + "CONFIG_NLS_ISO8859_3" = "m"; + "CONFIG_NLS_ISO8859_4" = "m"; + "CONFIG_NLS_ISO8859_5" = "m"; + "CONFIG_NLS_ISO8859_6" = "m"; + "CONFIG_NLS_ISO8859_7" = "m"; + "CONFIG_NLS_ISO8859_9" = "m"; + "CONFIG_NLS_ISO8859_13" = "m"; + "CONFIG_NLS_ISO8859_14" = "m"; + "CONFIG_NLS_ISO8859_15" = "m"; + "CONFIG_NLS_KOI8_R" = "m"; + "CONFIG_NLS_KOI8_U" = "m"; + "CONFIG_NLS_MAC_ROMAN" = "m"; + "CONFIG_NLS_MAC_CELTIC" = "m"; + "CONFIG_NLS_MAC_CENTEURO" = "m"; + "CONFIG_NLS_MAC_CROATIAN" = "m"; + "CONFIG_NLS_MAC_CYRILLIC" = "m"; + "CONFIG_NLS_MAC_GAELIC" = "m"; + "CONFIG_NLS_MAC_GREEK" = "m"; + "CONFIG_NLS_MAC_ICELAND" = "m"; + "CONFIG_NLS_MAC_INUIT" = "m"; + "CONFIG_NLS_MAC_ROMANIAN" = "m"; + "CONFIG_NLS_MAC_TURKISH" = "m"; + "CONFIG_NLS_UTF8" = "y"; + "CONFIG_DLM" = "m"; + "CONFIG_TRACE_IRQFLAGS_SUPPORT" = "y"; + "CONFIG_MESSAGE_LOGLEVEL_DEFAULT" = "4"; + "CONFIG_FRAME_WARN" = "2048"; + "CONFIG_ARCH_WANT_FRAME_POINTERS" = "y"; + "CONFIG_MAGIC_SYSRQ" = "y"; + "CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE" = "0x1"; + "CONFIG_HAVE_DEBUG_KMEMLEAK" = "y"; + "CONFIG_DEBUG_MEMORY_INIT" = "y"; + "CONFIG_HAVE_DEBUG_STACKOVERFLOW" = "y"; + "CONFIG_HAVE_ARCH_KMEMCHECK" = "y"; + "CONFIG_HAVE_ARCH_KASAN" = "y"; + "CONFIG_KASAN_SHADOW_OFFSET" = "0xdffffc0000000000"; + "CONFIG_PANIC_ON_OOPS_VALUE" = "0"; + "CONFIG_PANIC_TIMEOUT" = "0"; + "CONFIG_DEBUG_BUGVERBOSE" = "y"; + "CONFIG_RCU_CPU_STALL_TIMEOUT" = "60"; + "CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS" = "y"; + "CONFIG_USER_STACKTRACE_SUPPORT" = "y"; + "CONFIG_HAVE_FUNCTION_TRACER" = "y"; + "CONFIG_HAVE_FUNCTION_GRAPH_TRACER" = "y"; + "CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST" = "y"; + "CONFIG_HAVE_DYNAMIC_FTRACE" = "y"; + "CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS" = "y"; + "CONFIG_HAVE_FTRACE_MCOUNT_RECORD" = "y"; + "CONFIG_HAVE_SYSCALL_TRACEPOINTS" = "y"; + "CONFIG_HAVE_FENTRY" = "y"; + "CONFIG_HAVE_C_RECORDMCOUNT" = "y"; + "CONFIG_TRACING_SUPPORT" = "y"; + "CONFIG_TEST_HEXDUMP" = "m"; + "CONFIG_HAVE_ARCH_KGDB" = "y"; + "CONFIG_STRICT_DEVMEM" = "y"; + "CONFIG_X86_VERBOSE_BOOTUP" = "y"; + "CONFIG_EARLY_PRINTK" = "y"; + "CONFIG_DOUBLEFAULT" = "y"; + "CONFIG_HAVE_MMIOTRACE_SUPPORT" = "y"; + "CONFIG_IO_DELAY_TYPE_0X80" = "0"; + "CONFIG_IO_DELAY_TYPE_0XED" = "1"; + "CONFIG_IO_DELAY_TYPE_UDELAY" = "2"; + "CONFIG_IO_DELAY_TYPE_NONE" = "3"; + "CONFIG_IO_DELAY_0X80" = "y"; + "CONFIG_DEFAULT_IO_DELAY_TYPE" = "0"; + "CONFIG_KEYS" = "y"; + "CONFIG_ENCRYPTED_KEYS" = "y"; + "CONFIG_SECURITYFS" = "y"; + "CONFIG_DEFAULT_SECURITY_DAC" = "y"; + "CONFIG_DEFAULT_SECURITY" = ""; + "CONFIG_XOR_BLOCKS" = "y"; + "CONFIG_CRYPTO" = "y"; + "CONFIG_CRYPTO_ALGAPI" = "y"; + "CONFIG_CRYPTO_ALGAPI2" = "y"; + "CONFIG_CRYPTO_AEAD" = "y"; + "CONFIG_CRYPTO_AEAD2" = "y"; + "CONFIG_CRYPTO_BLKCIPHER" = "y"; + "CONFIG_CRYPTO_BLKCIPHER2" = "y"; + "CONFIG_CRYPTO_HASH" = "y"; + "CONFIG_CRYPTO_HASH2" = "y"; + "CONFIG_CRYPTO_RNG" = "y"; + "CONFIG_CRYPTO_RNG2" = "y"; + "CONFIG_CRYPTO_PCOMP" = "y"; + "CONFIG_CRYPTO_PCOMP2" = "y"; + "CONFIG_CRYPTO_MANAGER" = "y"; + "CONFIG_CRYPTO_MANAGER2" = "y"; + "CONFIG_CRYPTO_USER" = "m"; + "CONFIG_CRYPTO_GF128MUL" = "y"; + "CONFIG_CRYPTO_NULL" = "m"; + "CONFIG_CRYPTO_PCRYPT" = "y"; + "CONFIG_CRYPTO_WORKQUEUE" = "y"; + "CONFIG_CRYPTO_CRYPTD" = "y"; + "CONFIG_CRYPTO_MCRYPTD" = "m"; + "CONFIG_CRYPTO_AUTHENC" = "m"; + "CONFIG_CRYPTO_TEST" = "m"; + "CONFIG_CRYPTO_ABLK_HELPER" = "y"; + "CONFIG_CRYPTO_GLUE_HELPER_X86" = "y"; + "CONFIG_CRYPTO_CCM" = "m"; + "CONFIG_CRYPTO_GCM" = "m"; + "CONFIG_CRYPTO_SEQIV" = "y"; + "CONFIG_CRYPTO_CBC" = "y"; + "CONFIG_CRYPTO_CTR" = "y"; + "CONFIG_CRYPTO_CTS" = "m"; + "CONFIG_CRYPTO_ECB" = "y"; + "CONFIG_CRYPTO_LRW" = "y"; + "CONFIG_CRYPTO_PCBC" = "y"; + "CONFIG_CRYPTO_XTS" = "y"; + "CONFIG_CRYPTO_CMAC" = "y"; + "CONFIG_CRYPTO_HMAC" = "y"; + "CONFIG_CRYPTO_XCBC" = "y"; + "CONFIG_CRYPTO_VMAC" = "y"; + "CONFIG_CRYPTO_CRC32C" = "y"; + "CONFIG_CRYPTO_CRC32C_INTEL" = "m"; + "CONFIG_CRYPTO_CRC32" = "y"; + "CONFIG_CRYPTO_CRC32_PCLMUL" = "m"; + "CONFIG_CRYPTO_CRCT10DIF" = "y"; + "CONFIG_CRYPTO_CRCT10DIF_PCLMUL" = "m"; + "CONFIG_CRYPTO_GHASH" = "y"; + "CONFIG_CRYPTO_MD4" = "y"; + "CONFIG_CRYPTO_MD5" = "y"; + "CONFIG_CRYPTO_MICHAEL_MIC" = "y"; + "CONFIG_CRYPTO_RMD128" = "m"; + "CONFIG_CRYPTO_RMD160" = "m"; + "CONFIG_CRYPTO_RMD256" = "m"; + "CONFIG_CRYPTO_RMD320" = "m"; + "CONFIG_CRYPTO_SHA1" = "y"; + "CONFIG_CRYPTO_SHA1_SSSE3" = "m"; + "CONFIG_CRYPTO_SHA256_SSSE3" = "m"; + "CONFIG_CRYPTO_SHA512_SSSE3" = "m"; + "CONFIG_CRYPTO_SHA1_MB" = "m"; + "CONFIG_CRYPTO_SHA256" = "y"; + "CONFIG_CRYPTO_SHA512" = "y"; + "CONFIG_CRYPTO_TGR192" = "m"; + "CONFIG_CRYPTO_WP512" = "m"; + "CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL" = "m"; + "CONFIG_CRYPTO_AES" = "y"; + "CONFIG_CRYPTO_AES_X86_64" = "y"; + "CONFIG_CRYPTO_AES_NI_INTEL" = "m"; + "CONFIG_CRYPTO_ANUBIS" = "m"; + "CONFIG_CRYPTO_ARC4" = "y"; + "CONFIG_CRYPTO_BLOWFISH" = "y"; + "CONFIG_CRYPTO_BLOWFISH_COMMON" = "y"; + "CONFIG_CRYPTO_BLOWFISH_X86_64" = "y"; + "CONFIG_CRYPTO_CAMELLIA" = "m"; + "CONFIG_CRYPTO_CAMELLIA_X86_64" = "y"; + "CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64" = "m"; + "CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64" = "m"; + "CONFIG_CRYPTO_CAST_COMMON" = "y"; + "CONFIG_CRYPTO_CAST5" = "y"; + "CONFIG_CRYPTO_CAST5_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_CAST6" = "y"; + "CONFIG_CRYPTO_CAST6_AVX_X86_64" = "y"; + "CONFIG_CRYPTO_DES" = "y"; + "CONFIG_CRYPTO_DES3_EDE_X86_64" = "y"; + "CONFIG_CRYPTO_FCRYPT" = "m"; + "CONFIG_CRYPTO_KHAZAD" = "m"; + "CONFIG_CRYPTO_SALSA20" = "m"; + "CONFIG_CRYPTO_SALSA20_X86_64" = "m"; + "CONFIG_CRYPTO_SEED" = "m"; + "CONFIG_CRYPTO_SERPENT" = "y"; + "CONFIG_CRYPTO_SERPENT_SSE2_X86_64" = "y"; + "CONFIG_CRYPTO_SERPENT_AVX_X86_64" = "m"; + "CONFIG_CRYPTO_SERPENT_AVX2_X86_64" = "m"; + "CONFIG_CRYPTO_TEA" = "m"; + "CONFIG_CRYPTO_TWOFISH" = "y"; + "CONFIG_CRYPTO_TWOFISH_COMMON" = "y"; + "CONFIG_CRYPTO_TWOFISH_X86_64" = "y"; + "CONFIG_CRYPTO_TWOFISH_X86_64_3WAY" = "m"; + "CONFIG_CRYPTO_TWOFISH_AVX_X86_64" = "m"; + "CONFIG_CRYPTO_DEFLATE" = "y"; + "CONFIG_CRYPTO_ZLIB" = "y"; + "CONFIG_CRYPTO_LZO" = "y"; + "CONFIG_CRYPTO_LZ4" = "y"; + "CONFIG_CRYPTO_LZ4HC" = "y"; + "CONFIG_CRYPTO_ANSI_CPRNG" = "m"; + "CONFIG_CRYPTO_USER_API" = "m"; + "CONFIG_CRYPTO_USER_API_HASH" = "m"; + "CONFIG_CRYPTO_USER_API_SKCIPHER" = "m"; + "CONFIG_CRYPTO_USER_API_RNG" = "m"; + "CONFIG_CRYPTO_HASH_INFO" = "y"; + "CONFIG_ASYMMETRIC_KEY_TYPE" = "m"; + "CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE" = "m"; + "CONFIG_PUBLIC_KEY_ALGO_RSA" = "m"; + "CONFIG_X509_CERTIFICATE_PARSER" = "m"; + "CONFIG_PKCS7_MESSAGE_PARSER" = "m"; + "CONFIG_PKCS7_TEST_KEY" = "m"; + "CONFIG_HAVE_KVM" = "y"; + "CONFIG_HAVE_KVM_IRQCHIP" = "y"; + "CONFIG_HAVE_KVM_IRQFD" = "y"; + "CONFIG_HAVE_KVM_IRQ_ROUTING" = "y"; + "CONFIG_HAVE_KVM_EVENTFD" = "y"; + "CONFIG_KVM_APIC_ARCHITECTURE" = "y"; + "CONFIG_KVM_MMIO" = "y"; + "CONFIG_KVM_ASYNC_PF" = "y"; + "CONFIG_HAVE_KVM_MSI" = "y"; + "CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT" = "y"; + "CONFIG_KVM_VFIO" = "y"; + "CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT" = "y"; + "CONFIG_KVM_COMPAT" = "y"; + "CONFIG_VIRTUALIZATION" = "y"; + "CONFIG_KVM" = "y"; + "CONFIG_KVM_INTEL" = "y"; + "CONFIG_RAID6_PQ" = "y"; + "CONFIG_BITREVERSE" = "y"; + "CONFIG_GENERIC_STRNCPY_FROM_USER" = "y"; + "CONFIG_GENERIC_STRNLEN_USER" = "y"; + "CONFIG_GENERIC_NET_UTILS" = "y"; + "CONFIG_GENERIC_FIND_FIRST_BIT" = "y"; + "CONFIG_GENERIC_PCI_IOMAP" = "y"; + "CONFIG_GENERIC_IOMAP" = "y"; + "CONFIG_GENERIC_IO" = "y"; + "CONFIG_ARCH_USE_CMPXCHG_LOCKREF" = "y"; + "CONFIG_ARCH_HAS_FAST_MULTIPLIER" = "y"; + "CONFIG_CRC_CCITT" = "y"; + "CONFIG_CRC16" = "y"; + "CONFIG_CRC_T10DIF" = "y"; + "CONFIG_CRC_ITU_T" = "y"; + "CONFIG_CRC32" = "y"; + "CONFIG_CRC32_SELFTEST" = "y"; + "CONFIG_CRC32_SLICEBY8" = "y"; + "CONFIG_CRC7" = "y"; + "CONFIG_LIBCRC32C" = "y"; + "CONFIG_CRC8" = "y"; + "CONFIG_RANDOM32_SELFTEST" = "y"; + "CONFIG_ZLIB_INFLATE" = "y"; + "CONFIG_ZLIB_DEFLATE" = "y"; + "CONFIG_LZO_COMPRESS" = "y"; + "CONFIG_LZO_DECOMPRESS" = "y"; + "CONFIG_LZ4_COMPRESS" = "y"; + "CONFIG_LZ4HC_COMPRESS" = "y"; + "CONFIG_LZ4_DECOMPRESS" = "y"; + "CONFIG_XZ_DEC" = "y"; + "CONFIG_XZ_DEC_X86" = "y"; + "CONFIG_XZ_DEC_POWERPC" = "y"; + "CONFIG_XZ_DEC_IA64" = "y"; + "CONFIG_XZ_DEC_ARM" = "y"; + "CONFIG_XZ_DEC_ARMTHUMB" = "y"; + "CONFIG_XZ_DEC_SPARC" = "y"; + "CONFIG_XZ_DEC_BCJ" = "y"; + "CONFIG_XZ_DEC_TEST" = "m"; + "CONFIG_DECOMPRESS_GZIP" = "y"; + "CONFIG_DECOMPRESS_BZIP2" = "y"; + "CONFIG_DECOMPRESS_LZMA" = "y"; + "CONFIG_DECOMPRESS_XZ" = "y"; + "CONFIG_DECOMPRESS_LZO" = "y"; + "CONFIG_DECOMPRESS_LZ4" = "y"; + "CONFIG_TEXTSEARCH" = "y"; + "CONFIG_TEXTSEARCH_KMP" = "m"; + "CONFIG_TEXTSEARCH_BM" = "m"; + "CONFIG_TEXTSEARCH_FSM" = "m"; + "CONFIG_ASSOCIATIVE_ARRAY" = "y"; + "CONFIG_HAS_IOMEM" = "y"; + "CONFIG_HAS_IOPORT_MAP" = "y"; + "CONFIG_HAS_DMA" = "y"; + "CONFIG_CHECK_SIGNATURE" = "y"; + "CONFIG_CPU_RMAP" = "y"; + "CONFIG_DQL" = "y"; + "CONFIG_GLOB" = "y"; + "CONFIG_NLATTR" = "y"; + "CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE" = "y"; + "CONFIG_AVERAGE" = "y"; + "CONFIG_CLZ_TAB" = "y"; + "CONFIG_CORDIC" = "y"; + "CONFIG_MPILIB" = "m"; + "CONFIG_OID_REGISTRY" = "y"; + "CONFIG_FONT_SUPPORT" = "y"; + "CONFIG_FONT_8x8" = "y"; + "CONFIG_FONT_8x16" = "y"; + "CONFIG_ARCH_HAS_SG_CHAIN" = "y"; +} diff --git a/machines/mmrnmhrm.nix b/machines/mmrnmhrm.nix new file mode 100644 index 00000000..7f966c02 --- /dev/null +++ b/machines/mmrnmhrm.nix @@ -0,0 +1,67 @@ +{ pkgs, ... }: + +with pkgs.lib; +with import ../lib; + +{ + imports = singleton ../common-workstation.nix; + + nix.maxJobs = 2; + + boot = let + linuxVuizvui = pkgs.buildLinux { + inherit (pkgs.kernelSourceVuizvui) version src; + + kernelPatches = singleton pkgs.vuizvuiKernelPatches.bfqsched; + configfile = generateKConf (import ./mmrnmhrm-kconf.nix); + allowImportFromDerivation = true; + }; + in rec { + kernelPackages = pkgs.recurseIntoAttrs + (pkgs.linuxPackagesFor linuxVuizvui kernelPackages); + + loader.grub.devices = map (i: "/dev/disk/by-id/${i}") [ + "ata-WDC_WD10EZEX-00BN5A0_WD-WCC3F5756955" + "ata-WDC_WD10EZEX-00BN5A0_WD-WCC3F5790537" + ]; + }; + + networking.hostName = "mmrnmhrm"; + + fileSystems = { + "/" = { + label = "root"; + fsType = "btrfs"; + options = concatStringsSep "," [ + "autodefrag" + "space_cache" + "compress=lzo" + "noatime" + ]; + }; + }; + + swapDevices = [ + { label = "swap1"; } + { label = "swap2"; } + ]; + + services.synergy.server.enable = true; + services.synergy.server.configFile = ../cfgfiles/synergy.conf; + + systemd.services."synergy-server".serviceConfig.CPUSchedulingPolicy = "rr"; + systemd.services."synergy-server".serviceConfig.CPUSchedulingPriority = 50; + + services.xserver.videoDrivers = [ "nouveau" ]; + services.xserver.xrandrHeads = [ "DVI-I-1" "VGA-1" ]; + + vuizvui.i3.workspaces."1" = { + label = "XMPP"; + assign = singleton { class = "^(?:Tkabber|Gajim)\$"; }; + }; + + vuizvui.i3.workspaces."3" = { + label = "Chromium"; + assign = singleton { class = "^Chromium(?:-browser)?\$"; }; + }; +} diff --git a/machines/tishtushi.nix b/machines/tishtushi.nix new file mode 100644 index 00000000..3e067ca9 --- /dev/null +++ b/machines/tishtushi.nix @@ -0,0 +1,65 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + rootUUID = "e33a3dda-a87d-473b-b113-37783aa35667"; + swapUUID = "e9f59283-143c-4c36-978c-c730c6ca27c7"; + storeUUID = "ce1db87b-d717-450d-a212-3685a224f626"; + diskID = "ata-Hitachi_HTS543232A7A384_E2P31243FGB6PJ"; +in { + imports = singleton ../common-workstation.nix; + + boot = rec { + kernelPackages = with pkgs; let + trimVer = ver: take 2 (splitString "." (replaceChars ["-"] ["."] ver)); + tooOld = trimVer linux_latest.version == trimVer linux_testing.version; + origKernel = if tooOld then linux_latest else linux_testing; + bfqsched = vuizvuiKernelPatches.bfqsched // { + extraConfig = '' + IOSCHED_BFQ y + CGROUP_BFQIO y + DEFAULT_BFQ y + DEFAULT_CFQ n + DEFAULT_IOSCHED "bfq" + ''; + }; + kernel = origKernel.override { + kernelPatches = origKernel.kernelPatches ++ singleton bfqsched; + }; + in linuxPackagesFor kernel kernelPackages; + + initrd.kernelModules = [ "fbcon" "usb_storage" ]; + loader.grub.device = "/dev/disk/by-id/${diskID}"; + loader.grub.timeout = 0; + }; + + networking.hostName = "tishtushi"; + networking.wireless.enable = true; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/${rootUUID}"; + fsType = "btrfs"; + options = concatStringsSep "," [ + "space_cache" "compress=zlib" "noatime" + ]; + }; + + fileSystems."/nix/store" = { + device = "/dev/disk/by-uuid/${storeUUID}"; + fsType = "btrfs"; + options = concatStringsSep "," [ + "ssd" "compress-force=zlib" "noatime" + ]; + }; + + swapDevices = singleton { + device = "/dev/disk/by-uuid/${swapUUID}"; + }; + + services.tlp.enable = true; + + services.xserver.videoDrivers = [ "intel" ]; + + nix.maxJobs = 4; +} diff --git a/modules/git/default.nix b/modules/git/default.nix new file mode 100644 index 00000000..65aefb45 --- /dev/null +++ b/modules/git/default.nix @@ -0,0 +1,72 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + genConf = attrs: let + escStr = s: "\"${escape [ "\"" "\\" ] s}\""; + mkVal = v: if isBool v && v then "true" + else if isBool v && !v then "false" + else escStr (toString v); + mkLine = key: val: "${key} = ${mkVal val}"; + + filterNull = filterAttrs (_: v: !(isNull v)); + + mkSection = sect: subsect: vals: '' + [${sect}${optionalString (subsect != null) " ${escStr subsect}"}] + ${concatStringsSep "\n" (mapAttrsToList mkLine (filterNull vals))} + ''; + + mkConf = sect: content: let + subs = filterAttrs (_: isAttrs) content; + nonSubs = filterAttrs (_: s: !isAttrs s) content; + hasPlain = (attrNames nonSubs) != []; + plainSects = singleton (mkSection sect null nonSubs); + in mapAttrsToList (mkSection sect) subs ++ optional hasPlain plainSects; + + text = concatStringsSep "\n" (flatten (mapAttrsToList mkConf attrs)); + in pkgs.writeText "gitconfig" text; + + gitPatched = overrideDerivation pkgs.gitFull (git: { + makeFlags = let + oldFlags = git.makeFlags or []; + newVal = "ETC_GITCONFIG=${config.vuizvui.git.config}"; + in if isList oldFlags + then oldFlags ++ [ newVal ] + else "${oldFlags} ${newVal}"; + }); +in { + options.vuizvui.git = { + enable = mkEnableOption "Git"; + + config = mkOption { + description = "System-wide default config for Git"; + + type = let + superType = types.attrsOf types.unspecified; + in mkOptionType { + name = "attribute set of either plain values or " + + "attribute sets of values (if it is a subsection)"; + inherit (superType) check merge; + inherit (superType) getSubOptions getSubModules substSubModules; + }; + + default = {}; + example = { + color.ui = "auto"; + merge.tool = "vimdiff"; + guitool.foobar.noconsole = true; + }; + + apply = genConf; + }; + }; + + config = mkIf config.vuizvui.git.enable { + environment.systemPackages = [ + gitPatched + pkgs.gitAndTools.git-remote-hg + pkgs.gitAndTools.hub + ]; + }; +} diff --git a/modules/i3/conky.nix b/modules/i3/conky.nix new file mode 100644 index 00000000..77a63ea5 --- /dev/null +++ b/modules/i3/conky.nix @@ -0,0 +1,115 @@ +{ pkgs ? import <nixpkgs> {}, timeout ? 300 }: + +with pkgs.lib; + +let + baseConfig = pkgs.writeText "conkyrc" '' + cpu_avg_samples 2 + net_avg_samples 2 + no_buffers yes + out_to_console yes + out_to_ncurses no + out_to_stderr no + out_to_x no + extra_newline no + update_interval 1.0 + uppercase no + use_spacer none + pad_percents 3 + use_spacer left + TEXT + ''; + + optexpr = name: expr: "\${${name}_disabled:-\\\${${name} ${expr}\\}}"; + cexpr = name: args: "${optexpr name (concatStringsSep " " args)}"; + + mkNetInfo = iface: let + upspeed = cexpr "upspeed" [ iface ]; + downspeed = cexpr "downspeed" [ iface ]; + in "${upspeed} ${downspeed}"; + + mkDiskFree = path: let + used = cexpr "fs_used" [ path ]; + size = cexpr "fs_size" [ path ]; + in "${used}/${size}"; + + gpuTemp = "${cexpr "hwmon" [ "0" "temp" "1" ]}C"; + + weather = (cexpr "weather" [ + "http://weather.noaa.gov/pub/data/observations/metar/stations/" + "EDMA" + "temperature" + ]) + "C"; + + mkConky = args: let + time = cexpr "time" [ "%a %b %d %T %Z %Y" ]; + text = concatStringsSep " | " (args ++ singleton time); + conky = pkgs.conky.override { + weatherMetar = true; + }; + in pkgs.writeScript "conky-run.sh" '' + #!${pkgs.stdenv.shell} + PATH="${pkgs.coreutils}/bin" + + cpuload() { + for i in $(seq 1 $(nproc)) + do + [ $i -eq 1 ] || echo -n ' ' + echo -n "\''${cpu cpu$i}%" + done + } + + cputemp_collect() { + for i in /sys/bus/platform/devices/coretemp.?/hwmon/hwmon?/temp?_input + do + [ -e "$i" ] || continue + echo "$i" | ${pkgs.gnused}/bin/sed -re \ + 's/^.*hwmon([0-9]+)[^0-9]*([0-9]+).*$/''${hwmon \1 temp \2}/' + done + } + + cputemp() { + echo $(cputemp_collect) + } + + tries=0 + while ! raw_netinfo="$(${ + "${pkgs.iproute}/sbin/ip route get 8.8.8.8 2> /dev/null" + })"; do + if [ $tries -ge ${toString timeout} ]; then + upspeed_disabled=N/A + downspeed_disabled=N/A + break + fi + echo "Waiting for primary network interface to become available..." + tries=$(($tries + 1)) + sleep 1 + done + + primary_netdev="$(echo "$raw_netinfo" | \ + ${pkgs.gnused}/bin/sed -nre 's/^.*dev *([^ ]+).*$/\1/p')" + + ${conky}/bin/conky -c "${baseConfig}" -t "${text}" + ''; + +in { + left = mkConky [ + "CPU: $(cpuload) - ${cexpr "cpu" [ "cpu0" ]}%" + "MEM: \\$mem/\\$memmax - \\$memperc%" + "SWAP: \\$swap/\\$swapmax \\$swapperc%" + ]; + + right = mkConky [ + "NET: ${mkNetInfo "$primary_netdev"}" + "DF: ${mkDiskFree "/"}" + "LAVG: \\$loadavg" + "TEMP - CPU: $(cputemp) - GPU: ${gpuTemp} - OUTSIDE: ${weather}" + ]; + + single = mkConky [ + "CPU: $(cpuload) - ${cexpr "cpu" [ "cpu0" ]}%" + "MEM: \\$mem/\\$memmax - \\$memperc%" + "NET: ${mkNetInfo "$primary_netdev"}" + "TEMP - CPU: $(cputemp) - OUTSIDE: ${weather}" + ]; +} diff --git a/modules/i3/default.nix b/modules/i3/default.nix new file mode 100644 index 00000000..bca88cca --- /dev/null +++ b/modules/i3/default.nix @@ -0,0 +1,129 @@ +{ pkgs, lib, config, ... }: + +with lib; + +let + inherit (config.services.xserver) xrandrHeads; + + # The symbols if you press shift and a number key. + wsNumberSymbols = [ + "exclam" "at" "numbersign" "dollar" "percent" + "asciicircum" "ampersand" "asterisk" "parenleft" "parenright" + ]; + + wsCount = length wsNumberSymbols; + + headCount = length xrandrHeads; + wsPerHead = wsCount / headCount; + excessWs = wsCount - (headCount * wsPerHead); + headModifier = if config.vuizvui.i3.reverseHeads then reverseList else id; + getHeadAt = elemAt (headModifier xrandrHeads); + + mkDefaultWorkspace = number: numberSymbol: { + name = toString number; + value = mkDefault { + label = null; + labelPrefix = "${toString number}: "; + keys.switchTo = "$mod+${if number == 10 then "0" else toString number}"; + keys.moveTo = "$mod+Shift+${numberSymbol}"; + head = if headCount == 0 then null + else getHeadAt ((number - (excessWs + 1)) / wsPerHead); + }; + }; + + wsCfgList = mapAttrsToList (_: getAttr "config") config.vuizvui.i3.workspaces; + wsConfig = concatStrings wsCfgList; + defaultWorkspaces = listToAttrs (imap mkDefaultWorkspace wsNumberSymbols); + + conky = import ./conky.nix { + inherit pkgs; + timeout = config.vuizvui.i3.networkTimeout; + }; + + mkBar = output: statusCmd: singleton '' + bar { + ${optionalString (output != null) "output ${output}"} + ${optionalString (statusCmd != null) "status_command ${statusCmd}"} + colors { + focused_workspace #5c5cff #e5e5e5 + active_workspace #ffffff #0000ee + inactive_workspace #00cdcd #0000ee + urgent_workspace #ffff00 #cd0000 + } + } + ''; + + barConfig = let + barHeads = headModifier xrandrHeads; + bars = if headCount == 0 then mkBar null conky.single + else if headCount == 1 then mkBar (head barHeads) conky.single + else let inner = take (length barHeads - 2) (tail barHeads); + in mkBar (head barHeads) conky.left + ++ map (flip mkBar null) inner + ++ mkBar (last barHeads) conky.right; + in concatStrings (headModifier bars); + +in +{ + options.vuizvui.i3 = { + enable = mkEnableOption "i3"; + + workspaces = mkOption { + type = types.attrsOf (types.submodule (import ./workspace.nix)); + default = listToAttrs (imap mkDefaultWorkspace wsNumberSymbols); + description = '' + Workspace to monitor assignment. + + Workspaces are by default assigned starting from the leftmost monitor + being workspace 1 and the rightmost monitor being workspace 10. The + workspaces are divided by the number of available heads, so if you have + a dual head system, you'll end up having workspace 1 to 5 on the left + monitor and 6 to 10 on the right. + ''; + }; + + reverseHeads = mkOption { + type = types.bool; + default = false; + description = '' + Reverse the order of the heads, so if enabled and you have two heads, + you'll end up having workspaces 1 to 5 on the right head and 6 to 10 on + the left head. + ''; + }; + + networkTimeout = mkOption { + type = types.int; + default = 300; + description = '' + Maximum number of seconds to wait for network device detection. + ''; + }; + }; + + config.vuizvui.i3.workspaces = defaultWorkspaces; + + config.services.xserver.windowManager = mkIf config.vuizvui.i3.enable { + default = "i3"; + + i3.enable = true; + i3.configFile = pkgs.substituteAll { + name = "i3.conf"; + src = ./i3.conf; + + inherit (pkgs) dmenu xterm pvolctrl; + inherit (pkgs.xorg) xsetroot; + inherit wsConfig barConfig; + + lockall = pkgs.writeScript "lockvt.sh" '' + #!${pkgs.stdenv.shell} + "${pkgs.socat}/bin/socat" - UNIX-CONNECT:/run/console-lock.sock \ + < /dev/null + ''; + + postInstall = '' + ${pkgs.i3}/bin/i3 -c "$target" -C + ''; + }; + }; +} diff --git a/modules/i3/i3.conf b/modules/i3/i3.conf new file mode 100644 index 00000000..cd14c425 --- /dev/null +++ b/modules/i3/i3.conf @@ -0,0 +1,131 @@ +# default modifier key +set $mod Mod4 + +# we want to have a VT-style font :-) +font -dosemu-vga-medium-r-normal--17-160-75-75-c-80-ibm-cp866 + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# reasonable defaults! +default_orientation horizontal +workspace_layout tabbed +popup_during_fullscreen ignore + +# start a terminal +bindsym $mod+Shift+Return exec --no-startup-id @xterm@/bin/xterm + +# kill focused window +bindsym $mod+Shift+C kill + +# start dmenu (a program launcher) +bindsym $mod+p exec --no-startup-id @dmenu@/bin/dmenu_run + +# start lock screen +bindsym $mod+Shift+Escape exec --no-startup-id @lockall@ + +# set background +exec @xsetroot@/bin/xsetroot -solid black + +# audio controls +bindsym XF86AudioLowerVolume exec @pvolctrl@/bin/pvolctrl -10 +bindsym XF86AudioRaiseVolume exec @pvolctrl@/bin/pvolctrl 10 +bindsym XF86AudioMute exec @pvolctrl@/bin/pvolctrl 0 + +# change/move focus +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+H move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+T move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+N move up +bindsym $mod+Shift+Right move right +bindsym $mod+Shift+S move right + +bindsym $mod+Left focus left +bindsym $mod+h focus left +bindsym $mod+Down focus down +bindsym $mod+t focus down +bindsym $mod+Up focus up +bindsym $mod+n focus up +bindsym $mod+Right focus right +bindsym $mod+s focus right + +# split in horizontal orientation +bindsym $mod+i split h + +# split in vertical orientation +bindsym $mod+d split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen + +# change container layout (stacked, tabbed, default) +bindsym $mod+apostrophe layout stacking +bindsym $mod+comma layout tabbed +bindsym $mod+period layout default + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +bindsym $mod+semicolon focus child + +# reload the configuration file +bindsym $mod+Shift+L reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+R restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+Q exit + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # They resize the border in the direction you pressed, e.g. + # when pressing left, the window is resized so that it has + # more space on its left + + bindsym Left resize shrink left 10 px or 10 ppt + bindsym h resize shrink left 10 px or 10 ppt + bindsym Down resize shrink down 10 px or 10 ppt + bindsym t resize shrink down 10 px or 10 ppt + bindsym Up resize shrink up 10 px or 10 ppt + bindsym n resize shrink up 10 px or 10 ppt + bindsym Right resize shrink right 10 px or 10 ppt + bindsym s resize shrink right 10 px or 10 ppt + + bindsym Shift+Left resize grow left 10 px or 10 ppt + bindsym Shift+H resize grow left 10 px or 10 ppt + bindsym Shift+Down resize grow down 10 px or 10 ppt + bindsym Shift+T resize grow down 10 px or 10 ppt + bindsym Shift+Up resize grow up 10 px or 10 ppt + bindsym Shift+N resize grow up 10 px or 10 ppt + bindsym Shift+Right resize grow right 10 px or 10 ppt + bindsym Shift+S resize grow right 10 px or 10 ppt + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + +# workspace configuration +@wsConfig@ + +# ratmenu should be as unintrusive as possible +for_window [class="^ratmenu$"] floating enable +for_window [class="^ratmenu$"] border none + +# various app cruft +for_window [class="^Dia$"] floating enable + +# bar configuration +@barConfig@ diff --git a/modules/i3/workspace.nix b/modules/i3/workspace.nix new file mode 100644 index 00000000..403ba57d --- /dev/null +++ b/modules/i3/workspace.nix @@ -0,0 +1,107 @@ +{ name, lib, config, ... }: + +with lib; + +let + finalLabel = + if config.label == null then name + else config.labelPrefix + config.label; + + mkDoc = anchor: "http://i3wm.org/docs/userguide.html#${anchor}"; +in +{ + options = { + labelPrefix = mkOption { + type = types.str; + default = ""; + example = "666: "; + description = '' + The value that will be put in front of the <option>label</option>. + So if you have a label called <replaceable>bar</replaceable> and a + <option>labelPrefix</option> called <replaceable>foo</replaceable> the + label for the workspace will be <replaceable>foobar</replaceable>. + ''; + }; + + label = mkOption { + type = types.nullOr types.str; + default = name; + description = '' + The label of this workspace, which is its name by default. If the value + is <replaceable>null</replaceable>, the resulting label of the workspace + is just its name and no <option>labelPrefix</option> is applied. + ''; + }; + + assign = mkOption { + type = types.listOf types.attrs; + default = []; + example = [ + { class = "^Chromium(?:-browser)?\$"; } + { instance = "^gajim\$"; } + ]; + description = let + anchor = "_automatically_putting_clients_on_specific_workspaces"; + in '' + Assign windows to this specific workspace using the attribute names + described by <link xlink:href="${mkDoc anchor}"/>. + ''; + }; + + head = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The XRandR head this workspace will be assigned to. + ''; + }; + + keys = let + commonDesc = '' + The <replaceable>$mod</replaceable> placeholder represents the default + modifier key. Details about the syntax of key combinations can be found + at <link xlink:href="${mkDoc "keybindings"}"/>. + ''; + in { + switchTo = mkOption { + type = types.nullOr types.str; + default = null; + example = "$mod+1"; + description = '' + Key combination to switch to this workspace. + '' + commonDesc; + }; + + moveTo = mkOption { + type = types.nullOr types.str; + default = null; + example = "$mod+Shift+exclam"; + description = '' + Key combination to move a container to this workspace. + '' + commonDesc; + }; + }; + + config = mkOption { + type = types.lines; + default = ""; + description = '' + Raw configuration options for this workspace. + ''; + }; + }; + + config.config = let + mkAssign = mapAttrsToList (criteria: value: "${criteria}=\"${value}\""); + mkSym = sym: rest: optionalString (sym != null) "bindsym ${sym} ${rest}"; + in '' + ${optionalString (config.head != null) '' + workspace "${finalLabel}" output ${config.head} + ''} + ${mkSym config.keys.switchTo "workspace \"${finalLabel}\""} + ${mkSym config.keys.moveTo "move workspace \"${finalLabel}\""} + ${concatMapStrings (assign: '' + assign [${concatStringsSep " " (mkAssign assign)}] ${finalLabel} + '') config.assign} + ''; +} diff --git a/modules/module-list.nix b/modules/module-list.nix index 5137c672..916e0efe 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -1,4 +1,7 @@ [ - ./config/labernix-pkgs.nix - ./services/postfix + ./git + ./i3 + ./slim + ./vlock + ./zsh ] diff --git a/modules/slim/default.nix b/modules/slim/default.nix new file mode 100644 index 00000000..ca3ce8c6 --- /dev/null +++ b/modules/slim/default.nix @@ -0,0 +1,43 @@ +{ pkgs, config, lib, ... }: + +with lib; + +let + cfg = config.vuizvui.slim; + randrHeads = config.services.xserver.xrandrHeads; +in { + options.vuizvui.slim.enable = mkEnableOption "Vuizvui SLiM"; + + config.services.xserver.displayManager.slim = mkIf cfg.enable { + enable = true; + theme = pkgs.stdenv.mkDerivation { + name = "nixos-theme-vuizvui"; + src = pkgs.slimThemes.nixosSlim; + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + patchPhase = let + headFactor = if randrHeads == [] then 1 else lib.length randrHeads; + centerLeft = 100 / (headFactor * 2); + in '' + ${pkgs.imagemagick}/bin/mogrify \ + -fill '#080010' -draw 'color 0,0 reset' \ + share/slim/themes/nixos-slim-testing/background.png + ${pkgs.imagemagick}/bin/mogrify \ + -negate -region 100x110+0+0 -negate -fill white -colorize 20% \ + share/slim/themes/nixos-slim-testing/panel.png + sed -i \ + -e 's/^\([a-z_]\+_x[^0-9]*\)[0-9]\+%/\1${toString centerLeft}%/' \ + share/slim/themes/nixos-slim-testing/slim.theme + cat >> share/slim/themes/nixos-slim-testing/slim.theme <<EOF + session_x ${toString centerLeft}% + msg_color #ffffff + username_color #ffffff + password_color #ffffff + input_color #ffffff + EOF + ''; + installPhase = '' + cp -R share/slim/themes/nixos-slim-testing "$out" + ''; + }; + }; +} diff --git a/modules/vlock/default.nix b/modules/vlock/default.nix new file mode 100644 index 00000000..11e9a475 --- /dev/null +++ b/modules/vlock/default.nix @@ -0,0 +1,51 @@ +{ pkgs, config, lib, ... }: + +let + messageFile = pkgs.runCommand "message.cat" {} '' + echo -en '\e[H\e[2J\e[?25l' > "$out" + "${pkgs.aacolorize}/bin/aacolorize" \ + "${./message.cat}" "${./message.colmap}" \ + >> "$out" + ''; + + esc = "\\\\033"; + unlockCSI = "${esc}[16;39H${esc}[?25h${esc}[K"; + + vlock = lib.overrideDerivation pkgs.vlock (o: { + postPatch = (o.postPatch or "") + '' + echo -n '"' > src/message.h + sed -e ':nl;N;$!bnl;s/[\\"]/\\&/g;s/\n/\\n/g' "${messageFile}" \ + >> src/message.h + sed -i -e '$s/$/"/' src/message.h + sed -i -e 's!getenv("VLOCK_MESSAGE")!\n#include "message.h"\n!' \ + src/vlock-main.c + sed -i -re 's/(fprintf[^"]*")(.*user)/\1${unlockCSI}\2/' \ + src/auth-pam.c + ''; + }); +in { + options.vuizvui.vlock.enable = lib.mkEnableOption "console lock"; + + config.systemd.sockets.vlock = { + description = "Console Lock Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig.ListenStream = "/run/console-lock.sock"; + socketConfig.Accept = true; + }; + + config.systemd.services."vlock@" = lib.mkIf config.vuizvui.vlock.enable { + description = "Lock All Consoles"; + serviceConfig.Type = "oneshot"; + + #environment.USER = "%i"; XXX + environment.USER = "aszlig"; + + script = '' + retval=0 + oldvt="$("${pkgs.kbd}/bin/fgconsole")" + "${vlock}/bin/vlock" -asn || retval=$? + if [ $retval -ne 0 ]; then "${pkgs.kbd}/bin/chvt" "$oldvt"; fi + exit $retval + ''; + }; +} diff --git a/modules/vlock/message.cat b/modules/vlock/message.cat new file mode 100644 index 00000000..f079e829 --- /dev/null +++ b/modules/vlock/message.cat @@ -0,0 +1,18 @@ + + . + | + -_ | . .-. .-. .. ,.--., ,===. + `-_ | | '||\.||' `' , , || || ;___ + -_ >:_ | _- ||`\|| || `\/' || || ; + `-_ _-' `-_ | _-' .' `| ;' /'`\ ``=='' ,===' + >:' `:' + _-' | | _- .. .. .. + -' | | _-' || || || + .|. _:< || ,---. .---. ||,-. .--. .--|| + _-' | `-_ _-' `-_ || ||"|| ||''' |.,'' |"/' |,";| + -' | `:< `- ||_ ||_|| ||__ |,\\. ||__ ||_,| + | | `-_ `--'`---' `---' '' `' `---' `---' + ' | `- + | press ENTER to unlock + ` + diff --git a/modules/vlock/message.colmap b/modules/vlock/message.colmap new file mode 100644 index 00000000..d7e42fb6 --- /dev/null +++ b/modules/vlock/message.colmap @@ -0,0 +1,18 @@ + + c + c + cc c b WWW WWW WW BccccB cBBBc + ccc c b WWWWWWWW WW W W Bc cB cccc + bb ccc b bb WWWWWW WW WWWW Bc cB c + bbb bbb ccc b bbb WW WW WW WWWW BcBBcB cBBBc + bbb cbb + bbb c b cc rr rr rr + bb c b ccc rr rr rr + ccb ccc rr rrrrr rrrrr rrrrr rrrr rrrrr + ccc c bbb ccc ccc rr rrRrr rrRRR rrrrr rRrr rrRrr + cc c bbb cc rrr rrrrr rrrr rrrrr rrrr rrrrr + c b bbb rrrrrrrrr rrrrr rr rr rrrrr rrrrr + c b bb + b ppppp PPPPP pp pppppp + b + diff --git a/modules/zsh/default.nix b/modules/zsh/default.nix new file mode 100644 index 00000000..4d21e33a --- /dev/null +++ b/modules/zsh/default.nix @@ -0,0 +1,106 @@ +{ config, lib, ... }: + +with lib; + +{ + options.vuizvui.zsh = { + enable = mkEnableOption "zsh"; + }; + + config = mkIf config.vuizvui.zsh.enable { + environment.shellInit = '' + export EDITOR="vim" + export EMAIL="aszlig@redmoonstudios.org" + ''; + + programs.zsh.enable = true; + + programs.zsh.shellAliases.t = "task"; + + programs.zsh.interactiveShellInit = mkAfter '' + export HISTFILE=~/.histfile + export HISTSIZE=100000 + export SAVEHIST=100000 + + unsetopt SHARE_HISTORY + + setopt extendedglob + setopt extendedhistory + setopt globcomplete + setopt histnostore + setopt histreduceblanks + setopt correct + setopt dvorak + setopt interactivecomments + setopt autopushd + setopt autocd + setopt beep + + bindkey -v + if [[ "$TERM" = xterm ]]; then + bindkey -v '\e[H' vi-beginning-of-line + bindkey -v '\e[F' vi-end-of-line + + function set-title() { + echo -en "\e]2;$2\a" + } + + function reset-title() { + echo -en "\e]2;''${(%):-%~}\a" + } + + autoload -Uz add-zsh-hook + add-zsh-hook preexec set-title + add-zsh-hook precmd reset-title + else + bindkey -v '\e[1~' vi-beginning-of-line + bindkey -v '\e[4~' vi-end-of-line + fi + + bindkey -a '/' history-incremental-pattern-search-backward + bindkey -a '?' history-incremental-pattern-search-forward + bindkey '\e[A' up-line-or-history + bindkey '\e[B' down-line-or-history + + zstyle ':completion:*' completer _expand _complete _ignored _approximate + zstyle ':completion:*' expand prefix suffix + zstyle ':completion:*' group-name ''' + zstyle ':completion:*' insert-unambiguous true + zstyle ':completion:*' list-colors ''' + zstyle ':completion:*' list-prompt \ + %SAt %p: Hit TAB for more, or the character to insert%s + zstyle ':completion:*' list-suffixes true + zstyle ':completion:*' matcher-list ''' \ + 'm:{[:lower:]}={[:upper:]}' \ + 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' \ + 'l:|=* r:|=*' \ + 'r:|[._-]=** r:|=**' + zstyle ':completion:*' max-errors 2 numeric + zstyle ':completion:*' menu select=long + zstyle ':completion:*' original true + zstyle ':completion:*' preserve-prefix '//[^/]##/' + zstyle ':completion:*' prompt \ + 'Hm, did you mistype something? There are %e errors in the completion.' + zstyle ':completion:*' select-prompt \ + %SScrolling active: current selection at %p%s + zstyle ':completion:*' use-compctl false + zstyle ':completion:*' verbose true + + autoload -Uz compinit + compinit + + autoload -Uz zmv + ''; + + programs.zsh.promptInit = '' + autoload -Uz prompt_special_chars + + () { + local p_machine='%(!..%B%F{red}%n%b%F{blue}@)%b%F{red}%m' + local p_path='%B%F{blue}[%F{cyan}%~%B%F{blue}]' + local p_exitcode='%F{green}%?%(!.%F{cyan}>.%b%F{green}>)%b%f ' + PROMPT="$p_machine$p_path$p_exitcode" + } + ''; + }; +} diff --git a/network.nix b/network.nix new file mode 100644 index 00000000..038f9e73 --- /dev/null +++ b/network.nix @@ -0,0 +1,7 @@ +{ + dnyarri = import ./machines/dnyarri.nix; + mmrnmhrm = import ./machines/mmrnmhrm.nix; + arilou = import ./machines/arilou.nix; + kzerza = import ./machines/kzerza.nix; + tishtushi = import ./machines/tishtushi.nix; +} diff --git a/nixpkgs/config.nix b/nixpkgs/config.nix new file mode 100644 index 00000000..5edb4334 --- /dev/null +++ b/nixpkgs/config.nix @@ -0,0 +1,12 @@ +{ + pulseaudio = true; + chromium.enablePepperFlash = true; + firefox.jre = true; + + # Needed for CPU microcode + allowUnfree = true; + + allowBroken = true; + + packageOverrides = import ../overrides; +} diff --git a/overrides/default.nix b/overrides/default.nix new file mode 100644 index 00000000..f1bf422b --- /dev/null +++ b/overrides/default.nix @@ -0,0 +1,98 @@ +pkgs: + +with pkgs.lib; + +let + allPackages = (import ../pkgs { pkgs = everything; }).vuizvui // misc; + everything = pkgs // allPackages // drvOverrides // argOverrides; + + mapOverride = overrideFun: includePackages: let + packages = pkgs // allPackages // includePackages; + overrideName = name: overrideFun (getAttr name packages); + in mapAttrs overrideName; + + # input attrset overrides using pkg.override + argOverrides = mapOverride (getAttr "override") drvOverrides { + netrw.checksumType = "mhash"; + pulseaudio.useSystemd = true; + w3m.graphicsSupport = true; + uqm.use3DOVideos = true; + uqm.useRemixPacks = true; + miro.enableBonjour = true; + }; + + gajimGtkTheme = everything.writeText "gajim.gtkrc" '' + style "default" { + fg[NORMAL] = "#d5faff" + fg[ACTIVE] = "#fffeff" + fg[SELECTED] = "#fffeff" + fg[INSENSITIVE] = "#85aaaf" + fg[PRELIGHT] = "#d7f2ff" + + text[NORMAL] = "#fffefe" + text[ACTIVE] = "#fffeff" + text[SELECTED] = "#fffeff" + text[INSENSITIVE] = "#85aaaf" + text[PRELIGHT] = "#d7f2ff" + + bg[NORMAL] = "#0f4866" + bg[ACTIVE] = "#0c232e" + bg[SELECTED] = "#005a56" + bg[INSENSITIVE] = "#103040" + bg[PRELIGHT] = "#1d5875" + + base[NORMAL] = "#0c232e" + base[ACTIVE] = "#0f4864" + base[SELECTED] = "#005a56" + base[INSENSITIVE] = "#103040" + base[PRELIGHT] = "#1d5875" + } + + class "GtkWidget" style "default" + + gtk-enable-animations = 0 + ''; + + gajimPatch = everything.substituteAll { + src = ../pkgs/gajim/config.patch; + nix_config = everything.writeText "gajim.config" + (import ../cfgfiles/gajim.nix); + }; + + # derivation overrides + drvOverrides = mapOverride overrideDerivation argOverrides { + gajim = o: { + patches = (o.patches or []) ++ singleton gajimPatch; + postPatch = (o.postPatch or "") + '' + sed -i -e '/^export/i export GTK2_RC_FILES="${gajimGtkTheme}"' \ + scripts/gajim.in + ''; + }; + + mpv = o: { + installPhase = o.installPhase + '' + cat > "$out/etc/mpv/mpv.conf" <<CONFIG + ao=pulse + CONFIG + ''; + }; + + zsh = o: { + postConfigure = (o.postConfigure or "") + '' + sed -i -e '/^name=zsh\/newuser/d' config.modules + ''; + }; + }; + + # misc + misc = { + kernelSourceVuizvui = { + version = "4.0.0-rc3"; + src = everything.fetchgit { + url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git; + rev = "affb8172de395a6e1db52ed9790ca0456d8c29a9"; + sha256 = "1zqnkds0mglldm1syv17gl8n4wl1vy7rrh2vf3iga5w2psqwkyj4"; + }; + }; + }; +in allPackages // drvOverrides // argOverrides diff --git a/packages.nix b/packages.nix new file mode 100644 index 00000000..b94baf41 --- /dev/null +++ b/packages.nix @@ -0,0 +1,98 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + aacolorize + acpi + apg + ascii + aspellDicts.de + aspellDicts.en + axbo + bc + beets + chromiumBeta + dash + dos2unix + erlang + fbida + ffmpeg + figlet + firefox + flac + gajim + gdb + ghostscript + gimp + glxinfo + gnumake + gnupg1compat + graphviz + haskellngPackages.cabal2nix + haskellngPackages.cabal-install + haskellngPackages.hlint + haskellngPackages.yesod-bin + haxe + hexedit + i3 + i3lock + imagemagick + jwhois + keychain + lastwatch + lftp + ltrace + manpages + miro + mmv + mosh + mp3info + mpg321 + mpv + mtr + mutt + ncdu + neko + netrw + nix-prefetch-scripts + nix-repl + nixops + nixpkgs-lint + nmap + openssh + openssl + p7zip + pavucontrol + picard + posix_man_pages + pulseaudio + pvolctrl + python + python3 + pythonPackages.hetzner + pythonPackages.pep8 + pythonPackages.polib + rlwrap + rtorrent + samplicator + screen + scrot + socat + sox + sqlite + strace + surfraw + taskwarrior + telnet + tomahawk + unzip + uqm + valgrind + vbindiff + vorbisTools + w3m + wireshark + xpdf + youtubeDL + ]; +} diff --git a/pkgs/aacolorize/aacolorize.py b/pkgs/aacolorize/aacolorize.py new file mode 100755 index 00000000..ff19b687 --- /dev/null +++ b/pkgs/aacolorize/aacolorize.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python +import os +import sys + +from optparse import Option, OptionParser + +COLORS = { + "k": (30, "Black"), + "r": (31, "Red"), + "g": (32, "Green"), + "y": (33, "Yellow"), + "b": (34, "Blue"), + "p": (35, "Pink"), + "c": (36, "Cyan"), + "w": (37, "White"), +} + +ESC = chr(27) + +class ColorizeError(Exception): + pass + +class Color(object): + def __init__(self, ident=None): + """ + Initialize a color object, if no `ident` is given or it's invalid, + the Color object represents "no color". + """ + if ident is not None: + spec = COLORS.get(ident.lower(), None) + else: + spec = None + + if spec is None: + self.ident = None + self.bold = False + self.code = None + self.name = "None" + else: + self.ident = ident + self.code, self.name = spec + + if ident.isupper(): + self.bold = True + else: + self.bold = False + + @property + def attrs(self): + """ + A tuple consisting of the SGR attributes. + """ + if self.ident is None: + return () + + if self.bold: + return (1, self.code) + else: + return (self.code,) + + def sgr_attrs(self, *attrs): + """ + Return the attributes specified by `attrs` formatted according + to the CSI specification. + """ + return ';'.join(map(lambda c: str(c), attrs)) + + def sgr(self, *attrs): + """ + Start Set Graphics Rendition + Return the CSI escape code for `attrs`. + """ + return "%s[%sm" % (ESC, self.sgr_attrs(*attrs)) + + def sgr_start(self): + """ + Start Set Graphics Rendition + Return the CSI start escape code for the current color. + """ + return self.sgr(*self.attrs) + + def sgr_stop(self): + """ + Clear Set Graphics Rendition + """ + return self.sgr() + + def apply(self, value): + """ + Apply the current color to the string in `value`. + """ + return "%s%s%s" % (self.sgr_start(), value, self.sgr_stop()) + + def describe(self): + """ + Return the description of the current color IN color :-) + """ + fmt = "%c: <ESC>[%sm -> [%s]" + return fmt % ( + self.ident, + self.sgr_attrs(*self.attrs), + self.apply(self.name) + ) + + def transform_to(self, new_color): + """ + Return the CSI sequences needed to transform into `new_color`. + """ + if self.ident is None and new_color.ident is not None: + return new_color.sgr_start() + elif self.ident is not None and new_color.ident is None: + return self.sgr_stop() + elif self.ident is None and new_color.ident is None: + return '' + elif self.code == new_color.code: + if not self.bold and new_color.bold: + return self.sgr(1) + elif self.bold and not new_color.bold: + return self.sgr(22) + elif self.bold == new_color.bold: + return '' + else: + if self.bold and new_color.bold: + return new_color.sgr(new_color.code) + + return self.sgr_stop()+new_color.sgr_start() + + def __repr__(self): + if self.bold: + return "<Bold color %s>" % self.name.lower() + else: + return "<Color %s>" % self.name.lower() + +def print_colortable(): + for ident in COLORS.iterkeys(): + normal = Color(ident).describe() + bold = Color(ident.upper()).describe() + sys.stdout.write("%-35s%s\n" % (normal, bold)) + +def colorize_art(art, colmap): + if len(art) != len(colmap): + raise ColorizeError("Art and colormap differ in size!") + + no_color = Color() + + out = "" + last_color = no_color + for i, char in enumerate(colmap): + color = Color(char) + out += last_color.transform_to(color) + art[i] + last_color = color + + last_color.transform_to(no_color) + + return out + +def colorize_file(artfile, mapfile=None): + if mapfile is None: + mapfile = os.path.splitext(artfile)[0]+'.colmap' + + asciiart = open(artfile, 'r').read() + colormap = open(mapfile, 'r').read() + + return colorize_art(asciiart, colormap) + +if __name__ == "__main__": + parser = OptionParser(usage="%prog [options] artfile [mapfile]") + parser.add_option("-t", "--table", action="store_true", dest="table", + help="Show color table and exit.") + + (options, args) = parser.parse_args() + + if options.table: + print_colortable() + parser.exit() + + if not len(args) in (1, 2): + parser.print_help() + parser.exit() + else: + colorized = colorize_file(*args) + sys.stdout.write(colorized) diff --git a/pkgs/aacolorize/default.nix b/pkgs/aacolorize/default.nix new file mode 100644 index 00000000..a7a3c3f1 --- /dev/null +++ b/pkgs/aacolorize/default.nix @@ -0,0 +1,13 @@ +{ buildPythonPackage, runCommand }: + +buildPythonPackage { + name = "aacolorize"; + src = runCommand "aacolorize-src" {} '' + mkdir -p "$out" + cp "${./aacolorize.py}" "$out/aacolorize" + cat > "$out/setup.py" <<SETUP + from distutils.core import setup + setup(name='aacolorize', scripts=['aacolorize']) + SETUP + ''; +} diff --git a/pkgs/axbo/default.nix b/pkgs/axbo/default.nix new file mode 100644 index 00000000..d83e891d --- /dev/null +++ b/pkgs/axbo/default.nix @@ -0,0 +1,77 @@ +{ stdenv, fetchurl, oraclejre, librxtx_java, makeFontsConf, dejavu_fonts }: + +stdenv.mkDerivation rec { + name = "axbo-research-${version}"; + version = "2.0.18"; + + src = fetchurl { + url = let + urlversion = stdenv.lib.replaceChars ["."] ["_"] version; + in "https://www.dropbox.com/s/shy0yqcyivonobi/aXbo_unix_${urlversion}.sh"; + sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z"; + }; + + buildInputs = [ oraclejre librxtx_java ]; + + unpackCmd = let + fontconfigFile = makeFontsConf { + fontDirectories = stdenv.lib.singleton dejavu_fonts; + }; + in '' + datalen="$(sed -n 's/^.*totalDataLength=\([0-9]\+\).*$/\1/p' "$src")" + installer_offset="$(sed -n 's/^ *tail *-c *\([0-9]\+\).*$/\1/p' "$src")" + + installer_dir="$(mktemp -d)" + mkdir -p "$installer_dir" + tail -c "$installer_offset" "$src" | tar xz -C "$installer_dir" + + cat > "$installer_dir/responses" <<EOF + executeLauncherAction$Boolean=false + sys.programGroup.linkDir=/dev/null + sys.component.73$Boolean=true + sys.languageId=en + sys.installationDir=$(pwd)/${name} + sys.programGroup.enabled$Boolean=false + sys.programGroup.allUsers$Boolean=true + sys.programGroup.name=aXbo + EOF + + cd "$installer_dir" + export FONTCONFIG_FILE="${fontconfigFile}" + java -client -Dinstall4j.jvmDir="${oraclejre}" \ + -Dexe4j.moduleName="$src" \ + -Dexe4j.totalDataLength="$datalen" \ + -Dinstall4j.cwd="$installer_dir" \ + -Djava.ext.dirs="${oraclejre}/lib/ext" \ + -Dsun.java2d.noddraw=true \ + -classpath i4jruntime.jar:user.jar \ + com.install4j.runtime.Launcher launch \ + com.install4j.runtime.installer.Installer \ + false false "" "" false true false "" true true \ + 0 0 "" 20 20 Arial 0,0,0 8 500 'version 2.0.18' \ + 20 40 Arial 0,0,0 8 500 \ + -1 -q -varfile "$installer_dir/responses" + cd - + rm -rf "$installer_dir" + ''; + + installPhase = '' + mkdir -p "$out/libexec/lib" "$out/bin" + for jarfile in lib/*; do + case "''${jarfile##*/}" in + axbo.jar) cp -vt "$out/libexec" "$jarfile";; + RXTXcomm.jar) ln -s "${librxtx_java}/lib/java/RXTXcomm.jar" \ + "$out/libexec/lib";; + *.jar) cp -vt "$out/libexec/lib" "$jarfile";; + esac + done + + cat > "$out/bin/axbo-research" <<WRAPPER + #!${stdenv.shell} + ${oraclejre}/bin/java -Djava.library.path="${librxtx_java}/lib" \ + -classpath "${librxtx_java}/lib/java/RXTXcomm.jar" \ + -jar "$out/libexec/axbo.jar" + WRAPPER + chmod +x "$out/bin/axbo-research" + ''; +} diff --git a/pkgs/blop/default.nix b/pkgs/blop/default.nix new file mode 100644 index 00000000..6f1f49c5 --- /dev/null +++ b/pkgs/blop/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, ladspaH }: + +stdenv.mkDerivation rec { + name = "blop-${version}"; + version = "0.2.8"; + + configureFlags = [ + "--with-ladspa-prefix=${ladspaH}" + "--with-ladspa-plugin-dir=$(out)/lib/ladspa" + ]; + + src = fetchurl { + url = "mirror://sourceforge/blop/${name}.tar.gz"; + sha256 = "02iymw84dml8glyqgx1mxq4fz2fifgi1jca28hx2r3a2mi7i71vy"; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 9ff952ed..d156deff 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,9 +1,27 @@ -{ pkgs ? import <nixpkgs> {} }: +{ pkgs ? import <nixpkgs> {} +}: let callPackage = pkgs.lib.callPackageWith (pkgs // self); self = { - beehive = callPackage ./beehive {}; + aacolorize = callPackage ./aacolorize { }; + axbo = callPackage ./axbo { }; + blop = callPackage ./blop { }; + grandpa = callPackage ./grandpa { }; + nixops = callPackage ./nixops { }; + libCMT = callPackage ./libcmt { }; + librxtx_java = callPackage ./librxtx-java { }; + lockdev = callPackage ./lockdev { }; + pvolctrl = callPackage ./pvolctrl { }; + sidplayfp = callPackage ./sidplayfp { }; + tkabber_urgent_plugin = callPackage ./tkabber-urgent-plugin { }; + tomahawk = callPackage ./tomahawk { }; + twitchstream = callPackage ./twitchstream { }; + vim = callPackage ./vim { }; + + vuizvuiKernelPatches = { + bfqsched = callPackage ./kpatches/bfqsched.nix { }; + }; }; -in self +in { vuizvui = self; } diff --git a/pkgs/gajim/config.patch b/pkgs/gajim/config.patch new file mode 100644 index 00000000..fcfcc371 --- /dev/null +++ b/pkgs/gajim/config.patch @@ -0,0 +1,80 @@ +diff --git a/src/common/optparser.py b/src/common/optparser.py +index f84b18a..0078317 100644 +--- a/src/common/optparser.py ++++ b/src/common/optparser.py +@@ -30,6 +30,7 @@ import os + import sys + import locale + import re ++from itertools import chain + from time import time + from common import gajim + from common import helpers +@@ -46,19 +47,25 @@ class OptionsParser: + + def read(self): + try: +- fd = open(self.__filename) ++ cfg = nixfd = open("@nix_config@", 'r') + except Exception: + if os.path.exists(self.__filename): + #we talk about a file + print _('Error: cannot open %s for reading') % self.__filename + return False + ++ try: ++ fd = open(self.__filename) ++ cfg = chain(cfg, fd) ++ except Exception: ++ fd = None ++ + new_version = gajim.config.get('version') + new_version = new_version.split('-', 1)[0] + seen = set() + regex = re.compile(r"(?P<optname>[^.=]+)(?:(?:\.(?P<key>.+))?\.(?P<subname>[^.=]+))?\s=\s(?P<value>.*)") + +- for line in fd: ++ for line in cfg: + try: + line = line.decode('utf-8') + except UnicodeDecodeError: +@@ -79,10 +86,13 @@ class OptionsParser: + self.update_config(old_version, new_version) + self.old_values = {} # clean mem + +- fd.close() ++ if fd is not None: ++ fd.close() ++ ++ nixfd.close() + return True + +- def write_line(self, fd, opt, parents, value): ++ def write_line(self, (fd, nixcfg), opt, parents, value): + if value is None: + return + value = value[1] +@@ -102,17 +112,21 @@ class OptionsParser: + p = p.encode('utf-8') + s += p + '.' + s += opt +- fd.write(s + ' = ' + value + '\n') ++ line = s + ' = ' + value + '\n' ++ if not nixcfg.startswith(line) and not ('\n' + line) in nixcfg: ++ fd.write(line) + + def write(self): + (base_dir, filename) = os.path.split(self.__filename) + self.__tempfile = os.path.join(base_dir, '.' + filename) ++ + try: ++ nixcfg = open("@nix_config@", 'r').read() + f = open(self.__tempfile, 'w') + except IOError, e: + return str(e) + try: +- gajim.config.foreach(self.write_line, f) ++ gajim.config.foreach(self.write_line, (f, nixcfg)) + except IOError, e: + return str(e) + f.flush() diff --git a/pkgs/grandpa/default.nix b/pkgs/grandpa/default.nix new file mode 100644 index 00000000..bc68f157 --- /dev/null +++ b/pkgs/grandpa/default.nix @@ -0,0 +1,19 @@ +{ fetchgit, buildPythonPackage, pythonPackages, cython, gpm }: + +pythonPackages.buildPythonPackage { + name = "grandpa-0.5"; + namePrefix = ""; + + src = fetchgit { + url = "git://github.com/aszlig/GrandPA.git"; + rev = "41f21f67446b98f4600bc043abe32b95af6dd048"; + sha256 = "06sgz39ri0ai3x2fck44rczk04pj8zcysbhp97x20ggmqhx5vxyh"; + }; + + doCheck = false; + + buildInputs = [ cython gpm ]; + propagatedBuildInputs = with pythonPackages; [ + bsddb curses pyserial pyglet + ]; +} diff --git a/pkgs/kpatches/bfqsched.nix b/pkgs/kpatches/bfqsched.nix new file mode 100644 index 00000000..ff7d8752 --- /dev/null +++ b/pkgs/kpatches/bfqsched.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl }: + +let + bfqVersion = "v7r7"; + kernelVersion = "3.19"; + version = "${kernelVersion}.0-${bfqVersion}"; + + baseURL = "http://algo.ing.unimo.it/people/paolo/disk_sched/patches"; + + fetchPatch = { name, sha256 }: fetchurl { + url = "${baseURL}/${version}/${name}.patch"; + inherit sha256; + }; + + allPatches = [ + (fetchPatch { + name = "0001-block-cgroups-kconfig-build-bits-for-BFQ-" + + "${bfqVersion}-${kernelVersion}"; + sha256 = "1qlk1hcirf3x9h80f9crnyqgxvw79xi89rwv0sh4hsd1lw3sbi7s"; + }) + (fetchPatch { + name = "0002-block-introduce-the-BFQ-" + + "${bfqVersion}-I-O-sched-for-${kernelVersion}"; + sha256 = "04fbynd6k7g92rbyciswx3mswxr0amvp75wzdpn57wwjv5vlh7b2"; + }) + (fetchPatch { + name = "0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-" + + "${bfqVersion}-for-${kernelVersion}.0"; + sha256 = "17ypb5y7wkr719vy00wm09szmqnlpzpvkcq5phivdxd27417828m"; + }) + ]; + + patch = stdenv.mkDerivation { + name = "bfqsched-${version}.patch"; + inherit allPatches; + buildCommand = '' + cat $allPatches > "$out" + ''; + }; + +in { + name = "bfqsched-${version}"; + inherit version patch; +} diff --git a/pkgs/libcmt/default.nix b/pkgs/libcmt/default.nix new file mode 100644 index 00000000..e255ef25 --- /dev/null +++ b/pkgs/libcmt/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, ladspaH }: + +stdenv.mkDerivation rec { + name = "libcmt-${version}"; + version = "1.16"; + + buildInputs = [ ladspaH ]; + + setSourceRoot = '' + sourceRoot=cmt/src + ''; + + makeFlags = [ + "INSTALL_PLUGINS_DIR=$(out)/lib/ladspa" + ]; + + preInstall = '' + mkdir -p "$out/lib/ladspa" + ''; + + src = fetchurl { + url = "http://www.ladspa.org/download/cmt_src_${version}.tgz"; + sha256 = "0dan83pvljij3972bv214balc26p9fgw40i2d5y0x7lbd5z1saji"; + }; +} diff --git a/pkgs/librxtx-java/default.nix b/pkgs/librxtx-java/default.nix new file mode 100644 index 00000000..861dc43b --- /dev/null +++ b/pkgs/librxtx-java/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip, jdk, lockdev }: + +stdenv.mkDerivation rec { + name = "rxtx-${version}"; + version = "2.2pre2"; + + src = fetchurl { + urls = [ + "http://rxtx.qbang.org/pub/rxtx/${name}.zip" + "ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${name}.zip" + ]; + sha256 = "00sv9604hkq81mshih0fhqfzn4mf01d6rish6vplsi0gfqz3fc1w"; + }; + + buildInputs = [ unzip jdk lockdev ]; + + NIX_CFLAGS_COMPILE = "-DUTS_RELEASE=\"3.8.0\""; + + configureFlags = [ "--enable-liblock" ]; + + makeFlags = [ + "JHOME=$(out)/lib/java" + "RXTX_PATH=$(out)/lib" + ]; + + preInstall = '' + mkdir -p "$out/lib/java" + ''; +} diff --git a/pkgs/lockdev/default.nix b/pkgs/lockdev/default.nix new file mode 100644 index 00000000..52e78eb5 --- /dev/null +++ b/pkgs/lockdev/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, perl }: + +let + baseurl = "ftp://ftp.debian.org/debian/pool/main/l/lockdev/"; +in stdenv.mkDerivation rec { + name = "lockdev-${version}"; + version = "1.0.3"; + + buildInputs = [ perl ]; + + patches = stdenv.lib.singleton (fetchurl { + url = baseurl + "lockdev_1.0.3-1.5.diff.gz"; + sha256 = "1l3pq1nfb5qx3i91cjaiz3c53368gw6m28a5mv9391n5gmsdmi3r"; + }); + + NIX_CFLAGS_COMPILE = "-fPIC -D_PATH_LOCK=\"/tmp\""; + installFlags = [ "basedir=$(out)" ]; + + src = fetchurl { + url = baseurl + "lockdev_${version}.orig.tar.gz"; + sha256 = "10lzhq6r2dn8y3ki7wlqsa8s3ndkf842bszcjw4dbzf3g9fn7bnc"; + }; +} diff --git a/pkgs/nixops/default.nix b/pkgs/nixops/default.nix new file mode 100644 index 00000000..d9d96a5b --- /dev/null +++ b/pkgs/nixops/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, fetchpatch, git }: + +let + rev = "9d7fbce08380107d3ff6e2546add817b4ac40ee0"; + sha256 = "167silv9p27gayrlrzpm88rj60gj3hlxhkhnsp4ccpbvq6yw1wr3"; + + master = stdenv.mkDerivation rec { + name = "nixops-upstream-patched"; + + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nixops"; + inherit rev sha256; + }; + + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + + patches = [ + (fetchpatch { + url = "https://github.com/NixOS/nixops/pull/201.diff"; + sha256 = "1i5yycqayxggg3l1i6wk8lp64lqlxw5nmfya9fcrgmck8ls0rxid"; + }) + (fetchpatch rec { + name = "read-write-by-default.diff"; + url = "https://github.com/aszlig/nixops/compare/" + + "NixOS:master...aszlig:${name}"; + sha256 = "0a1jcqrqfi7dfvlha5r0609bzvin7p7nj523xxcrvwpgp6ag0zsa"; + }) + ]; + + patchFlags = "--merge -p1"; + + installPhase = '' + cp -a . "$out" + ''; + }; + + release = import "${master}/release.nix" { + nixopsSrc = { + outPath = master; + inherit rev; + revCount = 0; + shortRev = builtins.substring 0 7 rev; + }; + officialRelease = false; + }; +in stdenv.lib.getAttr stdenv.system release.build diff --git a/pkgs/pvolctrl/default.nix b/pkgs/pvolctrl/default.nix new file mode 100644 index 00000000..25edb27f --- /dev/null +++ b/pkgs/pvolctrl/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, pulseaudio }: + +stdenv.mkDerivation rec { + name = "pvolctrl-0.23"; + + unpackPhase = let + baseurl = "https://sites.google.com/site/guenterbartsch/blog/" + + "volumecontrolutilityforpulseaudio/"; + makefile = fetchurl { + url = baseurl + "Makefile"; + sha256 = "0l2ffvb617csk6h29y64v6ywhpcp7la6vvcip1w4nq0yry6jhrqz"; + }; + source = fetchurl { + url = baseurl + "pvolctrl.c"; + sha256 = "0vcd5dlw9l47jpabwmmzdvlkn67fz55dr3sryyh56sl263mibjda"; + }; + in '' + mkdir -p "${name}" + sed -e 's|/usr/bin/||' "${makefile}" > "${name}/Makefile" + sed -e 's/PA_VOLUME_MAX/PA_VOLUME_NORM/ + /avg_vol += (avg_vol \* vol_mod) \/ 100;/ { + s/(avg_vol/((int)PA_VOLUME_NORM/ + } + /if (vol_mod)/i \ + if (info->name == NULL || strncmp(info->name, "combined", 8) != 0) \ + return;' "${source}" > "${name}/pvolctrl.c" + sourceRoot="${name}" + ''; + + installPhase = '' + install -D -T pvolctrl "$out/bin/pvolctrl" + ''; + + buildInputs = [ pkgconfig pulseaudio ]; +} diff --git a/pkgs/sidplayfp/default.nix b/pkgs/sidplayfp/default.nix new file mode 100644 index 00000000..4304d4e4 --- /dev/null +++ b/pkgs/sidplayfp/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, alsaLib, pulseaudio }: + +let + libsidplayfp = stdenv.mkDerivation rec { + name = "libsidplayfp-${version}"; + version = "1.3.0"; + + src = fetchurl { + url = "mirror://sourceforge/sidplay-residfp/${name}.tar.gz"; + sha256 = "1gd4pn445v3wzr95z1b8642w016dnhq2hi8dgpc9imxig4xhx47d"; + }; + }; + +in stdenv.mkDerivation rec { + name = "sidplayfp-${version}"; + version = "1.1.0.1"; + + src = fetchurl { + url = "mirror://sourceforge/sidplay-residfp/${name}.tar.gz"; + sha256 = "0m8gk4xw2g4s3rcc3qy7nw6i08ivijjnbf3b6s5y3ryysyjjmc50"; + }; + + postPatch = '' + sed -i -e '/cerr.*\(Clear screen\|Move cursor\)/d' src/menu.cpp + ''; + + buildInputs = [ pkgconfig libsidplayfp alsaLib pulseaudio ]; +} + diff --git a/pkgs/tkabber-urgent-plugin/default.nix b/pkgs/tkabber-urgent-plugin/default.nix new file mode 100644 index 00000000..b39e5ea8 --- /dev/null +++ b/pkgs/tkabber-urgent-plugin/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchsvn, xlibs }: + +stdenv.mkDerivation { + name = "tkabber-urgent-plugin"; + + src = fetchsvn { + url = "http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/urgent"; + rev = 528; + sha256 = "1qr7i0559ad5y1l5h2gp8aix4nsfgm0bx7jqb030hgbxaw1xnbp5"; + }; + + buildInputs = [ xlibs.libX11 ]; + + patchPhase = '' + sed -i -e 's|exec xwininfo|exec ${xlibs.xwininfo}/bin/xwininfo|' urgent.tcl + ''; + + buildPhase = '' + gcc -lX11 -o urgent urgent.c + ''; + + installPhase = '' + install -vd "$out/share/tkabber-plugins/urgent" + cp -vpt "$out/share/tkabber-plugins/urgent" urgent urgent.tcl + ''; +} diff --git a/pkgs/tomahawk/default.nix b/pkgs/tomahawk/default.nix new file mode 100644 index 00000000..16219e3b --- /dev/null +++ b/pkgs/tomahawk/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, attica, boost, gnutls, libechonest +, liblastfm, lucenepp, vlc, qca2, qca2_ossl, qjson, qt4, qtkeychain, quazip +, sparsehash, taglib, websocketpp, makeWrapper + +, enableXMPP ? true, libjreen ? null +, enableKDE ? false, kdelibs ? null +, enableTelepathy ? false, telepathy_qt ? null +}: + +assert enableXMPP -> libjreen != null; +assert enableKDE -> kdelibs != null; +assert enableTelepathy -> telepathy_qt != null; + +let + quazipQt4 = quazip.override { qt = qt4; }; +in stdenv.mkDerivation rec { + name = "tomahawk-${version}"; + version = "0.9.0-git"; + + src = fetchFromGitHub { + owner = "tomahawk-player"; + repo = "tomahawk"; + rev = "0ec1fa0ab6fd674ca4d898c30739eb058b85dbe5"; + sha256 = "1lfxgi7qib99zzi4byvrz0ng6l51nvfdjciyhabdlqb286wkka2f"; + }; + + cmakeFlags = [ + "-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include" + "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib" + ]; + + buildInputs = [ + cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp vlc + qca2 qjson qt4 qtkeychain quazipQt4 sparsehash taglib websocketpp + makeWrapper + ] ++ stdenv.lib.optional enableXMPP libjreen + ++ stdenv.lib.optional enableKDE kdelibs + ++ stdenv.lib.optional enableTelepathy telepathy_qt; + + postInstall = let + pluginPath = stdenv.lib.concatStringsSep ":" [ + "${qca2_ossl}/lib/qt4/plugins" + ]; + in '' + for i in "$out"/bin/*; do + wrapProgram "$i" --prefix QT_PLUGIN_PATH : "${pluginPath}" + done + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A multi-source music player"; + homepage = "http://tomahawk-player.org/"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = [ maintainers.aszlig ]; + }; +} diff --git a/pkgs/twitchstream/default.nix b/pkgs/twitchstream/default.nix new file mode 100644 index 00000000..543ad261 --- /dev/null +++ b/pkgs/twitchstream/default.nix @@ -0,0 +1,112 @@ +{ stdenv, fetchurl, writeScriptBin, ffmpeg_2, pulseaudio }: + +# FIXME: Clean up this whole file! + +with stdenv.lib; + +let + streams = { + dnyarri = { + width = 1920; + height = 1080; + monitor = 1; + }; + mmrnmhrm = { + width = 1600; + height = 1280; + monitor = 1; + }; + }; + + sumAttr = name: attrs: acc: acc + (getAttr name attrs); + maxAttr = name: attrs: acc: let + current = getAttr name attrs; + in if acc > current then acc else current; + + fullwidth = fold (sumAttr "width") 0 (attrValues streams); + maxheight = fold (maxAttr "height") 0 (attrValues streams); + + resolution = "1920x1080"; + fps = 15; + quality = "slow"; + + encoder = let + aacenc = stdenv.mkDerivation rec { + name = "vo-aacenc-0.1.3"; + src = fetchurl { + url = "mirror://sourceforge/opencore-amr/${name}.tar.gz"; + sha256 = "0dhghm3c8pqrriwwyj5x9i0yf52fmdfijbgqqkvqvwarldvp86p5"; + }; + }; + base = ffmpeg_2.override { x11grabSupport = true; }; + in stdenv.lib.overrideDerivation base (attrs: { + configureFlags = attrs.configureFlags ++ [ + "--enable-libpulse" + "--enable-version3" + "--enable-libvo-aacenc" + ]; + preConfigure = '' + addPkgConfigPath "${pulseaudio}" + addPkgConfigPath "${aacenc}" + ''; + NIX_CFLAGS_COMPILE = "-I${aacenc}/include -L${aacenc}/lib"; + buildInputs = attrs.buildInputs ++ [ pulseaudio aacenc ]; + }); + + script = let + combine = [ + "color=c=black:s=1248x640 [surface]" + "[0:v] setpts=PTS-STARTPTS, scale=680x540 [left]" + "[1:v] setpts=PTS-STARTPTS, scale=568x640 [right]" + "[surface][left] overlay=0:0 [leftonly]" + "[leftonly][right] overlay=680:0 [out]" + ]; + /* + combine = [ + "color=c=black:s=${toString fullwidth}x${toString maxheight} [surface]" + "[surface][0:v] overlay=0:0 [leftonly]" + "[leftonly][1:v] overlay=${toString streams.dnyarri.width}:0 [out]" + ]; + */ + nop = x: "\\"; + in '' + #!${stdenv.shell} + keyfile="$HOME/.twitch.key" + if [ ! -e "$keyfile" ]; then + echo "You need to put your streaming key into $keyfile!" >&2 + echo "To obtain the key, please visit the following URL:" >&2 + echo "http://www.twitch.tv/broadcast/dashboard/streamkey" >&2 + exit 1 + fi + + ${encoder}/bin/ffmpeg -loglevel warning \ + -f x11grab -s "${resolution}" -r "${toString fps}" -i "$DISPLAY+1920,0" \ + -f pulse -ac 2 -i default \ + -codec:v libx264 -s 1280x720 -preset:v fast -crf 24 -pix_fmt yuv420p \ + -codec:a libvo_aacenc -ar 44100 -threads auto -b:a 128k -bufsize 8k \ + -f flv "rtmp://live-fra.twitch.tv/app/$(< "$keyfile")" "$@" + ''; + + disabled = '' + ${encoder}/bin/ffmpeg \ + -f x11grab -s "${resolution}" -r "${toString fps}" -i "$DISPLAY+1920,0" \ + ${nop '' + -i 'tcp://dnyarri:7891?listen' \ + ''} + -f pulse -ac 2 -i default \ + ${nop '' + -filter_complex "${concatStringsSep "; " combine}" \ + -map "[out]" -map 2:a,0:v \ + -c:v libx264 -preset "${quality}" -s 1280x720 \ + -b 2500k -minrate 2500k -maxrate 2500k \ + -tune film -qscale:v 1 -threads:v 4 -crf 1 -tune animation \ + -c:a libmp3lame -ar 44100 -qscale:a 1 -bufsize 512k -threads 4 \ + -framerate "${toString fps}" \ + -force_key_frames 2 -b 2500k -minrate 2500k -maxrate 2500k \ + -g 2 -keyint_min 2 \ + ''} + -c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 -threads 0 \ + -c:a libmp3lame -ab 128k -ar 44100 -threads 0 \ + -f flv "rtmp://live-fra.twitch.tv/app/$(< "$keyfile")" "$@" + ''; +in writeScriptBin "twitchstream" script diff --git a/pkgs/vim/default.nix b/pkgs/vim/default.nix new file mode 100644 index 00000000..f753b453 --- /dev/null +++ b/pkgs/vim/default.nix @@ -0,0 +1,333 @@ +{ stdenv, lib, writeTextFile, writeText, buildEnv +, fetchurl, fetchFromGitHub, vim_configurable +}: + +let + fetchVimScript = { srcId, sha256, type, name }: let + baseUrl = "http://www.vim.org/scripts/download_script.php"; + src = fetchurl { + name = "script${toString srcId}.vim"; + url = "${baseUrl}?src_id=${toString srcId}"; + inherit sha256; + }; + in stdenv.mkDerivation { + name = "vim-${type}-${toString srcId}"; + buildCommand = '' + install -vD -m 0644 "${src}" "$out/${type}/${name}.vim" + ''; + }; + + extractSubdir = subdir: src: stdenv.mkDerivation { + name = "${src.name}-subdir"; + phases = [ "unpackPhase" "installPhase" ]; + inherit src; + installPhase = '' + cp -Rd "${subdir}" "$out" + ''; + }; + + mkVimPlugins = plugins: buildEnv { + name = "vim-plugins"; + paths = with lib; mapAttrsToList (const id) plugins; + ignoreCollisions = true; + postBuild = '' + find -L "$out" -mindepth 1 -maxdepth 1 -type f -delete + ''; + }; + + pluginDeps = { + vimAddonMwUtils = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-mw-utils"; + rev = "0c5612fa31ee434ba055e21c76f456244b3b5109"; + sha256 = "147s1k4n45d3x281vj35l26sv4waxjlpqdn83z3k9n51556h1d45"; + }; + + vimAddonCompletion = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-completion"; + rev = "80f717d68df5b0d7b32228229ddfd29c3e86e435"; + sha256 = "08acffzy847w8b5j8pdw6qsidm2859ki5q351n4r7fkr969p80mi"; + }; + + vimAddonActions = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-actions"; + rev = "a5d20500fb8812958540cf17862bd73e7af64936"; + sha256 = "1wfkwr89sn2w97i94d0dqylcg9mr6pirjadi0a4l492nfnsh99bc"; + }; + + vimAddonBackgroundCmd = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-background-cmd"; + rev = "14df72660a95804a57c02b9ff0ae3198608e2491"; + sha256 = "09lh6hqbx05gm7njhpqvhqdwig3pianq9rddxmjsr6b1vylgdgg4"; + }; + + vimAddonErrorFormats = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-errorformats"; + rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28"; + sha256 = "159zqm69fxbxcv3b2y99g57bf20qrzsijcvb5rzy2njxah3049m1"; + }; + + vimAddonToggleBuffer = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-toggle-buffer"; + rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b"; + sha256 = "1xq38kfdm36c34ln66znw841q797w5gm8bpq1x64bsf2h6n3ml03"; + }; + + vimAddonGotoThingAtCursor = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-goto-thing-at-cursor"; + rev = "f052e094bdb351829bf72ae3435af9042e09a6e4"; + sha256 = "1ksm2b0j80zn8sz2y227bpcx4jsv76lwgr2gpgy2drlyqhn2vlv0"; + }; + + vimAddonViews = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-views"; + rev = "d1383ad56d0a07d7350880adbadf9de501729fa8"; + sha256 = "09gqh7w5rk4lmra706schqaj8dnisf396lpsipm7xv6gy1qbslnv"; + }; + + vimAddonSwfMill = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-swfmill"; + rev = "726777e02cbe3ad8f82e37421fb37674f446a148"; + sha256 = "0ablzl5clgfzhzwvzzbaj0cda0b4cyrj3pbv02f26hx7rfnssaqm"; + }; + + vimHaxeSyntax = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-haxe-syntax"; + rev = "500acc2f2ab92d77ff6cd04fdc7868800c033dfa"; + sha256 = "1ipm0igplplfmscm3bk95qpf9rw71h133l9shmw54mxr4h0ymnmj"; + }; + + tlib = fetchFromGitHub { + owner = "tomtom"; + repo = "tlib_vim"; + rev = "bc4097bd38c4bc040fe1e74df68dec6c9adfcb6a"; + sha256 = "19v7bgmkk4k2g1z62bd0kky29xxfq96l7wfrl27wb2zijlhbrnpz"; + }; + + vamStub = writeTextFile { + name = "vam-stub"; + destination = "/autoload/vam.vim"; + text = '' + fun! vam#DefineAndBind(local, global, default) + return ' if !exists('.string(a:global).') | + \ let '.a:global.' = '.a:default.' | + \ endif | let '.a:local.' = '.a:global + endfun + ''; + }; + }; + + plugins = mkVimPlugins (pluginDeps // { + vimErl = fetchFromGitHub { + owner = "jimenezrick"; + repo = "vimerl"; + rev = "823bf8cb515bb10396c705cdc017aa9121cc4d12"; + sha256 = "0sybkx8iy8qhr6nlwn52j7zd5v99rn0b8wbg43d112z2px4yq5x3"; + }; + + vimHaxe = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-haxe"; + rev = "8efc705db41a01713d67d437f29866a1ff831e8a"; + sha256 = "15kv13gvpgf23p0566qrlw7gmpir2z7g5dnkfs1knmcwzw45am5d"; + }; + + factor = extractSubdir "misc/vim" (fetchFromGitHub { + owner = "slavapestov"; + repo = "factor"; + rev = "0d6f70cc7cf35cc627ee78886e2932091a651fe6"; + sha256 = "0lmqzvrmwgmxpcpwgn59y033sf4jybmw3lffbjwww5d7ch90333q"; + }); + + opaLang = extractSubdir "tools/editors/vim" (fetchFromGitHub { + owner = "MLstate"; + repo = "opalang"; + rev = "94e4e6d9d8da9a72214f4f28dd1ffa1a987997eb"; + sha256 = "0d6b67868cfqakkz63y5ynpz549lbpfzc3c3x7kx3ffsv10xy3bb"; + }); + + lslvim = fetchFromGitHub { + owner = "sukima"; + repo = "LSLvim"; + rev = "f269de39a1c713a43470e90d0ec78208c0f05e0b"; + sha256 = "1plwx5id3jsj4y6yhshlf3rishxhf1b9k47g2cpzaczvqb5bl40w"; + }; + + vimSyntaxShakespeare = fetchFromGitHub { + owner = "pbrisbin"; + repo = "vim-syntax-shakespeare"; + rev = "29085ae94ee3dbd7f39f2a7705d86692ef5bc365"; + sha256 = "0kvys81jiwqzwmpbk1lvbciw28yha4shd1xby5saiy4b68l6d8rk"; + }; + + glsl = fetchVimScript { + name = "glsl"; + srcId = 3194; + sha256 = "1vqfcpjmfyjc95wns3i84kgd1k5r2lwjjvjcprygi9g9vng7i5xc"; + type = "syntax"; + }; + + actionScript = fetchVimScript { + name = "actionscript"; + srcId = 1205; + sha256 = "0pdzqg678lhn7lmqf3z9icpj6ff2nnghsxy983kxkn8sblnzlhfs"; + type = "syntax"; + }; + + indentPython = fetchVimScript { + name = "python"; + srcId = 4316; + sha256 = "1pgdiaqd1hm0qpspy1asj7i103pq0846lnjrxvl6pk17ymww9pmk"; + type = "indent"; + }; + + nixAddon = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-nix"; + rev = "7b0a376bb1797fef8da2dc14e768f318bcb671e8"; + sha256 = "00dsba2a0az9bw1sni12km1vdga9x32dapxaj5gmq98hzqlhklyp"; + }; + + urwebAddon = fetchFromGitHub { + owner = "MarcWeber"; + repo = "vim-addon-urweb"; + rev = "49ea3960a9924a5dd7ff70956d1a7c0479a55773"; + sha256 = "090ww8nxqsabrwf4r8g7a93kawnp6zwpsx65yxpacwwwlbc73m7s"; + }; + + indentHaskell = fetchVimScript { + name = "haskell"; + srcId = 7407; + sha256 = "1lj44jkyihmcnj2kcfckhqzr9gfipda9frbzicix2wrc5728kjsv"; + type = "indent"; + }; + + fishSyntax = fetchVimScript { + name = "fish"; + srcId = 20242; + sha256 = "12gfmyxxf84f19bp8xfmkb9phbfkifn89sjgi8hnv6dn0a5y1zpj"; + type = "syntax"; + }; + + elmVim = fetchFromGitHub { + owner = "lambdatoast"; + repo = "elm.vim"; + rev = "ad556c97e26072b065825852ceead0fe6a1f7d7c"; + sha256 = "19k6b6m5ngm5qn2f3p13hzjyvha53fpdgq691z8n0lwfn8831b21"; + }; + + flake8 = fetchFromGitHub { + owner = "nvie"; + repo = "vim-flake8"; + rev = "293613dbe731a2875ce93739e7b64ee504d8bbab"; + sha256 = "0xmqmbh66g44vhx9769mzs820k6ksbpfnsfvivmbhzlps2hjqpqg"; + }; + }); + + generic = '' + syntax on + colorscheme elflord + + " boolean + set nocompatible + set showcmd + set showmatch + set ignorecase + set smartcase + set incsearch + set modeline + set smarttab + set expandtab + set smartindent + set ruler + + " non-boolean + set tabstop=4 + set softtabstop=4 + set shiftwidth=4 + set textwidth=80 + set termencoding=ascii + set backspace=indent,eol,start + set background=dark + ''; + + plugin = '' + " erlang + let erlang_folding = 0 + let erlang_highlight_bif = 1 + let erlang_force_use_vimerl_indent = 1 + + " python + let python_highlight_numbers = 1 + let python_highlight_builtins = 1 + let python_highlight_exceptions = 1 + + " all plugins + set runtimepath^=${plugins} + set runtimepath+=${plugins}/after + ''; + + autocmd = '' + " jump to last position + au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | + \ exe "normal! g'\"zz" | endif + + " filetype defaults + filetype plugin indent on + au BufNewFile,BufRead *.as set filetype=actionscript + au BufNewFile,BufRead *.html set tabstop=4|set shiftwidth=4|set expandtab + au FileType python set textwidth=79 + au FileType gitcommit set textwidth=72 + + " highlight unnecessary whitespace + highlight ExtraWhitespace ctermbg=red guibg=red + match ExtraWhitespace /\s\+$/ + au BufWinEnter,InsertLeave * match ExtraWhitespace /\s\+$/ + au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ + " prevent colorscheme from overriding these highlights + au ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red + + " highlight everything exceeding 80 characters + au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1) + ''; + + misc = '' + " ASCII art mode + fun! AAMode() + highlight clear ExtraWhitespace + for m in getmatches() + if m.group == 'ErrorMsg' && m.pattern == '\%>80v.\+' + call matchdelete(m.id) + endif + endfor + endfun + + " flake everything that has been *detected* as python (not just by suffix). + autocmd BufWritePost * if &ft ==# 'python' | call Flake8() | endif + ''; + + vimrc = writeText "vimrc" '' + ${generic} + ${plugin} + + if has("autocmd") + ${autocmd} + endif + + ${misc} + ''; + +in lib.overrideDerivation vim_configurable (o: { + postInstall = (o.postInstall or "") + '' + ln -sf "${vimrc}" "$out/share/vim/vimrc" + ''; +}) diff --git a/release.nix b/release.nix index 1edf284a..df248706 100644 --- a/release.nix +++ b/release.nix @@ -1,22 +1,67 @@ -with import <nixpkgs/lib>; - let system = "x86_64-linux"; + pkgs = import <nixpkgs> { inherit system; }; + +in with pkgs.lib; with builtins; { - genMachine = name: cfg: (import <nixpkgs/nixos/lib/eval-config.nix> { - inherit system; - modules = [ cfg ]; - }).config.system.build.toplevel; + machines = mapAttrs (name: configuration: (import <nixpkgs/nixos> { + inherit configuration; + }).system) (import ./network.nix); -in { - machines = mapAttrs genMachine (import ./default.nix).machines; tests = { - heinrich = import ./tests/heinrich.nix { inherit system; }; + i3 = import ./tests/i3.nix { inherit system; }; }; - pkgs = import ./pkgs { - pkgs = import <nixpkgs> { + manual = let + modules = import <nixpkgs/nixos/lib/eval-config.nix> { + modules = import ./modules/module-list.nix; + check = false; inherit system; }; + + isVuizvui = opt: head (splitString "." opt.name) == "vuizvui"; + filterDoc = filter (opt: isVuizvui opt && opt.visible && !opt.internal); + optionsXML = toXML (filterDoc (optionAttrSetToDocList modules.options)); + optionsFile = toFile "options.xml" (unsafeDiscardStringContext optionsXML); + in pkgs.stdenv.mkDerivation { + name = "vuizvui-options"; + + buildInputs = singleton pkgs.libxslt; + + xsltFlags = '' + --param section.autolabel 1 + --param section.label.includes.component.label 1 + --param html.stylesheet 'style.css' + --param xref.with.number.and.title 1 + --param admon.style ''' + ''; + + buildCommand = '' + xsltproc -o options-db.xml \ + ${<nixpkgs/nixos/doc/manual/options-to-docbook.xsl>} \ + ${optionsFile} + + cat > manual.xml <<XML + <book xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>Vuizvui-specific NixOS options</title> + <para> + The following NixOS options are specific to Vuizvui: + </para> + <xi:include href="options-db.xml" /> + </book> + XML + + xsltproc -o "$out/manual.html" $xsltFlags -nonet -xinclude \ + ${pkgs.docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \ + manual.xml + + cp "${<nixpkgs/nixos/doc/manual/style.css>}" "$out/style.css" + + mkdir -p "$out/nix-support" + echo "doc manual $out manual.html" \ + > "$out/nix-support/hydra-build-products" + ''; }; } diff --git a/tests/i3.nix b/tests/i3.nix new file mode 100644 index 00000000..0505b67f --- /dev/null +++ b/tests/i3.nix @@ -0,0 +1,31 @@ +import <nixpkgs/nixos/tests/make-test.nix> ({ pkgs, ... }: { + name = "i3"; + + machine = { lib, ... }: { + imports = [ + ../common.nix + <nixpkgs/nixos/tests/common/x11.nix> + ]; + services.xserver.windowManager.default = lib.mkForce "i3"; + /* XXX */ + fonts = { + enableCoreFonts = true; + enableFontDir = true; + enableGhostscriptFonts = true; + fonts = [ + pkgs.dosemu_fonts + pkgs.liberation_ttf + ]; + }; + /* !XXX */ + vuizvui = { + i3.enable = true; + }; + }; + + testScript = { nodes, ... }: '' + $machine->waitForX; + $machine->sleep(20); + $machine->screenshot("i3"); + ''; +}) |